//
//  ActivationHelper.h
//  ActivationHelper
//
//  Created by Colin on 1/11/13.
//  Copyright (c) 2013 Nuance. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "ActivationAgent.h"

@class RegistrationController;
@class ActivationController;
@class SequenceViewController;

@interface ActivationHelper : NSObject
{

}

@property (copy,readonly)     NSString * productID;         // the product ID for the application
@property (copy,readonly)     NSString * applicationLongName;
@property (copy,readonly)     NSString * licenseFilePath;    // the license file where license information is saved
@property (copy, readonly)      NSString * saveLocation;
@property (assign,readonly)     BOOL       vla;             // VLA mode
@property (strong, readonly)    ActivationAgent         *agent;

@property (strong) ActivationController * deactivationController;


    //TODO: It's possible we'll never need to set targetWindow at init time, so maybe the param will just go away
- (id)initWithLicenseFile:(NSString *)inLicenseFilePath saveLocation:(NSString *)saveLocation applicationLongName:(NSString *)appName productID:(NSString *)prodID targetActivationWindow:(NSWindow*)activationWindow targetRegistrationWindow:(NSWindow*)registrationWindow;

- (id)initWithLicenseFile:(NSString *)inLicenseFilePath saveLocation:(NSString *)saveLocation volumeLicensing:(BOOL)VLAflag applicationLongName:(NSString *)appName productID:(NSString *)prodID targetActivationWindow:(NSWindow*)activationWindow targetRegistrationWindow:(NSWindow*)registrationWindow;


- (SequenceViewController*)newActivationViewForWindow:(NSWindow*)targetWindow;
- (SequenceViewController*)newRegistrationViewForWindow:(NSWindow*)targetWindow;
- (void)deactivateApp;
@end
