1 /*
2 * Copyright (c) 2022 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 "interfaces/inner_api/ui_session/ui_content_stub.h"
17
18 #include "interfaces/inner_api/ui_session/ui_session_manager.h"
19 #include "ui_content_errors.h"
20
21 #include "adapter/ohos/entrance/ui_session/include/ui_service_hilog.h"
22
23 namespace OHOS::Ace {
OnRemoteRequest(uint32_t code,MessageParcel & data,MessageParcel & reply,MessageOption & option)24 int32_t UiContentStub::OnRemoteRequest(uint32_t code, MessageParcel& data, MessageParcel& reply, MessageOption& option)
25 {
26 if (data.ReadInterfaceToken() != GetDescriptor()) {
27 LOGW("ui_session InterfaceToken check failed");
28 return -1;
29 }
30 switch (code) {
31 case UI_CONTENT_SERVICE_GET_TREE: {
32 GetInspectorTreeInner(data, reply, option);
33 break;
34 }
35 case UI_CONTENT_CONNECT: {
36 ConnectInner(data, reply, option);
37 break;
38 }
39 case REGISTER_CLICK_EVENT: {
40 RegisterClickEventCallbackInner(data, reply, option);
41 break;
42 }
43 case REGISTER_SEARCH_EVENT: {
44 RegisterSearchEventCallbackInner(data, reply, option);
45 break;
46 }
47 case REGISTER_ROUTER_CHANGE_EVENT: {
48 RegisterRouterChangeEventCallbackInner(data, reply, option);
49 break;
50 }
51 case REGISTER_COMPONENT_EVENT: {
52 RegisterComponentChangeEventCallbackInner(data, reply, option);
53 break;
54 }
55 case REGISTER_WEB_UNFOCUS_EVENT: {
56 RegisterWebUnfocusEventCallbackInner(data, reply, option);
57 break;
58 }
59 case UNREGISTER_CLICK_EVENT: {
60 UnregisterClickEventCallbackInner(data, reply, option);
61 break;
62 }
63 case UNREGISTER_SEARCH_EVENT: {
64 UnregisterSearchEventCallbackInner(data, reply, option);
65 break;
66 }
67 case UNREGISTER_ROUTER_CHANGE_EVENT: {
68 UnregisterRouterChangeEventCallbackInner(data, reply, option);
69 break;
70 }
71 case UNREGISTER_COMPONENT_EVENT: {
72 UnregisterComponentChangeEventCallbackInner(data, reply, option);
73 break;
74 }
75 case UNREGISTER_WEB_UNFOCUS_EVENT: {
76 UnregisterWebUnfocusEventCallbackInner(data, reply, option);
77 break;
78 }
79 default: {
80 LOGI("ui_session unknown transaction code %{public}d", code);
81 return IPCObjectStub::OnRemoteRequest(code, data, reply, option);
82 }
83 }
84 return 0;
85 }
86
GetInspectorTreeInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)87 int32_t UiContentStub::GetInspectorTreeInner(MessageParcel& data, MessageParcel& reply, MessageOption& option)
88 {
89 GetInspectorTree(nullptr);
90 return NO_ERROR;
91 }
92
ConnectInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)93 int32_t UiContentStub::ConnectInner(MessageParcel& data, MessageParcel& reply, MessageOption& option)
94 {
95 sptr<IRemoteObject> report = data.ReadRemoteObject();
96 if (report == nullptr) {
97 LOGW("read reportStub object is nullptr,connect failed");
98 return FAILED;
99 }
100 int32_t processId = data.ReadInt32();
101 UiSessionManager::GetInstance().SaveReportStub(report, processId);
102 UiSessionManager::GetInstance().SendBaseInfo(processId);
103 return NO_ERROR;
104 }
105
RegisterClickEventCallbackInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)106 int32_t UiContentStub::RegisterClickEventCallbackInner(MessageParcel& data, MessageParcel& reply, MessageOption& option)
107 {
108 reply.WriteInt32(RegisterClickEventCallback(nullptr));
109 return NO_ERROR;
110 }
111
RegisterRouterChangeEventCallbackInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)112 int32_t UiContentStub::RegisterRouterChangeEventCallbackInner(
113 MessageParcel& data, MessageParcel& reply, MessageOption& option)
114 {
115 reply.WriteInt32(RegisterRouterChangeEventCallback(nullptr));
116 return NO_ERROR;
117 }
118
RegisterSearchEventCallbackInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)119 int32_t UiContentStub::RegisterSearchEventCallbackInner(
120 MessageParcel& data, MessageParcel& reply, MessageOption& option)
121 {
122 reply.WriteInt32(RegisterSearchEventCallback(nullptr));
123 return NO_ERROR;
124 }
125
RegisterComponentChangeEventCallbackInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)126 int32_t UiContentStub::RegisterComponentChangeEventCallbackInner(
127 MessageParcel& data, MessageParcel& reply, MessageOption& option)
128 {
129 reply.WriteInt32(RegisterComponentChangeEventCallback(nullptr));
130 return NO_ERROR;
131 }
132
RegisterWebUnfocusEventCallbackInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)133 int32_t UiContentStub::RegisterWebUnfocusEventCallbackInner(
134 MessageParcel& data, MessageParcel& reply, MessageOption& option)
135 {
136 reply.WriteInt32(RegisterWebUnfocusEventCallback(nullptr));
137 return NO_ERROR;
138 }
139
UnregisterClickEventCallbackInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)140 int32_t UiContentStub::UnregisterClickEventCallbackInner(
141 MessageParcel& data, MessageParcel& reply, MessageOption& option)
142 {
143 reply.WriteInt32(UnregisterClickEventCallback());
144 return NO_ERROR;
145 }
146
UnregisterSearchEventCallbackInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)147 int32_t UiContentStub::UnregisterSearchEventCallbackInner(
148 MessageParcel& data, MessageParcel& reply, MessageOption& option)
149 {
150 reply.WriteInt32(UnregisterSearchEventCallback());
151 return NO_ERROR;
152 }
153
UnregisterRouterChangeEventCallbackInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)154 int32_t UiContentStub::UnregisterRouterChangeEventCallbackInner(
155 MessageParcel& data, MessageParcel& reply, MessageOption& option)
156 {
157 reply.WriteInt32(UnregisterRouterChangeEventCallback());
158 return NO_ERROR;
159 }
160
UnregisterComponentChangeEventCallbackInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)161 int32_t UiContentStub::UnregisterComponentChangeEventCallbackInner(
162 MessageParcel& data, MessageParcel& reply, MessageOption& option)
163 {
164 reply.WriteInt32(UnregisterComponentChangeEventCallback());
165 return NO_ERROR;
166 }
167
UnregisterWebUnfocusEventCallbackInner(MessageParcel & data,MessageParcel & reply,MessageOption & option)168 int32_t UiContentStub::UnregisterWebUnfocusEventCallbackInner(
169 MessageParcel& data, MessageParcel& reply, MessageOption& option)
170 {
171 reply.WriteInt32(UnregisterWebUnfocusEventCallback());
172 return NO_ERROR;
173 }
174 } // namespace OHOS::Ace