//
//  MVMCoreLoggingDelegateProtocol.h
//  MVMCore
//
//  Created by Pfeil, Scott Robert on 11/28/17.
//  Copyright © 2017 myverizon. All rights reserved.
//

#import <UIKit/UIKit.h>
@class MVMCoreAlertController;

@protocol MVMCoreLoggingDelegateProtocol <NSObject>

@optional

// Can be used to log different actions performed by the core.
- (void)handleDebugMessage:(nullable NSString *)message;

// Can be used to log different actions performed by the core.
- (void)logWithObject:(nullable id)object withName:(nullable NSString *)name withExtraInfo:(nullable NSDictionary *)extra;

// Can be used to choose how to log error objects.
- (void)addErrorToLog:(nonnull MVMCoreErrorObject *)errorObject;

// Log that the load has finished.
- (void)logLoadFinished:(nullable MVMCoreLoadObject *)loadObject loadedViewController:(nullable UIViewController <MVMCoreViewControllerProtocol> *)loadedViewController error:(nullable MVMCoreErrorObject *)error;

// Log alert
- (void)logAlertForAlertController:(nullable MVMCoreAlertController *)alertController;

@end
