Merge tizen_5.0 codes into tizen_4.0
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniOnPostListener.cpp
index 6a9bb06..b11c376 100644 (file)
@@ -24,8 +24,8 @@
 #include "JniOcRepresentation.h"
 #include "JniUtils.h"
 
-JniOnPostListener::JniOnPostListener(JNIEnv *env, jobject jListener, JniOcResource* owner)
-    : m_ownerResource(owner)
+JniOnPostListener::JniOnPostListener(JNIEnv *env, jobject jListener, RemoveListenerCallback removeListener)
+    : m_removeListener(removeListener)
 {
     m_jwListener = env->NewWeakGlobalRef(jListener);
 }
@@ -82,7 +82,8 @@ void JniOnPostListener::onPostCallback(const HeaderOptions& headerOptions,
         return;
     }
 
-    if (OC_STACK_OK != eCode && OC_STACK_RESOURCE_CREATED != eCode)
+    if (OC_STACK_OK != eCode && OC_STACK_RESOURCE_CREATED != eCode &&
+            OC_STACK_RESOURCE_CHANGED != eCode)
     {
         jobject ex = GetOcException(eCode, "stack error in onPostCallback");
         if (!ex)
@@ -167,11 +168,11 @@ void JniOnPostListener::checkExAndRemoveListener(JNIEnv* env)
     {
         jthrowable ex = env->ExceptionOccurred();
         env->ExceptionClear();
-        m_ownerResource->removeOnPostListener(env, m_jwListener);
+        m_removeListener(env, m_jwListener);
         env->Throw((jthrowable)ex);
     }
     else
     {
-        m_ownerResource->removeOnPostListener(env, m_jwListener);
+        m_removeListener(env, m_jwListener);
     }
 }