added OCAccountManager class for Android and JNI method
[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
33 using namespace OC;
34
35 class JniOcAccountManager
36 {
37 public:
38     JniOcAccountManager(std::shared_ptr<OCAccountManager> accountManager);
39     ~JniOcAccountManager();
40
41     std::string host();
42     OCConnectivityType connectivityType() const;
43
44     static JniOcAccountManager* getJniOcAccountManagerPtr(JNIEnv *env, jobject thiz);
45
46     OCStackResult signUp(JNIEnv* env, const std::string& authProvider, const std::string& authCode,
47                          jobject jListener);
48     OCStackResult signUp(JNIEnv* env, const std::string& authProvider, const std::string& authCode,
49                          const QueryParamsMap& options, jobject jListener);
50     OCStackResult signIn(JNIEnv* env, const std::string& userUuid, const std::string& accessToken,
51                          jobject jListener);
52     OCStackResult signOut(JNIEnv* env, jobject jListener);
53     OCStackResult refreshAccessToken(JNIEnv* env, const std::string& userUuid,
54                                      const std::string& refreshToken, jobject jListener);
55     OCStackResult searchUser(JNIEnv* env, const std::string& userUuid, jobject jListener);
56     OCStackResult searchUser(JNIEnv* env, const QueryParamsMap& queryMap, jobject jListener);
57     OCStackResult deleteDevice(JNIEnv* env, const std::string& deviceId, jobject jListener);
58
59     JniOnGetListener* addOnGetListener(JNIEnv* env, jobject jListener);
60     JniOnPostListener* addOnPostListener(JNIEnv* env, jobject jListener);
61     JniOnDeleteListener* addOnDeleteListener(JNIEnv* env, jobject jListener);
62
63     void removeOnGetListener(JNIEnv* env, jobject jListener);
64     void removeOnPostListener(JNIEnv* env, jobject jListener);
65     void removeOnDeleteListener(JNIEnv* env, jobject jListener);
66
67 private:
68     JniListenerManager<JniOnGetListener> m_onGetManager;
69     JniListenerManager<JniOnPostListener> m_onPostManager;
70     JniListenerManager<JniOnDeleteListener> m_onDeleteManager;
71
72     std::shared_ptr<OCAccountManager> m_sharedAccountManager;
73 };
74
75 /* DO NOT EDIT THIS FILE BEYOND THIS LINE - it is machine generated */
76
77 #ifdef __cplusplus
78 extern "C" {
79 #endif
80
81     /*
82     * Class:     org_iotivity_base_OcAccountManager
83     * Method:    getHost
84     * Signature: ()Ljava/lang/String;
85     */
86     JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcAccountManager_getHost
87         (JNIEnv *, jobject);
88
89     /*
90     * Class:     org_iotivity_base_OcAccountManager
91     * Method:    getConnectivityTypeN
92     * Signature: ()I
93     */
94     JNIEXPORT jint JNICALL Java_org_iotivity_base_OcAccountManager_getConnectivityTypeN
95         (JNIEnv *, jobject);
96
97     /*
98     * Class:     org_iotivity_base_OcAccountManager
99     * Method:    signUp0
100     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
101     */
102     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signUp0
103         (JNIEnv *, jobject, jstring, jstring, jobject);
104
105     /*
106     * Class:     org_iotivity_base_OcAccountManager
107     * Method:    signUp1
108     * Signature: (Ljava/lang/String;Ljava/lang/String;Ljava/util/Map;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
109     */
110     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signUp1
111         (JNIEnv *, jobject, jstring, jstring, jobject, jobject);
112
113     /*
114     * Class:     org_iotivity_base_OcAccountManager
115     * Method:    signIn0
116     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
117     */
118     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signIn0
119         (JNIEnv *, jobject, jstring, jstring, jobject);
120
121     /*
122     * Class:     org_iotivity_base_OcAccountManager
123     * Method:    signOut0
124     * Signature: (Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
125     */
126     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_signOut0
127         (JNIEnv *, jobject, jobject);
128
129     /*
130     * Class:     org_iotivity_base_OcAccountManager
131     * Method:    refreshAccessToken0
132     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnPostListener;)V
133     */
134     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_refreshAccessToken0
135         (JNIEnv *, jobject, jstring, jstring, jobject);
136
137     /*
138     * Class:     org_iotivity_base_OcAccountManager
139     * Method:    searchUser0
140     * Signature: (Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/OnGetListener;)V
141     */
142     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_searchUser0
143         (JNIEnv *env, jobject thiz, jstring juserUuid, jobject jListener);
144
145     /*
146     * Class:     org_iotivity_base_OcAccountManager
147     * Method:    searchUser1
148     * Signature: (Ljava/util/Map;Lorg/iotivity/base/OcAccountManager/OnGetListener;)V
149     */
150     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_searchUser1
151         (JNIEnv *env, jobject thiz, jobject jQueryMap, jobject jListener);
152
153     /*
154     * Class:     org_iotivity_base_OcAccountManager
155     * Method:    deleteDevice0
156     * Signature: (Ljava/lang/String;Ljava/lang/String;Lorg/iotivity/base/OcAccountManager/onDeleteListener;)V
157     */
158     JNIEXPORT void JNICALL Java_org_iotivity_base_OcAccountManager_deleteDevice0
159         (JNIEnv *env, jobject thiz, jstring jDeviceId, jobject jListener);
160
161 #ifdef __cplusplus
162 }
163 #endif
164 #endif