2 * //******************************************************************
\r
4 * // Copyright 2015 Intel Corporation.
\r
6 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
\r
8 * // Licensed under the Apache License, Version 2.0 (the "License");
\r
9 * // you may not use this file except in compliance with the License.
\r
10 * // You may obtain a copy of the License at
\r
12 * // http://www.apache.org/licenses/LICENSE-2.0
\r
14 * // Unless required by applicable law or agreed to in writing, software
\r
15 * // distributed under the License is distributed on an "AS IS" BASIS,
\r
16 * // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
17 * // See the License for the specific language governing permissions and
\r
18 * // limitations under the License.
\r
20 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
\r
22 #include "JniOcStack.h"
\r
23 #include "JniOnResourceFoundListener.h"
\r
24 #include "JniOnDeviceInfoListener.h"
\r
25 #include "JniOnPlatformInfoListener.h"
26 #include "JniOnPresenceListener.h"
\r
29 #ifndef _Included_org_iotivity_base_OcPlatform
\r
30 #define _Included_org_iotivity_base_OcPlatform
\r
34 JniOnResourceFoundListener* AddOnResourceFoundListener(JNIEnv* env, jobject jListener);
\r
35 void RemoveOnResourceFoundListener(JNIEnv* env, jobject jListener);
\r
37 JniOnDeviceInfoListener* AddOnDeviceInfoListener(JNIEnv* env, jobject jListener);
\r
38 void RemoveOnDeviceInfoListener(JNIEnv* env, jobject jListener);
\r
40 JniOnPlatformInfoListener* AddOnPlatformInfoListener(JNIEnv* env, jobject jListener);
41 void RemoveOnPlatformInfoListener(JNIEnv* env, jobject jListener);
43 JniOnPresenceListener* AddOnPresenceListener(JNIEnv* env, jobject jListener);
\r
44 void RemoveOnPresenceListener(JNIEnv* env, jobject jListener);
\r
46 std::map<jobject, std::pair<JniOnResourceFoundListener*, int>> onResourceFoundListenerMap;
\r
47 std::map<jobject, std::pair<JniOnDeviceInfoListener*, int>> onDeviceInfoListenerMap;
\r
48 std::map<jobject, std::pair<JniOnPlatformInfoListener*, int>> onPlatformInfoListenerMap;
49 std::map<jobject, std::pair<JniOnPresenceListener*, int>> onPresenceListenerMap;
\r
51 std::mutex resourceFoundMapLock;
\r
52 std::mutex deviceInfoMapLock;
\r
53 std::mutex platformInfoMapLock;
54 std::mutex presenceMapLock;
\r
60 * Class: org_iotivity_base_OcPlatform
\r
62 * Signature: (IILjava/lang/String;II)V
\r
64 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_configure
\r
65 (JNIEnv *, jclass, jint, jint, jstring, jint, jint, jstring);
68 * Class: org_iotivity_base_OcPlatform
\r
69 * Method: notifyAllObservers0
\r
70 * Signature: (Lorg/iotivity/base/OcResourceHandle;)V
\r
72 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyAllObservers0
\r
73 (JNIEnv *, jclass, jobject);
\r
76 * Class: org_iotivity_base_OcPlatform
\r
77 * Method: notifyAllObservers1
\r
78 * Signature: (Lorg/iotivity/base/OcResourceHandle;I)V
\r
80 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyAllObservers1
\r
81 (JNIEnv *, jclass, jobject, jint);
\r
84 * Class: org_iotivity_base_OcPlatform
\r
85 * Method: notifyListOfObservers2
\r
86 * Signature: (Lorg/iotivity/base/OcResourceHandle;[BLorg/iotivity/base/OcResourceResponse;)V
\r
88 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyListOfObservers2
\r
89 (JNIEnv *, jclass, jobject, jbyteArray, jobject);
\r
92 * Class: org_iotivity_base_OcPlatform
\r
93 * Method: notifyListOfObservers3
\r
94 * Signature: (Lorg/iotivity/base/OcResourceHandle;[BLorg/iotivity/base/OcResourceResponse;I)V
\r
96 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_notifyListOfObservers3
\r
97 (JNIEnv *, jclass, jobject, jbyteArray, jobject, jint);
\r
100 * Class: org_iotivity_base_OcPlatform
\r
101 * Method: findResource0
\r
102 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnResourceFoundListener;)V
\r
104 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findResource0
\r
105 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
\r
108 * Class: org_iotivity_base_OcPlatform
\r
109 * Method: findResource1
\r
110 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnResourceFoundListener;I)V
\r
112 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_findResource1
\r
113 (JNIEnv *, jclass, jstring, jstring, jint, jobject, jint);
\r
116 * Class: org_iotivity_base_OcPlatform
\r
117 * Method: getDeviceInfo0
\r
118 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnDeviceFoundListener;)V
\r
120 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDeviceInfo0
\r
121 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
\r
124 * Class: org_iotivity_base_OcPlatform
\r
125 * Method: getDeviceInfo1
\r
126 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnDeviceFoundListener;I)V
\r
128 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_getDeviceInfo1
\r
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);
\r
148 * Class: org_iotivity_base_OcPlatform
\r
149 * Method: registerResource0
\r
150 * Signature: (Lorg/iotivity/base/OcResource;)Lorg/iotivity/base/OcResourceHandle;
\r
152 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_registerResource0
\r
153 (JNIEnv *, jclass, jobject);
\r
156 * Class: org_iotivity_base_OcPlatform
\r
157 * Method: registerResource1
\r
158 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcPlatform/EntityHandler;I)Lorg/iotivity/base/OcResourceHandle;
\r
160 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_registerResource1
\r
161 (JNIEnv *, jclass, jstring, jstring, jstring, jobject, jint);
\r
164 * Class: org_iotivity_base_OcPlatform
\r
165 * Method: registerDeviceInfo0
\r
166 * Signature: (Ljava/lang/String;)V
168 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_registerDeviceInfo0
\r
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
\r
181 * Method: unregisterResource0
\r
182 * Signature: (Lorg/iotivity/base/OcResourceHandle;)V
\r
184 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unregisterResource0
\r
185 (JNIEnv *, jclass, jobject);
\r
188 * Class: org_iotivity_base_OcPlatform
\r
189 * Method: bindResource0
\r
190 * Signature: (Lorg/iotivity/base/OcResourceHandle;Lorg/iotivity/base/OcResourceHandle;)V
\r
192 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindResource0
\r
193 (JNIEnv *, jclass, jobject, jobject);
\r
196 * Class: org_iotivity_base_OcPlatform
\r
197 * Method: bindResources0
\r
198 * Signature: (Lorg/iotivity/base/OcResourceHandle;[Lorg/iotivity/base/OcResourceHandle;)V
\r
200 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindResources0
\r
201 (JNIEnv *, jclass, jobject, jobjectArray);
\r
204 * Class: org_iotivity_base_OcPlatform
\r
205 * Method: unbindResource0
\r
206 * Signature: (Lorg/iotivity/base/OcResourceHandle;Lorg/iotivity/base/OcResourceHandle;)V
\r
208 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unbindResource0
\r
209 (JNIEnv *, jclass, jobject, jobject);
\r
212 * Class: org_iotivity_base_OcPlatform
\r
213 * Method: unbindResources0
\r
214 * Signature: (Lorg/iotivity/base/OcResourceHandle;[Lorg/iotivity/base/OcResourceHandle;)V
\r
216 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unbindResources0
\r
217 (JNIEnv *, jclass, jobject, jobjectArray);
\r
220 * Class: org_iotivity_base_OcPlatform
\r
221 * Method: bindTypeToResource0
\r
222 * Signature: (Lorg/iotivity/base/OcResourceHandle;Ljava/lang/String;)V
\r
224 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindTypeToResource0
\r
225 (JNIEnv *, jclass, jobject, jstring);
\r
228 * Class: org_iotivity_base_OcPlatform
\r
229 * Method: bindInterfaceToResource0
\r
230 * Signature: (Lorg/iotivity/base/OcResourceHandle;Ljava/lang/String;)V
\r
232 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_bindInterfaceToResource0
\r
233 (JNIEnv *, jclass, jobject, jstring);
\r
236 * Class: org_iotivity_base_OcPlatform
\r
237 * Method: startPresence0
\r
240 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_startPresence0
\r
241 (JNIEnv *, jclass, jint);
\r
244 * Class: org_iotivity_base_OcPlatform
\r
245 * Method: stopPresence0
\r
248 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_stopPresence0
\r
249 (JNIEnv *, jclass);
\r
252 * Class: org_iotivity_base_OcPlatform
\r
253 * Method: subscribePresence0
\r
254 * Signature: (Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPresenceListener;)Lorg/iotivity/base/OcPresenceHandle;
\r
256 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribePresence0
\r
257 (JNIEnv *, jclass, jstring, jint, jobject);
\r
260 * Class: org_iotivity_base_OcPlatform
\r
261 * Method: subscribePresence1
\r
262 * Signature: (Ljava/lang/String;Ljava/lang/String;ILorg/iotivity/base/OcPlatform/OnPresenceListener;)Lorg/iotivity/base/OcPresenceHandle;
\r
264 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_subscribePresence1
\r
265 (JNIEnv *, jclass, jstring, jstring, jint, jobject);
\r
268 * Class: org_iotivity_base_OcPlatform
\r
269 * Method: unsubscribePresence0
\r
270 * Signature: (Lorg/iotivity/base/OcPresenceHandle;)V
\r
272 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_unsubscribePresence0
\r
273 (JNIEnv *, jclass, jobject);
\r
276 * Class: org_iotivity_base_OcPlatform
\r
277 * Method: constructResourceObject0
\r
278 * Signature: (Ljava/lang/String;Ljava/lang/String;IZ[Ljava/lang/String;[Ljava/lang/String;)Lorg/iotivity/base/OcResource;
\r
280 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcPlatform_constructResourceObject0
\r
281 (JNIEnv *, jclass, jstring, jstring, jint, jboolean, jobjectArray, jobjectArray);
\r
284 * Class: org_iotivity_base_OcPlatform0
\r
285 * Method: sendResponse0
\r
286 * Signature: (Lorg/iotivity/base/OcResourceResponse;)V
\r
288 JNIEXPORT void JNICALL Java_org_iotivity_base_OcPlatform_sendResponse0
\r
289 (JNIEnv *, jclass, jobject);
\r