2 * //******************************************************************
4 * // Copyright 2015 Intel Corporation.
6 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
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
12 * // http://www.apache.org/licenses/LICENSE-2.0
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.
20 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
22 #include "JniOcStack.h"
23 #include "JniOnResourceFoundListener.h"
24 #include "JniOnDeviceInfoListener.h"
25 #include "JniOnPlatformInfoListener.h"
26 #include "JniOnDPDevicesFoundListener.h"
27 #include "JniOnDirectPairingListener.h"
28 #include "JniOnPresenceListener.h"
31 #ifndef _Included_org_iotivity_base_OcPlatform
32 #define _Included_org_iotivity_base_OcPlatform
36 JniOnResourceFoundListener* AddOnResourceFoundListener(JNIEnv* env, jobject jListener);
37 void RemoveOnResourceFoundListener(JNIEnv* env, jobject jListener);
39 JniOnDeviceInfoListener* AddOnDeviceInfoListener(JNIEnv* env, jobject jListener);
40 void RemoveOnDeviceInfoListener(JNIEnv* env, jobject jListener);
42 JniOnPlatformInfoListener* AddOnPlatformInfoListener(JNIEnv* env, jobject jListener);
43 void RemoveOnPlatformInfoListener(JNIEnv* env, jobject jListener);
45 JniOnPresenceListener* AddOnPresenceListener(JNIEnv* env, jobject jListener);
46 void RemoveOnPresenceListener(JNIEnv* env, jobject jListener);
48 JniOnDPDevicesFoundListener* AddOnDPDevicesFoundListener(JNIEnv* env, jobject jListener);
49 void RemoveOnDPDevicesFoundListener(JNIEnv* env, jobject jListener);
51 JniOnDirectPairingListener* AddOnDirectPairingListener(JNIEnv* env, jobject jListener);
52 void RemoveOnDirectPairingListener(JNIEnv* env, jobject jListener);
55 std::map<jobject, std::pair<JniOnResourceFoundListener*, int>> onResourceFoundListenerMap;
56 std::map<jobject, std::pair<JniOnDeviceInfoListener*, int>> onDeviceInfoListenerMap;
57 std::map<jobject, std::pair<JniOnPlatformInfoListener*, int>> onPlatformInfoListenerMap;
58 std::map<jobject, std::pair<JniOnPresenceListener*, int>> onPresenceListenerMap;
59 std::map<jobject, std::pair<JniOnDPDevicesFoundListener*, int>> onDPDevicesFoundListenerMap;
60 std::map<jobject, std::pair<JniOnDirectPairingListener*, int>> directPairingListenerMap;
62 std::mutex resourceFoundMapLock;
63 std::mutex deviceInfoMapLock;
64 std::mutex platformInfoMapLock;
65 std::mutex presenceMapLock;
66 std::mutex dpDevicesFoundListenerMapLock;
67 std::mutex directPairingListenerMapLock;
73 * Class: org_iotivity_base_OcPlatform
75 * Signature: (IILjava/lang/String;II)V
77 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_configure
78 (JNIEnv *, jclass, jint, jint, jstring, jint, jint, jstring);
81 * Class: org_iotivity_base_OcPlatform
82 * Method: notifyAllObservers0
83 * Signature: (Lorg/iotivity/base/OcResourceHandle;)V
85 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyAllObservers0
86 (JNIEnv *, jclass, jobject);
89 * Class: org_iotivity_base_OcPlatform
90 * Method: notifyAllObservers1
91 * Signature: (Lorg/iotivity/base/OcResourceHandle;I)V
93 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyAllObservers1
94 (JNIEnv *, jclass, jobject, jint);
97 * Class: org_iotivity_base_OcPlatform
98 * Method: notifyListOfObservers2
99 * Signature: (Lorg/iotivity/base/OcResourceHandle;[BLorg/iotivity/base/OcResourceResponse;)V
101 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyListOfObservers2
102 (JNIEnv *, jclass, jobject, jbyteArray, jobject);
105 * Class: org_iotivity_base_OcPlatform
106 * Method: notifyListOfObservers3
107 * Signature: (Lorg/iotivity/base/OcResourceHandle;[BLorg/iotivity/base/OcResourceResponse;I)V
109 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyListOfObservers3
110 (JNIEnv *, jclass, jobject, jbyteArray, jobject, jint);
113 * Class: org_iotivity_base_OcPlatform
114 * Method: findResource0
115 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnResourceFoundListener;)V
117 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findResource0
118 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
121 * Class: org_iotivity_base_OcPlatform
122 * Method: findResource1
123 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnResourceFoundListener;I)V
125 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findResource1
126 (JNIEnv *, jclass, jstring, jstring, jint, jobject, jint);
129 * Class: org_iotivity_base_OcPlatform
130 * Method: getDeviceInfo0
131 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnDeviceFoundListener;)V
133 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDeviceInfo0
134 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
137 * Class: org_iotivity_base_OcPlatform
138 * Method: getDeviceInfo1
139 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnDeviceFoundListener;I)V
141 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDeviceInfo1
142 (JNIEnv *, jclass, jstring, jstring, jint, jobject, jint);
145 * Class: org_iotivity_base_OcPlatform
146 * Method: getPlatformInfo0
147 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPlatformFoundListener;)V
149 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getPlatformInfo0
150 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
153 * Class: org_iotivity_base_OcPlatform
154 * Method: getPlatformInfo1
155 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPlatformFoundListener;I)V
157 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getPlatformInfo1
158 (JNIEnv *, jclass, jstring, jstring, jint, jobject, jint);
161 * Class: org_iotivity_base_OcPlatform
162 * Method: registerResource0
163 * Signature: (Lorg/iotivity/base/OcResource;)Lorg/iotivity/base/OcResourceHandle;
165 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_registerResource0
166 (JNIEnv *, jclass, jobject);
169 * Class: org_iotivity_base_OcPlatform
170 * Method: registerResource1
171 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcPlatform/EntityHandler;I)Lorg/iotivity/base/OcResourceHandle;
173 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_registerResource1
174 (JNIEnv *, jclass, jstring, jstring, jstring, jobject, jint);
177 * Class: org_iotivity_base_OcPlatform
178 * Method: registerDeviceInfo0
179 * Signature: (Ljava/lang/String;[Ljava/lang/String;)V
181 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_registerDeviceInfo0
182 (JNIEnv *, jclass, jstring, jobjectArray);
185 * Class: org_iotivity_base_OcPlatform
186 * Method: registerPlatformInfo0
187 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
189 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_registerPlatformInfo0
190 (JNIEnv *, jclass, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring);
193 * Class: org_iotivity_base_OcPlatform
194 * Method: unregisterResource0
195 * Signature: (Lorg/iotivity/base/OcResourceHandle;)V
197 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unregisterResource0
198 (JNIEnv *, jclass, jobject);
201 * Class: org_iotivity_base_OcPlatform
202 * Method: bindResource0
203 * Signature: (Lorg/iotivity/base/OcResourceHandle;Lorg/iotivity/base/OcResourceHandle;)V
205 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindResource0
206 (JNIEnv *, jclass, jobject, jobject);
209 * Class: org_iotivity_base_OcPlatform
210 * Method: bindResources0
211 * Signature: (Lorg/iotivity/base/OcResourceHandle;[Lorg/iotivity/base/OcResourceHandle;)V
213 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindResources0
214 (JNIEnv *, jclass, jobject, jobjectArray);
217 * Class: org_iotivity_base_OcPlatform
218 * Method: unbindResource0
219 * Signature: (Lorg/iotivity/base/OcResourceHandle;Lorg/iotivity/base/OcResourceHandle;)V
221 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unbindResource0
222 (JNIEnv *, jclass, jobject, jobject);
225 * Class: org_iotivity_base_OcPlatform
226 * Method: unbindResources0
227 * Signature: (Lorg/iotivity/base/OcResourceHandle;[Lorg/iotivity/base/OcResourceHandle;)V
229 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unbindResources0
230 (JNIEnv *, jclass, jobject, jobjectArray);
233 * Class: org_iotivity_base_OcPlatform
234 * Method: bindTypeToResource0
235 * Signature: (Lorg/iotivity/base/OcResourceHandle;Ljava/lang/String;)V
237 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindTypeToResource0
238 (JNIEnv *, jclass, jobject, jstring);
241 * Class: org_iotivity_base_OcPlatform
242 * Method: bindInterfaceToResource0
243 * Signature: (Lorg/iotivity/base/OcResourceHandle;Ljava/lang/String;)V
245 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindInterfaceToResource0
246 (JNIEnv *, jclass, jobject, jstring);
249 * Class: org_iotivity_base_OcPlatform
250 * Method: startPresence0
253 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_startPresence0
254 (JNIEnv *, jclass, jint);
257 * Class: org_iotivity_base_OcPlatform
258 * Method: stopPresence0
261 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_stopPresence0
265 * Class: org_iotivity_base_OcPlatform
266 * Method: subscribePresence0
267 * Signature: (Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPresenceListener;)Lorg/iotivity/base/OcPresenceHandle;
269 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribePresence0
270 (JNIEnv *, jclass, jstring, jint, jobject);
273 * Class: org_iotivity_base_OcPlatform
274 * Method: subscribePresence1
275 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPresenceListener;)Lorg/iotivity/base/OcPresenceHandle;
277 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribePresence1
278 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
281 * Class: org_iotivity_base_OcPlatform
282 * Method: unsubscribePresence0
283 * Signature: (Lorg/iotivity/base/OcPresenceHandle;)V
285 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unsubscribePresence0
286 (JNIEnv *, jclass, jobject);
289 * Class: org_iotivity_base_OcPlatform
290 * Method: constructResourceObject0
291 * Signature: (Ljava/lang/String;Ljava/lang/String;IZ[Ljava/lang/String;[Ljava/lang/String;)Lorg/iotivity/base/OcResource;
293 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_constructResourceObject0
294 (JNIEnv *, jclass, jstring, jstring, jint, jboolean, jobjectArray, jobjectArray);
297 * Class: org_iotivity_base_OcPlatform0
298 * Method: sendResponse0
299 * Signature: (Lorg/iotivity/base/OcResourceResponse;)V
301 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_sendResponse0
302 (JNIEnv *, jclass, jobject);
305 * Class: org_iotivity_base_OcPlatform
306 * Method: findDirectPairingDevices
307 * Signature: (ILorg/iotivity/base/OcPlatform/FindDirectPairingListener;)V
309 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findDirectPairingDevices
310 (JNIEnv *, jclass, jint, jobject);
313 * Class: org_iotivity_base_OcPlatform
314 * Method: getDirectPairedDevices
315 * Signature: (Lorg/iotivity/base/OcDirectPairDevice/GetDirectPairedListener;)V
317 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDirectPairedDevices
318 (JNIEnv *, jclass, jobject);
321 * Class: org_iotivity_base_OcPlatform
322 * Method: doDirectPairing
323 * Signature: (Lorg/iotivity/base/OcDirectPairDevice;Lorg/iotivity/base/OcPrmType;
324 * Ljava/lang/String;Lorg/iotivity/base/OcDirectPairDevice/DirectPairingListener;)V
326 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_doDirectPairing0
327 (JNIEnv *, jclass, jobject, jint, jstring, jobject);