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 OHOS_MOCK_DISTRIBUTED_SCHED_H
17 #define OHOS_MOCK_DISTRIBUTED_SCHED_H
18 
19 #include "gmock/gmock.h"
20 #include "distributed_sched_interface.h"
21 #include "iremote_proxy.h"
22 #include "iremote_stub.h"
23 #include "form_share_info.h"
24 #ifdef SUPPORT_DISTRIBUTED_MISSION_MANAGER
25 #include "mission_info.h"
26 #include "mission/distributed_mission_info.h"
27 #endif
28 
29 namespace OHOS {
30 namespace DistributedSchedule {
31 class DistributedSchedStub : public IRemoteStub<IDistributedSched> {
32 public:
33     DistributedSchedStub();
34     virtual ~DistributedSchedStub();
35     int32_t OnRemoteRequest(uint32_t code, MessageParcel &data,
36         MessageParcel &reply, MessageOption &option) override;
37 
38     int32_t StartRemoteShareFormInner(MessageParcel &data, MessageParcel &reply);
39     bool EnforceInterfaceToken(MessageParcel &data);
40     MOCK_METHOD2(StartRemoteShareForm, int32_t(const std::string&, const AppExecFwk::FormShareInfo&));
41     using DistributedSchedFunc = int32_t(DistributedSchedStub::*)(MessageParcel &data, MessageParcel &reply);
42     std::map<uint32_t, DistributedSchedFunc> localFuncsMap_;
43 };
44 
45 
46 class DistributedSchedService : public DistributedSchedStub {
47 public:
48     DistributedSchedService() = default;
49     virtual ~DistributedSchedService() = default;
50 
51     MOCK_METHOD5(SendResultFromRemote,
52         int32_t(OHOS::AAFwk::Want&, int32_t, const CallerInfo&, const AccountInfo&, int32_t));
53 
StartRemoteAbility(const OHOS::AAFwk::Want & want,int32_t callerUid,int32_t requestCode,uint32_t accessToken)54     int32_t StartRemoteAbility(const OHOS::AAFwk::Want &want, int32_t callerUid, int32_t requestCode,
55         uint32_t accessToken) override
56     {
57         return 0;
58     }
StartAbilityFromRemote(const OHOS::AAFwk::Want & want,const OHOS::AppExecFwk::AbilityInfo & abilityInfo,int32_t requestCode,const CallerInfo & callerInfo,const AccountInfo & accountInfo)59     int32_t StartAbilityFromRemote(const OHOS::AAFwk::Want &want,
60         const OHOS::AppExecFwk::AbilityInfo &abilityInfo, int32_t requestCode, const CallerInfo &callerInfo,
61         const AccountInfo &accountInfo) override
62     {
63         return 0;
64     }
ContinueMission(const std::string & srcDeviceId,const std::string & dstDeviceId,int32_t missionId,const sptr<IRemoteObject> & callback,const OHOS::AAFwk::WantParams & wantParams)65     int32_t ContinueMission(const std::string &srcDeviceId, const std::string &dstDeviceId,
66         int32_t missionId, const sptr<IRemoteObject> &callback, const OHOS::AAFwk::WantParams &wantParams) override
67     {
68         return 0;
69     }
StartContinuation(const OHOS::AAFwk::Want & want,int32_t missionId,int32_t callerUid,int32_t status,uint32_t accessToken)70     int32_t StartContinuation(const OHOS::AAFwk::Want &want, int32_t missionId, int32_t callerUid,
71         int32_t status, uint32_t accessToken) override
72     {
73         return 0;
74     }
NotifyCompleteContinuation(const std::u16string & devId,int32_t sessionId,bool isSuccess)75     void NotifyCompleteContinuation(const std::u16string &devId, int32_t sessionId, bool isSuccess) override
76     {
77         return;
78     }
NotifyContinuationResultFromRemote(int32_t sessionId,bool isSuccess,const std::string dstInfo)79     int32_t NotifyContinuationResultFromRemote(int32_t sessionId, bool isSuccess, const std::string dstInfo) override
80     {
81         return 0;
82     }
ConnectRemoteAbility(const OHOS::AAFwk::Want & want,const sptr<IRemoteObject> & connect,int32_t callerUid,int32_t callerPid,uint32_t accessToken)83     int32_t ConnectRemoteAbility(const OHOS::AAFwk::Want &want, const sptr<IRemoteObject> &connect,
84         int32_t callerUid, int32_t callerPid, uint32_t accessToken) override
85     {
86         return 0;
87     }
DisconnectRemoteAbility(const sptr<IRemoteObject> & connect,int32_t callerUid,uint32_t accessToken)88     int32_t DisconnectRemoteAbility(const sptr<IRemoteObject> &connect, int32_t callerUid,
89         uint32_t accessToken) override
90     {
91         return 0;
92     }
ConnectAbilityFromRemote(const OHOS::AAFwk::Want & want,const AppExecFwk::AbilityInfo & abilityInfo,const sptr<IRemoteObject> & connect,const CallerInfo & callerInfo,const AccountInfo & accountInfo)93     int32_t ConnectAbilityFromRemote(const OHOS::AAFwk::Want &want, const AppExecFwk::AbilityInfo &abilityInfo,
94         const sptr<IRemoteObject> &connect, const CallerInfo &callerInfo, const AccountInfo &accountInfo) override
95     {
96         return 0;
97     }
DisconnectAbilityFromRemote(const sptr<IRemoteObject> & connect,int32_t uid,const std::string & sourceDeviceId)98     int32_t DisconnectAbilityFromRemote(const sptr<IRemoteObject> &connect,
99         int32_t uid, const std::string &sourceDeviceId) override
100     {
101         return 0;
102     }
NotifyProcessDiedFromRemote(const CallerInfo & callerInfo)103     int32_t NotifyProcessDiedFromRemote(const CallerInfo &callerInfo) override
104     {
105         return 0;
106     }
107 #ifdef SUPPORT_DISTRIBUTED_MISSION_MANAGER
GetMissionInfos(const std::string & deviceId,int32_t numMissions,std::vector<AAFwk::MissionInfo> & missionInfos)108     int32_t GetMissionInfos(const std::string &deviceId, int32_t numMissions,
109         std::vector<AAFwk::MissionInfo> &missionInfos) override
110     {
111         return 0;
112     }
StoreSnapshotInfo(const std::string & deviceId,int32_t missionId,const uint8_t * byteStream,size_t len)113     int32_t StoreSnapshotInfo(const std::string &deviceId, int32_t missionId,
114         const uint8_t* byteStream, size_t len) override
115     {
116         return 0;
117     }
RemoveSnapshotInfo(const std::string & deviceId,int32_t missionId)118     int32_t RemoveSnapshotInfo(const std::string &deviceId, int32_t missionId) override
119     {
120         return 0;
121     }
NotifyMissionsChangedFromRemote(const std::vector<DstbMissionInfo> & missionInfos,const CallerInfo & callerInfo)122     int32_t NotifyMissionsChangedFromRemote(const std::vector<DstbMissionInfo> &missionInfos,
123         const CallerInfo &callerInfo) override
124     {
125         return 0;
126     }
CheckSupportOsd(const std::string & deviceId)127     int32_t CheckSupportOsd(const std::string &deviceId) override
128     {
129         return 0;
130     }
GetCachedOsdSwitch(std::vector<std::u16string> & deviceIds,std::vector<int32_t> & values)131     void GetCachedOsdSwitch(std::vector<std::u16string> &deviceIds, std::vector<int32_t> &values) override
132     {
133         return 0;
134     }
GetOsdSwitchValueFromRemote()135     int32_t GetOsdSwitchValueFromRemote() override
136     {
137         return 0;
138     }
UpdateOsdSwitchValueFromRemote(int32_t switchVal,const std::string & sourceDeviceId)139     int32_t UpdateOsdSwitchValueFromRemote(int32_t switchVal, const std::string &sourceDeviceId) override
140     {
141         return 0;
142     }
GetRemoteSnapshotInfo(const std::u16string & deviceId,int32_t missionId)143     std::unique_ptr<Snapshot> GetRemoteSnapshotInfo(const std::u16string &deviceId, int32_t missionId) override
144     {
145         return 0;
146     }
GetRemoteMissionSnapshotInfo(const std::string & networkId,int32_t missionId,std::unique_ptr<AAFwk::MissionSnapshot> & missionSnapshot)147     int32_t GetRemoteMissionSnapshotInfo(const std::string &networkId, int32_t missionId,
148         std::unique_ptr<AAFwk::MissionSnapshot> &missionSnapshot) override
149     {
150         return 0;
151     }
StartSyncRemoteMissions(const std::string & devId,bool fixConflict,int64_t tag)152     int32_t StartSyncRemoteMissions(const std::string &devId, bool fixConflict, int64_t tag) override
153     {
154         return 0;
155     }
StartSyncMissionsFromRemote(const CallerInfo & callerInfo,std::vector<DstbMissionInfo> & missionInfos)156     int32_t StartSyncMissionsFromRemote(const CallerInfo &callerInfo,
157         std::vector<DstbMissionInfo> &missionInfos) override
158     {
159         return 0;
160     }
StopSyncRemoteMissions(const std::string & devId)161     int32_t StopSyncRemoteMissions(const std::string &devId) override
162     {
163         return 0;
164     }
StopSyncMissionsFromRemote(const CallerInfo & callerInfo)165     int32_t StopSyncMissionsFromRemote(const CallerInfo &callerInfo) override
166     {
167         return 0;
168     }
RegisterMissionListener(const std::u16string & devId,const sptr<IRemoteObject> & obj)169     int32_t RegisterMissionListener(const std::u16string &devId, const sptr<IRemoteObject> &obj) override
170     {
171         return 0;
172     }
UnRegisterMissionListener(const std::u16string & devId,const sptr<IRemoteObject> & obj)173     int32_t UnRegisterMissionListener(const std::u16string &devId, const sptr<IRemoteObject> &obj) override
174     {
175         return 0;
176     }
177 #endif
StartRemoteAbilityByCall(const OHOS::AAFwk::Want & want,const sptr<IRemoteObject> & connect,int32_t callerUid,int32_t callerPid,uint32_t accessToken)178     int32_t StartRemoteAbilityByCall(const OHOS::AAFwk::Want &want, const sptr<IRemoteObject> &connect,
179         int32_t callerUid, int32_t callerPid, uint32_t accessToken) override
180     {
181         return 0;
182     }
ReleaseRemoteAbility(const sptr<IRemoteObject> & connect,const AppExecFwk::ElementName & element)183     int32_t ReleaseRemoteAbility(const sptr<IRemoteObject> &connect,
184         const AppExecFwk::ElementName &element) override
185     {
186         return 0;
187     }
StartAbilityByCallFromRemote(const OHOS::AAFwk::Want & want,const sptr<IRemoteObject> & connect,const CallerInfo & callerInfo,const AccountInfo & accountInfo)188     int32_t StartAbilityByCallFromRemote(const OHOS::AAFwk::Want &want, const sptr<IRemoteObject> &connect,
189         const CallerInfo &callerInfo, const AccountInfo &accountInfo) override
190     {
191         return 0;
192     }
ReleaseAbilityFromRemote(const sptr<IRemoteObject> & connect,const AppExecFwk::ElementName & element,const CallerInfo & callerInfo)193     int32_t ReleaseAbilityFromRemote(const sptr<IRemoteObject> &connect, const AppExecFwk::ElementName &element,
194         const CallerInfo &callerInfo) override
195     {
196         return 0;
197     }
NotifyStateChangedFromRemote(int32_t abilityState,int32_t missionId,const AppExecFwk::ElementName & element)198     int32_t NotifyStateChangedFromRemote(int32_t abilityState, int32_t missionId,
199         const AppExecFwk::ElementName& element) override
200     {
201         return 0;
202     }
203     #ifdef SUPPORT_DISTRIBUTED_FORM_SHARE
StartShareFormFromRemote(const std::string & remoteDeviceId,const FormShareInfo & formShareInfo)204     int32_t StartShareFormFromRemote(
205         const std::string &remoteDeviceId, const FormShareInfo &formShareInfo) override
206     {
207         return 0;
208     }
209     #endif
GetDistributedComponentList(std::vector<std::string> & distributedComponents)210     int32_t GetDistributedComponentList(std::vector<std::string> &distributedComponents) override
211     {
212         return 0;
213     }
214     int32_t StopRemoteExtensionAbility(
215         const OHOS::AAFwk::Want& want, int32_t callerUid, uint32_t accessToken, int32_t extensionType) override;
216     int32_t StopExtensionAbilityFromRemote(const OHOS::AAFwk::Want& want,
217         const CallerInfo& callerInfo, const AccountInfo& accountInfo, int32_t extensionType) override;
218 };
219 } // namespace DistributedSchedule
220 } // namespace OHOS
221 #endif // OHOS_DISTRIBUTED_SCHED_PROXY_H