Merge tizen_5.0 codes into tizen_4.0
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniListenerManager.h
index 8965e85..6912424 100644 (file)
 #define _JniListenerManager
 
 class JniOcResource;
-#ifdef WITH_CLOUD
-class JniOcAccountManager;
-#endif
 
 template <class T>
 class JniListenerManager
 {
 public:
-    T* addListener(JNIEnv* env, jobject jListener, JniOcResource* owner)
+    T* addListener(JNIEnv* env, jobject jListener, RemoveListenerCallback removeListener)
     {
         T *onEventListener = nullptr;
 
@@ -57,7 +54,7 @@ public:
 
         if (!onEventListener)
         {
-            onEventListener = new T(env, jListener, owner);
+            onEventListener = new T(env, jListener, removeListener);
             jobject jgListener = env->NewGlobalRef(jListener);
 
             if (jgListener)
@@ -80,53 +77,6 @@ public:
         return onEventListener;
     }
 
-#ifdef WITH_CLOUD
-    T* addListener(JNIEnv* env, jobject jListener, JniOcAccountManager* owner)
-    {
-        T *onEventListener = nullptr;
-
-        m_mapMutex.lock();
-
-        for (auto it = m_listenerMap.begin(); it != m_listenerMap.end(); ++it)
-        {
-            if (env->IsSameObject(jListener, it->first))
-            {
-                auto refPair = it->second;
-                onEventListener = refPair.first;
-                refPair.second++;
-                it->second = refPair;
-                m_listenerMap.insert(*it);
-                LOGD("OnEventListener: ref. count is incremented");
-                break;
-            }
-        }
-
-        if (!onEventListener)
-        {
-            onEventListener = new T(env, jListener, owner);
-            jobject jgListener = env->NewGlobalRef(jListener);
-
-            if (jgListener)
-            {
-                m_listenerMap.insert(
-                        std::pair<jobject,
-                        std::pair<T*, int>>(jgListener, std::pair<T*, int>(onEventListener, 1)));
-            }
-            else
-            {
-                LOGD("OnEventListener: Failed to create global listener ref.");
-                delete onEventListener;
-                m_mapMutex.unlock();
-                return nullptr;
-            }
-            LOGD("OnEventListener: new listener");
-        }
-
-        m_mapMutex.unlock();
-        return onEventListener;
-    }
-#endif
-
     void removeListener(JNIEnv* env, jobject jListener)
     {
         m_mapMutex.lock();