summaryrefslogtreecommitdiffstats
path: root/macosx/HBDistributedArray.h
diff options
context:
space:
mode:
authorritsuka <[email protected]>2015-01-19 08:48:18 +0000
committerritsuka <[email protected]>2015-01-19 08:48:18 +0000
commitf69f4e15cf1a4e010aef3f1a77c768425562cc67 (patch)
tree711364237b9eef8a3e8fa90f2ace9d8b02c82a0e /macosx/HBDistributedArray.h
parent889e86edd3289486cd2cd1d6abc4e21296983dad (diff)
MacGui: moved the queue code from HBController to HBQueueController, reworked the way the queue synchronise itself between multiple instances to be more resilient (hopefully). Modified HBCore to take callback blocks instead of notifications.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6770 b64f7644-9d1e-0410-96f1-a4d463321fa5
Diffstat (limited to 'macosx/HBDistributedArray.h')
-rw-r--r--macosx/HBDistributedArray.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/macosx/HBDistributedArray.h b/macosx/HBDistributedArray.h
new file mode 100644
index 000000000..4163fca17
--- /dev/null
+++ b/macosx/HBDistributedArray.h
@@ -0,0 +1,36 @@
+/* HBDistributedArray.h $
+
+ This file is part of the HandBrake source code.
+ Homepage: <http://handbrake.fr/>.
+ It may be used under the terms of the GNU General Public License. */
+
+#import <Cocoa/Cocoa.h>
+
+extern NSString *HBDistributedArrayChanged;
+
+/**
+ * HBDistributedArray
+ * a mutable array that share its content between processes.
+ * post a HBDistributedArrayChanged when the content is changed
+ * by another process.
+ *
+ * Use beginTransaction and commit to wrap atomic changes to the array.
+ *
+ * It is safe to keep a reference to an array object.
+ */
+@interface HBDistributedArray : NSMutableArray
+
+- (instancetype)initWithURL:(NSURL *)fileURL;
+
+/**
+ * Begin a transaction on the array
+ */
+- (void)beginTransaction;
+
+/**
+ * Commit the changes and notify
+ * the observers about the changes.
+ */
+- (void)commit;
+
+@end