Android Base API merge to master
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniOcResource.h
1 /*\r
2 * //******************************************************************\r
3 * //\r
4 * // Copyright 2015 Intel Corporation.\r
5 * //\r
6 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
7 * //\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
11 * //\r
12 * //      http://www.apache.org/licenses/LICENSE-2.0\r
13 * //\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
19 * //\r
20 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
21 */\r
22 \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
32 \r
33 #ifndef _Included_org_iotivity_base_OcResource\r
34 #define _Included_org_iotivity_base_OcResource\r
35 \r
36 using namespace OC;\r
37 \r
38 class JniOcResource\r
39 {\r
40 public:\r
41     JniOcResource(std::shared_ptr<OCResource> resource);\r
42     ~JniOcResource();\r
43 \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
51 \r
52     OCStackResult put(JNIEnv* env, const OCRepresentation &representation, const QueryParamsMap &queryParametersMap,\r
53         jobject jListener);\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
60 \r
61     OCStackResult post(JNIEnv* env, const OCRepresentation &representation, const QueryParamsMap &queryParametersMap,\r
62         jobject jListener);\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
69 \r
70     OCStackResult deleteResource(JNIEnv* env, jobject jListener);\r
71     OCStackResult deleteResource(JNIEnv* env, jobject jListener, QualityOfService QoS);\r
72 \r
73     OCStackResult observe(JNIEnv* env, ObserveType observeType, const QueryParamsMap &queryParametersMap,\r
74         jobject jListener);\r
75     OCStackResult observe(JNIEnv* env, ObserveType observeType, const QueryParamsMap &queryParametersMap,\r
76         jobject jListener, QualityOfService qos);\r
77 \r
78     OCStackResult cancelObserve(JNIEnv* env);\r
79     OCStackResult cancelObserve(JNIEnv* env, QualityOfService qos);\r
80 \r
81     void setHeaderOptions(const HeaderOptions &headerOptions);\r
82     void unsetHeaderOptions();\r
83     std::string host();\r
84     std::string uri();\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
91 \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
97 \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
103 \r
104     std::shared_ptr<OCResource> getOCResource();\r
105 \r
106     static JniOcResource* getJniOcResourcePtr(JNIEnv *env, jobject thiz);\r
107 \r
108 private:\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
114 \r
115     std::shared_ptr<OCResource> m_sharedResource;\r
116 };\r
117 \r
118 /* DO NOT EDIT THIS FILE BEYOND THIS LINE - it is machine generated */\r
119 \r
120 #ifdef __cplusplus\r
121 extern "C" {\r
122 #endif\r
123 \r
124     /*\r
125     * Class:     org_iotivity_base_OcResource\r
126     * Method:    get\r
127     * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;)V\r
128     */\r
129     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get\r
130         (JNIEnv *, jobject, jobject, jobject);\r
131 \r
132     /*\r
133     * Class:     org_iotivity_base_OcResource\r
134     * Method:    get1\r
135     * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;I)V\r
136     */\r
137     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get1\r
138         (JNIEnv *, jobject, jobject, jobject, jint);\r
139 \r
140     /*\r
141     * Class:     org_iotivity_base_OcResource\r
142     * Method:    get2\r
143     * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;)V\r
144     */\r
145     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get2\r
146         (JNIEnv *, jobject, jstring, jstring, jobject, jobject);\r
147 \r
148     /*\r
149     * Class:     org_iotivity_base_OcResource\r
150     * Method:    get3\r
151     * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnGetListener;I)V\r
152     */\r
153     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_get3\r
154         (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jint);\r
155 \r
156     /*\r
157     * Class:     org_iotivity_base_OcResource\r
158     * Method:    put\r
159     * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;)V\r
160     */\r
161     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put\r
162         (JNIEnv *, jobject, jobject, jobject, jobject);\r
163 \r
164     /*\r
165     * Class:     org_iotivity_base_OcResource\r
166     * Method:    put1\r
167     * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;I)V\r
168     */\r
169     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put1\r
170         (JNIEnv *, jobject, jobject, jobject, jobject, jint);\r
171 \r
172     /*\r
173     * Class:     org_iotivity_base_OcResource\r
174     * Method:    put2\r
175     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;)V\r
176     */\r
177     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put2\r
178         (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject);\r
179 \r
180     /*\r
181     * Class:     org_iotivity_base_OcResource\r
182     * Method:    put3\r
183     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPutListener;I)V\r
184     */\r
185     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_put3\r
186         (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject, jint);\r
187 \r
188     /*\r
189     * Class:     org_iotivity_base_OcResource\r
190     * Method:    post\r
191     * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;)V\r
192     */\r
193     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post\r
194         (JNIEnv *, jobject, jobject, jobject, jobject);\r
195 \r
196     /*\r
197     * Class:     org_iotivity_base_OcResource\r
198     * Method:    post1\r
199     * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;I)V\r
200     */\r
201     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post1\r
202         (JNIEnv *, jobject, jobject, jobject, jobject, jint);\r
203 \r
204     /*\r
205     * Class:     org_iotivity_base_OcResource\r
206     * Method:    post2\r
207     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;)V\r
208     */\r
209     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post2\r
210         (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject);\r
211 \r
212     /*\r
213     * Class:     org_iotivity_base_OcResource\r
214     * Method:    post3\r
215     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnPostListener;I)V\r
216     */\r
217     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_post3\r
218         (JNIEnv *, jobject, jstring, jstring, jobject, jobject, jobject, jint);\r
219 \r
220     /*\r
221     * Class:     org_iotivity_base_OcResource\r
222     * Method:    deleteResource\r
223     * Signature: (Lorg/iotivity/base/OcResource/OnDeleteListener;)V\r
224     */\r
225     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_deleteResource\r
226         (JNIEnv *, jobject, jobject);\r
227 \r
228     /*\r
229     * Class:     org_iotivity_base_OcResource\r
230     * Method:    deleteResource1\r
231     * Signature: (Lorg/iotivity/base/OcResource/OnDeleteListener;I)V\r
232     */\r
233     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_deleteResource1\r
234         (JNIEnv *, jobject, jobject, jint);\r
235 \r
236     /*\r
237     * Class:     org_iotivity_base_OcResource\r
238     * Method:    observe\r
239     * Signature: (Lorg/iotivity/base/ObserveType;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnObserveListener;)V\r
240     */\r
241     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_observe\r
242         (JNIEnv *, jobject, jint, jobject, jobject);\r
243 \r
244     /*\r
245     * Class:     org_iotivity_base_OcResource\r
246     * Method:    observe1\r
247     * Signature: (Lorg/iotivity/base/ObserveType;Ljava/util/Map;Lorg/iotivity/base/OcResource/OnObserveListener;I)V\r
248     */\r
249     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_observe1\r
250         (JNIEnv *, jobject, jint, jobject, jobject, jint);\r
251 \r
252     /*\r
253     * Class:     org_iotivity_base_OcResource\r
254     * Method:    cancelObserve\r
255     * Signature: ()V\r
256     */\r
257     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_cancelObserve\r
258         (JNIEnv *, jobject);\r
259 \r
260     /*\r
261     * Class:     org_iotivity_base_OcResource\r
262     * Method:    cancelObserve1\r
263     * Signature: (I)V\r
264     */\r
265     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_cancelObserve1\r
266         (JNIEnv *, jobject, jint);\r
267 \r
268     /*\r
269     * Class:     org_iotivity_base_OcResource\r
270     * Method:    setHeaderOptions\r
271     * Signature: ([Lorg/iotivity/OcHeaderOption;)V\r
272     */\r
273     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_setHeaderOptions\r
274         (JNIEnv *, jobject, jobjectArray);\r
275 \r
276     /*\r
277     * Class:     org_iotivity_base_OcResource\r
278     * Method:    unsetHeaderOptions\r
279     * Signature: ()V\r
280     */\r
281     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_unsetHeaderOptions\r
282         (JNIEnv *, jobject);\r
283 \r
284     /*\r
285     * Class:     org_iotivity_base_OcResource\r
286     * Method:    getHost\r
287     * Signature: ()Ljava/lang/String;\r
288     */\r
289     JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getHost\r
290         (JNIEnv *, jobject);\r
291 \r
292     /*\r
293     * Class:     org_iotivity_base_OcResource\r
294     * Method:    getUri\r
295     * Signature: ()Ljava/lang/String;\r
296     */\r
297     JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getUri\r
298         (JNIEnv *, jobject);\r
299 \r
300     /*\r
301     * Class:     org_iotivity_base_OcResource\r
302     * Method:    getConnectivityTypeN\r
303     * Signature: ()I\r
304     */\r
305     JNIEXPORT jint JNICALL Java_org_iotivity_base_OcResource_getConnectivityTypeN\r
306         (JNIEnv *, jobject);\r
307 \r
308     /*\r
309     * Class:     org_iotivity_base_OcResource\r
310     * Method:    isObservable\r
311     * Signature: ()Z\r
312     */\r
313     JNIEXPORT jboolean JNICALL Java_org_iotivity_base_OcResource_isObservable\r
314         (JNIEnv *, jobject);\r
315 \r
316     /*\r
317     * Class:     org_iotivity_base_OcResource\r
318     * Method:    getResourceTypes\r
319     * Signature: ()Ljava/util/List;\r
320     */\r
321     JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResource_getResourceTypes\r
322         (JNIEnv *, jobject);\r
323 \r
324     /*\r
325     * Class:     org_iotivity_base_OcResource\r
326     * Method:    getResourceInterfaces\r
327     * Signature: ()Ljava/util/List;\r
328     */\r
329     JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResource_getResourceInterfaces\r
330         (JNIEnv *, jobject);\r
331 \r
332     /*\r
333     * Class:     org_iotivity_base_OcResource\r
334     * Method:    getUniqueIdentifier\r
335     * Signature: ()Lorg/iotivity/base/OcResourceIdentifier;\r
336     */\r
337     JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResource_getUniqueIdentifier\r
338         (JNIEnv *, jobject);\r
339 \r
340     /*\r
341     * Class:     org_iotivity_base_OcResource\r
342     * Method:    getServerId\r
343     * Signature: ()Ljava/lang/String;\r
344     */\r
345     JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResource_getServerId\r
346         (JNIEnv *, jobject);\r
347 \r
348     /*\r
349     * Class:     org_iotivity_base_OcResource\r
350     * Method:    dispose\r
351     * Signature: ()V\r
352     */\r
353     JNIEXPORT void JNICALL Java_org_iotivity_base_OcResource_dispose\r
354         (JNIEnv *, jobject);\r
355 \r
356 #ifdef __cplusplus\r
357 }\r
358 #endif\r
359 #endif