• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023-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 #ifndef OHOS_ABILITY_RUNTIME_ABILITY_MANAGER_STUB_H
17 #define OHOS_ABILITY_RUNTIME_ABILITY_MANAGER_STUB_H
18 
19 #include "ability_manager_interface.h"
20 
21 #include <iremote_object.h>
22 #include <iremote_stub.h>
23 #ifdef WITH_DLP
24 #include "dlp_connection_info.h"
25 #endif // WITH_DLP
26 #include "iconnection_observer.h"
27 
28 namespace OHOS {
29 namespace AAFwk {
30 using AutoStartupInfo = AbilityRuntime::AutoStartupInfo;
31 /**
32  * @class AbilityManagerStub
33  * AbilityManagerStub.
34  */
35 class AbilityManagerStub : public IRemoteStub<IAbilityManager> {
36 public:
37     AbilityManagerStub();
38     ~AbilityManagerStub();
39     virtual int OnRemoteRequest(
40         uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) override;
41 
42     /**
43      * Calls this interface to move the ability to the foreground.
44      *
45      * @param token, ability's token.
46      * @param flag, use for lock or unlock flag and so on.
47      * @return Returns ERR_OK on success, others on failure.
48      */
49     virtual int DoAbilityForeground(const sptr<IRemoteObject> &token, uint32_t flag) override;
50 
51     /**
52      * Calls this interface to move the ability to the background.
53      *
54      * @param token, ability's token.
55      * @param flag, use for lock or unlock flag and so on.
56      * @return Returns ERR_OK on success, others on failure.
57      */
58     virtual int DoAbilityBackground(const sptr<IRemoteObject> &token, uint32_t flag) override;
59 
60     virtual int RegisterObserver(const sptr<AbilityRuntime::IConnectionObserver> &observer);
61 
62     virtual int UnregisterObserver(const sptr<AbilityRuntime::IConnectionObserver> &observer);
63 
64 #ifdef WITH_DLP
65     virtual int GetDlpConnectionInfos(std::vector<AbilityRuntime::DlpConnectionInfo> &infos);
66 #endif // WITH_DLP
67 
68     virtual int GetConnectionData(std::vector<AbilityRuntime::ConnectionData> &connectionData);
69 
70 private:
71     int TerminateAbilityInner(MessageParcel &data, MessageParcel &reply);
72     int BackToCallerInner(MessageParcel &data, MessageParcel &reply);
73     int TerminateUIExtensionAbilityInner(MessageParcel &data, MessageParcel &reply);
74     int CloseUIAbilityBySCBInner(MessageParcel &data, MessageParcel &reply);
75     int SendResultToAbilityInner(MessageParcel &data, MessageParcel &reply);
76     int MinimizeAbilityInner(MessageParcel &data, MessageParcel &reply);
77     int MinimizeUIExtensionAbilityInner(MessageParcel &data, MessageParcel &reply);
78     int MinimizeUIAbilityBySCBInner(MessageParcel &data, MessageParcel &reply);
79     int AttachAbilityThreadInner(MessageParcel &data, MessageParcel &reply);
80     int AbilityTransitionDoneInner(MessageParcel &data, MessageParcel &reply);
81     int ScheduleConnectAbilityDoneInner(MessageParcel &data, MessageParcel &reply);
82     int ScheduleDisconnectAbilityDoneInner(MessageParcel &data, MessageParcel &reply);
83     int ScheduleCommandAbilityDoneInner(MessageParcel &data, MessageParcel &reply);
84     int ScheduleCommandAbilityWindowDoneInner(MessageParcel &data, MessageParcel &reply);
85     int GetMissionSnapshotInner(MessageParcel &data, MessageParcel &reply);
86     int AcquireDataAbilityInner(MessageParcel &data, MessageParcel &reply);
87     int ReleaseDataAbilityInner(MessageParcel &data, MessageParcel &reply);
88     int KillProcessInner(MessageParcel &data, MessageParcel &reply);
89     int UninstallAppInner(MessageParcel &data, MessageParcel &reply);
90     int32_t UpgradeAppInner(MessageParcel &data, MessageParcel &reply);
91     int StartAbilityInner(MessageParcel &data, MessageParcel &reply);
92     int StartAbilityInnerSpecifyTokenId(MessageParcel &data, MessageParcel &reply);
93     int StartAbilityByUIContentSessionAddCallerInner(MessageParcel &data, MessageParcel &reply);
94     int StartAbilityByUIContentSessionForOptionsInner(MessageParcel &data, MessageParcel &reply);
95     int StartAbilityAsCallerByTokenInner(MessageParcel &data, MessageParcel &reply);
96     int StartAbilityAsCallerForOptionInner(MessageParcel &data, MessageParcel &reply);
97     int StartExtensionAbilityInner(MessageParcel &data, MessageParcel &reply);
98     int StartUIExtensionAbilityInner(MessageParcel &data, MessageParcel &reply);
99     int StartUIExtensionAbilityEmbeddedInner(MessageParcel &data, MessageParcel &reply);
100     int StartUIExtensionConstrainedEmbeddedInner(MessageParcel &data, MessageParcel &reply);
101     int StartUIAbilityBySCBInner(MessageParcel &data, MessageParcel &reply);
102     int StopExtensionAbilityInner(MessageParcel& data, MessageParcel& reply);
103     int StartAbilityAddCallerInner(MessageParcel &data, MessageParcel &reply);
104     int ConnectAbilityInner(MessageParcel &data, MessageParcel &reply);
105     int ConnectAbilityWithTypeInner(MessageParcel &data, MessageParcel &reply);
106     int ConnectUIExtensionAbilityInner(MessageParcel &data, MessageParcel &reply);
107     int DisconnectAbilityInner(MessageParcel &data, MessageParcel &reply);
108     int StopServiceAbilityInner(MessageParcel &data, MessageParcel &reply);
109     int DumpStateInner(MessageParcel &data, MessageParcel &reply);
110     int DumpSysStateInner(MessageParcel &data, MessageParcel &reply);
111     int StartAbilityForSettingsInner(MessageParcel &data, MessageParcel &reply);
112     int StartAbilityForOptionsInner(MessageParcel &data, MessageParcel &reply);
113     int RequestModalUIExtensionInner(MessageParcel &data, MessageParcel &reply);
114     int ChangeAbilityVisibilityInner(MessageParcel &data, MessageParcel &reply);
115     int ChangeUIAbilityVisibilityBySCBInner(MessageParcel &data, MessageParcel &reply);
116     int PreloadUIExtensionAbilityInner(MessageParcel &data, MessageParcel &reply);
117 
118     int GetWantSenderInner(MessageParcel &data, MessageParcel &reply);
119     int SendWantSenderInner(MessageParcel &data, MessageParcel &reply);
120     int CancelWantSenderInner(MessageParcel &data, MessageParcel &reply);
121 
122     int GetPendingWantUidInner(MessageParcel &data, MessageParcel &reply);
123     int GetPendingWantUserIdInner(MessageParcel &data, MessageParcel &reply);
124     int GetPendingWantBundleNameInner(MessageParcel &data, MessageParcel &reply);
125     int GetPendingWantCodeInner(MessageParcel &data, MessageParcel &reply);
126     int GetPendingWantTypeInner(MessageParcel &data, MessageParcel &reply);
127 
128     int RegisterCancelListenerInner(MessageParcel &data, MessageParcel &reply);
129     int UnregisterCancelListenerInner(MessageParcel &data, MessageParcel &reply);
130 
131     int GetPendingRequestWantInner(MessageParcel &data, MessageParcel &reply);
132     int GetWantSenderInfoInner(MessageParcel &data, MessageParcel &reply);
133 
134     int GetAppMemorySizeInner(MessageParcel &data, MessageParcel &reply);
135     int IsRamConstrainedDeviceInner(MessageParcel &data, MessageParcel &reply);
136 
137     int ContinueMissionInner(MessageParcel &data, MessageParcel &reply);
138     int ContinueMissionOfBundleNameInner(MessageParcel &data, MessageParcel &reply);
139     int ContinueAbilityInner(MessageParcel &data, MessageParcel &reply);
140     int StartContinuationInner(MessageParcel &data, MessageParcel &reply);
141     int NotifyCompleteContinuationInner(MessageParcel &data, MessageParcel &reply);
142     int NotifyContinuationResultInner(MessageParcel &data, MessageParcel &reply);
143     int RegisterRemoteMissionListenerInner(MessageParcel &data, MessageParcel &reply);
144     int RegisterRemoteOnListenerInner(MessageParcel &data, MessageParcel &reply);
145     int RegisterRemoteOffListenerInner(MessageParcel &data, MessageParcel &reply);
146     int UnRegisterRemoteMissionListenerInner(MessageParcel &data, MessageParcel &reply);
147 
148     int LockMissionForCleanupInner(MessageParcel &data, MessageParcel &reply);
149     int UnlockMissionForCleanupInner(MessageParcel &data, MessageParcel &reply);
150     int SetLockedStateInner(MessageParcel &data, MessageParcel &reply);
151     int RegisterMissionListenerInner(MessageParcel &data, MessageParcel &reply);
152     int UnRegisterMissionListenerInner(MessageParcel &data, MessageParcel &reply);
153     int GetMissionInfosInner(MessageParcel &data, MessageParcel &reply);
154     int GetMissionInfoInner(MessageParcel &data, MessageParcel &reply);
155     int CleanMissionInner(MessageParcel &data, MessageParcel &reply);
156     int CleanAllMissionsInner(MessageParcel &data, MessageParcel &reply);
157     int MoveMissionToFrontInner(MessageParcel &data, MessageParcel &reply);
158     int MoveMissionsToForegroundInner(MessageParcel &data, MessageParcel &reply);
159     int MoveMissionsToBackgroundInner(MessageParcel &data, MessageParcel &reply);
160     int GetMissionIdByTokenInner(MessageParcel &data, MessageParcel &reply);
161 
162     // for new version ability (call ability)
163     int StartAbilityByCallInner(MessageParcel &data, MessageParcel &reply);
164     int CallRequestDoneInner(MessageParcel &data, MessageParcel &reply);
165     int ReleaseCallInner(MessageParcel &data, MessageParcel &reply);
166     int StartUserInner(MessageParcel &data, MessageParcel &reply);
167     int StopUserInner(MessageParcel &data, MessageParcel &reply);
168     int LogoutUserInner(MessageParcel &data, MessageParcel &reply);
169     int GetAbilityRunningInfosInner(MessageParcel &data, MessageParcel &reply);
170     int GetExtensionRunningInfosInner(MessageParcel &data, MessageParcel &reply);
171     int GetProcessRunningInfosInner(MessageParcel &data, MessageParcel &reply);
172 
173     int StartSyncRemoteMissionsInner(MessageParcel &data, MessageParcel &reply);
174     int StopSyncRemoteMissionsInner(MessageParcel &data, MessageParcel &reply);
175     int RegisterSnapshotHandlerInner(MessageParcel &data, MessageParcel &reply);
176     int GetMissionSnapshotInfoInner(MessageParcel &data, MessageParcel &reply);
177 
178     int SetAbilityControllerInner(MessageParcel &data, MessageParcel &reply);
179 
180     int StartUserTestInner(MessageParcel &data, MessageParcel &reply);
181     int FinishUserTestInner(MessageParcel &data, MessageParcel &reply);
182     int GetTopAbilityTokenInner(MessageParcel &data, MessageParcel &reply);
183     int CheckUIExtensionIsFocusedInner(MessageParcel &data, MessageParcel &reply);
184     int DelegatorDoAbilityForegroundInner(MessageParcel &data, MessageParcel &reply);
185     int DelegatorDoAbilityBackgroundInner(MessageParcel &data, MessageParcel &reply);
186     int DoAbilityForegroundInner(MessageParcel &data, MessageParcel &reply);
187     int DoAbilityBackgroundInner(MessageParcel &data, MessageParcel &reply);
188 
189     int IsRunningInStabilityTestInner(MessageParcel &data, MessageParcel &reply);
190     int MoveMissionToFrontByOptionsInner(MessageParcel &data, MessageParcel &reply);
191 
192     int UpdateMissionSnapShotFromWMSInner(MessageParcel &data, MessageParcel &reply);
193     int RegisterConnectionObserverInner(MessageParcel &data, MessageParcel &reply);
194     int UnregisterConnectionObserverInner(MessageParcel &data, MessageParcel &reply);
195 #ifdef WITH_DLP
196     int GetDlpConnectionInfosInner(MessageParcel &data, MessageParcel &reply);
197 #endif // WITH_DLP
198     int GetConnectionDataInner(MessageParcel &data, MessageParcel &reply);
199     int MoveAbilityToBackgroundInner(MessageParcel &data, MessageParcel &reply);
200     int32_t MoveUIAbilityToBackgroundInner(MessageParcel &data, MessageParcel &reply);
201     int SetMissionContinueStateInner(MessageParcel &data, MessageParcel &reply);
202 #ifdef SUPPORT_GRAPHICS
203     int SetMissionLabelInner(MessageParcel &data, MessageParcel &reply);
204     int SetMissionIconInner(MessageParcel &data, MessageParcel &reply);
205     int RegisterWindowManagerServiceHandlerInner(MessageParcel &data, MessageParcel &reply);
206     int CompleteFirstFrameDrawingInner(MessageParcel &data, MessageParcel &reply);
207     int PrepareTerminateAbilityInner(MessageParcel &data, MessageParcel &reply);
208     int GetDialogSessionInfoInner(MessageParcel &data, MessageParcel &reply);
209     int SendDialogResultInner(MessageParcel &data, MessageParcel &reply);
210     int RegisterAbilityFirstFrameStateObserverInner(MessageParcel &data, MessageParcel &reply);
211     int UnregisterAbilityFirstFrameStateObserverInner(MessageParcel &data, MessageParcel &reply);
212     int CompleteFirstFrameDrawingBySCBInner(MessageParcel &data, MessageParcel &reply);
213 #endif
214 
215     #ifdef ABILITY_COMMAND_FOR_TEST
216     int ForceTimeoutForTestInner(MessageParcel &data, MessageParcel &reply);
217     #endif
218 
219     int FreeInstallAbilityFromRemoteInner(MessageParcel &data, MessageParcel &reply);
220     int AddFreeInstallObserverInner(MessageParcel &data, MessageParcel &reply);
221 
222     int EnableRecoverAbilityInner(MessageParcel &data, MessageParcel &reply);
223     int ScheduleRecoverAbilityInner(MessageParcel &data, MessageParcel &reply);
224     int GetTopAbilityInner(MessageParcel &data, MessageParcel &reply);
225     int GetElementNameByTokenInner(MessageParcel &data, MessageParcel &reply);
226     int DumpAbilityInfoDoneInner(MessageParcel &data, MessageParcel &reply);
227     int32_t IsValidMissionIdsInner(MessageParcel &data, MessageParcel &reply);
228 
229     int VerifyPermissionInner(MessageParcel &data, MessageParcel &reply);
230 
231     int HandleRequestDialogService(MessageParcel &data, MessageParcel &reply);
232     int32_t HandleReportDrawnCompleted(MessageParcel &data, MessageParcel &reply);
233 
234     int AcquireShareDataInner(MessageParcel &data, MessageParcel &reply);
235     int ShareDataDoneInner(MessageParcel &data, MessageParcel &reply);
236     int GetAbilityTokenByCalleeObjInner(MessageParcel &data, MessageParcel &reply);
237 
238     int32_t ForceExitAppInner(MessageParcel &data, MessageParcel &reply);
239     int32_t RecordAppExitReasonInner(MessageParcel &data, MessageParcel &reply);
240     int32_t RecordProcessExitReasonInner(MessageParcel &data, MessageParcel &reply);
241     int32_t SetResidentProcessEnableInner(MessageParcel &data, MessageParcel &reply);
242 
243     int SetRootSceneSessionInner(MessageParcel &data, MessageParcel &reply);
244     int CallUIAbilityBySCBInner(MessageParcel &data, MessageParcel &reply);
245     int StartSpecifiedAbilityBySCBInner(MessageParcel &data, MessageParcel &reply);
246     int NotifySaveAsResultInner(MessageParcel &data, MessageParcel &reply);
247 
248     int SetSessionManagerServiceInner(MessageParcel &data, MessageParcel &reply);
249 
250     int32_t RegisterIAbilityManagerCollaboratorInner(MessageParcel &data, MessageParcel &reply);
251     int32_t UnregisterIAbilityManagerCollaboratorInner(MessageParcel &data, MessageParcel &reply);
252 
253     int32_t RegisterStatusBarDelegateInner(MessageParcel &data, MessageParcel &reply);
254     int32_t KillProcessWithPrepareTerminateInner(MessageParcel &data, MessageParcel &reply);
255 
256     int32_t RegisterAutoStartupSystemCallbackInner(MessageParcel &data, MessageParcel &reply);
257     int32_t UnregisterAutoStartupSystemCallbackInner(MessageParcel &data, MessageParcel &reply);
258     int32_t SetApplicationAutoStartupInner(MessageParcel &data, MessageParcel &reply);
259     int32_t CancelApplicationAutoStartupInner(MessageParcel &data, MessageParcel &reply);
260     int32_t QueryAllAutoStartupApplicationsInner(MessageParcel &data, MessageParcel &reply);
261 
262     int PrepareTerminateAbilityBySCBInner(MessageParcel &data, MessageParcel &reply);
263     int RegisterSessionHandlerInner(MessageParcel &data, MessageParcel &reply);
264     int32_t UpdateSessionInfoBySCBInner(MessageParcel &data, MessageParcel &reply);
265 
266     int32_t RegisterAppDebugListenerInner(MessageParcel &data, MessageParcel &reply);
267     int32_t UnregisterAppDebugListenerInner(MessageParcel &data, MessageParcel &reply);
268     int32_t AttachAppDebugInner(MessageParcel &data, MessageParcel &reply);
269     int32_t DetachAppDebugInner(MessageParcel &data, MessageParcel &reply);
270     int32_t ExecuteIntentInner(MessageParcel &data, MessageParcel &reply);
271 
272     int32_t SetApplicationAutoStartupByEDMInner(MessageParcel &data, MessageParcel &reply);
273     int32_t CancelApplicationAutoStartupByEDMInner(MessageParcel &data, MessageParcel &reply);
274 
275     int32_t IsAbilityControllerStartInner(MessageParcel &data, MessageParcel &reply);
276     int32_t OpenFileInner(MessageParcel &data, MessageParcel &reply);
277 
278     int32_t OpenAtomicServiceInner(MessageParcel &data, MessageParcel &reply);
279     int32_t IsEmbeddedOpenAllowedInner(MessageParcel &data, MessageParcel &reply);
280 
281     int StartAbilityForResultAsCallerInner(MessageParcel &data, MessageParcel &reply);
282     int StartAbilityForResultAsCallerForOptionsInner(MessageParcel &data, MessageParcel &reply);
283 
284     int32_t StartAbilityOnlyUIAbilityInner(MessageParcel &data, MessageParcel &reply);
285 
286     //insight intent related
287     int32_t StartAbilityByInsightIntentInner(MessageParcel &data, MessageParcel &reply);
288     int32_t ExecuteInsightIntentDoneInner(MessageParcel &data, MessageParcel &reply);
289     int32_t GetForegroundUIAbilitiesInner(MessageParcel &data, MessageParcel &reply);
290     int32_t RestartAppInner(MessageParcel &data, MessageParcel &reply);
291 
292     int32_t GetUIExtensionRootHostInfoInner(MessageParcel &data, MessageParcel &reply);
293     int32_t GetUIExtensionSessionInfoInner(MessageParcel &data, MessageParcel &reply);
294     int32_t RequestAssertFaultDialogInner(MessageParcel &data, MessageParcel &reply);
295     int32_t NotifyDebugAssertResultInner(MessageParcel &data, MessageParcel &reply);
296     int32_t StartShortcutInner(MessageParcel &data, MessageParcel &reply);
297     int32_t GetAbilityStateByPersistentIdInner(MessageParcel &data, MessageParcel &reply);
298     int32_t TransferAbilityResultForExtensionInner(MessageParcel &data, MessageParcel &reply);
299     int32_t NotifyFrozenProcessByRSSInner(MessageParcel &data, MessageParcel &reply);
300     int32_t CleanUIAbilityBySCBInner(MessageParcel &data, MessageParcel &reply);
301     int32_t PreStartMissionInner(MessageParcel &data, MessageParcel &reply);
302     int OnRemoteRequestInnerFirst(uint32_t code, MessageParcel &data,
303         MessageParcel &reply, MessageOption &option);
304     int OnRemoteRequestInnerSecond(uint32_t code, MessageParcel &data,
305         MessageParcel &reply, MessageOption &option);
306     int OnRemoteRequestInnerThird(uint32_t code, MessageParcel &data,
307         MessageParcel &reply, MessageOption &option);
308     int OnRemoteRequestInnerFourth(uint32_t code, MessageParcel &data,
309         MessageParcel &reply, MessageOption &option);
310     int OnRemoteRequestInnerFifth(uint32_t code, MessageParcel &data,
311         MessageParcel &reply, MessageOption &option);
312     int OnRemoteRequestInnerSixth(uint32_t code, MessageParcel &data,
313         MessageParcel &reply, MessageOption &option);
314     int OnRemoteRequestInnerSeventh(uint32_t code, MessageParcel &data,
315         MessageParcel &reply, MessageOption &option);
316     int OnRemoteRequestInnerEighth(uint32_t code, MessageParcel &data,
317         MessageParcel &reply, MessageOption &option);
318     int OnRemoteRequestInnerNinth(uint32_t code, MessageParcel &data,
319         MessageParcel &reply, MessageOption &option);
320     int OnRemoteRequestInnerTenth(uint32_t code, MessageParcel &data,
321         MessageParcel &reply, MessageOption &option);
322     int OnRemoteRequestInnerEleventh(uint32_t code, MessageParcel &data,
323         MessageParcel &reply, MessageOption &option);
324     int OnRemoteRequestInner(uint32_t code, MessageParcel &data,
325         MessageParcel &reply, MessageOption &option);
326     int OnRemoteRequestInnerTwelveth(uint32_t code, MessageParcel &data,
327         MessageParcel &reply, MessageOption &option);
328     int OnRemoteRequestInnerThirteenth(uint32_t code, MessageParcel &data,
329         MessageParcel &reply, MessageOption &option);
330     int OnRemoteRequestInnerFourteenth(uint32_t code, MessageParcel &data,
331         MessageParcel &reply, MessageOption &option);
332     int OnRemoteRequestInnerFifteenth(uint32_t code, MessageParcel &data,
333         MessageParcel &reply, MessageOption &option);
334     int OnRemoteRequestInnerSixteenth(uint32_t code, MessageParcel &data,
335         MessageParcel &reply, MessageOption &option);
336     int OnRemoteRequestInnerSeventeenth(uint32_t code, MessageParcel &data,
337         MessageParcel &reply, MessageOption &option);
338     int OnRemoteRequestInnerEighteenth(uint32_t code, MessageParcel &data,
339         MessageParcel &reply, MessageOption &option);
340     int OnRemoteRequestInnerNineteenth(uint32_t code, MessageParcel &data,
341         MessageParcel &reply, MessageOption &option);
342     int HandleOnRemoteRequestInnerFirst(uint32_t code, MessageParcel &data,
343         MessageParcel &reply, MessageOption &option);
344     int HandleOnRemoteRequestInnerSecond(uint32_t code, MessageParcel &data,
345         MessageParcel &reply, MessageOption &option);
346     int32_t OpenLinkInner(MessageParcel &data, MessageParcel &reply);
347     int32_t TerminateMissionInner(MessageParcel &data, MessageParcel &reply);
348     int32_t UpdateAssociateConfigListInner(MessageParcel &data, MessageParcel &reply);
349 };
350 }  // namespace AAFwk
351 }  // namespace OHOS
352 #endif  // OHOS_ABILITY_RUNTIME_ABILITY_MANAGER_STUB_H
353