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