#import <Foundation/Foundation.h>
@class AdswizzAdSettings;
@class AdswizzMediaFile;
@class AdswizzEventTracker;

/**
 *  Class representing an ad response object.
 */
@interface AdswizzAdResponseObject : NSObject {
    AdswizzMediaFile * mediaFile;
    
    NSString * mediaUrl;
    
    int duration;
    
    NSString * clickThru;
    
    AdswizzEventTracker* eventTracker;
    
    NSString * context;
}

/**
 *  The mediafile object containing the properties of the creative media
 */
@property(nonatomic, retain) AdswizzMediaFile * mediaFile;

/**
 *  The resource url of the creative media
 */
@property(nonatomic, retain) NSString * mediaUrl;

/**
 *  The destination url the user should navigate by clicking on the creative media
 */
@property(nonatomic, retain) NSString * clickThru;

/**
 *  The context string needed for displaying companion ads
 */
@property(nonatomic, retain) NSString * context;

/**
 *  The duration in seconds of the ad experience delivered by the creative media
 */
@property(nonatomic, assign) int duration;
@property(nonatomic, retain) AdswizzEventTracker* eventTracker;

-(id)initWithSettings:(AdswizzAdSettings*)adSettings;

/**
 *  Method to be used in order track events during the ad experience
 *
 * @param eventName name of the event. 
 * Accepted values for eventName
 *
 * AD_IMPRESSION  this should be tracked when the video starts
 * AD_VIDEO_START  this should be tracked when the video starts
 * AD_VIDEO_FIRST_QUARTILE  this should be tracked when the video reaches 25%
 * AD_VIDEO_MID_POINT  this should be tracked when the video reaches 50%
 * AD_VIDEO_THIRD_QUARTILE  this should be tracked when the video reaches 75%
 * AD_VIDEO_COMPLETE  this should be tracked when the video ad is completed (ended), and it has been displayed 100%
 * AD_CLICK  this should be tracked when the user click on the ad
 */
-(void) trackEvent:(NSString*)eventName;
@end
