DiscRecording.framework

@interface DRBurn : NSObject

// Class Members
+ (DRBurn*)burnForDevice:(DRDevice*)device;

// Instance Members
- (DRDevice*)device;
- (NSDictionary*)properties;
- (NSDictionary*)status;
- (id)initWithDevice:(DRDevice*)device;
- (void)abort;
- (void)setProperties:(NSDictionary*)properties;
- (void)writeLayout:(id)layout;

@interface DRBurn (PropertyConvenienceMethods)

// Instance Members
- (BOOL)appendable;
- (BOOL)verifyDisc;
- (NSString*)completionAction;
- (float)requestedBurnSpeed;
- (void)setAppendable:(BOOL)appendable;
- (void)setCompletionAction:(NSString*)action;
- (void)setRequestedBurnSpeed:(float)speed;
- (void)setVerifyDisc:(BOOL)verify;

@interface DRBurn (ImageContentCreation)

// Class Members
+ (id)layoutForImageFile:(NSString*)path;

@interface DRCDTextBlock : NSObject

// Class Members
+ (DRCDTextBlock*)cdTextBlockWithLanguage:(NSString*)lang encoding:(NSStringEncoding)enc;
+ (NSArray*)arrayOfCDTextBlocksFromPacks:(NSData*)packs;

// Instance Members
- (NSArray*)trackDictionaries;
- (NSDictionary*)properties;
- (NSUInteger)flatten;
- (id)initWithLanguage:(NSString*)lang encoding:(NSStringEncoding)enc;
- (id)objectForKey:(NSString*)key ofTrack:(NSUInteger)trackIndex;
- (void)setObject:(id)value forKey:(NSString*)key ofTrack:(NSUInteger)trackIndex;
- (void)setProperties:(NSDictionary*)properties;
- (void)setTrackDictionaries:(NSArray*)tracks;

@interface DRCDTextBlock (PropertyConvenienceMethods)

// Instance Members
- (NSString*)language;
- (NSStringEncoding)encoding;

@interface DRDevice : NSObject

// Class Members
+ (DRDevice*)deviceForBSDName:(NSString*)bsdName;
+ (DRDevice*)deviceForIORegistryEntryPath:(NSString*)path;
+ (NSArray*)devices;

// Instance Members
- (BOOL)acquireExclusiveAccess;
- (BOOL)closeTray;
- (BOOL)ejectMedia;
- (BOOL)isEqualToDevice:(DRDevice*)otherDevice;
- (BOOL)isValid;
- (BOOL)openTray;
- (NSDictionary*)info;
- (NSDictionary*)status;
- (void)acquireMediaReservation;
- (void)releaseExclusiveAccess;
- (void)releaseMediaReservation;

@interface DRDevice (InfoConvenience)

// Instance Members
- (BOOL)writesCD;
- (BOOL)writesDVD;
- (NSString*)displayName;
- (NSString*)ioRegistryEntryPath;

@interface DRDevice (StatusConvenience)

// Instance Members
- (BOOL)mediaIsAppendable;
- (BOOL)mediaIsBlank;
- (BOOL)mediaIsBusy;
- (BOOL)mediaIsErasable;
- (BOOL)mediaIsOverwritable;
- (BOOL)mediaIsPresent;
- (BOOL)mediaIsReserved;
- (BOOL)mediaIsTransitioning;
- (BOOL)trayIsOpen;
- (DRMSF*)mediaSpaceFree;
- (DRMSF*)mediaSpaceOverwritable;
- (DRMSF*)mediaSpaceUsed;
- (NSString*)bsdName;
- (NSString*)mediaType;

@interface DRErase : NSObject

// Class Members
+ (DRErase*)eraseForDevice:(DRDevice*)device;

// Instance Members
- (DRDevice*)device;
- (NSDictionary*)properties;
- (NSDictionary*)status;
- (id)initWithDevice:(DRDevice*)device;
- (void)setProperties:(NSDictionary*)properties;
- (void)start;

@interface DRErase (PropertyConvenienceMethods)

// Instance Members
- (NSString*)eraseType;
- (void)setEraseType:(NSString*)type;

@interface DRFile : DRFSObject

// Class Members
+ (DRFile*)fileWithPath:(NSString*)path;

// Instance Members
- (id)initWithPath:(NSString*)path;

@interface DRFile (VirtualFiles)

// Class Members
+ (DRFile*)virtualFileWithName:(NSString*)name data:(NSData*)data;
+ (DRFile*)virtualFileWithName:(NSString*)name dataProducer:(id)producer;

// Instance Members
- (id)initWithName:(NSString*)name data:(NSData*)data;
- (id)initWithName:(NSString*)name dataProducer:(id)producer;

@interface DRFile (VirtualLinks)

