summaryrefslogtreecommitdiff
path: root/plugins/MirFox/src/MirfoxMiranda.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/MirFox/src/MirfoxMiranda.h')
-rw-r--r--plugins/MirFox/src/MirfoxMiranda.h60
1 files changed, 60 insertions, 0 deletions
diff --git a/plugins/MirFox/src/MirfoxMiranda.h b/plugins/MirFox/src/MirfoxMiranda.h
new file mode 100644
index 0000000000..0d78e0cfc0
--- /dev/null
+++ b/plugins/MirFox/src/MirfoxMiranda.h
@@ -0,0 +1,60 @@
+#ifndef _MIRFOXMIRANDA_INC
+#define _MIRFOXMIRANDA_INC
+
+#include "MirfoxData.h"
+#include "MirandaUtils.h"
+
+
+
+class CMirfoxMiranda
+{
+
+public:
+ CMirfoxMiranda();
+ ~CMirfoxMiranda();
+
+
+ //functions needed by MirandaInterface and Miranda Options
+
+ MirfoxData& getMirfoxData();
+
+
+
+ bool onMirandaPluginInfoExCheck(DWORD actualMirandaVersion);
+
+ int onMirandaInterfaceLoad();
+
+ int onMirandaInterfaceUnload();
+
+ //csm maintanance thread function (threadArg - pointer to this CMirfoxMiranda class instance)
+ static void csmThread(void* threadArg);
+
+ //message queue thread function (threadArg - pointer to this CMirfoxMiranda class instance)
+ static void msgQueueThread(void* threadArg);
+
+
+
+private:
+
+ void initializeSharedMemory(MirfoxData& mirfoxData);
+ void initializeSharedMemoryData(MirfoxData& mirfoxData, SharedMemoryUtils* sharedMemoryUtils);
+ void commitSharedMemory();
+ void unloadSharedMemory();
+
+ void initializeMessageQueue(MirfoxData& mirfoxData);
+ void unloadMessageQueue(uint16_t unloadedMQProcessId);
+
+
+
+ MirfoxData mirfoxData;
+
+ SharedMemoryUtils* sharedMemoryUtils;
+ MirandaUtils* mirandaUtils;
+
+ MFLogger* logger;
+
+};
+
+
+
+#endif //#IFNDEF _MIRFOXMIRANDA_INC