#import <UIKit/UIKit.h>

@protocol AdinCubeBannerImplDelegate <NSObject>

- (void)didLoadBanner;

- (void)didFailOnBanner:(NSString*)errorCode;

- (void)didShowBanner;

- (void)didClickOnBanner;

@end

@interface AdinCubeBannerImpl : NSObject

@property (retain) id<AdinCubeBannerImplDelegate> delegate;

+ (AdinCubeBannerImpl*)sharedBanner;

- (id)init;

- (void)setRespectSafeArea:(BOOL)respectSafeArea atPosition:(NSString*)position;
- (BOOL)respectSafeAreaAtPosition:(NSString*)position;

- (void)load:(NSString*)size atPosition:(NSString*)position rootViewController:(UIViewController*)rootViewController;

- (void)show:(NSString*)size atPosition:(NSString*)position rootViewController:(UIViewController*)rootViewController;
- (void)show:(NSString*)size atPosition:(NSString*)position withXOffsetInPixels:(NSInteger)xOffsetInPixels andYOffsetInPixels:(NSInteger)yOffsetInPixels rootViewController:(UIViewController*)rootViewController;

- (void)hide:(UIViewController*)rootViewController;

- (int)width:(UIViewController*)rootViewController;

- (int)expectedWidth:(UIViewController*)rootViewController;

- (int)height:(UIViewController*)rootViewController;

- (int)expectedHeight:(UIViewController*)rootViewController;

- (void)setVisible:(BOOL)visible rootViewController:(UIViewController*)rootViewController;

- (NSString*)network:(UIViewController*)rootViewController;

- (NSString*)expectedNetwork:(UIViewController*)rootViewController;

- (void)onFullscreenAdShown:(UIViewController*)rootViewController;

- (void)onFullscreenAdHidden:(UIViewController*)rootViewController;

@end
