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

#import <UIKit/UIKit.h>
@class MVMCoreLoadObject;
@class MVMCoreErrorObject;
@class DelegateObject;

@protocol MVMCoreViewControllerProtocol <NSObject>

@property (nullable, strong, nonatomic) NSString *pageType;

// This view controller should subclass this function and check the load to make sure it has all the needed data. Fills the error object if there are any errors. Returns if we should finish the load or not. Ideally error should use code ErrorCodeViewControllerProcessingJSON.
- (BOOL)shouldFinishProcessingLoad:(nonnull MVMCoreLoadObject *)loadObject error:(MVMCoreErrorObject *_Nonnull *_Nonnull)error;

@optional

// Allows override of the delegate to use.
- (nullable DelegateObject *)delegateObject;

@end

