1 /*
2  * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #include "app_account_manager.h"
17 
18 #include "account_log_wrapper.h"
19 #include "app_account.h"
20 
21 namespace OHOS {
22 namespace AccountSA {
AddAccount(const std::string & name,const std::string & extraInfo)23 ErrCode AppAccountManager::AddAccount(const std::string &name, const std::string &extraInfo)
24 {
25     return AppAccount::GetInstance().AddAccount(name, extraInfo);
26 }
27 
AddAccountImplicitly(const std::string & owner,const std::string & authType,const AAFwk::Want & options,const sptr<IAppAccountAuthenticatorCallback> & callback)28 ErrCode AppAccountManager::AddAccountImplicitly(const std::string &owner, const std::string &authType,
29     const AAFwk::Want &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
30 {
31     return AppAccount::GetInstance().AddAccountImplicitly(
32         owner, authType, options, callback);
33 }
34 
CreateAccount(const std::string & name,const CreateAccountOptions & options)35 ErrCode AppAccountManager::CreateAccount(const std::string &name, const CreateAccountOptions &options)
36 {
37     return AppAccount::GetInstance().CreateAccount(name, options);
38 }
39 
CreateAccountImplicitly(const std::string & owner,const CreateAccountImplicitlyOptions & options,const sptr<IAppAccountAuthenticatorCallback> & callback)40 ErrCode AppAccountManager::CreateAccountImplicitly(const std::string &owner,
41     const CreateAccountImplicitlyOptions &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
42 {
43     return AppAccount::GetInstance().CreateAccountImplicitly(owner, options, callback);
44 }
45 
DeleteAccount(const std::string & name)46 ErrCode AppAccountManager::DeleteAccount(const std::string &name)
47 {
48     return AppAccount::GetInstance().DeleteAccount(name);
49 }
50 
GetAccountExtraInfo(const std::string & name,std::string & extraInfo)51 ErrCode AppAccountManager::GetAccountExtraInfo(const std::string &name, std::string &extraInfo)
52 {
53     return AppAccount::GetInstance().GetAccountExtraInfo(name, extraInfo);
54 }
55 
SetAccountExtraInfo(const std::string & name,const std::string & extraInfo)56 ErrCode AppAccountManager::SetAccountExtraInfo(const std::string &name, const std::string &extraInfo)
57 {
58     return AppAccount::GetInstance().SetAccountExtraInfo(name, extraInfo);
59 }
60 
EnableAppAccess(const std::string & name,const std::string & authorizedApp)61 ErrCode AppAccountManager::EnableAppAccess(const std::string &name, const std::string &authorizedApp)
62 {
63     return AppAccount::GetInstance().EnableAppAccess(name, authorizedApp);
64 }
65 
DisableAppAccess(const std::string & name,const std::string & authorizedApp)66 ErrCode AppAccountManager::DisableAppAccess(const std::string &name, const std::string &authorizedApp)
67 {
68     return AppAccount::GetInstance().DisableAppAccess(name, authorizedApp);
69 }
70 
SetAppAccess(const std::string & name,const std::string & authorizedApp,bool isAccessible)71 ErrCode AppAccountManager::SetAppAccess(const std::string &name, const std::string &authorizedApp, bool isAccessible)
72 {
73     return AppAccount::GetInstance().SetAppAccess(name, authorizedApp, isAccessible);
74 }
75 
CheckAppAccountSyncEnable(const std::string & name,bool & syncEnable)76 ErrCode AppAccountManager::CheckAppAccountSyncEnable(const std::string &name, bool &syncEnable)
77 {
78     return AppAccount::GetInstance().CheckAppAccountSyncEnable(name, syncEnable);
79 }
80 
SetAppAccountSyncEnable(const std::string & name,const bool & syncEnable)81 ErrCode AppAccountManager::SetAppAccountSyncEnable(const std::string &name, const bool &syncEnable)
82 {
83     return AppAccount::GetInstance().SetAppAccountSyncEnable(name, syncEnable);
84 }
85 
GetAssociatedData(const std::string & name,const std::string & key,std::string & value)86 ErrCode AppAccountManager::GetAssociatedData(const std::string &name, const std::string &key, std::string &value)
87 {
88     return AppAccount::GetInstance().GetAssociatedData(name, key, value);
89 }
90 
SetAssociatedData(const std::string & name,const std::string & key,const std::string & value)91 ErrCode AppAccountManager::SetAssociatedData(const std::string &name, const std::string &key, const std::string &value)
92 {
93     return AppAccount::GetInstance().SetAssociatedData(name, key, value);
94 }
95 
GetAccountCredential(const std::string & name,const std::string & credentialType,std::string & credential)96 ErrCode AppAccountManager::GetAccountCredential(
97     const std::string &name, const std::string &credentialType, std::string &credential)
98 {
99     return AppAccount::GetInstance().GetAccountCredential(name, credentialType, credential);
100 }
101 
SetAccountCredential(const std::string & name,const std::string & credentialType,const std::string & credential)102 ErrCode AppAccountManager::SetAccountCredential(
103     const std::string &name, const std::string &credentialType, const std::string &credential)
104 {
105     return AppAccount::GetInstance().SetAccountCredential(name, credentialType, credential);
106 }
107 
Authenticate(const std::string & name,const std::string & owner,const std::string & authType,const AAFwk::Want & options,const sptr<IAppAccountAuthenticatorCallback> & callback)108 ErrCode AppAccountManager::Authenticate(const std::string &name, const std::string &owner,
109     const std::string &authType, const AAFwk::Want &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
110 {
111     return AppAccount::GetInstance().Authenticate(name, owner, authType, options, callback);
112 }
113 
GetOAuthToken(const std::string & name,const std::string & owner,const std::string & authType,std::string & token)114 ErrCode AppAccountManager::GetOAuthToken(
115     const std::string &name, const std::string &owner, const std::string &authType, std::string &token)
116 {
117     return AppAccount::GetInstance().GetOAuthToken(name, owner, authType, token);
118 }
119 
GetAuthToken(const std::string & name,const std::string & owner,const std::string & authType,std::string & token)120 ErrCode AppAccountManager::GetAuthToken(
121     const std::string &name, const std::string &owner, const std::string &authType, std::string &token)
122 {
123     return AppAccount::GetInstance().GetAuthToken(name, owner, authType, token);
124 }
125 
SetOAuthToken(const std::string & name,const std::string & authType,const std::string & token)126 ErrCode AppAccountManager::SetOAuthToken(
127     const std::string &name, const std::string &authType, const std::string &token)
128 {
129     return AppAccount::GetInstance().SetOAuthToken(name, authType, token);
130 }
131 
DeleteOAuthToken(const std::string & name,const std::string & owner,const std::string & authType,const std::string & token)132 ErrCode AppAccountManager::DeleteOAuthToken(
133     const std::string &name, const std::string &owner, const std::string &authType, const std::string &token)
134 {
135     return AppAccount::GetInstance().DeleteOAuthToken(name, owner, authType, token);
136 }
137 
DeleteAuthToken(const std::string & name,const std::string & owner,const std::string & authType,const std::string & token)138 ErrCode AppAccountManager::DeleteAuthToken(
139     const std::string &name, const std::string &owner, const std::string &authType, const std::string &token)
140 {
141     return AppAccount::GetInstance().DeleteAuthToken(name, owner, authType, token);
142 }
143 
SetOAuthTokenVisibility(const std::string & name,const std::string & authType,const std::string & bundleName,bool isVisible)144 ErrCode AppAccountManager::SetOAuthTokenVisibility(
145     const std::string &name, const std::string &authType, const std::string &bundleName, bool isVisible)
146 {
147     return AppAccount::GetInstance().SetOAuthTokenVisibility(
148         name, authType, bundleName, isVisible);
149 }
150 
SetAuthTokenVisibility(const std::string & name,const std::string & authType,const std::string & bundleName,bool isVisible)151 ErrCode AppAccountManager::SetAuthTokenVisibility(
152     const std::string &name, const std::string &authType, const std::string &bundleName, bool isVisible)
153 {
154     return AppAccount::GetInstance().SetAuthTokenVisibility(
155         name, authType, bundleName, isVisible);
156 }
157 
CheckOAuthTokenVisibility(const std::string & name,const std::string & authType,const std::string & bundleName,bool & isVisible)158 ErrCode AppAccountManager::CheckOAuthTokenVisibility(
159     const std::string &name, const std::string &authType, const std::string &bundleName, bool &isVisible)
160 {
161     return AppAccount::GetInstance().CheckOAuthTokenVisibility(
162         name, authType, bundleName, isVisible);
163 }
164 
CheckAuthTokenVisibility(const std::string & name,const std::string & authType,const std::string & bundleName,bool & isVisible)165 ErrCode AppAccountManager::CheckAuthTokenVisibility(
166     const std::string &name, const std::string &authType, const std::string &bundleName, bool &isVisible)
167 {
168     return AppAccount::GetInstance().CheckAuthTokenVisibility(
169         name, authType, bundleName, isVisible);
170 }
171 
GetAuthenticatorInfo(const std::string & owner,AuthenticatorInfo & info)172 ErrCode AppAccountManager::GetAuthenticatorInfo(const std::string &owner, AuthenticatorInfo &info)
173 {
174     return AppAccount::GetInstance().GetAuthenticatorInfo(owner, info);
175 }
176 
GetAllOAuthTokens(const std::string & name,const std::string & owner,std::vector<OAuthTokenInfo> & tokenInfos)177 ErrCode AppAccountManager::GetAllOAuthTokens(
178     const std::string &name, const std::string &owner, std::vector<OAuthTokenInfo> &tokenInfos)
179 {
180     return AppAccount::GetInstance().GetAllOAuthTokens(name, owner, tokenInfos);
181 }
182 
GetOAuthList(const std::string & name,const std::string & authType,std::set<std::string> & oauthList)183 ErrCode AppAccountManager::GetOAuthList(
184     const std::string &name, const std::string &authType, std::set<std::string> &oauthList)
185 {
186     return AppAccount::GetInstance().GetOAuthList(name, authType, oauthList);
187 }
188 
GetAuthList(const std::string & name,const std::string & authType,std::set<std::string> & oauthList)189 ErrCode AppAccountManager::GetAuthList(
190     const std::string &name, const std::string &authType, std::set<std::string> &oauthList)
191 {
192     return AppAccount::GetInstance().GetAuthList(name, authType, oauthList);
193 }
194 
GetAuthenticatorCallback(const std::string & sessionId,sptr<IRemoteObject> & callback)195 ErrCode AppAccountManager::GetAuthenticatorCallback(const std::string &sessionId, sptr<IRemoteObject> &callback)
196 {
197     return AppAccount::GetInstance().GetAuthenticatorCallback(sessionId, callback);
198 }
199 
GetAllAccounts(const std::string & owner,std::vector<AppAccountInfo> & appAccounts)200 ErrCode AppAccountManager::GetAllAccounts(const std::string &owner, std::vector<AppAccountInfo> &appAccounts)
201 {
202     return AppAccount::GetInstance().GetAllAccounts(owner, appAccounts);
203 }
204 
GetAllAccessibleAccounts(std::vector<AppAccountInfo> & appAccounts)205 ErrCode AppAccountManager::GetAllAccessibleAccounts(std::vector<AppAccountInfo> &appAccounts)
206 {
207     return AppAccount::GetInstance().GetAllAccessibleAccounts(appAccounts);
208 }
209 
QueryAllAccessibleAccounts(const std::string & owner,std::vector<AppAccountInfo> & appAccounts)210 ErrCode AppAccountManager::QueryAllAccessibleAccounts(
211     const std::string &owner, std::vector<AppAccountInfo> &appAccounts)
212 {
213     return AppAccount::GetInstance().QueryAllAccessibleAccounts(owner, appAccounts);
214 }
215 
CheckAppAccess(const std::string & name,const std::string & authorizedApp,bool & isAccessible)216 ErrCode AppAccountManager::CheckAppAccess(const std::string &name, const std::string &authorizedApp, bool &isAccessible)
217 {
218     return AppAccount::GetInstance().CheckAppAccess(name, authorizedApp, isAccessible);
219 }
220 
DeleteAccountCredential(const std::string & name,const std::string & credentialType)221 ErrCode AppAccountManager::DeleteAccountCredential(const std::string &name, const std::string &credentialType)
222 {
223     return AppAccount::GetInstance().DeleteAccountCredential(name, credentialType);
224 }
225 
SelectAccountsByOptions(const SelectAccountsOptions & options,const sptr<IAppAccountAuthenticatorCallback> & callback)226 ErrCode AppAccountManager::SelectAccountsByOptions(
227     const SelectAccountsOptions &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
228 {
229     return AppAccount::GetInstance().SelectAccountsByOptions(options, callback);
230 }
231 
VerifyCredential(const std::string & name,const std::string & owner,const VerifyCredentialOptions & options,const sptr<IAppAccountAuthenticatorCallback> & callback)232 ErrCode AppAccountManager::VerifyCredential(const std::string &name, const std::string &owner,
233     const VerifyCredentialOptions &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
234 {
235     return AppAccount::GetInstance().VerifyCredential(name, owner, options, callback);
236 }
237 
CheckAccountLabels(const std::string & name,const std::string & owner,const std::vector<std::string> & labels,const sptr<IAppAccountAuthenticatorCallback> & callback)238 ErrCode AppAccountManager::CheckAccountLabels(const std::string &name, const std::string &owner,
239     const std::vector<std::string> &labels, const sptr<IAppAccountAuthenticatorCallback> &callback)
240 {
241     return AppAccount::GetInstance().CheckAccountLabels(name, owner, labels, callback);
242 }
243 
SetAuthenticatorProperties(const std::string & owner,const SetPropertiesOptions & options,const sptr<IAppAccountAuthenticatorCallback> & callback)244 ErrCode AppAccountManager::SetAuthenticatorProperties(const std::string &owner,
245     const SetPropertiesOptions &options, const sptr<IAppAccountAuthenticatorCallback> &callback)
246 {
247     return AppAccount::GetInstance().SetAuthenticatorProperties(owner, options, callback);
248 }
249 
SubscribeAppAccount(const std::shared_ptr<AppAccountSubscriber> & subscriber)250 ErrCode AppAccountManager::SubscribeAppAccount(const std::shared_ptr<AppAccountSubscriber> &subscriber)
251 {
252     return AppAccount::GetInstance().SubscribeAppAccount(subscriber);
253 }
254 
UnsubscribeAppAccount(const std::shared_ptr<AppAccountSubscriber> & subscriber)255 ErrCode AppAccountManager::UnsubscribeAppAccount(const std::shared_ptr<AppAccountSubscriber> &subscriber)
256 {
257     return AppAccount::GetInstance().UnsubscribeAppAccount(subscriber);
258 }
259 }  // namespace AccountSA
260 }  // namespace OHOS
261