aboutsummaryrefslogtreecommitdiffstats
path: root/src/native
diff options
context:
space:
mode:
authorLyubomir Marinov <lyubomir.marinov@jitsi.org>2010-12-21 09:30:55 +0000
committerLyubomir Marinov <lyubomir.marinov@jitsi.org>2010-12-21 09:30:55 +0000
commit36033a6591985884f972a717278fdd9b4b40a7be (patch)
tree35e036dbae7c2491fd7f9cd0878215cba8d18933 /src/native
parentb55ce1cbd624d889b1299fb7659ce6980ce4b5d3 (diff)
downloadjitsi-36033a6591985884f972a717278fdd9b4b40a7be.zip
jitsi-36033a6591985884f972a717278fdd9b4b40a7be.tar.gz
jitsi-36033a6591985884f972a717278fdd9b4b40a7be.tar.bz2
Commits work in progress on adding support for the Address Book of Microsoft Outlook.
Diffstat (limited to 'src/native')
-rw-r--r--src/native/windows/msoutlook/Makefile19
-rw-r--r--src/native/windows/msoutlook/MsOutlookMAPI.h9
-rw-r--r--src/native/windows/msoutlook/net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService.c24
-rw-r--r--src/native/windows/msoutlook/net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService.h29
4 files changed, 81 insertions, 0 deletions
diff --git a/src/native/windows/msoutlook/Makefile b/src/native/windows/msoutlook/Makefile
new file mode 100644
index 0000000..565e3ca
--- /dev/null
+++ b/src/native/windows/msoutlook/Makefile
@@ -0,0 +1,19 @@
+CXX = g++ -O2
+OUTLOOK_MAPI_HEADERS ?= /c/Users/lyubomir/Downloads/Outlook2010MAPIHeaders
+TARGET_BASENAME = jmsoutlook.dll
+
+ARCH = $(shell $(CXX) -dumpmachine | sed -e s/x86_64-.*/-64/ -e s/i.86-.*//)
+ifeq "$(ARCH)" "-64"
+ JAVA_HOME ?= C:/PROGRA~1/jdk
+else
+ JAVA_HOME ?= C:/PROGRA~2/jdk
+endif
+
+CPPFLAGS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/win32 -I$(OUTLOOK_MAPI_HEADERS)
+LDFLAGS = -shared -Wl,--kill-at
+LIBS = -lmapi32
+TARGET = ../../../../lib/native/windows$(ARCH)/jmsoutlook.dll
+
+$(TARGET): net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService.c
+ $(CXX) $(CPPFLAGS) $^ $(LDFLAGS) -o $@ $(LIBS)
+ -strip $(TARGET)
diff --git a/src/native/windows/msoutlook/MsOutlookMAPI.h b/src/native/windows/msoutlook/MsOutlookMAPI.h
new file mode 100644
index 0000000..398330a
--- /dev/null
+++ b/src/native/windows/msoutlook/MsOutlookMAPI.h
@@ -0,0 +1,9 @@
+#ifndef _NET_JAVA_SIP_COMMUNICATOR_PLUGIN_MSOUTLOOK_MSOUTLOOKMAPI_H_
+#define _NET_JAVA_SIP_COMMUNICATOR_PLUGIN_MSOUTLOOK_MSOUTLOOKMAPI_H_
+
+#ifndef __in_opt
+#define __in_opt
+#endif /* #ifndef __in_opt */
+#include <mapix.h>
+
+#endif /* #ifndef _NET_JAVA_SIP_COMMUNICATOR_PLUGIN_MSOUTLOOK_MSOUTLOOKMAPI_H_ */
diff --git a/src/native/windows/msoutlook/net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService.c b/src/native/windows/msoutlook/net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService.c
new file mode 100644
index 0000000..996d96f
--- /dev/null
+++ b/src/native/windows/msoutlook/net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService.c
@@ -0,0 +1,24 @@
+#include "net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService.h"
+#include "MsOutlookMAPI.h"
+
+JNIEXPORT void JNICALL
+Java_net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService_MAPIInitialize
+ (JNIEnv *jniEnv, jclass clazz, jlong version, jlong flags)
+{
+ MAPIINIT_0 mapiInit = { (ULONG) version, (ULONG) flags };
+ HRESULT hResult;
+
+ hResult = MAPIInitialize(&mapiInit);
+
+ if (HR_FAILED(hResult))
+ {
+ /* TODO Auto-generated method stub */
+ }
+}
+
+JNIEXPORT void JNICALL
+Java_net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService_MAPIUninitialize
+ (JNIEnv *jniEnv, jclass clazz)
+{
+ MAPIUninitialize();
+}
diff --git a/src/native/windows/msoutlook/net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService.h b/src/native/windows/msoutlook/net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService.h
new file mode 100644
index 0000000..0e22a64
--- /dev/null
+++ b/src/native/windows/msoutlook/net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService.h
@@ -0,0 +1,29 @@
+/* DO NOT EDIT THIS FILE - it is machine generated */
+#include <jni.h>
+/* Header for class net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService */
+
+#ifndef _Included_net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService
+#define _Included_net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*
+ * Class: net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService
+ * Method: MAPIInitialize
+ * Signature: (JJ)V
+ */
+JNIEXPORT void JNICALL Java_net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService_MAPIInitialize
+ (JNIEnv *, jclass, jlong, jlong);
+
+/*
+ * Class: net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService
+ * Method: MAPIUninitialize
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_net_java_sip_communicator_plugin_msoutlook_MsOutlookAddressBookContactSourceService_MAPIUninitialize
+ (JNIEnv *, jclass);
+
+#ifdef __cplusplus
+}
+#endif
+#endif