1 /* ****************************************************************
3 * Copyright 2016 Samsung Electronics All Rights Reserved.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
19 ******************************************************************/
21 #include "JniOcStack.h"
22 #include "JniOnPublishResourceListener.h"
23 #include "JniOnDeleteResourceListener.h"
27 #ifndef _Included_org_iotivity_base_RDClient
28 #define _Included_org_iotivity_base_RDClient
32 void RemoveOnPublishResourceListener(JNIEnv* env, jobject jListener);
33 JniOnPublishResourceListener* AddOnPublishResourceListener(JNIEnv* env, jobject jListener);
35 void RemoveOnDeleteResourceListener(JNIEnv* env, jobject jListener);
36 JniOnDeleteResourceListener* AddOnDeleteResourceListener(JNIEnv* env, jobject jListener);
38 std::map<jobject, std::pair<JniOnPublishResourceListener*, int>> onPublishResourceListenerMap;
39 std::map<jobject, std::pair<JniOnDeleteResourceListener*, int>> onDeleteResourceListenerMap;
41 std::mutex publishResourceListenerMapLock;
42 std::mutex deleteResourceListenerMapLock;
49 * Class: org_iotivity_base_OcRDClient
50 * Method: publishResourceToRD0
51 * Signature: (Ljava/lang/String;ILorg/iotivity/base/OcRDClient/OnPublishResourceListener;I)V
53 JNIEXPORT void JNICALL Java_org_iotivity_base_OcRDClient_publishResourceToRD0
54 (JNIEnv *, jclass, jstring, jint, jobject, jint);
57 * Class: org_iotivity_base_OcRDClient
58 * Method: publishResourceToRD1
59 * Signature: (Ljava/lang/String;I[Lorg/iotivity/base/OcResourceHandle
60 * ;Lorg/iotivity/base/OcRDClient/OnPublishResourceListener;I)V
62 JNIEXPORT void JNICALL Java_org_iotivity_base_OcRDClient_publishResourceToRD1
63 (JNIEnv *, jclass, jstring, jint, jobjectArray, jobject, jint);
66 * Class: org_iotivity_base_OcRDClient
67 * Method: deleteResourceFromRD0
68 * Signature: (Ljava/lang/String;ILorg/iotivity/base/OcRDClient/OnDeleteResourceListener;I)V
70 JNIEXPORT void JNICALL Java_org_iotivity_base_OcRDClient_deleteResourceFromRD0
71 (JNIEnv *, jclass, jstring, jint, jobject, jint);
74 * Class: org_iotivity_base_OcRDClient
75 * Method: deleteResourceFromRD1
76 * Signature: (Ljava/lang/String;I[Lorg/iotivity/base/OcResourceHandle;Lorg/iotivity/base/OcRDClient/OnDeleteResourceListener;I)V
78 JNIEXPORT void JNICALL Java_org_iotivity_base_OcRDClient_deleteResourceFromRD1
79 (JNIEnv *, jclass, jstring, jint, jobjectArray, jobject, jint);