1 /*
2  * Copyright (c) 2021-2023 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 #define HST_LOG_TAG "JobUtils"
17 #include "osal/task/jobutils.h"
18 #include <unistd.h>
19 #include "common/log.h"
20 
21 namespace {
22 constexpr OHOS::HiviewDFX::HiLogLabel LABEL = { LOG_CORE, LOG_DOMAIN_FOUNDATION, "JobUtils" };
23 }
24 
25 namespace OHOS {
26 namespace Media {
SleepInJob(unsigned ms)27 void SleepInJob(unsigned ms)
28 {
29     constexpr int factor = 1000; // to us
30     usleep(ms * factor);
31 }
32 
WaitForFinish(JobHandle)33 void WaitForFinish(JobHandle)
34 {
35     MEDIA_LOG_E("JobHandle WaitForFinish has not been implemented.");
36 }
37 
SubmitJobOnce(std::function<void ()> job)38 void SubmitJobOnce(std::function<void()> job)
39 {
40     job();
41 }
42 
43 
SubmitJobOnceAsync(std::function<void ()> job)44 JobHandle SubmitJobOnceAsync(std::function<void()> job)
45 {
46     // pthread async submit has not been implemented
47     job();
48     JobHandle h = 0;
49     return h;
50 }
51 } // namespace Media
52 } // namespace OHOS