summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-07-20 23:20:08 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-07-20 23:28:53 (GMT)
commit1642d13e5e8d593a36ef1945387794e0d13247be (patch)
treedae6568c7b3d67ff374ddbeea4e99f6a588aa386 /Swiften/EventLoop/Cocoa/CocoaEventLoop.mm
parentcc03d5aab20bde58d700b329f5fa7388698d9e68 (diff)
downloadswift-1642d13e5e8d593a36ef1945387794e0d13247be.zip
swift-1642d13e5e8d593a36ef1945387794e0d13247be.tar.bz2
Added Cocoa event loop.
Diffstat (limited to 'Swiften/EventLoop/Cocoa/CocoaEventLoop.mm')
-rw-r--r--Swiften/EventLoop/Cocoa/CocoaEventLoop.mm21
1 files changed, 21 insertions, 0 deletions
diff --git a/Swiften/EventLoop/Cocoa/CocoaEventLoop.mm b/Swiften/EventLoop/Cocoa/CocoaEventLoop.mm
new file mode 100644
index 0000000..b90f3c6
--- /dev/null
+++ b/Swiften/EventLoop/Cocoa/CocoaEventLoop.mm
@@ -0,0 +1,21 @@
+#include "Swiften/EventLoop/Cocoa/CocoaEventLoop.h"
+#include "Swiften/EventLoop/Cocoa/CocoaEvent.h"
+
+#pragma GCC diagnostic ignored "-Wold-style-cast"
+
+namespace Swift {
+
+CocoaEventLoop::CocoaEventLoop() {
+}
+
+void CocoaEventLoop::post(const Event& event) {
+ Event* eventCopy = new Event(event);
+ CocoaEvent* cocoaEvent = [[CocoaEvent alloc] initWithEvent: eventCopy eventLoop: this];
+ [cocoaEvent
+ performSelectorOnMainThread:@selector(process)
+ withObject: nil
+ waitUntilDone: NO];
+ [cocoaEvent release];
+}
+
+}