* Copyright (c) 2026 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.
*/
* @addtogroup CameraNotificationInfo
* @{
*
* @brief Provide the definition of the C interface for the camera module.
*
* @since 26.0.0
*/
* @file camera_notification_info.h
*
* @brief The file declares the notification info.
*
* @library libohcamera.so
* @kit CameraKit
* @syscap SystemCapability.Multimedia.Camera.Core
* @since 26.0.0
*/
#ifndef NATIVE_INCLUDE_CAMERA_NOTIFICATION_H
#define NATIVE_INCLUDE_CAMERA_NOTIFICATION_H
#include <stdint.h>
#include <stdio.h>
#include "camera.h"
#ifdef __cplusplus
extern "C" {
#endif
* @brief The struct describes the camera notification info.
*
* @since 26.0.0
*/
typedef struct OH_Camera_NotificationInfo OH_Camera_NotificationInfo;
* @brief Obtains the notification name from a camera notification info instance.
*
* @param notificationInfo Pointer to an OH_Camera_NotificationInfo instance.
* @param name Pointer to the notification name, which is an {@link OH_Camera_NotificationName} instance.
* @return {@link #CAMERA_OK} : The operation is successful.
* {@link #CAMERA_INVALID_ARGUMENT}: A parameter is missing or the parameter type is incorrect.
* @since 26.0.0
*/
Camera_ErrorCode OH_CameraNotificationInfo_GetNotificationName(
const OH_Camera_NotificationInfo* notificationInfo,
OH_Camera_NotificationName* name);
* @brief Obtains the proximity state for focus from a camera notification info instance.
*
* @param notificationInfo Pointer to an {@link OH_Camera_NotificationInfo} instance.
* @param state Pointer to the proximity state for focus, which is an
* {@link OH_Camera_ProximityStateForFocus} instance.
* @return {@link #CAMERA_OK} : The operation is successful.
* {@link #CAMERA_INVALID_ARGUMENT}: A parameter is missing or the parameter type is incorrect.
* @since 26.0.0
*/
Camera_ErrorCode OH_CameraNotificationInfo_GetProximityStateForFocus(
const OH_Camera_NotificationInfo* notificationInfo, OH_Camera_ProximityStateForFocus* state);
* @brief Destroys camera notification info instances.
*
* @param notificationInfo Pointer to the pointer of {@link OH_Camera_NotificationInfo} instances to be destroyed.
* @since 26.0.0
*/
void OH_CameraNotificationInfo_Destroy(OH_Camera_NotificationInfo* notificationInfo);
#ifdef __cplusplus
}
#endif
#endif