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
23 #include "JniOcStack.h"
\r
24 #include "OCResource.h"
\r
25 #include "JniListenerManager.h"
\r
26 #include "JniOnGetListener.h"
\r
27 #include "JniOnPutListener.h"
\r
28 #include "JniOnPostListener.h"
\r
29 #include "JniOnDeleteListener.h"
\r
30 #include "JniOnObserveListener.h"
\r
31 #include "JniOcResourceIdentifier.h"
\r
33 #ifndef _Included_org_iotivity_base_OcResource
\r
34 #define _Included_org_iotivity_base_OcResource
\r
41 JniOcResource(std::shared_ptr<OCResource> resource);
\r
44 OCStackResult get(JNIEnv* env, const QueryParamsMap &queryParametersMap, jobject jListener);
\r
45 OCStackResult get(JNIEnv* env, const QueryParamsMap &queryParametersMap, jobject jListener,
\r
46 QualityOfService QoS);
\r
47 OCStackResult get(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
\r
48 const QueryParamsMap &queryParametersMap, jobject jListener);
\r
49 OCStackResult get(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
\r
50 const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS);
\r
52 OCStackResult put(JNIEnv* env, const OCRepresentation &representation, const QueryParamsMap &queryParametersMap,
\r
54 OCStackResult put(JNIEnv* env, const OCRepresentation &representation, const QueryParamsMap &queryParametersMap,
\r
55 jobject jListener, QualityOfService QoS);
\r
56 OCStackResult put(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
\r
57 const OCRepresentation &representation, const QueryParamsMap &queryParametersMap, jobject jListener);
\r
58 OCStackResult put(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
\r
59 const OCRepresentation &representation, const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS);
\r
61 OCStackResult post(JNIEnv* env, const OCRepresentation &representation, const QueryParamsMap &queryParametersMap,
\r
63 OCStackResult post(JNIEnv* env, const OCRepresentation &representation, const QueryParamsMap &queryParametersMap,
\r
64 jobject jListener, QualityOfService QoS);
\r
65 OCStackResult post(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
\r
66 const OCRepresentation &representation, const QueryParamsMap &queryParametersMap, jobject jListener);
\r
67 OCStackResult post(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
\r
68 const OCRepresentation &representation, const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS);
\r
70 OCStackResult deleteResource(JNIEnv* env, jobject jListener);
\r
71 OCStackResult deleteResource(JNIEnv* env, jobject jListener, QualityOfService QoS);
\r
73 OCStackResult observe(JNIEnv* env, ObserveType observeType, const QueryParamsMap &queryParametersMap,
\r
75 OCStackResult observe(JNIEnv* env, ObserveType observeType, const QueryParamsMap &queryParametersMap,
\r
76 jobject jListener, QualityOfService qos);
\r
78 OCStackResult cancelObserve(JNIEnv* env);
\r
79 OCStackResult cancelObserve(JNIEnv* env, QualityOfService qos);
\r
81 void setHeaderOptions(const HeaderOptions &headerOptions);
\r
82 void unsetHeaderOptions();
\r
85 OCConnectivityType connectivityType() const;
\r
86 bool isObservable();
\r
87 std::vector< std::string > getResourceTypes() const;
\r
88 std::vector< std::string > getResourceInterfaces(void) const;
\r
89 OCResourceIdentifier uniqueIdentifier() const;
\r
90 std::string sid() const;
\r
92 JniOnGetListener* addOnGetListener(JNIEnv* env, jobject jListener);
\r
93 JniOnPutListener* addOnPutListener(JNIEnv* env, jobject jListener);
\r
94 JniOnPostListener* addOnPostListener(JNIEnv* env, jobject jListener);
\r
95 JniOnDeleteListener* addOnDeleteListener(JNIEnv* env, jobject jListener);
\r
96 JniOnObserveListener* addOnObserveListener(JNIEnv* env, jobject jListener);
\r
98 void removeOnGetListener(JNIEnv* env, jobject jListener);
\r
99 void removeOnPutListener(JNIEnv* env, jobject jListener);
\r
100 void removeOnPostListener(JNIEnv* env, jobject jListener);
\r
101 void removeOnDeleteListener(JNIEnv* env, jobject jListener);
\r
102 void removeOnObserveListener(JNIEnv* env, jobject jListener);
\r
104 std::shared_ptr<OCResource> getOCResource();
\r
106 static JniOcResource* getJniOcResourcePtr(JNIEnv *env, jobject thiz);
\r
109 JniListenerManager<JniOnGetListener> m_onGetManager;
\r
110 JniListenerManager<JniOnPutListener> m_onPutManager;
\r
111 JniListenerManager<JniOnPostListener> m_onPostManager;
\r
112 JniListenerManager<JniOnDeleteListener> m_onDeleteManager;
\r
113 JniListenerManager<JniOnObserveListener> m_onObserveManager;
\r
115 std::shared_ptr<OCResource> m_sharedResource;
\r
118 /* DO NOT EDIT THIS FILE BEYOND THIS LINE - it is machine generated */
\r
125 * Class: org_iotivity_base_OcResource
\r
127 * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;)V
\r
129 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get
\r
130 (JNIEnv *, jobject, jobject, jobject);
\r
133 * Class: org_iotivity_base_OcResource
\r
135 * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;I)V
\r
137 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get1
\r
138 (JNIEnv *, jobject, jobject, jobject, jint);
\r
141 * Class: org_iotivity_base_OcResource
\r
143 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;)V
\r
145 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get2
\r
146 (JNIEnv *, jobject, jstring, jstring, jobject, jobject);
\r
149 * Class: org_iotivity_base_OcResource
\r
151 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;I)V
\r
153 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get3
\r
154 (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jint);
\r
157 * Class: org_iotivity_base_OcResource
\r
159 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;)V
\r
161 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put
\r
162 (JNIEnv *, jobject, jobject, jobject, jobject);
\r
165 * Class: org_iotivity_base_OcResource
\r
167 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;I)V
\r
169 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put1
\r
170 (JNIEnv *, jobject, jobject, jobject, jobject, jint);
\r
173 * Class: org_iotivity_base_OcResource
\r
175 * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;)V
\r
177 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put2
\r
178 (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject);
\r
181 * Class: org_iotivity_base_OcResource
\r
183 * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;I)V
\r
185 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put3
\r
186 (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject, jint);
\r
189 * Class: org_iotivity_base_OcResource
\r
191 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;)V
\r
193 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post
\r
194 (JNIEnv *, jobject, jobject, jobject, jobject);
\r
197 * Class: org_iotivity_base_OcResource
\r
199 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;I)V
\r
201 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post1
\r
202 (JNIEnv *, jobject, jobject, jobject, jobject, jint);
\r
205 * Class: org_iotivity_base_OcResource
\r
207 * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;)V
\r
209 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post2
\r
210 (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject);
\r
213 * Class: org_iotivity_base_OcResource
\r
215 * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;I)V
\r
217 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post3
\r
218 (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject, jint);
\r
221 * Class: org_iotivity_base_OcResource
\r
222 * Method: deleteResource
\r
223 * Signature: (Lorg/iotivity/base/OcResource/OnDeleteListener;)V
\r
225 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_deleteResource
\r
226 (JNIEnv *, jobject, jobject);
\r
229 * Class: org_iotivity_base_OcResource
\r
230 * Method: deleteResource1
\r
231 * Signature: (Lorg/iotivity/base/OcResource/OnDeleteListener;I)V
\r
233 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_deleteResource1
\r
234 (JNIEnv *, jobject, jobject, jint);
\r
237 * Class: org_iotivity_base_OcResource
\r
239 * Signature: (Lorg/iotivity/base/ObserveType;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnObserveListener;)V
\r
241 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_observe
\r
242 (JNIEnv *, jobject, jint, jobject, jobject);
\r
245 * Class: org_iotivity_base_OcResource
\r
247 * Signature: (Lorg/iotivity/base/ObserveType;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnObserveListener;I)V
\r
249 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_observe1
\r
250 (JNIEnv *, jobject, jint, jobject, jobject, jint);
\r
253 * Class: org_iotivity_base_OcResource
\r
254 * Method: cancelObserve
\r
257 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_cancelObserve
\r
258 (JNIEnv *, jobject);
\r
261 * Class: org_iotivity_base_OcResource
\r
262 * Method: cancelObserve1
\r
265 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_cancelObserve1
\r
266 (JNIEnv *, jobject, jint);
\r
269 * Class: org_iotivity_base_OcResource
\r
270 * Method: setHeaderOptions
\r
271 * Signature: ([Lorg/iotivity/OcHeaderOption;)V
\r
273 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_setHeaderOptions
\r
274 (JNIEnv *, jobject, jobjectArray);
\r
277 * Class: org_iotivity_base_OcResource
\r
278 * Method: unsetHeaderOptions
\r
281 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_unsetHeaderOptions
\r
282 (JNIEnv *, jobject);
\r
285 * Class: org_iotivity_base_OcResource
\r
287 * Signature: ()Ljava/lang/String;
\r
289 JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getHost
\r
290 (JNIEnv *, jobject);
\r
293 * Class: org_iotivity_base_OcResource
\r
295 * Signature: ()Ljava/lang/String;
\r
297 JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getUri
\r
298 (JNIEnv *, jobject);
\r
301 * Class: org_iotivity_base_OcResource
\r
302 * Method: getConnectivityTypeN
\r
305 JNIEXPORT jint JNICALL Java_org_iotivity_base_OcResource_getConnectivityTypeN
\r
306 (JNIEnv *, jobject);
\r
309 * Class: org_iotivity_base_OcResource
\r
310 * Method: isObservable
\r
313 JNIEXPORT jboolean JNICALL Java_org_iotivity_base_OcResource_isObservable
\r
314 (JNIEnv *, jobject);
\r
317 * Class: org_iotivity_base_OcResource
\r
318 * Method: getResourceTypes
\r
319 * Signature: ()Ljava/util/List;
\r
321 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResource_getResourceTypes
\r
322 (JNIEnv *, jobject);
\r
325 * Class: org_iotivity_base_OcResource
\r
326 * Method: getResourceInterfaces
\r
327 * Signature: ()Ljava/util/List;
\r
329 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResource_getResourceInterfaces
\r
330 (JNIEnv *, jobject);
\r
333 * Class: org_iotivity_base_OcResource
\r
334 * Method: getUniqueIdentifier
\r
335 * Signature: ()Lorg/iotivity/base/OcResourceIdentifier;
\r
337 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResource_getUniqueIdentifier
\r
338 (JNIEnv *, jobject);
\r
341 * Class: org_iotivity_base_OcResource
\r
342 * Method: getServerId
\r
343 * Signature: ()Ljava/lang/String;
\r
345 JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getServerId
\r
346 (JNIEnv *, jobject);
\r
349 * Class: org_iotivity_base_OcResource
\r
353 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_dispose
\r
354 (JNIEnv *, jobject);
\r