//
//  BXQECSReader.h
//  BXQuickTime
//
//  Created by Michael Ehrmann on 24.04.06.
//  Copyright 2006 Boinx Software. All rights reserved.
//

#if !__LP64__

@class BXQECS, BXQECSSetting, BXQECSSequence;

@interface BXQECSReader : NSObject
{
	NSNumber *qecsVersion;
	
	NSDictionary *componentSettingsDict;
	NSDictionary *componentSettingSequencesDict;
	
	BOOL _isLoaded;
}

+ (BXQECSReader *)sharedManager;
+ (id) qecsReaderWithPath:(NSString *)inPath;

- (id) initWithPath:(NSString *)inPath;

- (BOOL) loadQECSFromPath:(NSString *)inPath;

- (BXQECSSetting *) componentSettingForID:(NSString *)aSettingID;
- (BXQECSSetting *) componentSettingForName:(NSString *)aSettingName;

- (BXQECSSequence *) componentSettingSequenceForID:(NSString *)inSequenceID;
- (BXQECSSequence *) componentSettingSequenceForName:(NSString *)inSequenceName;

#pragma mark -
#pragma mark accessors

- (NSNumber *) qecsVersion;
- (void) setQecsVersion:(NSNumber *)newQecsVersion;

- (NSArray *) componentSettings;
- (NSDictionary *)componentSettingsDict;
- (void)setComponentSettingsDict:(NSDictionary *)inComponentSettingsDict;

- (NSArray *)componentSettingSequences;
- (NSDictionary *)componentSettingSequencesDict;
- (void)setComponentSettingSequencesDict:(NSDictionary *)inComponentSettingSequencesDict;

@end

#endif