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 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
23 #include "JniOcStack.h"
24 #include "OCResource.h"
25 #include "JniListenerManager.h"
26 #include "JniOnGetListener.h"
27 #include "JniOnPutListener.h"
28 #include "JniOnPostListener.h"
29 #include "JniOnDeleteListener.h"
30 #include "JniOnObserveListener.h"
31 #include "JniOcResourceIdentifier.h"
33 #include "JniOnMQTopicFoundListener.h"
34 #include "JniOnMQSubscribeListener.h"
37 #ifndef _Included_org_iotivity_base_OcResource
38 #define _Included_org_iotivity_base_OcResource
42 class JniOcResourceImpl;
46 JniOcResource(std::shared_ptr<OCResource> &resource);
47 ~JniOcResource() = default;
49 OCStackResult get(JNIEnv* env, const QueryParamsMap &queryParametersMap, jobject jListener);
50 OCStackResult get(JNIEnv* env, const QueryParamsMap &queryParametersMap, jobject jListener,
51 QualityOfService QoS);
52 OCStackResult get(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
53 const QueryParamsMap &queryParametersMap, jobject jListener);
54 OCStackResult get(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
55 const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS);
57 OCStackResult put(JNIEnv* env, const OCRepresentation &representation, const QueryParamsMap &queryParametersMap,
59 OCStackResult put(JNIEnv* env, const OCRepresentation &representation, const QueryParamsMap &queryParametersMap,
60 jobject jListener, QualityOfService QoS);
61 OCStackResult put(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
62 const OCRepresentation &representation, const QueryParamsMap &queryParametersMap, jobject jListener);
63 OCStackResult put(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
64 const OCRepresentation &representation, const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS);
66 OCStackResult post(JNIEnv* env, const OCRepresentation &representation, const QueryParamsMap &queryParametersMap,
68 OCStackResult post(JNIEnv* env, const OCRepresentation &representation, const QueryParamsMap &queryParametersMap,
69 jobject jListener, QualityOfService QoS);
70 OCStackResult post(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
71 const OCRepresentation &representation, const QueryParamsMap &queryParametersMap, jobject jListener);
72 OCStackResult post(JNIEnv* env, const std::string &resourceType, const std::string &resourceInterface,
73 const OCRepresentation &representation, const QueryParamsMap &queryParametersMap, jobject jListener, QualityOfService QoS);
75 OCStackResult deleteResource(JNIEnv* env, jobject jListener);
76 OCStackResult deleteResource(JNIEnv* env, jobject jListener, QualityOfService QoS);
78 OCStackResult observe(JNIEnv* env, ObserveType observeType, const QueryParamsMap &queryParametersMap,
80 OCStackResult observe(JNIEnv* env, ObserveType observeType, const QueryParamsMap &queryParametersMap,
81 jobject jListener, QualityOfService qos);
83 OCStackResult cancelObserve(JNIEnv* env);
84 OCStackResult cancelObserve(JNIEnv* env, QualityOfService qos);
86 void setHeaderOptions(const HeaderOptions &headerOptions);
87 void unsetHeaderOptions();
90 OCConnectivityType connectivityType() const;
92 std::vector< std::string > getResourceTypes() const;
93 std::vector< std::string > getResourceInterfaces(void) const;
94 OCResourceIdentifier uniqueIdentifier() const;
95 std::string sid() const;
96 std::string deviceName() const;
98 std::shared_ptr<OCResource> getOCResource();
100 static JniOcResource* getJniOcResourcePtr(JNIEnv *env, jobject thiz);
103 OCStackResult discoveryMQTopics(JNIEnv* env, const QueryParamsMap &queryParametersMap,
104 jobject jListener, QualityOfService QoS);
105 OCStackResult createMQTopic(JNIEnv* env, const OCRepresentation &representation,
106 const std::string &targetUri,
107 const QueryParamsMap &queryParametersMap,
108 jobject jListener, QualityOfService QoS);
111 OCStackResult subscribeMQTopic(JNIEnv* env, const QueryParamsMap &queryParametersMap,
112 jobject jListener, QualityOfService QoS);
113 OCStackResult unsubscribeMQTopic(QualityOfService QoS);
114 OCStackResult requestMQPublish(JNIEnv* env, const QueryParamsMap &queryParametersMap,
115 jobject jListener, QualityOfService QoS);
118 OCStackResult publishMQTopic(JNIEnv* env, const OCRepresentation &representation,
119 const QueryParamsMap &queryParametersMap,
120 jobject jListener, QualityOfService QoS);
124 std::shared_ptr<JniOcResourceImpl> m_impl;
127 /* DO NOT EDIT THIS FILE BEYOND THIS LINE - it is machine generated */
134 * Class: org_iotivity_base_OcResource
136 * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;)V
138 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get
139 (JNIEnv *, jobject, jobject, jobject);
142 * Class: org_iotivity_base_OcResource
144 * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;I)V
146 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get1
147 (JNIEnv *, jobject, jobject, jobject, jint);
150 * Class: org_iotivity_base_OcResource
152 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;)V
154 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get2
155 (JNIEnv *, jobject, jstring, jstring, jobject, jobject);
158 * Class: org_iotivity_base_OcResource
160 * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;I)V
162 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get3
163 (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jint);
166 * Class: org_iotivity_base_OcResource
168 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;)V
170 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put
171 (JNIEnv *, jobject, jobject, jobject, jobject);
174 * Class: org_iotivity_base_OcResource
176 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;I)V
178 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put1
179 (JNIEnv *, jobject, jobject, jobject, jobject, jint);
182 * Class: org_iotivity_base_OcResource
184 * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;)V
186 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put2
187 (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject);
190 * Class: org_iotivity_base_OcResource
192 * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;I)V
194 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put3
195 (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject, jint);
198 * Class: org_iotivity_base_OcResource
200 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;)V
202 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post
203 (JNIEnv *, jobject, jobject, jobject, jobject);
206 * Class: org_iotivity_base_OcResource
208 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;I)V
210 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post1
211 (JNIEnv *, jobject, jobject, jobject, jobject, jint);
214 * Class: org_iotivity_base_OcResource
216 * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;)V
218 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post2
219 (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject);
222 * Class: org_iotivity_base_OcResource
224 * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;I)V
226 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post3
227 (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject, jint);
230 * Class: org_iotivity_base_OcResource
231 * Method: deleteResource
232 * Signature: (Lorg/iotivity/base/OcResource/OnDeleteListener;)V
234 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_deleteResource
235 (JNIEnv *, jobject, jobject);
238 * Class: org_iotivity_base_OcResource
239 * Method: deleteResource1
240 * Signature: (Lorg/iotivity/base/OcResource/OnDeleteListener;I)V
242 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_deleteResource1
243 (JNIEnv *, jobject, jobject, jint);
246 * Class: org_iotivity_base_OcResource
248 * Signature: (Lorg/iotivity/base/ObserveType;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnObserveListener;)V
250 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_observe
251 (JNIEnv *, jobject, jint, jobject, jobject);
254 * Class: org_iotivity_base_OcResource
256 * Signature: (Lorg/iotivity/base/ObserveType;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnObserveListener;I)V
258 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_observe1
259 (JNIEnv *, jobject, jint, jobject, jobject, jint);
262 * Class: org_iotivity_base_OcResource
263 * Method: cancelObserve1
266 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_cancelObserve1
267 (JNIEnv *, jobject, jint);
270 * Class: org_iotivity_base_OcResource
271 * Method: setHeaderOptions
272 * Signature: ([Lorg/iotivity/OcHeaderOption;)V
274 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_setHeaderOptions
275 (JNIEnv *, jobject, jobjectArray);
278 * Class: org_iotivity_base_OcResource
279 * Method: unsetHeaderOptions
282 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_unsetHeaderOptions
286 * Class: org_iotivity_base_OcResource
288 * Signature: ()Ljava/lang/String;
290 JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getHost
294 * Class: org_iotivity_base_OcResource
296 * Signature: ()Ljava/lang/String;
298 JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getUri
302 * Class: org_iotivity_base_OcResource
303 * Method: getConnectivityTypeN
306 JNIEXPORT jint JNICALL Java_org_iotivity_base_OcResource_getConnectivityTypeN
310 * Class: org_iotivity_base_OcResource
311 * Method: isObservable
314 JNIEXPORT jboolean JNICALL Java_org_iotivity_base_OcResource_isObservable
318 * Class: org_iotivity_base_OcResource
319 * Method: getResourceTypes
320 * Signature: ()Ljava/util/List;
322 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResource_getResourceTypes
326 * Class: org_iotivity_base_OcResource
327 * Method: getResourceInterfaces
328 * Signature: ()Ljava/util/List;
330 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResource_getResourceInterfaces
334 * Class: org_iotivity_base_OcResource
335 * Method: getUniqueIdentifier
336 * Signature: ()Lorg/iotivity/base/OcResourceIdentifier;
338 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResource_getUniqueIdentifier
342 * Class: org_iotivity_base_OcResource
343 * Method: getServerId
344 * Signature: ()Ljava/lang/String;
346 JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getServerId
350 * Class: org_iotivity_base_OcResource
351 * Method: getDeviceName
352 * Signature: ()Ljava/lang/String;
354 JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getDeviceName
358 * Class: org_iotivity_base_OcResource
362 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_dispose
366 * Class: org_iotivity_base_OcResource
367 * Method: subscribeMQTopicImpl
368 * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcResource/OnObserveListener;I)V
370 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_subscribeMQTopicImpl
371 (JNIEnv *, jobject, jobject, jobject, jint);
374 * Class: org_iotivity_base_OcResource
375 * Method: unsubscribeMQTopicImpl
378 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_unsubscribeMQTopicImpl
379 (JNIEnv *, jobject, jint);
382 * Class: org_iotivity_base_OcResource
383 * Method: requestMQPublishImpl
384 * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;I)V
386 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_requestMQPublishImpl
387 (JNIEnv *, jobject, jobject, jobject, jint);
390 * Class: org_iotivity_base_OcResource
391 * Method: publishMQTopicImpl
392 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map
393 * ;Lorg/iotivity/base/OcResource/OnPostListener;I)V
395 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_publishMQTopicImpl
396 (JNIEnv *, jobject, jobject, jobject, jobject, jint);
399 * Class: org_iotivity_base_OcResource
400 * Method: discoveryMQTopicsImpl
401 * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcResource/OnMQTopicFoundListener;I)V
403 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_discoveryMQTopicsImpl
404 (JNIEnv *, jobject, jobject, jobject, jint);
407 * Class: org_iotivity_base_OcResource
408 * Method: createMQTopicImpl
409 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/String;Ljava/util/Map
410 * ;Lorg/iotivity/base/OcPlatform/OnMQTopicCreatedListener;I)V
412 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_createMQTopicImpl
413 (JNIEnv *, jobject, jobject, jstring, jobject, jobject, jint);