83950bc746142e22b8144bb868d0421814bed568
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniOcPresenceHandle.cpp
1 /*\r
2 * //******************************************************************\r
3 * //\r
4 * // Copyright 2015 Intel Corporation.\r
5 * //\r
6 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
7 * //\r
8 * // Licensed under the Apache License, Version 2.0 (the "License");\r
9 * // you may not use this file except in compliance with the License.\r
10 * // You may obtain a copy of the License at\r
11 * //\r
12 * //      http://www.apache.org/licenses/LICENSE-2.0\r
13 * //\r
14 * // Unless required by applicable law or agreed to in writing, software\r
15 * // distributed under the License is distributed on an "AS IS" BASIS,\r
16 * // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17 * // See the License for the specific language governing permissions and\r
18 * // limitations under the License.\r
19 * //\r
20 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
21 */\r
22 #include "JniOcPresenceHandle.h"\r
23 #include "OCPlatform.h"\r
24 \r
25 JniOcPresenceHandle::JniOcPresenceHandle(JniOnPresenceListener* jniListener, OCPresenceHandle presenceHandle)\r
26     : m_jniListener(jniListener), m_presenceHandle(presenceHandle)\r
27 {}\r
28 \r
29 JniOcPresenceHandle::~JniOcPresenceHandle()\r
30 {\r
31     LOGD("~JniOcPresenceHandle()");\r
32 \r
33     //delete m_jniListener;\r
34     m_presenceHandle = nullptr;\r
35 }\r
36 \r
37 JniOcPresenceHandle* JniOcPresenceHandle::getJniOcPresenceHandlePtr\r
38 (JNIEnv *env, jobject thiz)\r
39 {\r
40     JniOcPresenceHandle *handle = GetHandle<JniOcPresenceHandle>(env, thiz);\r
41     if (env->ExceptionCheck())\r
42     {\r
43         LOGE("Failed to get native handle from OcPresenceHandle");\r
44     }\r
45     if (!handle)\r
46     {\r
47         ThrowOcException(JNI_NO_NATIVE_POINTER, "");\r
48     }\r
49     return handle;\r
50 }\r
51 \r
52 OCPresenceHandle JniOcPresenceHandle::getOCPresenceHandle()\r
53 {\r
54     return this->m_presenceHandle;\r
55 }\r
56 \r
57 JniOnPresenceListener* JniOcPresenceHandle::getJniOnPresenceListener()\r
58 {\r
59     return this->m_jniListener;\r
60 }\r
61 \r
62 /*\r
63 * Class:     org_iotivity_base_OcPresenceHandle\r
64 * Method:    dispose\r
65 * Signature: ()V\r
66 */\r
67 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPresenceHandle_dispose\r
68 (JNIEnv *env, jobject thiz)\r
69 {\r
70     LOGD("OcPresenceHandle_dispose");\r
71     JniOcPresenceHandle *presenceHandle = JniOcPresenceHandle::getJniOcPresenceHandlePtr(env, thiz);\r
72     delete presenceHandle;\r
73 }