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