aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java/JavaConnectionLogger.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/JavaConnectionLogger.cpp')
-rw-r--r--src/java/JavaConnectionLogger.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/java/JavaConnectionLogger.cpp b/src/java/JavaConnectionLogger.cpp
new file mode 100644
index 00000000..a0e4d1a9
--- /dev/null
+++ b/src/java/JavaConnectionLogger.cpp
@@ -0,0 +1,19 @@
+#include "JavaConnectionLogger.h"
+
+#include "TypesUtils.h"
+
+using namespace mailcore;
+
+JavaConnectionLogger::JavaConnectionLogger(JNIEnv * env, jobject logger)
+{
+ mLogger = logger;
+ mEnv = env;
+}
+
+void JavaConnectionLogger::log(void * sender, ConnectionLogType logType, Data * buffer)
+{
+ JNIEnv * env = mEnv;
+ jclass cls = mEnv->GetObjectClass(mLogger);
+ jmethodID mid = mEnv->GetMethodID(cls, "log", "(JI[B)V");
+ mEnv->CallVoidMethod(mLogger, mid, (jlong) sender, (jint) logType, MC_TO_JAVA(buffer));
+}