1 /*
2 * Copyright (c) 2024 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 "stubunsubscribeswitchevent_fuzzer.h"
17
18 #include "mmi_log.h"
19 #include "mmi_service.h"
20 #include "multimodal_input_connect_stub.h"
21
22 #undef MMI_LOG_TAG
23 #define MMI_LOG_TAG "StubUnsubscribeSwitchEventFuzzTest"
24
25 namespace OHOS {
26 namespace MMI {
27 namespace OHOS {
StubUnsubscribeSwitchEventFuzzTest(const uint8_t * data,size_t size)28 bool StubUnsubscribeSwitchEventFuzzTest(const uint8_t* data, size_t size)
29 {
30 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
31 MessageParcel datas;
32 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
33 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
34 return false;
35 }
36 MessageParcel reply;
37 MessageOption option;
38 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
39 MMIService::GetInstance()->OnRemoteRequest(
40 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_UNSUBSCRIBE_SWITCH_EVENT), datas, reply, option);
41 return true;
42 }
43
StubQuerySwitchStatusFuzzTest(const uint8_t * data,size_t size)44 bool StubQuerySwitchStatusFuzzTest(const uint8_t* data, size_t size)
45 {
46 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
47 MessageParcel datas;
48 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
49 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
50 return false;
51 }
52 MessageParcel reply;
53 MessageOption option;
54 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
55 MMIService::GetInstance()->OnRemoteRequest(
56 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_QUERY_SWITCH_STATUS), datas, reply, option);
57 return true;
58 }
59
StubSetTouchpadRotateSwitchFuzzTest(const uint8_t * data,size_t size)60 bool StubSetTouchpadRotateSwitchFuzzTest(const uint8_t* data, size_t size)
61 {
62 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
63 MessageParcel datas;
64 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
65 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
66 return false;
67 }
68 MessageParcel reply;
69 MessageOption option;
70 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
71 MMIService::GetInstance()->OnRemoteRequest(
72 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_SET_TOUCHPAD_ROTATE_SWITCH),
73 datas, reply, option);
74 return true;
75 }
76
StubGetTouchpadRotateSwitchFuzzTest(const uint8_t * data,size_t size)77 bool StubGetTouchpadRotateSwitchFuzzTest(const uint8_t* data, size_t size)
78 {
79 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
80 MessageParcel datas;
81 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
82 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
83 return false;
84 }
85 MessageParcel reply;
86 MessageOption option;
87 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
88 MMIService::GetInstance()->OnRemoteRequest(
89 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_GET_TOUCHPAD_ROTATE_SWITCH),
90 datas, reply, option);
91 return true;
92 }
93
StubGetKeyStateFuzzTest(const uint8_t * data,size_t size)94 bool StubGetKeyStateFuzzTest(const uint8_t* data, size_t size)
95 {
96 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
97 MessageParcel datas;
98 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
99 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
100 return false;
101 }
102 MessageParcel reply;
103 MessageOption option;
104 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
105 MMIService::GetInstance()->OnRemoteRequest(
106 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_GET_KEY_STATE), datas, reply, option);
107 return true;
108 }
109
StubAuthorizeFuzzTest(const uint8_t * data,size_t size)110 bool StubAuthorizeFuzzTest(const uint8_t* data, size_t size)
111 {
112 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
113 MessageParcel datas;
114 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
115 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
116 return false;
117 }
118 MessageParcel reply;
119 MessageOption option;
120 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
121 MMIService::GetInstance()->OnRemoteRequest(
122 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_AUTHORIZE), datas, reply, option);
123 return true;
124 }
125
StubCancelInjectionFuzzTest(const uint8_t * data,size_t size)126 bool StubCancelInjectionFuzzTest(const uint8_t* data, size_t size)
127 {
128 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
129 MessageParcel datas;
130 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
131 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
132 return false;
133 }
134 MessageParcel reply;
135 MessageOption option;
136 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
137 MMIService::GetInstance()->OnRemoteRequest(
138 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_CANCEL_INJECTION), datas, reply, option);
139 return true;
140 }
141
StubHasIrEmitterFuzzTest(const uint8_t * data,size_t size)142 bool StubHasIrEmitterFuzzTest(const uint8_t* data, size_t size)
143 {
144 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
145 MessageParcel datas;
146 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
147 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
148 return false;
149 }
150 MessageParcel reply;
151 MessageOption option;
152 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
153 MMIService::GetInstance()->OnRemoteRequest(
154 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_HAS_IR_EMITTER), datas, reply, option);
155 return true;
156 }
157
StubGetInfraredFrequenciesFuzzTest(const uint8_t * data,size_t size)158 bool StubGetInfraredFrequenciesFuzzTest(const uint8_t* data, size_t size)
159 {
160 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
161 MessageParcel datas;
162 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
163 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
164 return false;
165 }
166 MessageParcel reply;
167 MessageOption option;
168 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
169 MMIService::GetInstance()->OnRemoteRequest(
170 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_GET_INFRARED_FREQUENCIES), datas, reply, option);
171 return true;
172 }
173
StubTransmitInfraredFuzzTest(const uint8_t * data,size_t size)174 bool StubTransmitInfraredFuzzTest(const uint8_t* data, size_t size)
175 {
176 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
177 MessageParcel datas;
178 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
179 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
180 return false;
181 }
182 MessageParcel reply;
183 MessageOption option;
184 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
185 MMIService::GetInstance()->OnRemoteRequest(
186 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_TRANSMIT_INFRARED), datas, reply, option);
187 return true;
188 }
189
StubSetPixelMapDataFuzzTest(const uint8_t * data,size_t size)190 bool StubSetPixelMapDataFuzzTest(const uint8_t* data, size_t size)
191 {
192 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
193 MessageParcel datas;
194 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
195 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
196 return false;
197 }
198 MessageParcel reply;
199 MessageOption option;
200 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
201 MMIService::GetInstance()->OnRemoteRequest(
202 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_SET_PIXEL_MAP_DATA), datas, reply, option);
203 return true;
204 }
205
StubSetCurrentUserFuzzTest(const uint8_t * data,size_t size)206 bool StubSetCurrentUserFuzzTest(const uint8_t* data, size_t size)
207 {
208 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
209 MessageParcel datas;
210 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
211 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
212 return false;
213 }
214 MessageParcel reply;
215 MessageOption option;
216 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
217 MMIService::GetInstance()->OnRemoteRequest(
218 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_SET_CURRENT_USER), datas, reply, option);
219 return true;
220 }
221
StubEnableHardwareCursorStatsFuzzTest(const uint8_t * data,size_t size)222 bool StubEnableHardwareCursorStatsFuzzTest(const uint8_t* data, size_t size)
223 {
224 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
225 MessageParcel datas;
226 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
227 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
228 return false;
229 }
230 MessageParcel reply;
231 MessageOption option;
232 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
233 MMIService::GetInstance()->OnRemoteRequest(
234 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_ENABLE_HARDWARE_CURSOR_STATS),
235 datas, reply, option);
236 return true;
237 }
238
StubGetHardwareCursorStatsFuzzTest(const uint8_t * data,size_t size)239 bool StubGetHardwareCursorStatsFuzzTest(const uint8_t* data, size_t size)
240 {
241 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
242 MessageParcel datas;
243 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
244 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
245 return false;
246 }
247 MessageParcel reply;
248 MessageOption option;
249 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
250 MMIService::GetInstance()->OnRemoteRequest(
251 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_GET_HARDWARE_CURSOR_STATS), datas, reply, option);
252 return true;
253 }
254
StubAddVirtualInputDeviceFuzzTest(const uint8_t * data,size_t size)255 bool StubAddVirtualInputDeviceFuzzTest(const uint8_t* data, size_t size)
256 {
257 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
258 MessageParcel datas;
259 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
260 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
261 return false;
262 }
263 MessageParcel reply;
264 MessageOption option;
265 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
266 MMIService::GetInstance()->OnRemoteRequest(
267 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_ADD_VIRTUAL_INPUT_DEVICE), datas, reply, option);
268 return true;
269 }
270
StubRemoveVirtualInputDeviceFuzzTest(const uint8_t * data,size_t size)271 bool StubRemoveVirtualInputDeviceFuzzTest(const uint8_t* data, size_t size)
272 {
273 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
274 MessageParcel datas;
275 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
276 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
277 return false;
278 }
279 MessageParcel reply;
280 MessageOption option;
281 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
282 MMIService::GetInstance()->OnRemoteRequest(
283 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_REMOVE_VIRTUAL_INPUT_DEVICE),
284 datas, reply, option);
285 return true;
286 }
287
StubTransferBinderClientServiceFuzzTest(const uint8_t * data,size_t size)288 bool StubTransferBinderClientServiceFuzzTest(const uint8_t* data, size_t size)
289 {
290 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
291 MessageParcel datas;
292 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
293 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
294 return false;
295 }
296 MessageParcel reply;
297 MessageOption option;
298 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
299 MMIService::GetInstance()->OnRemoteRequest(
300 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_TRANSFER_BINDER_CLIENT_SRV),
301 datas, reply, option);
302 return true;
303 }
304
305 #ifdef OHOS_BUILD_ENABLE_MAGICCURSOR
StubGetPointerSnapshotFuzzTest(const uint8_t * data,size_t size)306 bool StubGetPointerSnapshotFuzzTest(const uint8_t* data, size_t size)
307 {
308 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
309 MessageParcel datas;
310 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
311 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
312 return false;
313 }
314 MessageParcel reply;
315 MessageOption option;
316 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
317 MMIService::GetInstance()->OnRemoteRequest(
318 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::GET_POINTER_SNAPSHOT), datas, reply, option);
319 return true;
320 }
321 #endif // OHOS_BUILD_ENABLE_MAGICCURSOR
322
StubSkipPointerLayerFuzzTest(const uint8_t * data,size_t size)323 bool StubSkipPointerLayerFuzzTest(const uint8_t* data, size_t size)
324 {
325 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
326 MessageParcel datas;
327 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
328 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
329 return false;
330 }
331 MessageParcel reply;
332 MessageOption option;
333 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
334 MMIService::GetInstance()->OnRemoteRequest(
335 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_SKIP_POINTER_LAYER), datas, reply, option);
336 return true;
337 }
338
StubMarkEventConsumedFuzzTest(const uint8_t * data,size_t size)339 bool StubMarkEventConsumedFuzzTest(const uint8_t* data, size_t size)
340 {
341 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
342 MessageParcel datas;
343 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
344 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
345 return false;
346 }
347 MessageParcel reply;
348 MessageOption option;
349 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
350 MMIService::GetInstance()->OnRemoteRequest(
351 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_MARK_EVENT_CONSUMED), datas, reply, option);
352 return true;
353 }
354
StubGetDeviceFuzzTest(const uint8_t * data,size_t size)355 bool StubGetDeviceFuzzTest(const uint8_t* data, size_t size)
356 {
357 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
358 MessageParcel datas;
359 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
360 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
361 return false;
362 }
363 MessageParcel reply;
364 MessageOption option;
365 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
366 MMIService::GetInstance()->OnRemoteRequest(
367 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_GET_DEVICE), datas, reply, option);
368 return true;
369 }
370
StubSetTouchpadThreeFingersTapSwitchFuzzTest(const uint8_t * data,size_t size)371 bool StubSetTouchpadThreeFingersTapSwitchFuzzTest(const uint8_t* data, size_t size)
372 {
373 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
374 MessageParcel datas;
375 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
376 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
377 return false;
378 }
379 MessageParcel reply;
380 MessageOption option;
381 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
382 MMIService::GetInstance()->OnRemoteRequest(
383 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_SET_TOUCHPAD_THREE_FINGERS_TAP_SWITCH),
384 datas, reply, option);
385 return true;
386 }
387
StubGetTouchpadThreeFingersTapSwitchFuzzTest(const uint8_t * data,size_t size)388 bool StubGetTouchpadThreeFingersTapSwitchFuzzTest(const uint8_t* data, size_t size)
389 {
390 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
391 MessageParcel datas;
392 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
393 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
394 return false;
395 }
396 MessageParcel reply;
397 MessageOption option;
398 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
399 MMIService::GetInstance()->OnRemoteRequest(
400 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_GET_TOUCHPAD_THREE_FINGERS_TAP_SWITCH),
401 datas, reply, option);
402 return true;
403 }
404
405 #ifdef OHOS_BUILD_ENABLE_ANCO
StubAncoAddChannelFuzzTest(const uint8_t * data,size_t size)406 bool StubAncoAddChannelFuzzTest(const uint8_t* data, size_t size)
407 {
408 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
409 MessageParcel datas;
410 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
411 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
412 return false;
413 }
414 MessageParcel reply;
415 MessageOption option;
416 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
417 MMIService::GetInstance()->OnRemoteRequest(
418 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_ANCO_ADD_CHANNEL), datas, reply, option);
419 return true;
420 }
421
StubAncoRemoveChannelFuzzTest(const uint8_t * data,size_t size)422 bool StubAncoRemoveChannelFuzzTest(const uint8_t* data, size_t size)
423 {
424 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
425 MessageParcel datas;
426 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
427 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
428 return false;
429 }
430 MessageParcel reply;
431 MessageOption option;
432 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
433 MMIService::GetInstance()->OnRemoteRequest(
434 static_cast<uint32_t>(IMultimodalInputConnectIpcCode::COMMAND_ANCO_REMOVE_CHANNEL), datas, reply, option);
435 return true;
436 }
437 #endif // OHOS_BUILD_ENABLE_ANCO
438
switchDefaultFuzzTest(const uint8_t * data,size_t size)439 bool switchDefaultFuzzTest(const uint8_t* data, size_t size)
440 {
441 const std::u16string FORMMGR_INTERFACE_TOKEN { u"ohos.multimodalinput.IConnectManager" };
442 MessageParcel datas;
443 if (!datas.WriteInterfaceToken(FORMMGR_INTERFACE_TOKEN) ||
444 !datas.WriteBuffer(data, size) || !datas.RewindRead(0)) {
445 return false;
446 }
447 MessageParcel reply;
448 MessageOption option;
449 MMIService::GetInstance()->state_ = ServiceRunningState::STATE_RUNNING;
450 uint32_t code = 1000;
451 MMIService::GetInstance()->OnRemoteRequest(code, datas, reply, option);
452 return true;
453 }
454 } // namespace OHOS
455
LLVMFuzzerTestOneInput(const uint8_t * data,size_t size)456 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
457 {
458 /* Run your code on data */
459 if (data == nullptr) {
460 return 0;
461 }
462
463 OHOS::StubUnsubscribeSwitchEventFuzzTest(data, size);
464 OHOS::StubQuerySwitchStatusFuzzTest(data, size);
465 OHOS::StubSetTouchpadRotateSwitchFuzzTest(data, size);
466 OHOS::StubGetTouchpadRotateSwitchFuzzTest(data, size);
467 OHOS::StubGetKeyStateFuzzTest(data, size);
468 OHOS::StubAuthorizeFuzzTest(data, size);
469 OHOS::StubCancelInjectionFuzzTest(data, size);
470 OHOS::StubHasIrEmitterFuzzTest(data, size);
471 OHOS::StubGetInfraredFrequenciesFuzzTest(data, size);
472 OHOS::StubTransmitInfraredFuzzTest(data, size);
473 OHOS::StubSetPixelMapDataFuzzTest(data, size);
474 OHOS::StubSetCurrentUserFuzzTest(data, size);
475 OHOS::StubEnableHardwareCursorStatsFuzzTest(data, size);
476 OHOS::StubGetHardwareCursorStatsFuzzTest(data, size);
477 OHOS::StubAddVirtualInputDeviceFuzzTest(data, size);
478 OHOS::StubRemoveVirtualInputDeviceFuzzTest(data, size);
479 OHOS::StubTransferBinderClientServiceFuzzTest(data, size);
480 #ifdef OHOS_BUILD_ENABLE_MAGICCURSOR
481 OHOS::StubGetPointerSnapshotFuzzTest(data, size);
482 #endif // OHOS_BUILD_ENABLE_MAGICCURSOR
483 OHOS::StubSkipPointerLayerFuzzTest(data, size);
484 OHOS::StubMarkEventConsumedFuzzTest(data, size);
485 OHOS::StubGetDeviceFuzzTest(data, size);
486 OHOS::StubSetTouchpadThreeFingersTapSwitchFuzzTest(data, size);
487 OHOS::StubGetTouchpadThreeFingersTapSwitchFuzzTest(data, size);
488 #ifdef OHOS_BUILD_ENABLE_ANCO
489 OHOS::StubAncoAddChannelFuzzTest(data, size);
490 OHOS::StubAncoRemoveChannelFuzzTest(data, size);
491 #endif // OHOS_BUILD_ENABLE_ANCO
492 OHOS::switchDefaultFuzzTest(data, size);
493 return 0;
494 }
495 } // namespace MMI
496 } // namespace OHOS