//
//  BXKRMController.h
//  BXServices
//
//  Created by Florian Albrecht on 25.08.06.
//  Copyright 2006 Boinx Software. All rights reserved.
//


#if !defined(__LP64__) || !__LP64__

@class BXLicenseKey;

extern NSString * const krmOrderStatusErrorDomain;

// for long error messages in krm-alert-sheet use rtf files
extern NSString * const krmAlertTextFileExtension;

extern NSString * const krmAlertTextDuplicateOrderFile;
extern NSString * const krmAlertTextHumanApprovalFile;
extern NSString * const krmAlertTextNoChargeFile;
extern NSString * const krmAlertTextOrderInvalidFile;
extern NSString * const krmAlertTextUnknownErrorFile;
extern NSString * const krmAlertTextUnknownStatusFile;
extern NSString * const krmAlertTextWithChargeFile;

@interface BXKRMController : NSObject {
	
	NSDictionary *productConfigurationDict;
	NSString *selectedProductConfigurationKey;
	
	id _callingAssistantPane;
}

+ (void)localize;

// buyNow uses old salesconfigdata form online defaults
- (IBAction) buyNow:(id)sender;

// runModalKRM uses old salesconfigdata form online defaults
- (void) runModalKRM;
- (void) runModalKRMWithInitXML:(NSString *)inInitXML updatedLicense:(BXLicenseKey *)inUpdatedLicenseKey;

- (void)didPresentErrorWithRecovery:(BOOL)didRecover contextInfo:(void  *)contextInfo;

- (NSDictionary *) productConfigurationDict;
- (void) setProductConfigurationDict:(NSDictionary *)newProductConfigurationDict;

- (NSString *) selectedProductConfigurationKey;
- (void) setSelectedProductConfigurationKey:(NSString *)newSelectedProductConfigurationKey;

- (id)callingAssistantPane;
- (void)setCallingAssitantPane:(id)inAssistantPane;

@end

#endif
