/* * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file icamera_host.h * * @brief Management class of the camera service that provides Hardware Driver Interfaces (HDIs) for the upper layer. * * @since 4.1 * @version 1.2 */ package ohos.hdi.camera.v1_2; import ohos.hdi.camera.v1_1.ICameraHost; import ohos.hdi.camera.v1_2.ICameraDevice; import ohos.hdi.camera.v1_2.ICameraHostCallback; import ohos.hdi.camera.v1_0.ICameraDeviceCallback; interface ICameraHost extends ohos.hdi.camera.v1_1.ICameraHost { /** * @brief Opens a camera device. * * By calling this function, you can obtain the ICameraDevice instance and operate the * specific camera device mapping to the instance. * * @param cameraId Indicates the ID of the camera device, which can be obtained by calling {@link GetCameraIds}. * @param callback Indicates the callback related to the camera. For details, see {@link ICameraDeviceCallback}. * @param device Indicates the ICameraDevice instance corresponding to the ID of the camera device. * * @return Returns NO_ERROR if the operation is successful; returns an error code defined * in {@link CamRetCode} otherwise. * * @since 4.1 * @version 1.2 */ OpenCamera_V1_2([in] String cameraId, [in] ICameraDeviceCallback callbackObj, [out] ICameraDevice device); /** * @brief Notify the device vendor of the device status change. * * By calling this function, you can notify the device vendor of the device status change. * * @param notifyType Indicates the type of the notify. * @param deviceState Indicates the state of the device. * * @return Returns NO_ERROR if the operation is successful; returns an error code defined * in {@link CamRetCode} otherwise. * * @since 4.1 * @version 1.2 */ NotifyDeviceStateChangeInfo([in] int notifyType, [in] int deviceState); /** * @brief Sets callbacks. For details about the callbacks, see {@link ICameraHostCallback}. * * @param callback Indicates the callbacks to set. * * @return Returns NO_ERROR if the operation is successful; returns an error code defined * in {@link CamRetCode} otherwise. * * @since 4.1 * @version 1.2 */ SetCallback_V1_2([in] ICameraHostCallback callbackObj); /** * @brief Turns on or off the flash. * * This function can be used only by the caller who has opened the camera device. * * @param level Specifies whether to turn on or off the flash. The value 1 means to turn on the flash, * and 0 means the opposite. * * @return Returns NO_ERROR if the operation is successful; returns an error code defined * in {@link CamRetCode} otherwise. * * @since 4.1 * @version 1.2 */ SetFlashlight_V1_2([in] float level); /** * @brief Warm-up a camera device when lens switching. * * This function can be called when user touch camera application lens switch icon to accelerate the startup * of the camera device specified by cameraId. * * @param cameraId Indicates the ID of the camera device, which can be obtained by calling {@link GetCameraIds}. * * @return Returns NO_ERROR if the operation is successful; returns an error code defined * in {@link CamRetCode} otherwise. * * @since 4.1 * @version 1.2 */ PreCameraSwitch([in] String cameraId); /** * @brief Prelaunch a camera device. * * This function can be called when user touch camera application icon to accelerate the startup * of the camera device specified by cameraId. * * @param config Indicates the preluanch configuration. For details, see {@link PrelaunchConfig}. * @param operationMode Indicates the stream operation mode. For details, see {@link OperationMode}. * * @return Returns NO_ERROR if the operation is successful; returns an error code defined * in {@link CamRetCode} otherwise. * * @since 4.1 * @version 1.2 */ PrelaunchWithOpMode([in] struct PrelaunchConfig config, [in] int operationMode); }