1 /*
2  * Copyright (C) 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 #include "app_domain_verify_agent_service_proxy.h"
16 #include "agent_interface_code.h"
17 #include "system_ability_definition.h"
18 #include "app_domain_verify_parcel_util.h"
19 
20 namespace OHOS {
21 namespace AppDomainVerify {
AppDomainVerifyAgentServiceProxy(const sptr<IRemoteObject> & object)22 AppDomainVerifyAgentServiceProxy::AppDomainVerifyAgentServiceProxy(const sptr<IRemoteObject>& object)
23     : IRemoteProxy<IAppDomainVerifyAgentService>(object)
24 {
25     APP_DOMAIN_VERIFY_HILOGD(APP_DOMAIN_VERIFY_AGENT_MODULE_SERVICE, "new instance created.");
26 }
~AppDomainVerifyAgentServiceProxy()27 AppDomainVerifyAgentServiceProxy::~AppDomainVerifyAgentServiceProxy()
28 {
29     APP_DOMAIN_VERIFY_HILOGD(APP_DOMAIN_VERIFY_AGENT_MODULE_SERVICE, "instance dead.");
30 }
31 
SingleVerify(const AppVerifyBaseInfo & appVerifyBaseInfo,const VerifyResultInfo & verifyResultInfo)32 void AppDomainVerifyAgentServiceProxy::SingleVerify(
33     const AppVerifyBaseInfo& appVerifyBaseInfo, const VerifyResultInfo &verifyResultInfo)
34 {
35     APP_DOMAIN_VERIFY_HILOGD(APP_DOMAIN_VERIFY_AGENT_MODULE_SERVICE, "called");
36     MessageParcel data;
37     MessageParcel reply;
38     MessageOption option;
39     WRITE_PARCEL_AND_RETURN_IF_FAIL(InterfaceToken, data, GetDescriptor());
40     WRITE_PARCEL_AND_RETURN_IF_FAIL(Parcelable, data, &appVerifyBaseInfo);
41     WRITE_PARCEL_AND_RETURN_IF_FAIL(Parcelable, data, &verifyResultInfo);
42     int32_t error = Remote()->SendRequest(AgentInterfaceCode::SINGLE_VERIFY, data, reply, option);
43     if (error != ERR_NONE) {
44         APP_DOMAIN_VERIFY_HILOGE(APP_DOMAIN_VERIFY_AGENT_MODULE_SERVICE, "SingleVerify failed, error: %d", error);
45     }
46     APP_DOMAIN_VERIFY_HILOGD(APP_DOMAIN_VERIFY_AGENT_MODULE_SERVICE, "call end");
47 }
ConvertToExplicitWant(OHOS::AAFwk::Want & implicitWant,sptr<IConvertCallback> & callback)48 void AppDomainVerifyAgentServiceProxy::ConvertToExplicitWant(
49     OHOS::AAFwk::Want& implicitWant, sptr<IConvertCallback>& callback)
50 {
51     APP_DOMAIN_VERIFY_HILOGD(APP_DOMAIN_VERIFY_MGR_MODULE_CLIENT, "called");
52     MessageParcel data;
53     MessageParcel reply;
54     MessageOption option;
55     WRITE_PARCEL_AND_RETURN_IF_FAIL(InterfaceToken, data, GetDescriptor());
56     WRITE_PARCEL_AND_RETURN_IF_FAIL(Parcelable, data, &implicitWant);
57     WRITE_PARCEL_AND_RETURN_IF_FAIL(RemoteObject, data, callback->AsObject());
58 
59     int32_t error = Remote()->SendRequest(AgentInterfaceCode::CONVERT_TO_EXPLICIT_WANT, data, reply, option);
60     if (error != ERR_NONE) {
61         APP_DOMAIN_VERIFY_HILOGE(
62             APP_DOMAIN_VERIFY_MGR_MODULE_CLIENT, "ConvertToExplicitWant failed, error: %d", error);
63     }
64     APP_DOMAIN_VERIFY_HILOGD(APP_DOMAIN_VERIFY_MGR_MODULE_CLIENT, "call end");
65 }
66 }  // namespace AppDomainVerify
67 }  // namespace OHOS
68