1 /*
2  * Copyright (c) 2020-2021 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 #include "camera_kit.h"
16 #include "camera_manager.h"
17 #include "pms_interface.h"
18 
19 using namespace std;
20 namespace OHOS {
21 namespace Media {
22 CameraManager *cameraManager_ = nullptr;
CameraKit()23 CameraKit::CameraKit()
24 {
25     cameraManager_ = CameraManager::GetInstance();
26 }
27 
~CameraKit()28 CameraKit::~CameraKit() {}
29 
GetInstance()30 CameraKit *CameraKit::GetInstance()
31 {
32     if (CheckSelfPermission("ohos.permission.CAMERA") != GRANTED) {
33         MEDIA_WARNING_LOG("Process can not access camera.");
34         return nullptr;
35     }
36     static CameraKit kit;
37     return &kit;
38 }
39 
GetCameraIds()40 list<string> CameraKit::GetCameraIds()
41 {
42     return cameraManager_->GetCameraIds();
43 }
44 
GetCameraAbility(string cameraId)45 const CameraAbility *CameraKit::GetCameraAbility(string cameraId)
46 {
47     return cameraManager_->GetCameraAbility(cameraId);
48 }
49 
GetCameraInfo(string cameraId)50 const CameraInfo *CameraKit::GetCameraInfo(string cameraId)
51 {
52     return cameraManager_->GetCameraInfo(cameraId);
53 }
54 
RegisterCameraDeviceCallback(CameraDeviceCallback & callback,EventHandler & handler)55 void CameraKit::RegisterCameraDeviceCallback(CameraDeviceCallback &callback, EventHandler &handler)
56 {
57     cameraManager_->RegisterCameraDeviceCallback(callback, handler);
58 }
59 
UnregisterCameraDeviceCallback(CameraDeviceCallback & callback)60 void CameraKit::UnregisterCameraDeviceCallback(CameraDeviceCallback &callback)
61 {
62     cameraManager_->UnregisterCameraDeviceCallback(callback);
63 }
64 
CreateCamera(const string & cameraId,CameraStateCallback & callback,EventHandler & handler)65 void CameraKit::CreateCamera(const string &cameraId, CameraStateCallback &callback, EventHandler &handler)
66 {
67     cameraManager_->CreateCamera(cameraId, callback, handler);
68 }
69 
GetCameraModeNum()70 uint8_t CameraKit::GetCameraModeNum()
71 {
72     return cameraManager_->GetCameraModeNum();
73 }
74 
SetCameraMode(uint8_t modeIndex)75 int32_t CameraKit::SetCameraMode(uint8_t modeIndex)
76 {
77     return cameraManager_->SetCameraMode(modeIndex);
78 }
79 } // namespace Media
80 } // namespace OHOS
81