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 #ifndef OHOS_CAMERA_DPS_BASIC_DEFINITIONS_H 17 #define OHOS_CAMERA_DPS_BASIC_DEFINITIONS_H 18 19 #include <cstdint> 20 #include <string> 21 22 namespace OHOS { 23 namespace CameraStandard { 24 namespace DeferredProcessing { 25 constexpr int32_t DEFAULT_OFFSET = 0; 26 constexpr int32_t TOTAL_PROCESS_TIME = 10 * 60 * 1000; 27 constexpr int32_t ONCE_PROCESS_TIME = 5 * 60 * 1000; 28 constexpr uint32_t DELAY_TIME = 1000; 29 const std::string PATH = "/data/service/el1/public/camera_service/"; 30 const std::string TEMP_TAG = "_vid_temp"; 31 const std::string OUT_TAG = "_vid"; 32 33 enum EventType : int32_t { 34 CAMERA_SESSION_STATUS_EVENT = 1, 35 HDI_STATUS_EVENT, 36 MEDIA_LIBRARY_STATUS_EVENT, 37 SCREEN_STATUS_EVENT, 38 CHARGING_STATUS_EVENT, 39 BATTERY_STATUS_EVENT, 40 BATTERY_LEVEL_STATUS_EVENT, 41 THERMAL_LEVEL_STATUS_EVENT, 42 PHOTO_PROCESS_STATUS_EVENT, 43 SYSTEM_PRESSURE_LEVEL_EVENT, 44 USER_INITIATED_EVENT, 45 AVAILABLE_CONCURRENT_EVENT, 46 }; 47 48 enum CameraSessionStatus : int32_t { 49 SYSTEM_CAMERA_OPEN = 0, 50 NORMAL_CAMERA_OPEN, 51 SYSTEM_CAMERA_CLOSED, 52 NORMAL_CAMERA_CLOSED 53 }; 54 55 enum HdiStatus : int32_t { 56 HDI_DISCONNECTED = 0, 57 HDI_READY, 58 HDI_READY_SPACE_LIMIT_REACHED, 59 HDI_NOT_READY_PREEMPTED, 60 HDI_NOT_READY_OVERHEAT, 61 HDI_NOT_READY_TEMPORARILY 62 }; 63 64 enum MediaLibraryStatus : int32_t { 65 MEDIA_LIBRARY_DISCONNECTED = 0, 66 MEDIA_LIBRARY_AVAILABLE, 67 }; 68 69 enum ScreenStatus : int32_t { 70 SCREEN_ON = 0, 71 SCREEN_OFF, 72 }; 73 74 enum ChargingStatus : int32_t { 75 DISCHARGING = 0, 76 CHARGING, 77 }; 78 79 enum BatteryStatus : int32_t { 80 BATTERY_LOW = 0, 81 BATTERY_OKAY, 82 }; 83 84 enum BatteryLevel : int32_t { 85 BATTERY_LEVEL_LOW = 0, // <= 50 86 BATTERY_LEVEL_OKAY, 87 }; 88 89 enum PhotoProcessStatus : int32_t { 90 BUSY = 0, // > 0 91 IDLE, 92 }; 93 94 enum ThermalLevel : int32_t { 95 LEVEL_0 = 0, 96 LEVEL_1, 97 LEVEL_2, 98 LEVEL_3, 99 LEVEL_4, 100 LEVEL_5, 101 LEVEL_6, 102 LEVEL_7 103 }; 104 105 enum VideoThermalLevel : int8_t { 106 HOT = 0, 107 COOL 108 }; 109 110 enum SystemPressureLevel : int32_t { 111 NOMINAL = 0, 112 FAIR, 113 SEVERE 114 }; 115 116 enum TrigerMode : int32_t { 117 TRIGER_ACTIVE = 0, 118 TRIGER_PASSIVE = 1, 119 }; 120 121 enum ExceptionCause : int32_t { 122 HDI_SERVICE_DIED = 0, 123 HDI_JPEG_ERROR, 124 HDI_NOT_HANDLE, 125 HDI_TIMEOUT, 126 HDI_TEMPORARILY_UNAVAILABLE, 127 MEDIA_RECODER_EXCEPTION, 128 MEDIA_NOT_ADDIMAGE, 129 DEFPROCESS_INSUFFICIENT_RESOURCES, 130 DEFPROCESS_IMAGE_TIMEOUT, 131 DEFPROCESS_NOT_INIT, 132 }; 133 134 enum ExceptionSource: int32_t { 135 HDI_EXCEPTION = 0, 136 APP_EXCEPTION, 137 DEFPROCESS_EXCEPTION, 138 }; 139 140 enum DpsError : int32_t { 141 DPS_ERROR_UNKNOW = -1, 142 // session specific error code 143 DPS_ERROR_SESSION_SYNC_NEEDED = 0, 144 DPS_ERROR_SESSION_NOT_READY_TEMPORARILY = 1, 145 146 // process error code 147 DPS_ERROR_IMAGE_PROC_INVALID_PHOTO_ID = 2, 148 DPS_ERROR_IMAGE_PROC_FAILED = 3, 149 DPS_ERROR_IMAGE_PROC_TIMEOUT = 4, 150 DPS_ERROR_IMAGE_PROC_HIGH_TEMPERATURE = 5, 151 DPS_ERROR_IMAGE_PROC_ABNORMAL = 6, 152 DPS_ERROR_IMAGE_PROC_INTERRUPTED = 7, 153 154 DPS_ERROR_VIDEO_PROC_INVALID_VIDEO_ID = 8, 155 DPS_ERROR_VIDEO_PROC_FAILED = 9, 156 DPS_ERROR_VIDEO_PROC_TIMEOUT = 10, 157 DPS_ERROR_VIDEO_PROC_INTERRUPTED = 11, 158 }; 159 160 enum DpsStatus : int32_t { 161 DPS_SESSION_STATE_IDLE = 0, 162 DPS_SESSION_STATE_RUNNALBE, 163 DPS_SESSION_STATE_RUNNING, 164 DPS_SESSION_STATE_SUSPENDED 165 }; 166 167 enum SessionType : int32_t { 168 PHOTO_SESSION = 0, 169 VDIIDEO_SESSION 170 }; 171 172 enum ExecutionMode { 173 HIGH_PERFORMANCE = 0, 174 LOAD_BALANCE, 175 LOW_POWER, 176 DUMMY 177 }; 178 179 enum ScheduleType : int32_t { 180 REMOVE = -1, 181 TRAILING_STATE = 0, 182 CAMERA_STATE, 183 HDI_STATE, 184 MEDIA_LIBRARY_STATE, 185 SCREEN_STATE, 186 CHARGING_STATE, 187 BATTERY_STATE, 188 BATTERY_LEVEL_STATE, 189 THERMAL_LEVEL_STATE, 190 PHOTO_PROCESS_STATE, 191 NORMAL_TIME_STATE 192 }; 193 194 enum MediaManagerError : int32_t { 195 ERROR_NO_INITED = -2, 196 ERROR_FAIL = -1, 197 OK = 0, 198 EOS = 1, 199 RECOVER_EOS = 2, 200 PAUSE_RECEIVED = 3, 201 PAUSE_ABNORMAL = 4 202 }; 203 204 enum MediaResult : int32_t { 205 FAIL = -1, 206 SUCCESS = 0, 207 PAUSE = 1 208 }; 209 210 SystemPressureLevel MapEventThermalLevel(int32_t level); 211 212 } // namespace DeferredProcessing 213 } // namespace CameraStandard 214 } // namespace OHOS 215 #endif // OHOS_CAMERA_DPS_BASIC_DEFINITIONS_H 216