1/*
2 * Copyright (c) 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
16/**
17 * @file camera_errors.h
18 *
19 * @brief Declares the <b>camera_errors</b> class to define errors that may occur during camera operations.
20 *
21 *
22 * @since 1.0
23 * @version 1.0
24 */
25
26#ifndef CAMERA_ERRORS_H
27#define CAMERA_ERRORS_H
28
29#include <cstdint>
30
31
32namespace OHOS::Camera {
33constexpr int MODULE_CAMERA = 1;
34
35using ErrCode = int32_t;
36
37/**
38 * @brief Generates a start error code with a unique identifier based on specified subsystem and module bit numbers.
39 *
40 * @param subsystem Indicates the subsystem bit number.
41 * @param module Indicates the module bit number.
42 * @return
43 * @since 1.0
44 * @version 1.0
45 */
46
47constexpr int32_t BASE_CAMERA_ERR_OFFSET = ErrCodeOffset(SUBSYS_CAMERA, MODULE_CAMERA);
48
49/** Status error */
50const int32_t  ERR_ILLEGAL_STATE = BASE_CAMERA_ERR_OFFSET;
51
52/** Invalid parameter */
53const int32_t  ERR_INVALID_PARAM = BASE_CAMERA_ERR_OFFSET + 1;
54
55/** Null Ptr */
56const int32_t  ERR_NULL_PTR = BASE_CAMERA_ERR_OFFSET + 2;
57
58/** Alloc Fail */
59const int32_t  ERR_MEM_ALLOC_FAIL = BASE_CAMERA_ERR_OFFSET + 3;
60
61/** Invalid operation */
62const int32_t  ERR_INVALID_OPERATION = BASE_CAMERA_ERR_OFFSET + 4;
63
64/** Device Unexist */
65const int32_t  ERR_DEVICE_UNEXIST = BASE_CAMERA_ERR_OFFSET + 5;
66
67/** Device Busy */
68const int32_t  ERR_DEVICE_BUSY = BASE_CAMERA_ERR_OFFSET + 6;
69
70/**  Device Connect Fail */
71const int32_t  ERR_DEVICE_CONNECT_FAIL = BASE_CAMERA_ERR_OFFSET + 7;
72
73/**  Process Fail */
74const int32_t  ERR_PROCESS_FAIL = BASE_CAMERA_ERR_OFFSET + 8;
75
76/**  Wait TimeOut */
77const int32_t  ERR_WAIT_TIMEOUT = BASE_CAMERA_ERR_OFFSET + 9;
78
79/**  Config TimeOut */
80const int32_t  ERR_CFG_TIMEOUT = BASE_CAMERA_ERR_OFFSET + 10;
81
82/**  Invalid Pattern */
83const int32_t  ERR_INVALID_PATTERN = BASE_CAMERA_ERR_OFFSET + 11;
84
85/**  Invalid Camera Id */
86const int32_t  ERR_INVALID_CAMERA_ID = BASE_CAMERA_ERR_OFFSET + 12;
87
88/** Unknown error */
89const int32_t  ERR_UNKNOWN = BASE_CAMERA_ERR_OFFSET + 200;
90}  // namespace OHOS::Camera
91#endif  // CAMERA_ERRORS_H
92