1 /*
2 * Copyright (c) 2023-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 #include "kits/native/include/camera/camera_input.h"
17 #include "impl/camera_input_impl.h"
18 #include "camera_log.h"
19 #include "hilog/log.h"
20
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24
OH_CameraInput_RegisterCallback(Camera_Input * cameraInput,CameraInput_Callbacks * callback)25 Camera_ErrorCode OH_CameraInput_RegisterCallback(Camera_Input* cameraInput, CameraInput_Callbacks* callback)
26 {
27 CHECK_AND_RETURN_RET_LOG(cameraInput != nullptr, CAMERA_INVALID_ARGUMENT,
28 "invaild argument! cameraInput is null!");
29 CHECK_AND_RETURN_RET_LOG(callback != nullptr, CAMERA_INVALID_ARGUMENT,
30 "invaild argument! callback is null!");
31 CHECK_AND_RETURN_RET_LOG(callback->onError!= nullptr, CAMERA_INVALID_ARGUMENT,
32 "invaild argument! callback onError is null!");
33 cameraInput->RegisterCallback(callback);
34 return CAMERA_OK;
35 }
36
OH_CameraInput_UnregisterCallback(Camera_Input * cameraInput,CameraInput_Callbacks * callback)37 Camera_ErrorCode OH_CameraInput_UnregisterCallback(Camera_Input* cameraInput, CameraInput_Callbacks* callback)
38 {
39 CHECK_AND_RETURN_RET_LOG(cameraInput != nullptr, CAMERA_INVALID_ARGUMENT,
40 "invaild argument! cameraInput is null!");
41 CHECK_AND_RETURN_RET_LOG(callback != nullptr, CAMERA_INVALID_ARGUMENT,
42 "invaild argument! callback is null!");
43 CHECK_AND_RETURN_RET_LOG(callback->onError!= nullptr, CAMERA_INVALID_ARGUMENT,
44 "invaild argument! callback onError is null!");
45 cameraInput->UnregisterCallback(callback);
46 return CAMERA_OK;
47 }
48
OH_CameraInput_Open(Camera_Input * cameraInput)49 Camera_ErrorCode OH_CameraInput_Open(Camera_Input* cameraInput)
50 {
51 CHECK_AND_RETURN_RET_LOG(cameraInput != nullptr, CAMERA_INVALID_ARGUMENT,
52 "invaild argument! cameraInput is null!");
53
54 return cameraInput->Open();
55 }
56
OH_CameraInput_Close(Camera_Input * cameraInput)57 Camera_ErrorCode OH_CameraInput_Close(Camera_Input* cameraInput)
58 {
59 CHECK_AND_RETURN_RET_LOG(cameraInput != nullptr, CAMERA_INVALID_ARGUMENT,
60 "invaild argument! cameraInput is null!");
61
62 return cameraInput->Close();
63 }
64
OH_CameraInput_Release(Camera_Input * cameraInput)65 Camera_ErrorCode OH_CameraInput_Release(Camera_Input* cameraInput)
66 {
67 CHECK_AND_RETURN_RET_LOG(cameraInput != nullptr, CAMERA_INVALID_ARGUMENT,
68 "invaild argument! cameraInput is null!");
69
70 Camera_ErrorCode retCode = cameraInput->Release();
71 if (cameraInput != nullptr) {
72 delete cameraInput;
73 }
74 return retCode;
75 }
76
77 #ifdef __cplusplus
78 }
79 #endif