8aa9a216b9ed79a1cd5198d14188ca0967295dbb
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniOcAccountManager.h
1 /*
2  *******************************************************************
3  *
4  * Copyright 2016 Samsung Electronics All Rights Reserved.
5  *
6  *-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7  *
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
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
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.
19  *
20  *-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21  */
22
23 #ifndef _Included_org_iotivity_base_OcAccountManager
24 #define _Included_org_iotivity_base_OcAccountManager
25
26 #include "JniOcStack.h"
27 #include "OCAccountManager.h"
28 #include "JniListenerManager.h"
29 #include "JniOnGetListener.h"
30 #include "JniOnPostListener.h"
31 #include "JniOnDeleteListener.h"
32 #include "JniOnObserveListener.h"
33
34 using namespace OC;
35
36 class JniOcAccountManager
37 {
38 public:
39     JniOcAccountManager(std::shared_ptr<OCAccountManager> accountManager);
40     ~JniOcAccountManager();
41
42     std::string host();
43     OCConnectivityType connectivityType() const;
44
45     static JniOcAccountManager* getJniOcAccountManagerPtr(JNIEnv *env, jobject thiz);
46
47     OCStackResult signUp(JNIEnv* env, const std::string& authProvider, const std::string& authCode,
48                          jobject jListener);
49     OCStackResult signUp(JNIEnv* env, const std::string& authProvider, const std::string& authCode,
50                          const QueryParamsMap& options, jobject jListener);
51     OCStackResult signIn(JNIEnv* env, const std::string& userUuid, const std::string& accessToken,
52                          jobject jListener);
53     OCStackResult signOut(JNIEnv* env, const std::string& accessToken, jobject jListener);
54     OCStackResult refreshAccessToken(JNIEnv* env, const std::string& userUuid,
55                                      const std::string& refreshToken, jobject jListener);
56     OCStackResult searchUser(JNIEnv* env, const std::string& userUuid, jobject jListener);
57     OCStackResult searchUser(JNIEnv* env, const QueryParamsMap& queryMap, jobject jListener);
58     OCStackResult deleteDevice(JNIEnv* env, const std::string& accessToken,
59                                const std::string& deviceId, jobject jListener);
60     OCStackResult createGroup(JNIEnv* env, jobject jListener);
61     OCStackResult createGroup(JNIEnv* env, const QueryParamsMap& queryMap, jobject jListener);
62     OCStackResult deleteGroup(JNIEnv* env, const std::string& groupId, jobject jListener);
63     OCStackResult getGroupInfoAll(JNIEnv* env, jobject jListener);
64     OCStackResult getGroupInfo(JNIEnv* env, const std::string& groupId, jobject jListener);
65     OCStackResult addPropertyValueToGroup(JNIEnv* env, const std::string& groupId,
66                                           const OCRepresentation& propertyValue, jobject jListener);
67     OCStackResult deletePropertyValueFromGroup(JNIEnv* env, const std::string& groupId,
68                                                const OCRepresentation& propertyValue, jobject jListener);
69     OCStackResult updatePropertyValueOnGroup(JNIEnv* env, const std::string& groupId,
70                                              const OCRepresentation& propertyValue, jobject jListener);
71     OCStackResult observeGroup(JNIEnv* env, jobject jListener);
72     OCStackResult cancelObserveGroup();
73     OCStackResult observeInvitation(JNIEnv* env, jobject jListener);
74     OCStackResult cancelObserveInvitation();
75     OCStackResult sendInvitation(JNIEnv* env, const std::string& groupId,
76                                  const std::string& userUuid, jobject jListener);
77     OCStackResult cancelInvitation(JNIEnv* env, const std::string& groupId,
78                                    const std::string& userUuid, jobject jListener);
79     OCStackResult replyToInvitation(JNIEnv* env, const std::string& groupId, const bool accept,
80                                     jobject jListener);
81
82     JniOnGetListener* addOnGetListener(JNIEnv* env, jobject jListener);
83     JniOnPostListener* addOnPostListener(JNIEnv* env, jobject jListener);
84     JniOnDeleteListener* addOnDeleteListener(JNIEnv* env, jobject jListener);
85     JniOnObserveListener* addOnObserveListener(JNIEnv* env, jobject jListener);
86
87     void removeOnGetListener(JNIEnv* env, jobject jListener);
88     void removeOnPostListener(JNIEnv* env, jobject jListener);
89     void removeOnDeleteListener(JNIEnv* env, jobject jListener);
90     void removeOnObserveListener(JNIEnv* env, jobject jListener);
91
92 private:
93     JniListenerManager<JniOnGetListener> m_onGetManager;
94     JniListenerManager<JniOnPostListener> m_onPostManager;
95     JniListenerManager<JniOnDeleteListener> m_onDeleteManager;
96     JniListenerManager<JniOnObserveListener> m_onObserveManager;
97
98     std::shared_ptr<OCAccountManager> m_sharedAccountManager;
99 };
100
101 /* DO NOT EDIT THIS FILE BEYOND THIS LINE - it is machine generated */
102
103 #ifdef __cplusplus
104 extern "C" {
105 #endif
106
107     /*
108     * Class:     org_iotivity_base_OcAccountManager
109     * Method:    getHost
110     * Signature: ()Ljava/lang/String;
111     */
112     JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcAccountManager_getHost
113         (JNIEnv *, jobject);
114
115     /*
116     * Class:     org_iotivity_base_OcAccountManager
117     * Method:    getConnectivityTypeN
118     * Signature: ()I
119     */
120     JNIEXPORT jint JNICALL Java_org_iotivity_base_OcAccountManager_getConnectivityTypeN
121         (JNIEnv *, jobject);
122
123     /*
124     * Class:     org_iotivity_base_OcAccountManager
125     * Method:    signUp0
126     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
127     */
128     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signUp0
129         (JNIEnv *, jobject, jstring, jstring, jobject);
130
131     /*
132     * Class:     org_iotivity_base_OcAccountManager
133     * Method:    signUp1
134     * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
135     */
136     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signUp1
137         (JNIEnv *, jobject, jstring, jstring, jobject, jobject);
138
139     /*
140     * Class:     org_iotivity_base_OcAccountManager
141     * Method:    signIn0
142     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
143     */
144     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signIn0
145         (JNIEnv *, jobject, jstring, jstring, jobject);
146
147     /*
148     * Class:     org_iotivity_base_OcAccountManager
149     * Method:    signOut0
150     * Signature: (Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
151     */
152     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signOut0
153         (JNIEnv *, jobject, jobject);
154
155     /*
156     * Class:     org_iotivity_base_OcAccountManager
157     * Method:    refreshAccessToken0
158     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
159     */
160     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_refreshAccessToken0
161         (JNIEnv *, jobject, jstring, jstring, jobject);
162
163     /*
164     * Class:     org_iotivity_base_OcAccountManager
165     * Method:    searchUser0
166     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnGetListener;)V
167     */
168     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_searchUser0
169         (JNIEnv *, jobject, jstring, jobject);
170
171     /*
172     * Class:     org_iotivity_base_OcAccountManager
173     * Method:    searchUser1
174     * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcAccountManager/OnGetListener;)V
175     */
176     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_searchUser1
177         (JNIEnv *, jobject, jobject, jobject);
178
179     /*
180     * Class:     org_iotivity_base_OcAccountManager
181     * Method:    deleteDevice0
182     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/onDeleteListener;)V
183     */
184     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_deleteDevice0
185         (JNIEnv *, jobject, jstring, jstring, jobject);
186
187     /*
188     * Class:     org_iotivity_base_OcAccountManager
189     * Method:    createGroup0
190     * Signature: (Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
191     */
192     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_createGroup0
193         (JNIEnv *, jobject, jobject);
194
195     /*
196     * Class:     org_iotivity_base_OcAccountManager
197     * Method:    createGroup1
198     * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
199     */
200     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_createGroup1
201         (JNIEnv *, jobject, jobject, jobject);
202
203     /*
204     * Class:     org_iotivity_base_OcAccountManager
205     * Method:    deleteGroup0
206     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/onDeleteListener;)V
207     */
208     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_deleteGroup0
209         (JNIEnv *, jobject, jstring, jobject);
210
211     /*
212     * Class:     org_iotivity_base_OcAccountManager
213     * Method:    getGroupInfoAll0
214     * Signature: (Lorg/iotivity/base/OcAccountManager/OnGetListener;)V
215     */
216     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_getGroupInfoAll0
217         (JNIEnv *, jobject, jobject);
218
219     /*
220     * Class:     org_iotivity_base_OcAccountManager
221     * Method:    getGroupInfo0
222     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnGetListener;)V
223     */
224     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_getGroupInfo0
225         (JNIEnv *, jobject, jstring, jobject);
226
227     /*
228     * Class:     org_iotivity_base_OcAccountManager
229     * Method:    addPropertyValueToGroup0
230     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;
231     *             Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
232     */
233     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_addPropertyValueToGroup0
234         (JNIEnv *, jobject, jstring, jobject, jobject);
235
236     /*
237     * Class:     org_iotivity_base_OcAccountManager
238     * Method:    deletePropertyValueFromGroup0
239     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;
240     *             Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
241     */
242     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_deletePropertyValueFromGroup0
243         (JNIEnv *, jobject, jstring, jobject, jobject);
244
245     /*
246     * Class:     org_iotivity_base_OcAccountManager
247     * Method:    updatePropertyValueOnGroup0
248     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcRepresentation;
249     *             Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
250     */
251     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_updatePropertyValueOnGroup0
252         (JNIEnv *, jobject, jstring, jobject, jobject);
253
254     /*
255     * Class:     org_iotivity_base_OcAccountManager
256     * Method:    observeGroup0
257     * Signature: (Lorg/iotivity/base/OcResource/OnObserveListener;)V
258     */
259     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_observeGroup0
260         (JNIEnv *, jobject, jobject);
261
262     /*
263     * Class:     org_iotivity_base_OcAccountManager
264     * Method:    cancelObserveGroup0
265     * Signature: ()V
266     */
267     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_cancelObserveGroup0
268         (JNIEnv *, jobject);
269
270     /*
271     * Class:     org_iotivity_base_OcAccountManager
272     * Method:    observeInvitation0
273     * Signature: (Lorg/iotivity/base/OcResource/OnObserveListener;)V
274     */
275     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_observeInvitation0
276         (JNIEnv *, jobject, jobject);
277
278     /*
279     * Class:     org_iotivity_base_OcAccountManager
280     * Method:    cancelObserveInvitation0
281     * Signature: ()V
282     */
283     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_cancelObserveInvitation0
284         (JNIEnv *, jobject);
285
286     /*
287     * Class:     org_iotivity_base_OcAccountManager
288     * Method:    sendInvitation0
289     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
290     */
291     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_sendInvitation0
292         (JNIEnv *, jobject, jstring, jstring, jobject);
293
294     /*
295     * Class:     org_iotivity_base_OcAccountManager
296     * Method:    cancelInvitation0
297     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/onDeleteListener;)V
298     */
299     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_cancelInvitation0
300         (JNIEnv *, jobject, jstring, jstring, jobject);
301
302     /*
303     * Class:     org_iotivity_base_OcAccountManager
304     * Method:    replyToInvitation0
305     * Signature: (Ljava/lang/String;ZLorg/iotivity/base/OcAccountManager/onDeleteListener;)V
306     */
307     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_replyToInvitation0
308         (JNIEnv *, jobject, jstring, jboolean, jobject);
309
310 #ifdef __cplusplus
311 }
312 #endif
313 #endif