• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 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 #include "background_task_subscriber.h"
17 
18 namespace OHOS {
19 namespace BackgroundTaskMgr {
BackgroundTaskSubscriber()20 BackgroundTaskSubscriber::BackgroundTaskSubscriber()
21 {
22     impl_ = new (std::nothrow) BackgroundTaskSubscriberImpl(*this);
23 };
24 
~BackgroundTaskSubscriber()25 BackgroundTaskSubscriber::~BackgroundTaskSubscriber() {}
26 
OnConnected()27 void BackgroundTaskSubscriber::OnConnected() {}
28 
OnDisconnected()29 void BackgroundTaskSubscriber::OnDisconnected() {}
30 
OnTransientTaskStart(const std::shared_ptr<TransientTaskAppInfo> & info)31 void BackgroundTaskSubscriber::OnTransientTaskStart(const std::shared_ptr<TransientTaskAppInfo>& info) {}
32 
OnTransientTaskEnd(const std::shared_ptr<TransientTaskAppInfo> & info)33 void BackgroundTaskSubscriber::OnTransientTaskEnd(const std::shared_ptr<TransientTaskAppInfo>& info) {}
34 
OnTransientTaskErr(const std::shared_ptr<TransientTaskAppInfo> & info)35 void BackgroundTaskSubscriber::OnTransientTaskErr(const std::shared_ptr<TransientTaskAppInfo>& info) {}
36 
OnAppTransientTaskStart(const std::shared_ptr<TransientTaskAppInfo> & info)37 void BackgroundTaskSubscriber::OnAppTransientTaskStart(const std::shared_ptr<TransientTaskAppInfo>& info) {}
38 
OnAppTransientTaskEnd(const std::shared_ptr<TransientTaskAppInfo> & info)39 void BackgroundTaskSubscriber::OnAppTransientTaskEnd(const std::shared_ptr<TransientTaskAppInfo>& info) {}
40 
OnContinuousTaskStart(const std::shared_ptr<ContinuousTaskCallbackInfo> & continuousTaskCallbackInfo)41 void BackgroundTaskSubscriber::OnContinuousTaskStart(
42     const std::shared_ptr<ContinuousTaskCallbackInfo> &continuousTaskCallbackInfo) {}
43 
OnContinuousTaskUpdate(const std::shared_ptr<ContinuousTaskCallbackInfo> & continuousTaskCallbackInfo)44 void BackgroundTaskSubscriber::OnContinuousTaskUpdate(
45     const std::shared_ptr<ContinuousTaskCallbackInfo> &continuousTaskCallbackInfo) {}
46 
OnContinuousTaskStop(const std::shared_ptr<ContinuousTaskCallbackInfo> & continuousTaskCallbackInfo)47 void BackgroundTaskSubscriber::OnContinuousTaskStop(
48     const std::shared_ptr<ContinuousTaskCallbackInfo> &continuousTaskCallbackInfo) {}
49 
OnContinuousTaskSuspend(const std::shared_ptr<ContinuousTaskCallbackInfo> & continuousTaskCallbackInfo)50 void BackgroundTaskSubscriber::OnContinuousTaskSuspend(
51     const std::shared_ptr<ContinuousTaskCallbackInfo> &continuousTaskCallbackInfo) {}
52 
OnContinuousTaskActive(const std::shared_ptr<ContinuousTaskCallbackInfo> & continuousTaskCallbackInfo)53 void BackgroundTaskSubscriber::OnContinuousTaskActive(
54     const std::shared_ptr<ContinuousTaskCallbackInfo> &continuousTaskCallbackInfo) {}
55 
OnAppContinuousTaskStop(int32_t uid)56 void BackgroundTaskSubscriber::OnAppContinuousTaskStop(int32_t uid) {}
57 
OnRemoteDied(const wptr<IRemoteObject> & object)58 void BackgroundTaskSubscriber::OnRemoteDied(const wptr<IRemoteObject> &object) {}
59 
OnProcEfficiencyResourcesApply(const std::shared_ptr<ResourceCallbackInfo> & resourceInfo)60 void BackgroundTaskSubscriber::OnProcEfficiencyResourcesApply(
61     const std::shared_ptr<ResourceCallbackInfo> &resourceInfo) {}
62 
OnProcEfficiencyResourcesReset(const std::shared_ptr<ResourceCallbackInfo> & resourceInfo)63 void BackgroundTaskSubscriber::OnProcEfficiencyResourcesReset(
64     const std::shared_ptr<ResourceCallbackInfo> &resourceInfo) {}
65 
OnAppEfficiencyResourcesApply(const std::shared_ptr<ResourceCallbackInfo> & resourceInfo)66 void BackgroundTaskSubscriber::OnAppEfficiencyResourcesApply(
67     const std::shared_ptr<ResourceCallbackInfo> &resourceInfo) {}
68 
OnAppEfficiencyResourcesReset(const std::shared_ptr<ResourceCallbackInfo> & resourceInfo)69 void BackgroundTaskSubscriber::OnAppEfficiencyResourcesReset(
70     const std::shared_ptr<ResourceCallbackInfo> &resourceInfo) {}
71 
GetFlag(int32_t & flag)72 void BackgroundTaskSubscriber::GetFlag(int32_t &flag) {}
73 
GetImpl() const74 const sptr<BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl> BackgroundTaskSubscriber::GetImpl() const
75 {
76     return impl_;
77 }
78 
BackgroundTaskSubscriberImpl(BackgroundTaskSubscriber & subscriber)79 BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::BackgroundTaskSubscriberImpl(
80     BackgroundTaskSubscriber &subscriber) : subscriber_(subscriber) {}
81 
OnConnected()82 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnConnected() {return ERR_OK;}
83 
OnDisconnected()84 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnDisconnected() {return ERR_OK;}
85 
OnAppEfficiencyResourcesApply(const ResourceCallbackInfo & resourceInfo)86 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnAppEfficiencyResourcesApply(
87     const ResourceCallbackInfo &resourceInfo) __attribute__((no_sanitize("cfi")))
88 {
89     std::shared_ptr<ResourceCallbackInfo> sharedResourceInfo = std::make_shared<ResourceCallbackInfo>(resourceInfo);
90     subscriber_.OnAppEfficiencyResourcesApply(sharedResourceInfo);
91     return ERR_OK;
92 }
93 
OnAppEfficiencyResourcesReset(const ResourceCallbackInfo & resourceInfo)94 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnAppEfficiencyResourcesReset(
95     const ResourceCallbackInfo &resourceInfo) __attribute__((no_sanitize("cfi")))
96 {
97     std::shared_ptr<ResourceCallbackInfo> sharedResourceInfo = std::make_shared<ResourceCallbackInfo>(resourceInfo);
98     subscriber_.OnAppEfficiencyResourcesReset(sharedResourceInfo);
99     return ERR_OK;
100 }
101 
OnProcEfficiencyResourcesApply(const ResourceCallbackInfo & resourceInfo)102 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnProcEfficiencyResourcesApply(
103     const ResourceCallbackInfo &resourceInfo) __attribute__((no_sanitize("cfi")))
104 {
105     std::shared_ptr<ResourceCallbackInfo> sharedResourceInfo = std::make_shared<ResourceCallbackInfo>(resourceInfo);
106     subscriber_.OnProcEfficiencyResourcesApply(sharedResourceInfo);
107     return ERR_OK;
108 }
109 
OnProcEfficiencyResourcesReset(const ResourceCallbackInfo & resourceInfo)110 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnProcEfficiencyResourcesReset(
111     const ResourceCallbackInfo &resourceInfo) __attribute__((no_sanitize("cfi")))
112 {
113     std::shared_ptr<ResourceCallbackInfo> sharedResourceInfo = std::make_shared<ResourceCallbackInfo>(resourceInfo);
114     subscriber_.OnProcEfficiencyResourcesReset(sharedResourceInfo);
115     return ERR_OK;
116 }
117 
OnTransientTaskStart(const TransientTaskAppInfo & info)118 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnTransientTaskStart(
119     const TransientTaskAppInfo& info)
120 {
121     std::shared_ptr<TransientTaskAppInfo> sharedInfo = std::make_shared<TransientTaskAppInfo>(info);
122     subscriber_.OnTransientTaskStart(sharedInfo);
123     return ERR_OK;
124 }
125 
OnTransientTaskEnd(const TransientTaskAppInfo & info)126 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnTransientTaskEnd(
127     const TransientTaskAppInfo& info)
128 {
129     std::shared_ptr<TransientTaskAppInfo> sharedInfo = std::make_shared<TransientTaskAppInfo>(info);
130     subscriber_.OnTransientTaskEnd(sharedInfo);
131     return ERR_OK;
132 }
133 
OnTransientTaskErr(const TransientTaskAppInfo & info)134 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnTransientTaskErr(
135     const TransientTaskAppInfo& info)
136 {
137     std::shared_ptr<TransientTaskAppInfo> sharedInfo = std::make_shared<TransientTaskAppInfo>(info);
138     subscriber_.OnTransientTaskErr(sharedInfo);
139     return ERR_OK;
140 }
141 
OnAppTransientTaskStart(const TransientTaskAppInfo & info)142 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnAppTransientTaskStart(
143     const TransientTaskAppInfo& info)
144 {
145     std::shared_ptr<TransientTaskAppInfo> sharedInfo = std::make_shared<TransientTaskAppInfo>(info);
146     subscriber_.OnAppTransientTaskStart(sharedInfo);
147     return ERR_OK;
148 }
149 
OnAppTransientTaskEnd(const TransientTaskAppInfo & info)150 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnAppTransientTaskEnd(
151     const TransientTaskAppInfo& info)
152 {
153     std::shared_ptr<TransientTaskAppInfo> sharedInfo = std::make_shared<TransientTaskAppInfo>(info);
154     subscriber_.OnAppTransientTaskEnd(sharedInfo);
155     return ERR_OK;
156 }
157 
OnContinuousTaskStart(const ContinuousTaskCallbackInfo & continuousTaskCallbackInfo)158 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnContinuousTaskStart(
159     const ContinuousTaskCallbackInfo &continuousTaskCallbackInfo) __attribute__((no_sanitize("cfi")))
160 {
161     std::shared_ptr<ContinuousTaskCallbackInfo> sharedInfo =
162         std::make_shared<ContinuousTaskCallbackInfo>(continuousTaskCallbackInfo);
163     subscriber_.OnContinuousTaskStart(sharedInfo);
164     return ERR_OK;
165 }
166 
OnContinuousTaskUpdate(const ContinuousTaskCallbackInfo & continuousTaskCallbackInfo)167 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnContinuousTaskUpdate(
168     const ContinuousTaskCallbackInfo &continuousTaskCallbackInfo) __attribute__((no_sanitize("cfi")))
169 {
170     std::shared_ptr<ContinuousTaskCallbackInfo> sharedInfo =
171         std::make_shared<ContinuousTaskCallbackInfo>(continuousTaskCallbackInfo);
172     subscriber_.OnContinuousTaskUpdate(sharedInfo);
173     return ERR_OK;
174 }
175 
OnContinuousTaskStop(const ContinuousTaskCallbackInfo & continuousTaskCallbackInfo)176 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnContinuousTaskStop(
177     const ContinuousTaskCallbackInfo &continuousTaskCallbackInfo) __attribute__((no_sanitize("cfi")))
178 {
179     std::shared_ptr<ContinuousTaskCallbackInfo> sharedInfo =
180         std::make_shared<ContinuousTaskCallbackInfo>(continuousTaskCallbackInfo);
181     subscriber_.OnContinuousTaskStop(sharedInfo);
182     return ERR_OK;
183 }
184 
OnContinuousTaskSuspend(const ContinuousTaskCallbackInfo & continuousTaskCallbackInfo)185 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnContinuousTaskSuspend(
186     const ContinuousTaskCallbackInfo &continuousTaskCallbackInfo) __attribute__((no_sanitize("cfi")))
187 {
188     std::shared_ptr<ContinuousTaskCallbackInfo> sharedInfo =
189         std::make_shared<ContinuousTaskCallbackInfo>(continuousTaskCallbackInfo);
190     subscriber_.OnContinuousTaskSuspend(sharedInfo);
191     return ERR_OK;
192 }
193 
OnContinuousTaskActive(const ContinuousTaskCallbackInfo & continuousTaskCallbackInfo)194 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnContinuousTaskActive(
195     const ContinuousTaskCallbackInfo &continuousTaskCallbackInfo) __attribute__((no_sanitize("cfi")))
196 {
197     std::shared_ptr<ContinuousTaskCallbackInfo> sharedInfo =
198         std::make_shared<ContinuousTaskCallbackInfo>(continuousTaskCallbackInfo);
199     subscriber_.OnContinuousTaskActive(sharedInfo);
200     return ERR_OK;
201 }
202 
OnAppContinuousTaskStop(int32_t uid)203 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::OnAppContinuousTaskStop(int32_t uid)
204     __attribute__((no_sanitize("cfi")))
205 {
206     subscriber_.OnAppContinuousTaskStop(uid);
207     return ERR_OK;
208 }
209 
GetFlag(int32_t & flag)210 ErrCode BackgroundTaskSubscriber::BackgroundTaskSubscriberImpl::GetFlag(int32_t &flag)
211 {
212     subscriber_.GetFlag(flag);
213     return ERR_OK;
214 }
215 }  // namespace BackgroundTaskMgr
216 }  // namespace OHOS