Merge tizen_5.0 codes into tizen_4.0
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniOnDeleteListener.cpp
index bb0f5db..31749c5 100644 (file)
 #include "JniOnDeleteListener.h"
 #include "JniOcResource.h"
 #include "JniUtils.h"
-#ifdef WITH_CLOUD
-#include "JniOcAccountManager.h"
-#endif
 
-JniOnDeleteListener::JniOnDeleteListener(JNIEnv *env, jobject jListener, JniOcResource* owner)
-    : m_ownerResource(owner)
+JniOnDeleteListener::JniOnDeleteListener(JNIEnv *env, jobject jListener, RemoveListenerCallback removeListener)
+    : m_removeListener(removeListener)
 {
     m_jwListener = env->NewWeakGlobalRef(jListener);
-#ifdef WITH_CLOUD
-    m_ownerAccountManager = nullptr;
-#endif
 }
 
-#ifdef WITH_CLOUD
-JniOnDeleteListener::JniOnDeleteListener(JNIEnv *env, jobject jListener, JniOcAccountManager* owner)
-    : m_ownerAccountManager(owner)
-{
-    m_jwListener = env->NewWeakGlobalRef(jListener);
-    m_ownerResource = nullptr;
-}
-#endif
-
 JniOnDeleteListener::~JniOnDeleteListener()
 {
     if (m_jwListener)
@@ -158,33 +143,11 @@ void JniOnDeleteListener::checkExAndRemoveListener(JNIEnv* env)
     {
         jthrowable ex = env->ExceptionOccurred();
         env->ExceptionClear();
-#ifndef WITH_CLOUD
-        m_ownerResource->removeOnDeleteListener(env, m_jwListener);
-#else
-        if (nullptr != m_ownerResource)
-        {
-            m_ownerResource->removeOnDeleteListener(env, m_jwListener);
-        }
-        if (nullptr != m_ownerAccountManager)
-        {
-            m_ownerAccountManager->removeOnDeleteListener(env, m_jwListener);
-        }
-#endif
+        m_removeListener(env, m_jwListener);
         env->Throw((jthrowable)ex);
     }
     else
     {
-#ifndef WITH_CLOUD
-        m_ownerResource->removeOnDeleteListener(env, m_jwListener);
-#else
-        if (nullptr != m_ownerResource)
-        {
-            m_ownerResource->removeOnDeleteListener(env, m_jwListener);
-        }
-        if (nullptr != m_ownerAccountManager)
-        {
-            m_ownerAccountManager->removeOnDeleteListener(env, m_jwListener);
-        }
-#endif
+        m_removeListener(env, m_jwListener);
     }
 }