// Class Members
+ (DRFile*)finderAliasPointingTo:(DRFSObject*)original inFilesystem:(NSString*)filesystem;
+ (DRFile*)hardLinkPointingTo:(DRFile*)original inFilesystem:(NSString*)filesystem;
+ (DRFile*)symLinkPointingTo:(DRFSObject*)original inFilesystem:(NSString*)filesystem;

// Instance Members
- (id)initWithLinkType:(NSString*)linkType pointingTo:(DRFSObject*)original inFilesystem:(NSString*)filesystem;

@interface DRFolder : DRFSObject

// Class Members
+ (DRFolder*)folderWithPath:(NSString*)path;

// Instance Members
- (id)initWithPath:(NSString*)path;

@interface DRFolder (VirtualFolders)

// Class Members
+ (DRFolder*)virtualFolderWithName:(NSString*)name;

// Instance Members
- (NSArray*)children;
- (NSUInteger)count;
- (id)initWithName:(NSString*)name;
- (void)addChild:(DRFSObject*)child;
- (void)makeVirtual;
- (void)removeChild:(DRFSObject*)child;

@interface DRFSObject : NSObject

// Instance Members
- (BOOL)isVirtual;
- (DRFilesystemInclusionMask)effectiveFilesystemMask;
- (DRFilesystemInclusionMask)explicitFilesystemMask;
- (DRFolder*)parent;
- (NSDictionary*)mangledNames;
- (NSDictionary*)propertiesForFilesystem:(NSString*)filesystem mergeWithOtherFilesystems:(BOOL)merge;
- (NSDictionary*)specificNames;
- (NSString*)baseName;
- (NSString*)mangledNameForFilesystem:(NSString*)filesystem;
- (NSString*)sourcePath;
- (NSString*)specificNameForFilesystem:(NSString*)filesystem;
- (id)propertyForKey:(NSString*)key inFilesystem:(NSString*)filesystem mergeWithOtherFilesystems:(BOOL)merge;
- (void)setBaseName:(NSString*)baseName;
- (void)setExplicitFilesystemMask:(DRFilesystemInclusionMask)mask;
- (void)setProperties:(NSDictionary*)properties inFilesystem:(NSString*)filesystem;
- (void)setProperty:(id)property forKey:(NSString*)key inFilesystem:(NSString*)filesystem;
- (void)setSpecificName:(NSString*)name forFilesystem:(NSString*)filesystem;
- (void)setSpecificNames:(NSDictionary*)specificNames;

@interface DRMSF : NSNumber

// Class Members
+ (DRMSF*)msf;
+ (DRMSF*)msfWithFrames:(UInt32)frames;
+ (DRMSF*)msfWithString:(NSString*)string;

// Instance Members
- (BOOL)isEqualToMSF:(DRMSF*)otherDRMSF;
- (DRMSF*)msfByAdding:(DRMSF*)msf;
- (DRMSF*)msfBySubtracting:(DRMSF*)msf;
- (NSString*)description;
- (NSString*)descriptionWithFormat:(NSString*)format;
- (UInt32)frames;
- (UInt32)minutes;
- (UInt32)seconds;
- (UInt32)sectors;
- (id)initWithFrames:(UInt32)frames;
- (id)initWithString:(NSString*)string;

@interface DRMSFFormatter : NSFormatter

// Instance Members
- (NSString*)format;
- (id)initWithFormat:(NSString*)format;
- (void)setFormat:(NSString*)format;

@interface DRNotificationCenter : NSObject

// Class Members
+ (DRNotificationCenter*)currentRunLoopCenter;

// Instance Members
- (void)addObserver:(id)observer selector:(SEL)aSelector name:(NSString*)notificationName object:(id)anObject;
- (void)removeObserver:(id)observer name:(NSString*)aName object:(id)anObject;

@interface DRTrack : NSObject

// Instance Members
- (NSDictionary*)properties;
- (float)testProductionSpeedForInterval:(NSTimeInterval)interval;
- (float)testProductionSpeedForLength:(uint32_t)length;
- (id)initWithProducer:(id)producer;
- (uint64_t)estimateLength;
- (void)setProperties:(NSDictionary*)properties;

@interface DRTrack (PropertyConvenience)

// Instance Members
- (DRMSF*)length;
- (DRMSF*)preGap;
- (void)setPreGap:(DRMSF*)preGap;

@interface DRTrack (AudioContentCreation)

// Class Members
+ (DRTrack*)trackForAudioFile:(NSString*)path;
+ (DRTrack*)trackForAudioOfLength:(DRMSF*)length producer:(id)producer;

@interface DRTrack (DataContentCreation)

// Class Members
+ (DRTrack*)trackForRootFolder:(DRFolder*)rootFolder;