summaryrefslogtreecommitdiffstats
path: root/xbmc/windowing/osx/WinEventsOSX.mm
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--xbmc/windowing/osx/WinEventsOSX.mm54
1 files changed, 54 insertions, 0 deletions
diff --git a/xbmc/windowing/osx/WinEventsOSX.mm b/xbmc/windowing/osx/WinEventsOSX.mm
new file mode 100644
index 0000000..b2d07db
--- /dev/null
+++ b/xbmc/windowing/osx/WinEventsOSX.mm
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2011-2018 Team Kodi
+ * This file is part of Kodi - https://kodi.tv
+ *
+ * SPDX-License-Identifier: GPL-2.0-or-later
+ * See LICENSES/README.md for more information.
+ */
+
+#include "WinEventsOSX.h"
+
+#import "WinEventsOSXImpl.h"
+
+struct CWinEventsOSXImplWrapper
+{
+ CWinEventsOSXImpl* callbackClass;
+};
+
+CWinEventsOSX::CWinEventsOSX() : CThread("CWinEventsOSX")
+{
+ m_eventsImplWrapper = std::make_unique<CWinEventsOSXImplWrapper>();
+ m_eventsImplWrapper->callbackClass = [CWinEventsOSXImpl new];
+ Create();
+}
+
+CWinEventsOSX::~CWinEventsOSX()
+{
+ m_bStop = true;
+ StopThread(true);
+}
+
+void CWinEventsOSX::MessagePush(XBMC_Event* newEvent)
+{
+ [m_eventsImplWrapper->callbackClass MessagePush:newEvent];
+}
+
+size_t CWinEventsOSX::GetQueueSize()
+{
+ return [m_eventsImplWrapper->callbackClass GetQueueSize];
+}
+
+bool CWinEventsOSX::MessagePump()
+{
+ return [m_eventsImplWrapper->callbackClass MessagePump];
+}
+
+void CWinEventsOSX::enableInputEvents()
+{
+ return [m_eventsImplWrapper->callbackClass enableInputEvents];
+}
+
+void CWinEventsOSX::disableInputEvents()
+{
+ return [m_eventsImplWrapper->callbackClass disableInputEvents];
+}