diff options
Diffstat (limited to 'macosx/InstantHandBrake/HBCore.h')
-rw-r--r-- | macosx/InstantHandBrake/HBCore.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/macosx/InstantHandBrake/HBCore.h b/macosx/InstantHandBrake/HBCore.h new file mode 100644 index 000000000..435d5f799 --- /dev/null +++ b/macosx/InstantHandBrake/HBCore.h @@ -0,0 +1,52 @@ +/** + * @file + * Interface of class HBCore. + */ + +#import <Cocoa/Cocoa.h> + +extern const NSString *HBStateIdle; +extern const NSString *HBStateScanning; +extern const NSString *HBStateScanDone; +extern const NSString *HBStateWorking; +extern const NSString *HBStatePaused; +extern const NSString *HBStateWorkDone; +extern const NSString *HBStateMuxing; +extern const NSString *HBStateAll; + +extern NSString *HBCoreScanningNotification; +extern NSString *HBCoreScanDoneNotification; +extern NSString *HBCoreWorkingNotification; +extern NSString *HBCorePausedNotification; +extern NSString *HBCoreWorkDoneNotification; +extern NSString *HBCoreMuxingNotification; + +/** + * HBCore is an Objective-C interface to the low-level HandBrake library. + * HBCore monitors state changes of libhb and provides notifications via + * NSNotificationCenter to any object who needs them. It can also be used + * to implement properties that can be directly bound to elements of the gui. + */ +@interface HBCore : NSObject +{ + /// Pointer to libhb handle. + struct hb_handle_s *hb_handle; + + /// Pointer to latest state information returned by libhb. + struct hb_state_s *hb_state; + + /// Timer used to poll libhb for state changes. + NSTimer *updateTimer; + + /// Current state of HBCore; one of the HBState* constants. + const NSString *state; +} + +- (id)init; +- (BOOL)openInDebugMode:(BOOL)debugMode checkForUpdates:(BOOL)checkForUpdates; +- (BOOL)close; +- (NSString *)state; +- (struct hb_handle_s *)hb_handle; +- (const struct hb_state_s *)hb_state; + +@end |