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 "JniOnPresenceListener.h"
29 #ifndef _Included_org_iotivity_base_OcPlatform
30 #define _Included_org_iotivity_base_OcPlatform
34 JniOnResourceFoundListener* AddOnResourceFoundListener(JNIEnv* env, jobject jListener);
35 void RemoveOnResourceFoundListener(JNIEnv* env, jobject jListener);
37 JniOnDeviceInfoListener* AddOnDeviceInfoListener(JNIEnv* env, jobject jListener);
38 void RemoveOnDeviceInfoListener(JNIEnv* env, jobject jListener);
40 JniOnPlatformInfoListener* AddOnPlatformInfoListener(JNIEnv* env, jobject jListener);
41 void RemoveOnPlatformInfoListener(JNIEnv* env, jobject jListener);
43 JniOnPresenceListener* AddOnPresenceListener(JNIEnv* env, jobject jListener);
44 void RemoveOnPresenceListener(JNIEnv* env, jobject jListener);
46 std::map<jobject, std::pair<JniOnResourceFoundListener*, int>> onResourceFoundListenerMap;
47 std::map<jobject, std::pair<JniOnDeviceInfoListener*, int>> onDeviceInfoListenerMap;
48 std::map<jobject, std::pair<JniOnPlatformInfoListener*, int>> onPlatformInfoListenerMap;
49 std::map<jobject, std::pair<JniOnPresenceListener*, int>> onPresenceListenerMap;
51 std::mutex resourceFoundMapLock;
52 std::mutex deviceInfoMapLock;
53 std::mutex platformInfoMapLock;
54 std::mutex presenceMapLock;
60 * Class: org_iotivity_base_OcPlatform
62 * Signature: (IILjava/lang/String;II)V
64 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_configure
65 (JNIEnv *, jclass, jint, jint, jstring, jint, jint, jstring);
68 * Class: org_iotivity_base_OcPlatform
69 * Method: notifyAllObservers0
70 * Signature: (Lorg/iotivity/base/OcResourceHandle;)V
72 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyAllObservers0
73 (JNIEnv *, jclass, jobject);
76 * Class: org_iotivity_base_OcPlatform
77 * Method: notifyAllObservers1
78 * Signature: (Lorg/iotivity/base/OcResourceHandle;I)V
80 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyAllObservers1
81 (JNIEnv *, jclass, jobject, jint);
84 * Class: org_iotivity_base_OcPlatform
85 * Method: notifyListOfObservers2
86 * Signature: (Lorg/iotivity/base/OcResourceHandle;[BLorg/iotivity/base/OcResourceResponse;)V
88 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyListOfObservers2
89 (JNIEnv *, jclass, jobject, jbyteArray, jobject);
92 * Class: org_iotivity_base_OcPlatform
93 * Method: notifyListOfObservers3
94 * Signature: (Lorg/iotivity/base/OcResourceHandle;[BLorg/iotivity/base/OcResourceResponse;I)V
96 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyListOfObservers3
97 (JNIEnv *, jclass, jobject, jbyteArray, jobject, jint);
100 * Class: org_iotivity_base_OcPlatform
101 * Method: findResource0
102 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnResourceFoundListener;)V
104 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findResource0
105 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
108 * Class: org_iotivity_base_OcPlatform
109 * Method: findResource1
110 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnResourceFoundListener;I)V
112 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findResource1
113 (JNIEnv *, jclass, jstring, jstring, jint, jobject, jint);
116 * Class: org_iotivity_base_OcPlatform
117 * Method: getDeviceInfo0
118 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnDeviceFoundListener;)V
120 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDeviceInfo0
121 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
124 * Class: org_iotivity_base_OcPlatform
125 * Method: getDeviceInfo1
126 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnDeviceFoundListener;I)V
128 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDeviceInfo1
129 (JNIEnv *, jclass, jstring, jstring, jint, jobject, jint);
132 * Class: org_iotivity_base_OcPlatform
133 * Method: getPlatformInfo0
134 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPlatformFoundListener;)V
136 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getPlatformInfo0
137 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
140 * Class: org_iotivity_base_OcPlatform
141 * Method: getPlatformInfo1
142 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPlatformFoundListener;I)V
144 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getPlatformInfo1
145 (JNIEnv *, jclass, jstring, jstring, jint, jobject, jint);
148 * Class: org_iotivity_base_OcPlatform
149 * Method: registerResource0
150 * Signature: (Lorg/iotivity/base/OcResource;)Lorg/iotivity/base/OcResourceHandle;
152 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_registerResource0
153 (JNIEnv *, jclass, jobject);
156 * Class: org_iotivity_base_OcPlatform
157 * Method: registerResource1
158 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcPlatform/EntityHandler;I)Lorg/iotivity/base/OcResourceHandle;
160 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_registerResource1
161 (JNIEnv *, jclass, jstring, jstring, jstring, jobject, jint);
164 * Class: org_iotivity_base_OcPlatform
165 * Method: registerDeviceInfo0
166 * Signature: (Ljava/lang/String;)V
168 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_registerDeviceInfo0
169 (JNIEnv *, jclass, jstring);
172 * Class: org_iotivity_base_OcPlatform
173 * Method: registerPlatformInfo0
174 * 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
176 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_registerPlatformInfo0
177 (JNIEnv *, jclass, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring, jstring);
180 * Class: org_iotivity_base_OcPlatform
181 * Method: unregisterResource0
182 * Signature: (Lorg/iotivity/base/OcResourceHandle;)V
184 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unregisterResource0
185 (JNIEnv *, jclass, jobject);
188 * Class: org_iotivity_base_OcPlatform
189 * Method: bindResource0
190 * Signature: (Lorg/iotivity/base/OcResourceHandle;Lorg/iotivity/base/OcResourceHandle;)V
192 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindResource0
193 (JNIEnv *, jclass, jobject, jobject);
196 * Class: org_iotivity_base_OcPlatform
197 * Method: bindResources0
198 * Signature: (Lorg/iotivity/base/OcResourceHandle;[Lorg/iotivity/base/OcResourceHandle;)V
200 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindResources0
201 (JNIEnv *, jclass, jobject, jobjectArray);
204 * Class: org_iotivity_base_OcPlatform
205 * Method: unbindResource0
206 * Signature: (Lorg/iotivity/base/OcResourceHandle;Lorg/iotivity/base/OcResourceHandle;)V
208 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unbindResource0
209 (JNIEnv *, jclass, jobject, jobject);
212 * Class: org_iotivity_base_OcPlatform
213 * Method: unbindResources0
214 * Signature: (Lorg/iotivity/base/OcResourceHandle;[Lorg/iotivity/base/OcResourceHandle;)V
216 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unbindResources0
217 (JNIEnv *, jclass, jobject, jobjectArray);
220 * Class: org_iotivity_base_OcPlatform
221 * Method: bindTypeToResource0
222 * Signature: (Lorg/iotivity/base/OcResourceHandle;Ljava/lang/String;)V
224 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindTypeToResource0
225 (JNIEnv *, jclass, jobject, jstring);
228 * Class: org_iotivity_base_OcPlatform
229 * Method: bindInterfaceToResource0
230 * Signature: (Lorg/iotivity/base/OcResourceHandle;Ljava/lang/String;)V
232 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindInterfaceToResource0
233 (JNIEnv *, jclass, jobject, jstring);
236 * Class: org_iotivity_base_OcPlatform
237 * Method: startPresence0
240 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_startPresence0
241 (JNIEnv *, jclass, jint);
244 * Class: org_iotivity_base_OcPlatform
245 * Method: stopPresence0
248 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_stopPresence0
252 * Class: org_iotivity_base_OcPlatform
253 * Method: subscribePresence0
254 * Signature: (Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPresenceListener;)Lorg/iotivity/base/OcPresenceHandle;
256 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribePresence0
257 (JNIEnv *, jclass, jstring, jint, jobject);
260 * Class: org_iotivity_base_OcPlatform
261 * Method: subscribePresence1
262 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPresenceListener;)Lorg/iotivity/base/OcPresenceHandle;
264 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribePresence1
265 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
268 * Class: org_iotivity_base_OcPlatform
269 * Method: unsubscribePresence0
270 * Signature: (Lorg/iotivity/base/OcPresenceHandle;)V
272 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unsubscribePresence0
273 (JNIEnv *, jclass, jobject);
276 * Class: org_iotivity_base_OcPlatform
277 * Method: constructResourceObject0
278 * Signature: (Ljava/lang/String;Ljava/lang/String;IZ[Ljava/lang/String;[Ljava/lang/String;)Lorg/iotivity/base/OcResource;
280 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_constructResourceObject0
281 (JNIEnv *, jclass, jstring, jstring, jint, jboolean, jobjectArray, jobjectArray);
284 * Class: org_iotivity_base_OcPlatform0
285 * Method: sendResponse0
286 * Signature: (Lorg/iotivity/base/OcResourceResponse;)V
288 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_sendResponse0
289 (JNIEnv *, jclass, jobject);