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