1 /* 2 * Copyright (c) 2022-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 #ifndef DEVICESTATUS_SRV_STUB_H 17 #define DEVICESTATUS_SRV_STUB_H 18 19 #include <functional> 20 #include <map> 21 22 #include <iremote_stub.h> 23 #include <nocopyable.h> 24 25 #include "i_devicestatus.h" 26 #include "message_option.h" 27 #include "message_parcel.h" 28 29 namespace OHOS { 30 namespace Msdp { 31 namespace DeviceStatus { 32 class DeviceStatusSrvStub : public IRemoteStub<Idevicestatus> { 33 public: 34 DeviceStatusSrvStub(); 35 DISALLOW_COPY_AND_MOVE(DeviceStatusSrvStub); 36 virtual ~DeviceStatusSrvStub() = default; 37 38 int32_t OnRemoteRequest(uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) override; 39 40 private: 41 int32_t SubscribeStub(MessageParcel &data, MessageParcel &reply); 42 int32_t UnsubscribeStub(MessageParcel &data, MessageParcel &reply); 43 int32_t GetLatestDeviceStatusDataStub(MessageParcel &data, MessageParcel &reply); 44 int32_t HandleAllocSocketFdStub(MessageParcel &data, MessageParcel &reply); 45 int32_t RegisterCoordinationMonitorStub(MessageParcel &data, MessageParcel &reply); 46 int32_t UnregisterCoordinationMonitorStub(MessageParcel &data, MessageParcel &reply); 47 int32_t PrepareCoordinationStub(MessageParcel &data, MessageParcel &reply); 48 int32_t UnPrepareCoordinationStub(MessageParcel &data, MessageParcel &reply); 49 int32_t ActivateCoordinationStub(MessageParcel &data, MessageParcel &reply); 50 int32_t DeactivateCoordinationStub(MessageParcel &data, MessageParcel &reply); 51 int32_t GetCoordinationStateStub(MessageParcel &data, MessageParcel &reply); 52 int32_t GetCoordinationStateSyncStub(MessageParcel &data, MessageParcel &reply); 53 int32_t RegisterCooperateMonitorStub(MessageParcel &data, MessageParcel &reply); 54 int32_t UnregisterCooperateMonitorStub(MessageParcel &data, MessageParcel &reply); 55 int32_t PrepareCooperateStub(MessageParcel &data, MessageParcel &reply); 56 int32_t UnPrepareCooperateStub(MessageParcel &data, MessageParcel &reply); 57 int32_t ActivateCooperateStub(MessageParcel &data, MessageParcel &reply); 58 int32_t DeactivateCooperateStub(MessageParcel &data, MessageParcel &reply); 59 int32_t GetCooperateStateStub(MessageParcel &data, MessageParcel &reply); 60 int32_t StartDragStub(MessageParcel &data, MessageParcel &reply); 61 int32_t StopDragStub(MessageParcel &data, MessageParcel &reply); 62 int32_t UpdateDragStyleStub(MessageParcel &data, MessageParcel &reply); 63 int32_t GetDragTargetPidStub(MessageParcel &data, MessageParcel &reply); 64 int32_t GetUdKeyStub(MessageParcel &data, MessageParcel &reply); 65 int32_t AddDraglistenerStub(MessageParcel &data, MessageParcel &reply); 66 int32_t RemoveDraglistenerStub(MessageParcel &data, MessageParcel &reply); 67 int32_t AddSubscriptListenerStub(MessageParcel &data, MessageParcel &reply); 68 int32_t RemoveSubscriptListenerStub(MessageParcel &data, MessageParcel &reply); 69 int32_t SetDragWindowVisibleStub(MessageParcel &data, MessageParcel &reply); 70 int32_t GetShadowOffsetStub(MessageParcel &data, MessageParcel &reply); 71 int32_t UpdateShadowPicStub(MessageParcel &data, MessageParcel &reply); 72 int32_t GetDragDataStub(MessageParcel &data, MessageParcel &reply); 73 int32_t GetDragStateStub(MessageParcel &data, MessageParcel &reply); 74 int32_t GetDragActionStub(MessageParcel &data, MessageParcel &reply); 75 int32_t GetExtraInfoStub(MessageParcel &data, MessageParcel &reply); 76 int32_t AddHotAreaListenerStub(MessageParcel &data, MessageParcel &reply); 77 int32_t RemoveHotAreaListenerStub(MessageParcel &data, MessageParcel &reply); 78 int32_t UpdatePreviewStyleStub(MessageParcel &data, MessageParcel &reply); 79 int32_t UpdatePreviewStyleWithAnimationStub(MessageParcel &data, MessageParcel &reply); 80 int32_t GetDragSummaryStub(MessageParcel &data, MessageParcel &reply); 81 bool CheckCooperatePermission(); 82 bool IsSystemServiceCalling(); 83 bool IsSystemCalling(); 84 void InitCoordination(); 85 void InitDrag(); 86 int32_t EnterTextEditorAreaStub(MessageParcel &data, MessageParcel &reply); 87 int32_t AddPrivilegeStub(MessageParcel &data, MessageParcel &reply); 88 int32_t EraseMouseIconStub(MessageParcel &data, MessageParcel &reply); 89 90 private: 91 std::map<uint32_t, std::function<int32_t(MessageParcel &data, MessageParcel &reply)>> connFuncs_; 92 }; 93 } // namespace DeviceStatus 94 } // namespace Msdp 95 } // namespace OHOS 96 #endif // DEVICESTATUS_SRV_STUB_H 97