//
//  OMIDVASTProperties.h
//  AppVerificationLibrary
//
//  Created by Daria Sukhonosova on 30/06/2017.
//

#import <UIKit/UIKit.h>

/*!
 * @abstract List of supported video player positions.
 */
typedef NS_ENUM(NSUInteger, OMIDPosition) {
    OMIDPositionPreroll,
    OMIDPositionMidroll,
    OMIDPositionPostroll,
    OMIDPositionStandalone
};

/*!
 * @discussion This object is used to capture key VAST properties so this can be shared with all registered verification providers.
 */
@interface OMIDAdviewVASTProperties : NSObject

@property(nonatomic, readonly, getter = isSkippable) BOOL skippable;
@property(nonatomic, readonly) CGFloat skipOffset;
@property(nonatomic, readonly, getter = isAutoPlay) BOOL autoPlay;
@property(nonatomic, readonly) OMIDPosition position;

/*!
 * @abstract This method enables the video player to create a new VAST properties instance for skippable video ad placement.
 *
 * @param skipOffset The number of seconds before the skip button is presented.
 * @param autoPlay Determines whether the video will auto-play content.
 * @param position The position of the video in relation to other content.
 * @return A new instance of VAST properties.
 */
- (nonnull instancetype)initWithSkipOffset:(CGFloat)skipOffset
                                  autoPlay:(BOOL)autoPlay
                                  position:(OMIDPosition)position;

/*!
 * @abstract This method enables the video player to create a new VAST properties instance for non-skippable video ad placement.
 *
 * @param autoPlay Determines whether the video will auto-play content.
 * @param position The position of the video in relation to other content.
 * @return A new instance of VAST properties.
 */
- (nonnull instancetype)initWithAutoPlay:(BOOL)autoPlay
                                position:(OMIDPosition)position;

- (null_unspecified instancetype)init NS_UNAVAILABLE;

@end
