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"
29 #include "JniOnObserveListener.h"
31 #include "JniKeepAliveListener.h"
35 #ifndef _Included_org_iotivity_base_OcPlatform
36 #define _Included_org_iotivity_base_OcPlatform
40 JniOnResourceFoundListener* AddOnResourceFoundListener(JNIEnv* env, jobject jListener);
41 void RemoveOnResourceFoundListener(JNIEnv* env, jobject jListener);
43 JniOnDeviceInfoListener* AddOnDeviceInfoListener(JNIEnv* env, jobject jListener);
44 void RemoveOnDeviceInfoListener(JNIEnv* env, jobject jListener);
46 JniOnPlatformInfoListener* AddOnPlatformInfoListener(JNIEnv* env, jobject jListener);
47 void RemoveOnPlatformInfoListener(JNIEnv* env, jobject jListener);
49 JniOnPresenceListener* AddOnPresenceListener(JNIEnv* env, jobject jListener);
50 void RemoveOnPresenceListener(JNIEnv* env, jobject jListener);
52 JniOnObserveListener* AddOnObserveListener(JNIEnv* env, jobject jListener);
53 void RemoveOnObserveListener(JNIEnv* env, jobject jListener);
55 JniOnDPDevicesFoundListener* AddOnDPDevicesFoundListener(JNIEnv* env, jobject jListener);
56 void RemoveOnDPDevicesFoundListener(JNIEnv* env, jobject jListener);
58 JniOnDirectPairingListener* AddOnDirectPairingListener(JNIEnv* env, jobject jListener);
59 void RemoveOnDirectPairingListener(JNIEnv* env, jobject jListener);
62 JniKeepAliveListener* AddKeepAliveListener(JNIEnv* env, jobject jListener);
63 void RemoveKeepAliveListener(JNIEnv* env, jobject jListener);
65 std::map<jobject, std::pair<JniOnResourceFoundListener*, int>> onResourceFoundListenerMap;
66 std::map<jobject, std::pair<JniOnDeviceInfoListener*, int>> onDeviceInfoListenerMap;
67 std::map<jobject, std::pair<JniOnPlatformInfoListener*, int>> onPlatformInfoListenerMap;
68 std::map<jobject, std::pair<JniOnPresenceListener*, int>> onPresenceListenerMap;
69 std::map<jobject, std::pair<JniOnObserveListener*, int>> onObserveListenerMap;
70 std::map<jobject, std::pair<JniOnDPDevicesFoundListener*, int>> onDPDevicesFoundListenerMap;
71 std::map<jobject, std::pair<JniOnDirectPairingListener*, int>> directPairingListenerMap;
73 std::map<jobject, std::pair<JniKeepAliveListener*, int>> KeepAliveListenerMap;
75 std::mutex resourceFoundMapLock;
76 std::mutex deviceInfoMapLock;
77 std::mutex platformInfoMapLock;
78 std::mutex presenceMapLock;
79 std::mutex observeMapLock;
80 std::mutex dpDevicesFoundListenerMapLock;
81 std::mutex directPairingListenerMapLock;
83 std::mutex KeepAliveListenerMapLock;
90 * Class: org_iotivity_base_OcPlatform
92 * Signature: (IILjava/lang/String;IILjava/lang/String;I)V
94 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_configure
95 (JNIEnv *, jclass, jint, jint, jstring, jint, jint, jstring, jstring,
96 jstring, jint, jbyteArray, jint);
99 * Class: org_iotivity_base_OcPlatform
103 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_stop
107 * Class: org_iotivity_base_OcPlatform
111 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_start
115 * Class: org_iotivity_base_OcPlatform
116 * Method: notifyAllObservers0
117 * Signature: (Lorg/iotivity/base/OcResourceHandle;)V
119 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyAllObservers0
120 (JNIEnv *, jclass, jobject);
123 * Class: org_iotivity_base_OcPlatform
124 * Method: notifyAllObservers1
125 * Signature: (Lorg/iotivity/base/OcResourceHandle;I)V
127 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyAllObservers1
128 (JNIEnv *, jclass, jobject, jint);
131 * Class: org_iotivity_base_OcPlatform
132 * Method: notifyListOfObservers2
133 * Signature: (Lorg/iotivity/base/OcResourceHandle;[BLorg/iotivity/base/OcResourceResponse;)V
135 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyListOfObservers2
136 (JNIEnv *, jclass, jobject, jbyteArray, jobject);
139 * Class: org_iotivity_base_OcPlatform
140 * Method: notifyListOfObservers3
141 * Signature: (Lorg/iotivity/base/OcResourceHandle;[BLorg/iotivity/base/OcResourceResponse;I)V
143 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyListOfObservers3
144 (JNIEnv *, jclass, jobject, jbyteArray, jobject, jint);
147 * Class: org_iotivity_base_OcPlatform
148 * Method: findResource0
149 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnResourceFoundListener;)V
151 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findResource0
152 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
155 * Class: org_iotivity_base_OcPlatform
156 * Method: findResource1
157 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnResourceFoundListener;I)V
159 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findResource1
160 (JNIEnv *, jclass, jstring, jstring, jint, jobject, jint);
163 * Class: org_iotivity_base_OcPlatform
164 * Method: getDeviceInfo0
165 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnDeviceFoundListener;)V
167 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDeviceInfo0
168 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
171 * Class: org_iotivity_base_OcPlatform
172 * Method: getDeviceInfo1
173 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnDeviceFoundListener;I)V
175 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDeviceInfo1
176 (JNIEnv *, jclass, jstring, jstring, jint, jobject, jint);
179 * Class: org_iotivity_base_OcPlatform
180 * Method: getPlatformInfo0
181 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPlatformFoundListener;)V
183 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getPlatformInfo0
184 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
187 * Class: org_iotivity_base_OcPlatform
188 * Method: getPlatformInfo1
189 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPlatformFoundListener;I)V
191 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getPlatformInfo1
192 (JNIEnv *, jclass, jstring, jstring, jint, jobject, jint);
195 * Class: org_iotivity_base_OcPlatform
196 * Method: registerResource0
197 * Signature: (Lorg/iotivity/base/OcResource;)Lorg/iotivity/base/OcResourceHandle;
199 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_registerResource0
200 (JNIEnv *, jclass, jobject);
203 * Class: org_iotivity_base_OcPlatform
204 * Method: registerResource1
205 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcPlatform/EntityHandler;I)Lorg/iotivity/base/OcResourceHandle;
207 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_registerResource1
208 (JNIEnv *, jclass, jstring, jstring, jstring, jobject, jint);
211 * Class: org_iotivity_base_OcPlatform
212 * Method: registerDeviceInfo0
213 * Signature: (Ljava/lang/String;[Ljava/lang/String;)V
215 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_registerDeviceInfo0
216 (JNIEnv *, jclass, jstring, jobjectArray);
219 * Class: org_iotivity_base_OcPlatform
220 * Method: registerPlatformInfo0
221 * 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
223 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_registerPlatformInfo0
224 (JNIEnv *, jclass, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring);
227 * Class: org_iotivity_base_OcPlatform
228 * Method: setPropertyValue0
229 * Signature: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
231 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_setPropertyValue0
232 (JNIEnv *, jclass, jint, jstring, jobjectArray);
235 * Class: org_iotivity_base_OcPlatform
236 * Method: setPropertyValue1
237 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
239 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_setPropertyValue1
240 (JNIEnv *, jclass, jint, jstring, jstring);
243 * Class: org_iotivity_base_OcPlatform
244 * Method: getPropertyValue0
245 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
247 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getPropertyValue0
248 (JNIEnv *, jint, jstring, jstring);
251 * Class: org_iotivity_base_OcPlatform
252 * Method: unregisterResource0
253 * Signature: (Lorg/iotivity/base/OcResourceHandle;)V
255 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unregisterResource0
256 (JNIEnv *, jclass, jobject);
259 * Class: org_iotivity_base_OcPlatform
260 * Method: bindResource0
261 * Signature: (Lorg/iotivity/base/OcResourceHandle;Lorg/iotivity/base/OcResourceHandle;)V
263 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindResource0
264 (JNIEnv *, jclass, jobject, jobject);
267 * Class: org_iotivity_base_OcPlatform
268 * Method: bindResources0
269 * Signature: (Lorg/iotivity/base/OcResourceHandle;[Lorg/iotivity/base/OcResourceHandle;)V
271 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindResources0
272 (JNIEnv *, jclass, jobject, jobjectArray);
275 * Class: org_iotivity_base_OcPlatform
276 * Method: unbindResource0
277 * Signature: (Lorg/iotivity/base/OcResourceHandle;Lorg/iotivity/base/OcResourceHandle;)V
279 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unbindResource0
280 (JNIEnv *, jclass, jobject, jobject);
283 * Class: org_iotivity_base_OcPlatform
284 * Method: unbindResources0
285 * Signature: (Lorg/iotivity/base/OcResourceHandle;[Lorg/iotivity/base/OcResourceHandle;)V
287 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unbindResources0
288 (JNIEnv *, jclass, jobject, jobjectArray);
291 * Class: org_iotivity_base_OcPlatform
292 * Method: bindTypeToResource0
293 * Signature: (Lorg/iotivity/base/OcResourceHandle;Ljava/lang/String;)V
295 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindTypeToResource0
296 (JNIEnv *, jclass, jobject, jstring);
299 * Class: org_iotivity_base_OcPlatform
300 * Method: bindInterfaceToResource0
301 * Signature: (Lorg/iotivity/base/OcResourceHandle;Ljava/lang/String;)V
303 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindInterfaceToResource0
304 (JNIEnv *, jclass, jobject, jstring);
307 * Class: org_iotivity_base_OcPlatform
308 * Method: startPresence0
311 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_startPresence0
312 (JNIEnv *, jclass, jint);
315 * Class: org_iotivity_base_OcPlatform
316 * Method: stopPresence0
319 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_stopPresence0
323 * Class: org_iotivity_base_OcPlatform
324 * Method: subscribePresence0
325 * Signature: (Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPresenceListener;)Lorg/iotivity/base/OcPresenceHandle;
327 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribePresence0
328 (JNIEnv *, jclass, jstring, jint, jobject);
331 * Class: org_iotivity_base_OcPlatform
332 * Method: subscribePresence1
333 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPresenceListener;)Lorg/iotivity/base/OcPresenceHandle;
335 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribePresence1
336 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
339 * Class: org_iotivity_base_OcPlatform
340 * Method: unsubscribePresence0
341 * Signature: (Lorg/iotivity/base/OcPresenceHandle;)V
343 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unsubscribePresence0
344 (JNIEnv *, jclass, jobject);
347 * Class: org_iotivity_base_OcPlatform
348 * Method: subscribeDevicePresence0
349 * Signature: (Ljava/lang/String;[Ljava/lang/String;I
350 * Lorg/iotivity/base/OcResource/OnObserveListener;)Lorg/iotivity/base/OcPresenceHandle;
352 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribeDevicePresence0
353 (JNIEnv *, jclass, jstring, jobjectArray, jint, jobject);
356 * Class: org_iotivity_base_OcPlatform
357 * Method: constructResourceObject0
358 * Signature: (Ljava/lang/String;Ljava/lang/String;IZ[Ljava/lang/String;[Ljava/lang/String;)Lorg/iotivity/base/OcResource;
360 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_constructResourceObject0
361 (JNIEnv *, jclass, jstring, jstring, jint, jboolean, jobjectArray, jobjectArray);
364 * Class: org_iotivity_base_OcPlatform0
365 * Method: sendResponse0
366 * Signature: (Lorg/iotivity/base/OcResourceResponse;)V
368 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_sendResponse0
369 (JNIEnv *, jclass, jobject);
372 * Class: org_iotivity_base_OcPlatform
373 * Method: findDirectPairingDevices
374 * Signature: (ILorg/iotivity/base/OcPlatform/FindDirectPairingListener;)V
376 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findDirectPairingDevices
377 (JNIEnv *, jclass, jint, jobject);
380 * Class: org_iotivity_base_OcPlatform
381 * Method: getDirectPairedDevices
382 * Signature: (Lorg/iotivity/base/OcDirectPairDevice/GetDirectPairedListener;)V
384 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDirectPairedDevices
385 (JNIEnv *, jclass, jobject);
388 * Class: org_iotivity_base_OcPlatform
389 * Method: doDirectPairing
390 * Signature: (Lorg/iotivity/base/OcDirectPairDevice;Lorg/iotivity/base/OcPrmType;
391 * Ljava/lang/String;Lorg/iotivity/base/OcDirectPairDevice/DirectPairingListener;)V
393 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_doDirectPairing0
394 (JNIEnv *, jclass, jobject, jint, jstring, jobject);
397 * Class: org_iotivity_base_OcPlatform
398 * Method: constructAccountManagerObject0
399 * Signature: (Ljava/lang/String;I)Lorg/iotivity/base/OcAccountManager;
401 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_constructAccountManagerObject0
402 (JNIEnv *, jclass, jstring, jint);
405 * Class: org_iotivity_base_OcPlatform
406 * Method: getDeviceId
409 JNIEXPORT jbyteArray JNICALL Java_org_iotivity_base_OcPlatform_getDeviceId
413 * Class: org_iotivity_base_OcPlatform
414 * Method: setDeviceId
415 * Signature: (Ljava/lang/byte;)V
417 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_setDeviceId(
418 JNIEnv *, jobject, jbyteArray);
421 * Class: org_iotivity_base_OcPlatform
422 * Method: findKeepAliveResourceImpl
423 * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcPlatform/KeepAliveListener;)V
425 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findKeepAliveResourceImpl(
426 JNIEnv *, jclass, jstring, jobject);
429 * Class: org_iotivity_base_OcPlatform
430 * Method: sendKeepAliveRequestImpl
431 * Signature: (Ljava/lang/String;ILorg/iotivity/base/OcPlatform/KeepAliveListener;)V
433 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_sendKeepAliveRequestImpl(
434 JNIEnv *, jclass, jstring, jobject, jobject);