aboutsummaryrefslogtreecommitdiffstats
path: root/Framework/MASShortcutMonitor.h
diff options
context:
space:
mode:
Diffstat (limited to 'Framework/MASShortcutMonitor.h')
-rw-r--r--Framework/MASShortcutMonitor.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/Framework/MASShortcutMonitor.h b/Framework/MASShortcutMonitor.h
new file mode 100644
index 0000000..609686a
--- /dev/null
+++ b/Framework/MASShortcutMonitor.h
@@ -0,0 +1,27 @@
+#import "MASShortcut.h"
+
+/**
+ @brief Executes action when a shortcut is pressed.
+
+ There can only be one instance of this class, otherwise things
+ will probably not work. (There’s a Carbon event handler inside
+ and there can only be one Carbon event handler of a given type.)
+*/
+@interface MASShortcutMonitor : NSObject
+
+- (instancetype) init __unavailable;
++ (instancetype) sharedMonitor;
+
+/**
+ @brief Register a shortcut along with an action.
+
+ Attempting to insert an already registered shortcut probably won’t work.
+ It may burn your house or cut your fingers. You have been warned.
+*/
+- (void) registerShortcut: (MASShortcut*) shortcut withAction: (dispatch_block_t) action;
+- (BOOL) isShortcutRegistered: (MASShortcut*) shortcut;
+
+- (void) unregisterShortcut: (MASShortcut*) shortcut;
+- (void) unregisterAllShortcuts;
+
+@end