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 19using namespace std; 20namespace OHOS { 21namespace Media { 22CameraManager *cameraManager_ = nullptr; 23CameraKit::CameraKit() 24{ 25 cameraManager_ = CameraManager::GetInstance(); 26} 27 28CameraKit::~CameraKit() {} 29 30CameraKit *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 40list<string> CameraKit::GetCameraIds() 41{ 42 return cameraManager_->GetCameraIds(); 43} 44 45const CameraAbility *CameraKit::GetCameraAbility(string cameraId) 46{ 47 return cameraManager_->GetCameraAbility(cameraId); 48} 49 50const CameraInfo *CameraKit::GetCameraInfo(string cameraId) 51{ 52 return cameraManager_->GetCameraInfo(cameraId); 53} 54 55void CameraKit::RegisterCameraDeviceCallback(CameraDeviceCallback &callback, EventHandler &handler) 56{ 57 cameraManager_->RegisterCameraDeviceCallback(callback, handler); 58} 59 60void CameraKit::UnregisterCameraDeviceCallback(CameraDeviceCallback &callback) 61{ 62 cameraManager_->UnregisterCameraDeviceCallback(callback); 63} 64 65void CameraKit::CreateCamera(const string &cameraId, CameraStateCallback &callback, EventHandler &handler) 66{ 67 cameraManager_->CreateCamera(cameraId, callback, handler); 68} 69 70uint8_t CameraKit::GetCameraModeNum() 71{ 72 return cameraManager_->GetCameraModeNum(); 73} 74 75int32_t CameraKit::SetCameraMode(uint8_t modeIndex) 76{ 77 return cameraManager_->SetCameraMode(modeIndex); 78} 79} // namespace Media 80} // namespace OHOS 81