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 int32_t TerminateUIServiceExtensionAbilityInner(MessageParcel &data, MessageParcel &reply); 74 int TerminateUIExtensionAbilityInner(MessageParcel &data, MessageParcel &reply); 75 int CloseUIAbilityBySCBInner(MessageParcel &data, MessageParcel &reply); 76 int SendResultToAbilityInner(MessageParcel &data, MessageParcel &reply); 77 int MinimizeAbilityInner(MessageParcel &data, MessageParcel &reply); 78 int MinimizeUIExtensionAbilityInner(MessageParcel &data, MessageParcel &reply); 79 int MinimizeUIAbilityBySCBInner(MessageParcel &data, MessageParcel &reply); 80 int AttachAbilityThreadInner(MessageParcel &data, MessageParcel &reply); 81 int AbilityTransitionDoneInner(MessageParcel &data, MessageParcel &reply); 82 int AbilityWindowConfigTransitionDoneInner(MessageParcel &data, MessageParcel &reply); 83 int ScheduleConnectAbilityDoneInner(MessageParcel &data, MessageParcel &reply); 84 int ScheduleDisconnectAbilityDoneInner(MessageParcel &data, MessageParcel &reply); 85 int ScheduleCommandAbilityDoneInner(MessageParcel &data, MessageParcel &reply); 86 int ScheduleCommandAbilityWindowDoneInner(MessageParcel &data, MessageParcel &reply); 87 int GetMissionSnapshotInner(MessageParcel &data, MessageParcel &reply); 88 int AcquireDataAbilityInner(MessageParcel &data, MessageParcel &reply); 89 int ReleaseDataAbilityInner(MessageParcel &data, MessageParcel &reply); 90 int KillProcessInner(MessageParcel &data, MessageParcel &reply); 91 int UninstallAppInner(MessageParcel &data, MessageParcel &reply); 92 int32_t UpgradeAppInner(MessageParcel &data, MessageParcel &reply); 93 int StartAbilityInner(MessageParcel &data, MessageParcel &reply); 94 int StartAbilityInnerSpecifyTokenId(MessageParcel &data, MessageParcel &reply); 95 int StartAbilityByUIContentSessionAddCallerInner(MessageParcel &data, MessageParcel &reply); 96 int StartAbilityByUIContentSessionForOptionsInner(MessageParcel &data, MessageParcel &reply); 97 int StartAbilityAsCallerByTokenInner(MessageParcel &data, MessageParcel &reply); 98 int StartAbilityAsCallerForOptionInner(MessageParcel &data, MessageParcel &reply); 99 int StartExtensionAbilityInner(MessageParcel &data, MessageParcel &reply); 100 int StartUIExtensionAbilityInner(MessageParcel &data, MessageParcel &reply); 101 int StartUIExtensionAbilityEmbeddedInner(MessageParcel &data, MessageParcel &reply); 102 int StartUIExtensionConstrainedEmbeddedInner(MessageParcel &data, MessageParcel &reply); 103 int StartUIAbilityBySCBInner(MessageParcel &data, MessageParcel &reply); 104 int StopExtensionAbilityInner(MessageParcel& data, MessageParcel& reply); 105 int StartAbilityAddCallerInner(MessageParcel &data, MessageParcel &reply); 106 int ConnectAbilityInner(MessageParcel &data, MessageParcel &reply); 107 int ConnectAbilityWithTypeInner(MessageParcel &data, MessageParcel &reply); 108 int ConnectUIExtensionAbilityInner(MessageParcel &data, MessageParcel &reply); 109 int DisconnectAbilityInner(MessageParcel &data, MessageParcel &reply); 110 int StopServiceAbilityInner(MessageParcel &data, MessageParcel &reply); 111 int DumpStateInner(MessageParcel &data, MessageParcel &reply); 112 int DumpSysStateInner(MessageParcel &data, MessageParcel &reply); 113 int StartAbilityForSettingsInner(MessageParcel &data, MessageParcel &reply); 114 int StartAbilityForOptionsInner(MessageParcel &data, MessageParcel &reply); 115 int RequestModalUIExtensionInner(MessageParcel &data, MessageParcel &reply); 116 int ChangeAbilityVisibilityInner(MessageParcel &data, MessageParcel &reply); 117 int ChangeUIAbilityVisibilityBySCBInner(MessageParcel &data, MessageParcel &reply); 118 int PreloadUIExtensionAbilityInner(MessageParcel &data, MessageParcel &reply); 119 120 int GetWantSenderInner(MessageParcel &data, MessageParcel &reply); 121 int SendWantSenderInner(MessageParcel &data, MessageParcel &reply); 122 int CancelWantSenderInner(MessageParcel &data, MessageParcel &reply); 123 124 int GetPendingWantUidInner(MessageParcel &data, MessageParcel &reply); 125 int GetPendingWantUserIdInner(MessageParcel &data, MessageParcel &reply); 126 int GetPendingWantBundleNameInner(MessageParcel &data, MessageParcel &reply); 127 int GetPendingWantCodeInner(MessageParcel &data, MessageParcel &reply); 128 int GetPendingWantTypeInner(MessageParcel &data, MessageParcel &reply); 129 130 int RegisterCancelListenerInner(MessageParcel &data, MessageParcel &reply); 131 int UnregisterCancelListenerInner(MessageParcel &data, MessageParcel &reply); 132 133 int GetPendingRequestWantInner(MessageParcel &data, MessageParcel &reply); 134 int GetWantSenderInfoInner(MessageParcel &data, MessageParcel &reply); 135 136 int GetAppMemorySizeInner(MessageParcel &data, MessageParcel &reply); 137 int IsRamConstrainedDeviceInner(MessageParcel &data, MessageParcel &reply); 138 139 int ContinueMissionInner(MessageParcel &data, MessageParcel &reply); 140 int ContinueMissionOfBundleNameInner(MessageParcel &data, MessageParcel &reply); 141 int ContinueAbilityInner(MessageParcel &data, MessageParcel &reply); 142 int StartContinuationInner(MessageParcel &data, MessageParcel &reply); 143 int NotifyCompleteContinuationInner(MessageParcel &data, MessageParcel &reply); 144 int NotifyContinuationResultInner(MessageParcel &data, MessageParcel &reply); 145 int RegisterRemoteMissionListenerInner(MessageParcel &data, MessageParcel &reply); 146 int RegisterRemoteOnListenerInner(MessageParcel &data, MessageParcel &reply); 147 int RegisterRemoteOffListenerInner(MessageParcel &data, MessageParcel &reply); 148 int UnRegisterRemoteMissionListenerInner(MessageParcel &data, MessageParcel &reply); 149 150 int LockMissionForCleanupInner(MessageParcel &data, MessageParcel &reply); 151 int UnlockMissionForCleanupInner(MessageParcel &data, MessageParcel &reply); 152 int SetLockedStateInner(MessageParcel &data, MessageParcel &reply); 153 int RegisterMissionListenerInner(MessageParcel &data, MessageParcel &reply); 154 int UnRegisterMissionListenerInner(MessageParcel &data, MessageParcel &reply); 155 int GetMissionInfosInner(MessageParcel &data, MessageParcel &reply); 156 int GetMissionInfoInner(MessageParcel &data, MessageParcel &reply); 157 int CleanMissionInner(MessageParcel &data, MessageParcel &reply); 158 int CleanAllMissionsInner(MessageParcel &data, MessageParcel &reply); 159 int MoveMissionToFrontInner(MessageParcel &data, MessageParcel &reply); 160 int MoveMissionsToForegroundInner(MessageParcel &data, MessageParcel &reply); 161 int MoveMissionsToBackgroundInner(MessageParcel &data, MessageParcel &reply); 162 int GetMissionIdByTokenInner(MessageParcel &data, MessageParcel &reply); 163 164 // for new version ability (call ability) 165 int StartAbilityByCallInner(MessageParcel &data, MessageParcel &reply); 166 int CallRequestDoneInner(MessageParcel &data, MessageParcel &reply); 167 int ReleaseCallInner(MessageParcel &data, MessageParcel &reply); 168 int StartUserInner(MessageParcel &data, MessageParcel &reply); 169 int StopUserInner(MessageParcel &data, MessageParcel &reply); 170 int LogoutUserInner(MessageParcel &data, MessageParcel &reply); 171 int GetAbilityRunningInfosInner(MessageParcel &data, MessageParcel &reply); 172 int GetExtensionRunningInfosInner(MessageParcel &data, MessageParcel &reply); 173 int GetProcessRunningInfosInner(MessageParcel &data, MessageParcel &reply); 174 175 int StartSyncRemoteMissionsInner(MessageParcel &data, MessageParcel &reply); 176 int StopSyncRemoteMissionsInner(MessageParcel &data, MessageParcel &reply); 177 int RegisterSnapshotHandlerInner(MessageParcel &data, MessageParcel &reply); 178 int GetMissionSnapshotInfoInner(MessageParcel &data, MessageParcel &reply); 179 180 int SetAbilityControllerInner(MessageParcel &data, MessageParcel &reply); 181 182 int StartUserTestInner(MessageParcel &data, MessageParcel &reply); 183 int FinishUserTestInner(MessageParcel &data, MessageParcel &reply); 184 int GetTopAbilityTokenInner(MessageParcel &data, MessageParcel &reply); 185 int CheckUIExtensionIsFocusedInner(MessageParcel &data, MessageParcel &reply); 186 int DelegatorDoAbilityForegroundInner(MessageParcel &data, MessageParcel &reply); 187 int DelegatorDoAbilityBackgroundInner(MessageParcel &data, MessageParcel &reply); 188 int DoAbilityForegroundInner(MessageParcel &data, MessageParcel &reply); 189 int DoAbilityBackgroundInner(MessageParcel &data, MessageParcel &reply); 190 191 int IsRunningInStabilityTestInner(MessageParcel &data, MessageParcel &reply); 192 int MoveMissionToFrontByOptionsInner(MessageParcel &data, MessageParcel &reply); 193 194 int UpdateMissionSnapShotFromWMSInner(MessageParcel &data, MessageParcel &reply); 195 int RegisterConnectionObserverInner(MessageParcel &data, MessageParcel &reply); 196 int UnregisterConnectionObserverInner(MessageParcel &data, MessageParcel &reply); 197 #ifdef WITH_DLP 198 int GetDlpConnectionInfosInner(MessageParcel &data, MessageParcel &reply); 199 #endif // WITH_DLP 200 int GetConnectionDataInner(MessageParcel &data, MessageParcel &reply); 201 int MoveAbilityToBackgroundInner(MessageParcel &data, MessageParcel &reply); 202 int32_t MoveUIAbilityToBackgroundInner(MessageParcel &data, MessageParcel &reply); 203 int SetMissionContinueStateInner(MessageParcel &data, MessageParcel &reply); 204 #ifdef SUPPORT_GRAPHICS 205 int SetMissionLabelInner(MessageParcel &data, MessageParcel &reply); 206 int SetMissionIconInner(MessageParcel &data, MessageParcel &reply); 207 int RegisterWindowManagerServiceHandlerInner(MessageParcel &data, MessageParcel &reply); 208 int CompleteFirstFrameDrawingInner(MessageParcel &data, MessageParcel &reply); 209 int PrepareTerminateAbilityInner(MessageParcel &data, MessageParcel &reply); 210 int GetDialogSessionInfoInner(MessageParcel &data, MessageParcel &reply); 211 int SendDialogResultInner(MessageParcel &data, MessageParcel &reply); 212 int RegisterAbilityFirstFrameStateObserverInner(MessageParcel &data, MessageParcel &reply); 213 int UnregisterAbilityFirstFrameStateObserverInner(MessageParcel &data, MessageParcel &reply); 214 int CompleteFirstFrameDrawingBySCBInner(MessageParcel &data, MessageParcel &reply); 215 #endif 216 217 #ifdef ABILITY_COMMAND_FOR_TEST 218 int ForceTimeoutForTestInner(MessageParcel &data, MessageParcel &reply); 219 #endif 220 221 int FreeInstallAbilityFromRemoteInner(MessageParcel &data, MessageParcel &reply); 222 int AddFreeInstallObserverInner(MessageParcel &data, MessageParcel &reply); 223 224 int EnableRecoverAbilityInner(MessageParcel &data, MessageParcel &reply); 225 int SubmitSaveRecoveryInfoInner(MessageParcel &data, MessageParcel &reply); 226 int ScheduleRecoverAbilityInner(MessageParcel &data, MessageParcel &reply); 227 int ScheduleClearRecoveryPageStackInner(MessageParcel &data, MessageParcel &reply); 228 int GetTopAbilityInner(MessageParcel &data, MessageParcel &reply); 229 int GetElementNameByTokenInner(MessageParcel &data, MessageParcel &reply); 230 int DumpAbilityInfoDoneInner(MessageParcel &data, MessageParcel &reply); 231 int32_t IsValidMissionIdsInner(MessageParcel &data, MessageParcel &reply); 232 233 int VerifyPermissionInner(MessageParcel &data, MessageParcel &reply); 234 235 int HandleRequestDialogService(MessageParcel &data, MessageParcel &reply); 236 int32_t HandleReportDrawnCompleted(MessageParcel &data, MessageParcel &reply); 237 238 int AcquireShareDataInner(MessageParcel &data, MessageParcel &reply); 239 int ShareDataDoneInner(MessageParcel &data, MessageParcel &reply); 240 int GetAbilityTokenByCalleeObjInner(MessageParcel &data, MessageParcel &reply); 241 242 int32_t ForceExitAppInner(MessageParcel &data, MessageParcel &reply); 243 int32_t RecordAppExitReasonInner(MessageParcel &data, MessageParcel &reply); 244 int32_t RecordProcessExitReasonInner(MessageParcel &data, MessageParcel &reply); 245 int32_t SetResidentProcessEnableInner(MessageParcel &data, MessageParcel &reply); 246 247 int SetRootSceneSessionInner(MessageParcel &data, MessageParcel &reply); 248 int CallUIAbilityBySCBInner(MessageParcel &data, MessageParcel &reply); 249 int StartSpecifiedAbilityBySCBInner(MessageParcel &data, MessageParcel &reply); 250 int NotifySaveAsResultInner(MessageParcel &data, MessageParcel &reply); 251 252 int SetSessionManagerServiceInner(MessageParcel &data, MessageParcel &reply); 253 254 int32_t RegisterIAbilityManagerCollaboratorInner(MessageParcel &data, MessageParcel &reply); 255 int32_t UnregisterIAbilityManagerCollaboratorInner(MessageParcel &data, MessageParcel &reply); 256 257 int32_t RegisterStatusBarDelegateInner(MessageParcel &data, MessageParcel &reply); 258 int32_t KillProcessWithPrepareTerminateInner(MessageParcel &data, MessageParcel &reply); 259 260 int32_t RegisterAutoStartupSystemCallbackInner(MessageParcel &data, MessageParcel &reply); 261 int32_t UnregisterAutoStartupSystemCallbackInner(MessageParcel &data, MessageParcel &reply); 262 int32_t SetApplicationAutoStartupInner(MessageParcel &data, MessageParcel &reply); 263 int32_t CancelApplicationAutoStartupInner(MessageParcel &data, MessageParcel &reply); 264 int32_t QueryAllAutoStartupApplicationsInner(MessageParcel &data, MessageParcel &reply); 265 266 int PrepareTerminateAbilityBySCBInner(MessageParcel &data, MessageParcel &reply); 267 int RegisterSessionHandlerInner(MessageParcel &data, MessageParcel &reply); 268 int32_t UpdateSessionInfoBySCBInner(MessageParcel &data, MessageParcel &reply); 269 270 int32_t RegisterAppDebugListenerInner(MessageParcel &data, MessageParcel &reply); 271 int32_t UnregisterAppDebugListenerInner(MessageParcel &data, MessageParcel &reply); 272 int32_t AttachAppDebugInner(MessageParcel &data, MessageParcel &reply); 273 int32_t DetachAppDebugInner(MessageParcel &data, MessageParcel &reply); 274 int32_t ExecuteIntentInner(MessageParcel &data, MessageParcel &reply); 275 276 int32_t SetApplicationAutoStartupByEDMInner(MessageParcel &data, MessageParcel &reply); 277 int32_t CancelApplicationAutoStartupByEDMInner(MessageParcel &data, MessageParcel &reply); 278 279 int32_t IsAbilityControllerStartInner(MessageParcel &data, MessageParcel &reply); 280 int32_t OpenFileInner(MessageParcel &data, MessageParcel &reply); 281 282 int32_t OpenAtomicServiceInner(MessageParcel &data, MessageParcel &reply); 283 int32_t IsEmbeddedOpenAllowedInner(MessageParcel &data, MessageParcel &reply); 284 285 int StartAbilityForResultAsCallerInner(MessageParcel &data, MessageParcel &reply); 286 int StartAbilityForResultAsCallerForOptionsInner(MessageParcel &data, MessageParcel &reply); 287 288 int32_t StartAbilityOnlyUIAbilityInner(MessageParcel &data, MessageParcel &reply); 289 290 //insight intent related 291 int32_t StartAbilityByInsightIntentInner(MessageParcel &data, MessageParcel &reply); 292 int32_t ExecuteInsightIntentDoneInner(MessageParcel &data, MessageParcel &reply); 293 int32_t GetForegroundUIAbilitiesInner(MessageParcel &data, MessageParcel &reply); 294 int32_t RestartAppInner(MessageParcel &data, MessageParcel &reply); 295 296 int32_t GetUIExtensionRootHostInfoInner(MessageParcel &data, MessageParcel &reply); 297 int32_t GetUIExtensionSessionInfoInner(MessageParcel &data, MessageParcel &reply); 298 int32_t RequestAssertFaultDialogInner(MessageParcel &data, MessageParcel &reply); 299 int32_t NotifyDebugAssertResultInner(MessageParcel &data, MessageParcel &reply); 300 int32_t StartShortcutInner(MessageParcel &data, MessageParcel &reply); 301 int32_t GetAbilityStateByPersistentIdInner(MessageParcel &data, MessageParcel &reply); 302 int32_t TransferAbilityResultForExtensionInner(MessageParcel &data, MessageParcel &reply); 303 int32_t NotifyFrozenProcessByRSSInner(MessageParcel &data, MessageParcel &reply); 304 int32_t CleanUIAbilityBySCBInner(MessageParcel &data, MessageParcel &reply); 305 int32_t PreStartMissionInner(MessageParcel &data, MessageParcel &reply); 306 int OnRemoteRequestInnerFirst(uint32_t code, MessageParcel &data, 307 MessageParcel &reply, MessageOption &option); 308 int OnRemoteRequestInnerSecond(uint32_t code, MessageParcel &data, 309 MessageParcel &reply, MessageOption &option); 310 int OnRemoteRequestInnerThird(uint32_t code, MessageParcel &data, 311 MessageParcel &reply, MessageOption &option); 312 int OnRemoteRequestInnerFourth(uint32_t code, MessageParcel &data, 313 MessageParcel &reply, MessageOption &option); 314 int OnRemoteRequestInnerFifth(uint32_t code, MessageParcel &data, 315 MessageParcel &reply, MessageOption &option); 316 int OnRemoteRequestInnerSixth(uint32_t code, MessageParcel &data, 317 MessageParcel &reply, MessageOption &option); 318 int OnRemoteRequestInnerSeventh(uint32_t code, MessageParcel &data, 319 MessageParcel &reply, MessageOption &option); 320 int OnRemoteRequestInnerEighth(uint32_t code, MessageParcel &data, 321 MessageParcel &reply, MessageOption &option); 322 int OnRemoteRequestInnerNinth(uint32_t code, MessageParcel &data, 323 MessageParcel &reply, MessageOption &option); 324 int OnRemoteRequestInnerTenth(uint32_t code, MessageParcel &data, 325 MessageParcel &reply, MessageOption &option); 326 int OnRemoteRequestInnerEleventh(uint32_t code, MessageParcel &data, 327 MessageParcel &reply, MessageOption &option); 328 int OnRemoteRequestInner(uint32_t code, MessageParcel &data, 329 MessageParcel &reply, MessageOption &option); 330 int OnRemoteRequestInnerTwelveth(uint32_t code, MessageParcel &data, 331 MessageParcel &reply, MessageOption &option); 332 int OnRemoteRequestInnerThirteenth(uint32_t code, MessageParcel &data, 333 MessageParcel &reply, MessageOption &option); 334 int OnRemoteRequestInnerFourteenth(uint32_t code, MessageParcel &data, 335 MessageParcel &reply, MessageOption &option); 336 int OnRemoteRequestInnerFifteenth(uint32_t code, MessageParcel &data, 337 MessageParcel &reply, MessageOption &option); 338 int OnRemoteRequestInnerSixteenth(uint32_t code, MessageParcel &data, 339 MessageParcel &reply, MessageOption &option); 340 int OnRemoteRequestInnerSeventeenth(uint32_t code, MessageParcel &data, 341 MessageParcel &reply, MessageOption &option); 342 int OnRemoteRequestInnerEighteenth(uint32_t code, MessageParcel &data, 343 MessageParcel &reply, MessageOption &option); 344 int OnRemoteRequestInnerNineteenth(uint32_t code, MessageParcel &data, 345 MessageParcel &reply, MessageOption &option); 346 int HandleOnRemoteRequestInnerFirst(uint32_t code, MessageParcel &data, 347 MessageParcel &reply, MessageOption &option); 348 int HandleOnRemoteRequestInnerSecond(uint32_t code, MessageParcel &data, 349 MessageParcel &reply, MessageOption &option); 350 int32_t OpenLinkInner(MessageParcel &data, MessageParcel &reply); 351 int32_t TerminateMissionInner(MessageParcel &data, MessageParcel &reply); 352 int32_t BlockAllAppStartInner(MessageParcel &data, MessageParcel &reply); 353 int32_t UpdateAssociateConfigListInner(MessageParcel &data, MessageParcel &reply); 354 }; 355 } // namespace AAFwk 356 } // namespace OHOS 357 #endif // OHOS_ABILITY_RUNTIME_ABILITY_MANAGER_STUB_H 358