Merge "Merge remote-tracking branch 'origin/master' into notification-service" into...
[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, 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& deviceId, jobject jListener);
59     OCStackResult createGroup(JNIEnv* env, AclGroupType groupType, jobject jListener);
60     OCStackResult getGroupList(JNIEnv* env, jobject jListener);
61     OCStackResult deleteGroup(JNIEnv* env, const std::string& groupId, jobject jListener);
62     OCStackResult joinGroup(JNIEnv* env, const std::string& groupId, jobject jListener);
63     OCStackResult addDeviceToGroup(JNIEnv* env, const std::string& groupId,
64                                    const std::vector<std::string>& deviceId, jobject jListener);
65     OCStackResult getGroupInfo(JNIEnv* env, const std::string& groupId, jobject jListener);
66     OCStackResult leaveGroup(JNIEnv* env, const std::string& groupId, jobject jListener);
67     OCStackResult deleteDeviceFromGroup(JNIEnv* env, const std::string& groupId,
68                                         const std::vector<std::string>& deviceId,
69                                         jobject jListener);
70     OCStackResult observeGroup(JNIEnv* env, const std::string& groupId, jobject jListener);
71     OCStackResult cancelObserveGroup(const std::string& groupId);
72     OCStackResult observeInvitation(JNIEnv* env, jobject jListener);
73     OCStackResult cancelObserveInvitation();
74     OCStackResult sendInvitation(JNIEnv* env, const std::string& groupId,
75                                  const std::string& userUuid, jobject jListener);
76     OCStackResult cancelInvitation(JNIEnv* env, const std::string& groupId,
77                                    const std::string& userUuid, jobject jListener);
78     OCStackResult deleteInvitation(JNIEnv* env, const std::string& groupId, jobject jListener);
79
80     JniOnGetListener* addOnGetListener(JNIEnv* env, jobject jListener);
81     JniOnPostListener* addOnPostListener(JNIEnv* env, jobject jListener);
82     JniOnDeleteListener* addOnDeleteListener(JNIEnv* env, jobject jListener);
83     JniOnObserveListener* addOnObserveListener(JNIEnv* env, jobject jListener);
84
85     void removeOnGetListener(JNIEnv* env, jobject jListener);
86     void removeOnPostListener(JNIEnv* env, jobject jListener);
87     void removeOnDeleteListener(JNIEnv* env, jobject jListener);
88     void removeOnObserveListener(JNIEnv* env, jobject jListener);
89
90 private:
91     JniListenerManager<JniOnGetListener> m_onGetManager;
92     JniListenerManager<JniOnPostListener> m_onPostManager;
93     JniListenerManager<JniOnDeleteListener> m_onDeleteManager;
94     JniListenerManager<JniOnObserveListener> m_onObserveManager;
95
96     std::shared_ptr<OCAccountManager> m_sharedAccountManager;
97 };
98
99 /* DO NOT EDIT THIS FILE BEYOND THIS LINE - it is machine generated */
100
101 #ifdef __cplusplus
102 extern "C" {
103 #endif
104
105     /*
106     * Class:     org_iotivity_base_OcAccountManager
107     * Method:    getHost
108     * Signature: ()Ljava/lang/String;
109     */
110     JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcAccountManager_getHost
111         (JNIEnv *, jobject);
112
113     /*
114     * Class:     org_iotivity_base_OcAccountManager
115     * Method:    getConnectivityTypeN
116     * Signature: ()I
117     */
118     JNIEXPORT jint JNICALL Java_org_iotivity_base_OcAccountManager_getConnectivityTypeN
119         (JNIEnv *, jobject);
120
121     /*
122     * Class:     org_iotivity_base_OcAccountManager
123     * Method:    signUp0
124     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
125     */
126     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signUp0
127         (JNIEnv *, jobject, jstring, jstring, jobject);
128
129     /*
130     * Class:     org_iotivity_base_OcAccountManager
131     * Method:    signUp1
132     * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
133     */
134     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signUp1
135         (JNIEnv *, jobject, jstring, jstring, jobject, jobject);
136
137     /*
138     * Class:     org_iotivity_base_OcAccountManager
139     * Method:    signIn0
140     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
141     */
142     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signIn0
143         (JNIEnv *, jobject, jstring, jstring, jobject);
144
145     /*
146     * Class:     org_iotivity_base_OcAccountManager
147     * Method:    signOut0
148     * Signature: (Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
149     */
150     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signOut0
151         (JNIEnv *, jobject, jobject);
152
153     /*
154     * Class:     org_iotivity_base_OcAccountManager
155     * Method:    refreshAccessToken0
156     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
157     */
158     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_refreshAccessToken0
159         (JNIEnv *, jobject, jstring, jstring, jobject);
160
161     /*
162     * Class:     org_iotivity_base_OcAccountManager
163     * Method:    searchUser0
164     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnGetListener;)V
165     */
166     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_searchUser0
167         (JNIEnv *env, jobject thiz, jstring juserUuid, jobject jListener);
168
169     /*
170     * Class:     org_iotivity_base_OcAccountManager
171     * Method:    searchUser1
172     * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcAccountManager/OnGetListener;)V
173     */
174     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_searchUser1
175         (JNIEnv *env, jobject thiz, jobject jQueryMap, jobject jListener);
176
177     /*
178     * Class:     org_iotivity_base_OcAccountManager
179     * Method:    deleteDevice0
180     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/onDeleteListener;)V
181     */
182     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_deleteDevice0
183         (JNIEnv *env, jobject thiz, jstring jDeviceId, jobject jListener);
184
185     /*
186     * Class:     org_iotivity_base_OcAccountManager
187     * Method:    createGroup0
188     * Signature: (Lorg/iotivity/base/AclGroupType;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
189     */
190     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_createGroup0
191         (JNIEnv *env, jobject thiz, jint groupType, jobject jListener);
192
193     /*
194     * Class:     org_iotivity_base_OcAccountManager
195     * Method:    getGroupList0
196     * Signature: (Lorg/iotivity/base/OcAccountManager/OnGetListener;)V
197     */
198     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_getGroupList0
199         (JNIEnv *env, jobject thiz, jobject jListener);
200
201     /*
202     * Class:     org_iotivity_base_OcAccountManager
203     * Method:    deleteGroup0
204     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/onDeleteListener;)V
205     */
206     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_deleteGroup0
207         (JNIEnv *env, jobject thiz, jstring jGroupId, jobject jListener);
208
209     /*
210     * Class:     org_iotivity_base_OcAccountManager
211     * Method:    joinGroup0
212     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
213     */
214     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_joinGroup0
215         (JNIEnv *env, jobject thiz, jstring jGroupId, jobject jListener);
216
217     /*
218     * Class:     org_iotivity_base_OcAccountManager
219     * Method:    addDeviceToGroup0
220     * Signature: (Ljava/lang/String;[Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
221     */
222     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_addDeviceToGroup0
223         (JNIEnv *env, jobject thiz, jstring jGroupId, jobjectArray jDeviceIdArray, jobject jListener);
224
225     /*
226     * Class:     org_iotivity_base_OcAccountManager
227     * Method:    getGroupInfo0
228     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnGetListener;)V
229     */
230     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_getGroupInfo0
231         (JNIEnv *env, jobject thiz, jstring jGroupId, jobject jListener);
232
233     /*
234     * Class:     org_iotivity_base_OcAccountManager
235     * Method:    leaveGroup0
236     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/onDeleteListener;)V
237     */
238     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_leaveGroup0
239         (JNIEnv *env, jobject thiz, jstring jGroupId, jobject jListener);
240
241     /*
242     * Class:     org_iotivity_base_OcAccountManager
243     * Method:    deleteDeviceFromGroup0
244     * Signature: (Ljava/lang/String;[Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/onDeleteListener;)V
245     */
246     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_deleteDeviceFromGroup0
247         (JNIEnv *env, jobject thiz, jstring jGroupId, jobjectArray jDeviceIdArray, jobject jListener);
248
249     /*
250     * Class:     org_iotivity_base_OcAccountManager
251     * Method:    observeGroup0
252     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcResource/OnObserveListener;)V
253     */
254     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_observeGroup0
255         (JNIEnv *env, jobject thiz, jstring jGroupId, jobject jListener);
256
257     /*
258     * Class:     org_iotivity_base_OcAccountManager
259     * Method:    cancelObserveGroup0
260     * Signature: (Ljava/lang/String;)V
261     */
262     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_cancelObserveGroup0
263         (JNIEnv *env, jobject thiz, jstring jGroupId);
264
265     /*
266     * Class:     org_iotivity_base_OcAccountManager
267     * Method:    observeInvitation0
268     * Signature: (Lorg/iotivity/base/OcResource/OnObserveListener;)V
269     */
270     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_observeInvitation0
271         (JNIEnv *env, jobject thiz, jobject jListener);
272
273     /*
274     * Class:     org_iotivity_base_OcAccountManager
275     * Method:    cancelObserveInvitation0
276     * Signature: ()V
277     */
278     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_cancelObserveInvitation0
279         (JNIEnv *env, jobject thiz);
280
281     /*
282     * Class:     org_iotivity_base_OcAccountManager
283     * Method:    sendInvitation0
284     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
285     */
286     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_sendInvitation0
287         (JNIEnv *env, jobject thiz, jstring jGroupId, jstring jUserUuid, jobject jListener);
288
289     /*
290     * Class:     org_iotivity_base_OcAccountManager
291     * Method:    cancelInvitation0
292     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/onDeleteListener;)V
293     */
294     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_cancelInvitation0
295         (JNIEnv *env, jobject thiz, jstring jGroupId, jstring jUserUuid, jobject jListener);
296
297     /*
298     * Class:     org_iotivity_base_OcAccountManager
299     * Method:    deleteInvitation0
300     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/onDeleteListener;)V
301     */
302     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_deleteInvitation0
303         (JNIEnv *env, jobject thiz, jstring jGroupId, jobject jListener);
304
305 #ifdef __cplusplus
306 }
307 #endif
308 #endif