//
//  AFRegistrationConfiguration.h
//  AFRegistration
//
//  Created by Scott on 4/22/09.
//  Copyright 2009 __MyCompanyName__. All rights reserved.
//

#import <Cocoa/Cocoa.h>


@interface AFRegistrationConfiguration : NSObject {

	NSString		*feedbackEmail;
	NSString		*feedbackSubject;
  NSString		*feedbackUrl;
  NSString		*mailingListUrl;
	NSString		*applicationName;
	NSString		*key;
	NSDictionary	*keys;
	NSString		*purchaseUrl;
	NSString	*passwordFileName;
	int			trialMaximum;
	int			trialMinimum;
	NSString		*trialItemsText;
	NSDate			*expirationDate;
	bool			supressNagWindow;
	BOOL			appStoreMode;
}

@property (retain) NSString *feedbackEmail;
@property (retain) NSString *feedbackSubject;
@property (retain) NSString *feedbackUrl;
@property (retain) NSString *mailingListUrl;
@property (retain) NSDictionary *keys;
@property (assign) BOOL appStoreMode;
@property (retain) NSString *passwordFileName;

// initializers
- (id)initWithKey:(NSString *)keyValue expirationDate:(NSDate *)date applicationName:(NSString *)name purchaseUrl:(NSString *)url;
- (id)initWithKey:(NSString *)keyValue trialMaximum:(int)trialMaximumValue trialItemsText:(NSString *)itemsText applicationName:(NSString *)applicationNameValue purchaseUrl:(NSString *)purchaseUrlValue;
- (id)initWithKeys:(NSArray*)keyArray dictionaryKeys:(NSArray*)dictKeys trialMaximum:(int)trialMaximumValue trialItemsText:(NSString *)itemsText applicationName:(NSString *)applicationNameValue purchaseUrl:(NSString *)purchaseUrlValue;
- (void)redirectLogging;

// accessors
- (NSString *)key;
- (void)setKey:(NSString *)keyValue;
- (int)trialMaximum;
- (void)setTrialMaximum:(int)trialMaximumValue;
- (int)trialMinimum;
- (void)setTrialMinimum:(int)trialMinimumValue;
- (NSString *)trialItemsText;
- (void)setTrialItemsText:(NSString *)text;
- (NSString *)applicationName;
- (void)setApplicationName:(NSString *)applicationNameValue;
- (NSString *)purchaseUrl;
- (void)setPurchaseUrl:(NSString *)purchaseUrlValue;
- (NSDate *)expirationDate;
- (void)setExpirationDate:(NSDate *)value;
- (void)setSupressNagWindow:(bool)value;
- (bool)supressNagWindow;


@end
