1 /*
2  * Copyright (c) 2022-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 #include "camera_service_client.h"
16 
17 #include "media_log.h"
18 #include "camera_type.h"
19 #include "camera_manager.h"
20 #include "meta_data.h"
21 
22 using namespace std;
23 namespace OHOS {
24 namespace Media {
GetInstance()25 CameraServiceClient *CameraServiceClient::GetInstance()
26 {
27     static CameraServiceClient client;
28     return &client;
29 }
30 
CameraServiceClient()31 CameraServiceClient::CameraServiceClient()
32 {
33     cameraService_ = CameraService::GetInstance();
34 }
35 
~CameraServiceClient()36 CameraServiceClient::~CameraServiceClient() {}
37 
InitCameraServiceClient(CameraServiceCallback * callback)38 void CameraServiceClient::InitCameraServiceClient(CameraServiceCallback *callback)
39 {
40     cameraServiceCb_ = callback;
41     cameraService_->Initialize();
42     list<string> cameraList = cameraService_->GetCameraIdList();
43     cameraServiceCb_->OnCameraServiceInitialized(cameraList);
44 }
45 
GetCameraIdList()46 list<string> CameraServiceClient::GetCameraIdList()
47 {
48     return cameraService_->GetCameraIdList();
49 }
50 
GetCameraModeNum()51 uint8_t CameraServiceClient::GetCameraModeNum()
52 {
53     return cameraService_->GetCameraModeNum();
54 }
55 
GetCameraAbility(string & cameraId)56 CameraAbility *CameraServiceClient::GetCameraAbility(string &cameraId)
57 {
58     return cameraService_->GetCameraAbility(cameraId);
59 }
60 
GetCameraInfo(string & cameraId)61 CameraInfo *CameraServiceClient::GetCameraInfo(string &cameraId)
62 {
63     return cameraService_->GetCameraInfo(cameraId);
64 }
65 
SetCameraMode(uint8_t modeIndex)66 int32_t CameraServiceClient::SetCameraMode(uint8_t modeIndex)
67 {
68     return cameraService_->SetCameraMode(modeIndex);
69 }
70 
CreateCamera(string cameraId)71 void CameraServiceClient::CreateCamera(string cameraId)
72 {
73     CameraServiceCallback::CameraStatus cameraStatus =
74         static_cast<CameraServiceCallback::CameraStatus>(cameraService_->CreateCamera(cameraId));
75     cameraServiceCb_->OnCameraStatusChange(cameraId, cameraStatus);
76 }
77 } // namespace Media
78 } // namespace OHOS
79