• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2021-2022 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_AAFWK_ABILITY_MANAGER_STUB_H
17 #define OHOS_AAFWK_ABILITY_MANAGER_STUB_H
18 
19 #include "ability_manager_interface.h"
20 
21 #include <iremote_object.h>
22 #include <iremote_stub.h>
23 
24 #include "hilog_wrapper.h"
25 
26 namespace OHOS {
27 namespace AAFwk {
28 /**
29  * @class AbilityManagerStub
30  * AbilityManagerStub.
31  */
32 class AbilityManagerStub : public IRemoteStub<IAbilityManager> {
33 public:
34     AbilityManagerStub();
35     ~AbilityManagerStub();
36     virtual int OnRemoteRequest(
37         uint32_t code, MessageParcel &data, MessageParcel &reply, MessageOption &option) override;
38 
39     /**
40      * Calls this interface to move the ability to the foreground.
41      *
42      * @param token, ability's token.
43      * @param flag, use for lock or unlock flag and so on.
44      * @return Returns ERR_OK on success, others on failure.
45      */
46     virtual int DoAbilityForeground(const sptr<IRemoteObject> &token, uint32_t flag) override;
47 
48     /**
49      * Calls this interface to move the ability to the background.
50      *
51      * @param token, ability's token.
52      * @param flag, use for lock or unlock flag and so on.
53      * @return Returns ERR_OK on success, others on failure.
54      */
55     virtual int DoAbilityBackground(const sptr<IRemoteObject> &token, uint32_t flag) override;
56 private:
57     void FirstStepInit();
58     void SecondStepInit();
59     void ThirdStepInit();
60     int TerminateAbilityInner(MessageParcel &data, MessageParcel &reply);
61     int TerminateAbilityByCallerInner(MessageParcel &data, MessageParcel &reply);
62     int MinimizeAbilityInner(MessageParcel &data, MessageParcel &reply);
63     int AttachAbilityThreadInner(MessageParcel &data, MessageParcel &reply);
64     int AbilityTransitionDoneInner(MessageParcel &data, MessageParcel &reply);
65     int ScheduleConnectAbilityDoneInner(MessageParcel &data, MessageParcel &reply);
66     int ScheduleDisconnectAbilityDoneInner(MessageParcel &data, MessageParcel &reply);
67     int AddWindowInfoInner(MessageParcel &data, MessageParcel &reply);
68     int TerminateAbilityResultInner(MessageParcel &data, MessageParcel &reply);
69     int GetAllStackInfoInner(MessageParcel &data, MessageParcel &reply);
70     int GetRecentMissionsInner(MessageParcel &data, MessageParcel &reply);
71     int RemoveMissionInner(MessageParcel &data, MessageParcel &reply);
72     int ScheduleCommandAbilityDoneInner(MessageParcel &data, MessageParcel &reply);
73     int GetMissionSnapshotInner(MessageParcel &data, MessageParcel &reply);
74     int AcquireDataAbilityInner(MessageParcel &data, MessageParcel &reply);
75     int ReleaseDataAbilityInner(MessageParcel &data, MessageParcel &reply);
76     int MoveMissionToTopInner(MessageParcel &data, MessageParcel &reply);
77     int MoveMissionToEndInner(MessageParcel &data, MessageParcel &reply);
78     int KillProcessInner(MessageParcel &data, MessageParcel &reply);
79     int UninstallAppInner(MessageParcel &data, MessageParcel &reply);
80     int StartAbilityInner(MessageParcel &data, MessageParcel &reply);
81     int StartAbilityAddCallerInner(MessageParcel &data, MessageParcel &reply);
82     int ConnectAbilityInner(MessageParcel &data, MessageParcel &reply);
83     int DisconnectAbilityInner(MessageParcel &data, MessageParcel &reply);
84     int StopServiceAbilityInner(MessageParcel &data, MessageParcel &reply);
85     int DumpStateInner(MessageParcel &data, MessageParcel &reply);
86     int DumpSysStateInner(MessageParcel &data, MessageParcel &reply);
87     int StartAbilityForSettingsInner(MessageParcel &data, MessageParcel &reply);
88     int StartAbilityForOptionsInner(MessageParcel &data, MessageParcel &reply);
89     int MoveMissionToFloatingStackInner(MessageParcel &data, MessageParcel &reply);
90     int MoveMissionToSplitScreenStackInner(MessageParcel &data, MessageParcel &reply);
91     int ChangeFocusAbilityInner(MessageParcel &data, MessageParcel &reply);
92     int MinimizeMultiWindowInner(MessageParcel &data, MessageParcel &reply);
93     int MaximizeMultiWindowInner(MessageParcel &data, MessageParcel &reply);
94     int GetFloatingMissionsInner(MessageParcel &data, MessageParcel &reply);
95     int CloseMultiWindowInner(MessageParcel &data, MessageParcel &reply);
96     int SetMissionStackSettingInner(MessageParcel &data, MessageParcel &reply);
97     int IsFirstInMissionInner(MessageParcel &data, MessageParcel &reply);
98     int PowerOffInner(MessageParcel &data, MessageParcel &reply);
99     int PowerOnInner(MessageParcel &data, MessageParcel &reply);
100     int LockMissionInner(MessageParcel &data, MessageParcel &reply);
101     int UnlockMissionInner(MessageParcel &data, MessageParcel &reply);
102     int SetMissionDescriptionInfoInner(MessageParcel &data, MessageParcel &reply);
103     int GetMissionLockModeStateInner(MessageParcel &data, MessageParcel &reply);
104     int UpdateConfigurationInner(MessageParcel &data, MessageParcel &reply);
105 
106     int GetWantSenderInner(MessageParcel &data, MessageParcel &reply);
107     int SendWantSenderInner(MessageParcel &data, MessageParcel &reply);
108     int CancelWantSenderInner(MessageParcel &data, MessageParcel &reply);
109 
110     int GetPendingWantUidInner(MessageParcel &data, MessageParcel &reply);
111     int GetPendingWantUserIdInner(MessageParcel &data, MessageParcel &reply);
112     int GetPendingWantBundleNameInner(MessageParcel &data, MessageParcel &reply);
113     int GetPendingWantCodeInner(MessageParcel &data, MessageParcel &reply);
114     int GetPendingWantTypeInner(MessageParcel &data, MessageParcel &reply);
115 
116     int RegisterCancelListenerInner(MessageParcel &data, MessageParcel &reply);
117     int UnregisterCancelListenerInner(MessageParcel &data, MessageParcel &reply);
118 
119     int GetPendingRequestWantInner(MessageParcel &data, MessageParcel &reply);
120     int GetWantSenderInfoInner(MessageParcel &data, MessageParcel &reply);
121     int SetShowOnLockScreenInner(MessageParcel &data, MessageParcel &reply);
122 
123     int GetSystemMemoryAttrInner(MessageParcel &data, MessageParcel &reply);
124     int GetAppMemorySizeInner(MessageParcel &data, MessageParcel &reply);
125     int IsRamConstrainedDeviceInner(MessageParcel &data, MessageParcel &reply);
126     int ClearUpApplicationDataInner(MessageParcel &data, MessageParcel &reply);
127 
128     int ContinueMissionInner(MessageParcel &data, MessageParcel &reply);
129     int ContinueAbilityInner(MessageParcel &data, MessageParcel &reply);
130     int StartContinuationInner(MessageParcel &data, MessageParcel &reply);
131     int NotifyCompleteContinuationInner(MessageParcel &data, MessageParcel &reply);
132     int NotifyContinuationResultInner(MessageParcel &data, MessageParcel &reply);
133     int RegisterRemoteMissionListenerInner(MessageParcel &data, MessageParcel &reply);
134     int UnRegisterRemoteMissionListenerInner(MessageParcel &data, MessageParcel &reply);
135 
136     int LockMissionForCleanupInner(MessageParcel &data, MessageParcel &reply);
137     int UnlockMissionForCleanupInner(MessageParcel &data, MessageParcel &reply);
138     int RegisterMissionListenerInner(MessageParcel &data, MessageParcel &reply);
139     int UnRegisterMissionListenerInner(MessageParcel &data, MessageParcel &reply);
140     int GetMissionInfosInner(MessageParcel &data, MessageParcel &reply);
141     int GetMissionInfoInner(MessageParcel &data, MessageParcel &reply);
142     int CleanMissionInner(MessageParcel &data, MessageParcel &reply);
143     int CleanAllMissionsInner(MessageParcel &data, MessageParcel &reply);
144     int MoveMissionToFrontInner(MessageParcel &data, MessageParcel &reply);
145     int GetMissionIdByTokenInner(MessageParcel &data, MessageParcel &reply);
146 
147 	// for new version ability (call ability)
148     int StartAbilityByCallInner(MessageParcel &data, MessageParcel &reply);
149     int ReleaseInner(MessageParcel &data, MessageParcel &reply);
150     int StartUserInner(MessageParcel &data, MessageParcel &reply);
151     int StopUserInner(MessageParcel &data, MessageParcel &reply);
152     int SetMissionLabelInner(MessageParcel &data, MessageParcel &reply);
153     int SetMissionIconInner(MessageParcel &data, MessageParcel &reply);
154     int GetAbilityRunningInfosInner(MessageParcel &data, MessageParcel &reply);
155     int GetExtensionRunningInfosInner(MessageParcel &data, MessageParcel &reply);
156     int GetProcessRunningInfosInner(MessageParcel &data, MessageParcel &reply);
157 
158     int StartSyncRemoteMissionsInner(MessageParcel &data, MessageParcel &reply);
159     int StopSyncRemoteMissionsInner(MessageParcel &data, MessageParcel &reply);
160     int RegisterSnapshotHandlerInner(MessageParcel &data, MessageParcel &reply);
161     int GetMissionSnapshotInfoInner(MessageParcel &data, MessageParcel &reply);
162     int SendANRProcessIDInner(MessageParcel &data, MessageParcel &reply);
163 
164     int SetAbilityControllerInner(MessageParcel &data, MessageParcel &reply);
165 
166     int StartUserTestInner(MessageParcel &data, MessageParcel &reply);
167     int FinishUserTestInner(MessageParcel &data, MessageParcel &reply);
168     int GetCurrentTopAbilityInner(MessageParcel &data, MessageParcel &reply);
169     int DelegatorDoAbilityForegroundInner(MessageParcel &data, MessageParcel &reply);
170     int DelegatorDoAbilityBackgroundInner(MessageParcel &data, MessageParcel &reply);
171     int DoAbilityForegroundInner(MessageParcel &data, MessageParcel &reply);
172     int DoAbilityBackgroundInner(MessageParcel &data, MessageParcel &reply);
173 
174     int IsRunningInStabilityTestInner(MessageParcel &data, MessageParcel &reply);
175     int MoveMissionToFrontByOptionsInner(MessageParcel &data, MessageParcel &reply);
176 
177     int ForceTimeoutForTestInner(MessageParcel &data, MessageParcel &reply);
178 
179     using RequestFuncType = int (AbilityManagerStub::*)(MessageParcel &data, MessageParcel &reply);
180     std::map<uint32_t, RequestFuncType> requestFuncMap_;
181 
182     int GetTopAbilityInner(MessageParcel &data, MessageParcel &reply);
183     int DumpAbilityInfoDoneInner(MessageParcel &data, MessageParcel &reply);
184 };
185 }  // namespace AAFwk
186 }  // namespace OHOS
187 #endif  // OHOS_AAFWK_ABILITY_MANAGER_STUB_H
188