[IOT-1089] Change Android build system to accomodate both Android and Generic Java...
[contrib/iotivity.git] / java / jni / JniOcResourceIdentifier.cpp
1 /*
2 * //******************************************************************
3 * //
4 * // Copyright 2015 Intel Corporation.
5 * //
6 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7 * //
8 * // Licensed under the Apache License, Version 2.0 (the "License");
9 * // you may not use this file except in compliance with the License.
10 * // You may obtain a copy of the License at
11 * //
12 * //      http://www.apache.org/licenses/LICENSE-2.0
13 * //
14 * // Unless required by applicable law or agreed to in writing, software
15 * // distributed under the License is distributed on an "AS IS" BASIS,
16 * // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * // See the License for the specific language governing permissions and
18 * // limitations under the License.
19 * //
20 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21 */
22
23 #include "JniOcResourceIdentifier.h"
24
25 JniOcResourceIdentifier::JniOcResourceIdentifier(OC::OCResourceIdentifier resourceIdentifier)
26     : m_resourceIdentifier(resourceIdentifier)
27 {}
28
29 JniOcResourceIdentifier::~JniOcResourceIdentifier()
30 {
31     LOGD("~JniOcResourceIdentifier()");
32 }
33
34 OC::OCResourceIdentifier JniOcResourceIdentifier::getOCResourceIdentifier()
35 {
36     return this->m_resourceIdentifier;
37 }
38
39 JniOcResourceIdentifier* JniOcResourceIdentifier::getJniOcResourceIdentifierPtr
40 (JNIEnv *env, jobject thiz)
41 {
42     JniOcResourceIdentifier *identifier = GetHandle<JniOcResourceIdentifier>(env, thiz);
43     if (env->ExceptionCheck())
44     {
45         LOGE("Failed to get native handle from OcResourceIdentifier");
46     }
47     if (!identifier)
48     {
49         ThrowOcException(JNI_NO_NATIVE_POINTER, "");
50     }
51     return identifier;
52 }
53
54 /*
55 * Class:     org_iotivity_base_OcResourceIdentifier
56 * Method:    equalsN
57 * Signature: (Lorg/iotivity/base/OcResourceIdentifier;)Z
58 */
59 JNIEXPORT jboolean JNICALL Java_org_iotivity_base_OcResourceIdentifier_equalsN
60 (JNIEnv *env, jobject jThiz, jobject jOther)
61 {
62     JniOcResourceIdentifier *thiz = JniOcResourceIdentifier::getJniOcResourceIdentifierPtr(env, jThiz);
63     if (!thiz) return false;
64
65     JniOcResourceIdentifier *other = JniOcResourceIdentifier::getJniOcResourceIdentifierPtr(env, jOther);
66     if (!other) return false;
67
68     if (thiz->getOCResourceIdentifier() == other->getOCResourceIdentifier())
69     {
70         return true;
71     }
72     else
73     {
74         return false;
75     }
76 }
77
78 /*
79 * Class:     org_iotivity_base_OcResourceIdentifier
80 * Method:    dispose
81 * Signature: ()V
82 */
83 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceIdentifier_dispose
84 (JNIEnv *env, jobject thiz)
85 {
86     LOGD("JniOcResourceIdentifier_dispose");
87     JniOcResourceIdentifier *identifier = JniOcResourceIdentifier::getJniOcResourceIdentifierPtr(env, thiz);
88     delete identifier;
89 }