From 707c83df362ba187d379f11c6e526b817e801079 Mon Sep 17 00:00:00 2001 From: lizhuojun Date: Mon, 22 Jul 2024 12:04:12 +0800 Subject: [PATCH 001/359] add new UDS(OpenHarmonyFrom, FileUri) Signed-off-by: lizhuojun --- .../udmf/include/udmf_err_code.h | 10 +- distributeddatamgr/udmf/include/uds.h | 141 ++++++++++++++++++ 2 files changed, 142 insertions(+), 9 deletions(-) diff --git a/distributeddatamgr/udmf/include/udmf_err_code.h b/distributeddatamgr/udmf/include/udmf_err_code.h index 4a479bdc6..105191c7c 100644 --- a/distributeddatamgr/udmf/include/udmf_err_code.h +++ b/distributeddatamgr/udmf/include/udmf_err_code.h @@ -56,22 +56,14 @@ typedef enum Udmf_ErrCode { * The error code in the correct case. */ UDMF_E_OK = 0, - /** - * @brief The error when the capability not supported. - */ - UDMF_E_NOT_SUPPORTED = 801, /** * @brief The error code for common exceptions. */ UDMF_ERR = 20400000, - /** - * @brief The error code for not support this data parse exceptions. - */ - UDMF_E_NOT_PARSE_DATA = (UDMF_ERR + 1), /** * @brief The error code for common invalid args. */ - UDMF_E_INVALID_PARAM = (UDMF_ERR + 2), + UDMF_E_INVALID_PARAM = (UDMF_ERR + 1), } Udmf_ErrCode; #ifdef __cplusplus diff --git a/distributeddatamgr/udmf/include/uds.h b/distributeddatamgr/udmf/include/uds.h index 54c122b22..4b645561c 100644 --- a/distributeddatamgr/udmf/include/uds.h +++ b/distributeddatamgr/udmf/include/uds.h @@ -72,6 +72,20 @@ typedef struct OH_UdsHtml OH_UdsHtml; */ typedef struct OH_UdsAppItem OH_UdsAppItem; +/** + * @brief Describes the unified data struct of open harmony form. + * + * @since 12 + */ +typedef struct OH_UdsForm OH_UdsForm; + +/** + * @brief Describes the unified data struct of file uri. + * + * @since 12 + */ +typedef struct OH_UdsFileUri OH_UdsFileUri; + /** * @brief Creation a pointer to the instance of the {@link OH_UdsPlainText}. * @@ -464,6 +478,133 @@ int OH_UdsAppItem_SetBundleName(OH_UdsAppItem* pThis, const char* bundleName); */ int OH_UdsAppItem_SetAbilityName(OH_UdsAppItem* pThis, const char* abilityName); +/** + * @brief Creation a pointer to the instance of the {@link OH_UdsForm}. + * + * @return If the operation is successful, a pointer to the instance of the {@link OH_UdsForm} + * structure is returned. If the operation is failed, nullptr is returned. + * @see OH_UdsForm + * @since 12 + */ +OH_UdsForm* OH_UdsForm_Create(); + +/** + * @brief Destroy a pointer that points to the {@link OH_UdsForm} instance. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsForm}. + * @see OH_UdsForm + * @since 12 + */ +void OH_UdsForm_Destroy(OH_UdsForm* pThis); + +/** + * @brief Get type id from the {@link OH_UdsForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsForm}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsForm + * @since 12 + */ +const char* OH_UdsForm_GetType(OH_UdsForm* pThis); + +/** + * @brief Get form content from the {@link OH_UdsForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsForm}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsForm + * @since 12 + */ +const char* OH_UdsForm_GetFormContent(OH_UdsForm* pThis); + +/** + * @brief Set form content to the {@link OH_UdsForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsForm}. + * @param content Represents a new form content string. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsForm Udmf_ErrCode + * @since 12 + */ +int OH_UdsForm_SetFormContent(OH_UdsForm* pThis, const char* formContent); + +/** + * @brief Creation a pointer to the instance of the {@link OH_UdsFileUri}. + * + * @return If the operation is successful, a pointer to the instance of the {@link OH_UdsFileUri} + * structure is returned. If the operation is failed, nullptr is returned. + * @see OH_UdsFileUri + * @since 12 + */ +OH_UdsFileUri* OH_UdsFileUri_Create(); + +/** + * @brief Destroy a pointer that points to the {@link OH_UdsFileUri} instance. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. + * @see OH_UdsFileUri + * @since 12 + */ +void OH_UdsFileUri_Destroy(OH_UdsFileUri* pThis); + +/** + * @brief Get type id from the {@link OH_UdsFileUri}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsFileUri + * @since 12 + */ +const char* OH_UdsFileUri_GetType(OH_UdsFileUri* pThis); + +/** + * @brief Get file uri from the {@link OH_UdsFileUri}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsFileUri + * @since 12 + */ +const char* OH_UdsFileUri_GetFileUri(OH_UdsFileUri* pThis); + +/** + * @brief Get file type from the {@link OH_UdsFileUri}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsFileUri + * @since 12 + */ +const char* OH_UdsFileUri_GetFileType(OH_UdsFileUri* pThis); + +/** + * @brief Set file uri to the {@link OH_UdsFileUri}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. + * @param content Represents a new content string. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsFileUri Udmf_ErrCode + * @since 12 + */ +int OH_UdsFileUri_SetFileUri(OH_UdsFileUri* pThis, const char* fileUri); + +/** + * @brief Set file type to the {@link OH_UdsFileUri}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. + * @param content Represents a new content string. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsFileUri Udmf_ErrCode + * @since 12 + */ +int OH_UdsFileUri_SetFileType(OH_UdsFileUri* pThis, const char* fileType); + #ifdef __cplusplus }; #endif -- Gitee From d2fbd537e2e401c2a14936b5cf5716c484d279d8 Mon Sep 17 00:00:00 2001 From: lizhuojun Date: Tue, 23 Jul 2024 21:41:27 +0800 Subject: [PATCH 002/359] add pixelMap and errorcode Signed-off-by: lizhuojun --- distributeddatamgr/udmf/include/udmf.h | 7 +++ distributeddatamgr/udmf/include/uds.h | 61 ++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/distributeddatamgr/udmf/include/udmf.h b/distributeddatamgr/udmf/include/udmf.h index 6b06f5fb7..13a59f825 100644 --- a/distributeddatamgr/udmf/include/udmf.h +++ b/distributeddatamgr/udmf/include/udmf.h @@ -287,6 +287,7 @@ char** OH_UdmfRecord_GetTypes(OH_UdmfRecord* pThis, unsigned int* count); * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} 1.Internal data error. 2.Record data count exceeds the maximum value. * @see OH_UdmfRecord Udmf_ErrCode. * @since 12 */ @@ -301,6 +302,7 @@ int OH_UdmfRecord_GetGeneralEntry(OH_UdmfRecord* pThis, const char* typeId, * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} The record type is not plain text. * @see OH_UdmfRecord OH_UdsPlainText Udmf_ErrCode. * @since 12 */ @@ -314,6 +316,7 @@ int OH_UdmfRecord_GetPlainText(OH_UdmfRecord* pThis, OH_UdsPlainText* plainText) * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} The record type is not hyperlink. * @see OH_UdmfRecord OH_UdsHyperlink Udmf_ErrCode. * @since 12 */ @@ -327,6 +330,7 @@ int OH_UdmfRecord_GetHyperlink(OH_UdmfRecord* pThis, OH_UdsHyperlink* hyperlink) * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} The record type is not HTML. * @see OH_UdmfRecord OH_UdsHtml Udmf_ErrCode. * @since 12 */ @@ -340,6 +344,7 @@ int OH_UdmfRecord_GetHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} The record type is not open harmony app item. * @see OH_UdmfRecord OH_UdsAppItem Udmf_ErrCode. * @since 12 */ @@ -484,6 +489,7 @@ int OH_UdmfProperty_SetExtrasStringParam(OH_UdmfProperty* pThis, * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} The UDMF client fails to obtain data. * @see OH_UdmfProperty Udmf_Intention Udmf_ErrCode. * @since 12 */ @@ -500,6 +506,7 @@ int OH_Udmf_GetUnifiedData(const char* key, Udmf_Intention intention, OH_UdmfDat * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} The UDMF client fails to obtain data, or string copy error. * @see OH_UdmfProperty Udmf_Intention Udmf_ErrCode. * @since 12 */ diff --git a/distributeddatamgr/udmf/include/uds.h b/distributeddatamgr/udmf/include/uds.h index 4b645561c..8ed0845d9 100644 --- a/distributeddatamgr/udmf/include/uds.h +++ b/distributeddatamgr/udmf/include/uds.h @@ -40,6 +40,8 @@ #ifndef UDS_H #define UDS_H +#include "pixelmap_native.h" + #ifdef __cplusplus extern "C" { #endif @@ -86,6 +88,13 @@ typedef struct OH_UdsForm OH_UdsForm; */ typedef struct OH_UdsFileUri OH_UdsFileUri; +/** + * @brief Describes the unified data struct of open harmony pixel map. + * + * @since 12 + */ +typedef struct OH_UdsPixelMap OH_UdsPixelMap; + /** * @brief Creation a pointer to the instance of the {@link OH_UdsPlainText}. * @@ -605,6 +614,58 @@ int OH_UdsFileUri_SetFileUri(OH_UdsFileUri* pThis, const char* fileUri); */ int OH_UdsFileUri_SetFileType(OH_UdsFileUri* pThis, const char* fileType); +/** + * @brief Creation a pointer to the instance of the {@link OH_UdsPixelMap}. + * + * @return If the operation is successful, a pointer to the instance of the {@link OH_UdsPixelMap} + * structure is returned. If the operation is failed, nullptr is returned. + * @see OH_UdsPixelMap + * @since 12 + */ +OH_UdsPixelMap* OH_UdsPixelMap_Create(); + +/** + * @brief Destroy a pointer that points to the {@link OH_UdsPixelMap} instance. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}. + * @see OH_UdsPixelMap + * @since 12 + */ +void OH_UdsPixelMap_Destroy(OH_UdsPixelMap* pThis); + +/** + * @brief Get type id from the {@link OH_UdsPixelMap}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsPixelMap + * @since 12 + */ +const char* OH_UdsPixelMap_GetType(OH_UdsPixelMap* pThis); + +/** + * @brief Get pixel map from the {@link OH_UdsPixelMap}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsPixelMap + * @since 12 + */ +const OH_PixelmapNative* OH_UdsPixelMap_GetPixelMap(OH_UdsPixelMap* pThis); + +/** + * @brief Set form content to the {@link OH_UdsPixelMap}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}. + * @param pixelMap Represents a new pixel map. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsPixelMap Udmf_ErrCode + * @since 12 + */ +int OH_UdsPixelMap_SetPixelMap(OH_UdsPixelMap* pThis, const OH_PixelmapNative* pixelMap); + #ifdef __cplusplus }; #endif -- Gitee From f8c3102daaa2f1ea9706affe813967575c5cc660 Mon Sep 17 00:00:00 2001 From: xwx1135370 Date: Thu, 25 Jul 2024 09:20:57 +0800 Subject: [PATCH 003/359] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dpart=5Fconfig?= =?UTF-8?q?=E4=B8=AD=E9=85=8D=E7=BD=AE=E7=9A=84musl=20feature?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit issue:https://gitee.com/openharmony/third_party_musl/issues/IAF1XE?from=project-issue Test:Source code compilation Signed-off-by: xwx1135370 --- third_party/musl/ndk_script/BUILD.gn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third_party/musl/ndk_script/BUILD.gn b/third_party/musl/ndk_script/BUILD.gn index 683b2e30d..a71e33565 100644 --- a/third_party/musl/ndk_script/BUILD.gn +++ b/third_party/musl/ndk_script/BUILD.gn @@ -208,7 +208,7 @@ group("musl_sysroot") { action("copy_ndk_uapi") { outputs = [ "${musl_target_out_dir}/${ndk_musl_include}/linux" ] script = "${musl_dir}/scripts/copy_uapi.sh" - args = [ "-i" ] + [ rebase_path("${uapi_dir}") ] + args = [ "-i" ] + [ rebase_path("${musl_uapi_dir}") ] args += [ "-o" ] + [ rebase_path("${musl_target_out_dir}/${ndk_musl_include}") ] args += [ "-t" ] + [ "${musl_arch}" ] -- Gitee From 088bd6f570e8c4342aa880b28f8f47eb50b30a1d Mon Sep 17 00:00:00 2001 From: houpengtao Date: Tue, 23 Jul 2024 12:08:29 +0800 Subject: [PATCH 004/359] add paste board ndk Signed-off-by: houpengtao --- distributeddatamgr/pasteboard/BUILD.gn | 36 +++ .../pasteboard/include/oh_pasteboard.h | 305 ++++++++++++++++++ .../include/oh_pasteboard_err_code.h | 77 +++++ .../pasteboard/libpasteboard.ndk.json | 62 ++++ 4 files changed, 480 insertions(+) create mode 100644 distributeddatamgr/pasteboard/BUILD.gn create mode 100644 distributeddatamgr/pasteboard/include/oh_pasteboard.h create mode 100644 distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h create mode 100644 distributeddatamgr/pasteboard/libpasteboard.ndk.json diff --git a/distributeddatamgr/pasteboard/BUILD.gn b/distributeddatamgr/pasteboard/BUILD.gn new file mode 100644 index 000000000..8887b53ac --- /dev/null +++ b/distributeddatamgr/pasteboard/BUILD.gn @@ -0,0 +1,36 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") +import("//foundation/distributeddatamgr/pasteboard/pasteboard.gni") + +ohos_ndk_headers("pasteboard_ndk_header") { + dest_dir = "$ndk_headers_out_dir/database/pasteboard/" + sources = [ + "./include/oh_pasteboard.h", + "./include/oh_pasteboard_err_code.h", + ] +} + +ohos_ndk_library("libpasteboard_ndk") { + output_name = "pasteboard" + output_extension = "so" + system_capability = "SystemCapability.MiscServices.Pasteboard" + ndk_description_file = "./libpasteboard.ndk.json" + min_compact_version = "12" + system_capability_headers = [ + "$ndk_headers_out_dir/database/pasteboard/oh_pasteboard.h", + "$ndk_headers_out_dir/database/pasteboard/oh_pasteboard_err_code.h", + ] +} diff --git a/distributeddatamgr/pasteboard/include/oh_pasteboard.h b/distributeddatamgr/pasteboard/include/oh_pasteboard.h new file mode 100644 index 000000000..7b7affb65 --- /dev/null +++ b/distributeddatamgr/pasteboard/include/oh_pasteboard.h @@ -0,0 +1,305 @@ +/* + * Copyright (c) 2024 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 Pasteboard + * @{ + * + * @brief Provides the copy and paste support for the system Pasteboard. + * You can use the APIs of this module to operate the Pasteboard content of the plain text, HTML, + * URI, Want, pixel map, and other types. + * + * @since 12 + */ + +/** + * @file OH_Pasteboard.h + * + * @brief Provides APIs and enums of the Pasteboard module. + * + * @kit BasicServicesKit + * @library libpasteboard_ndk.so + * @syscap SystemCapability.MiscServices.Pasteboard + * + * @since 12 + */ + +#ifndef OH_PASTEBOARD_H +#define OH_PASTEBOARD_H + +#include +#include +#include "udmf.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the types of data changes that can be observed. + * + * @since 12 + */ +typedef enum Pasteboard_SubscribeType { + /** + * @brief Change of the Pasteboard data in the local device. + */ + PASTEBOARD_SUBSCRIBE_TYPE_LOCAL = 1, + /** + * @brief Change of the Pasteboard data in the remote devices. + */ + PASTEBOARD_SUBSCRIBE_TYPE_REMOTE = 2 +} Pasteboard_SubscribeType; + +/** + * @brief Defines the callback function used to return the Pasteboard data changed. + * + * @param context The context set by {@link OH_PasteboardSubscriber_SetContext} function. + * @param type The types of data changes. For details, see {@link Pasteboard_SubscribeType}. + * @since 12 + */ +typedef void (*Pasteboard_SubscribeCallback)(void* context, Pasteboard_SubscribeType type); + +/** + * @brief Defines the Pasteboard subscriber information + * + * @since 12 + */ +typedef struct OH_PasteboardSubscriber OH_PasteboardSubscriber; + +/** + * @brief Creates a {@link OH_PasteboardSubscriber} instance. + * + * @return Returns the pointer to the {@link OH_PasteboardSubscriber} instance created if the operation is successful. + * Returns nullptr if the operation is failed. + * @see OH_PasteboardSubscriber. + * @since 12 + */ +OH_PasteboardSubscriber* OH_PasteboardSubscriber_Create(); + +/** + * @brief Destroy a {@link OH_PasteboardSubscriber} instance. + * + * @param subscriber Pointer to the {@link OH_PasteboardSubscriber} instance to destroy. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_PasteboardSubscriber PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_PasteboardSubscriber_Destroy(OH_PasteboardSubscriber* subscriber); + +/** + * @brief Sets a callback function to return the Pasteboard data changed. + * + * @param subscriber Pointer to the {@link OH_PasteboardSubscriber} instance. + * @param callback Callback to set. For details, see {@link Pasteboard_SubscribeCallback}. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_PasteboardSubscriber Pasteboard_SubscribeCallback PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_PasteboardSubscriber_SetCallback(OH_PasteboardSubscriber* subscriber, const Pasteboard_SubscribeCallback callback); + +/** + * @brief Obtains the callback used to return the Pasteboard data changed. + * + * @param subscriber Pointer to the {@link OH_PasteboardSubscriber} instance. + * @param callback Pointer to the {@link Pasteboard_SubscribeCallback} instance to obtain. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_PasteboardSubscriber Pasteboard_SubscribeCallback PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_PasteboardSubscriber_GetCallback(OH_PasteboardSubscriber* subscriber, Pasteboard_SubscribeCallback* callback); + +/** + * @brief Sets a context instance, which is the first parameter in Pasteboard_SubscribeCallback. + * + * @param subscriber Pointer to the {@link OH_PasteboardSubscriber} instance. + * @param context Pointer to the context set. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_PasteboardSubscriber PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_PasteboardSubscriber_SetContext(OH_PasteboardSubscriber* subscriber, void* context); + +/** + * @brief Obtains the context, which is the first parameter in Pasteboard_SubscribeCallback. + * + * @param subscriber Pointer to the {@link OH_PasteboardSubscriber} instance. + * @param context Pointer to the context to obtain. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_PasteboardSubscriber PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_PasteboardSubscriber_GetContext(OH_PasteboardSubscriber* subscriber, void** context); + +/** + * @brief Represents the Pasteboard information. + * + * @since 12 + */ +typedef struct OH_Pasteboard OH_Pasteboard; + +/** + * @brief Creates a {@link OH_Pasteboard} instance. + * + * @return Returns the pointer to the {@link OH_Pasteboard} instance created if the operation is successful. + * Returns nullptr if the operation is failed. + * @see OH_Pasteboard. + * @since 12 + */ +OH_Pasteboard* OH_Pasteboard_Create(); + +/** + * @brief Destroy a {@link OH_Pasteboard} instance. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance to destroy. + * @see OH_Pasteboard. + * @since 12 + */ +void OH_Pasteboard_Destroy(OH_Pasteboard* pasteboard); + +/** + * @brief Subscribes to the Pasteboard data change. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param type Event type to subscribe to. + * @param subscriber - Pointer to the subscriber information, which specifies the callback used to + * reporting the pasteboard data change. For details, see {@link OH_PasteboardSubscriber}. + * @return Returns the status code of the execution. For details, {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard OH_PasteboardSubscriber PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_Pasteboard_Subscribe(OH_Pasteboard* pasteboard, int type, const OH_PasteboardSubscriber* subscriber); + +/** + * @brief Unsubscribes from the Pasteboard data change. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param type Event type to subscribe to. + * @param subscriber - Pointer to the subscriber information, which specifies the callback used to + * reporting the pasteboard data change. For details, see {@link OH_PasteboardSubscriber}. + * @return Returns the status code of the execution. For details, {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard OH_PasteboardSubscriber PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_Pasteboard_Unsubscribe(OH_Pasteboard* pasteboard, int type, const OH_PasteboardSubscriber* subscriber); + +/** + * @brief Checks whether the Pasteboard data is from a remote device. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @return Returns a boolean value, which indicates whether the the data is from a remote device. + * The value {@code false} means Pasteboard data is not from a remote device. + * The value {@code true} means the opposite. + * @see OH_Pasteboard. + * @since 12 + */ +bool OH_Pasteboard_IsRemoteData(OH_Pasteboard* pasteboard); + +/** + * @brief Obtains the source of Pasteboard data. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param source Pointer to the source data. + * @param len Length of the source data. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_Pasteboard_GetDataSource(OH_Pasteboard* pasteboard, char* source, unsigned int len); + +/** + * @brief Checks whether the Pasteboard has the specified type of data. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param type Poniter to the type of data to check. + * @return Returns a boolean value, which indicates whether the Pasteboard has the specified type of data. + * The value {@code true} means the Pasteboard has the specified type of data. + * The value {@code false} means the opposite. + * @see OH_Pasteboard. + * @since 12 + */ +bool OH_Pasteboard_HasType(OH_Pasteboard* pasteboard, const char* type); + +/** + * @brief Checks whether there is data in the Pasteboard. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @return Returns a boolean value, which indicates whether there is data in the Pasteboard. + * The value {@code true} means there is data in Pasteboard. + * The value {@code false} means the opposite. + * @see OH_Pasteboard. + * @since 12 + */ +bool OH_Pasteboard_HasData(OH_Pasteboard* pasteboard); + +/** + * @brief Obtains data from the Pasteboard. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param data Pointer to the {@link OH_UdmfData} instance. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard OH_UdmfData PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_Pasteboard_GetData(OH_Pasteboard* pasteboard, OH_UdmfData* data); + +/** + * @brief Writes data to the Pasteboard. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param data Pointer to the {@link OH_UdmfData} instance. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard OH_UdmfData PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_Pasteboard_SetData(OH_Pasteboard* pasteboard, OH_UdmfData* data); + +/** + * @brief Clears the data in the Pastedboard. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard PASTEBOARD_ErrCode. + * @since 12 + */ +int OH_Pasteboard_ClearData(OH_Pasteboard* pasteboard); +#ifdef __cplusplus +}; +#endif + +/** @} */ +#endif \ No newline at end of file diff --git a/distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h b/distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h new file mode 100644 index 000000000..0251eb05d --- /dev/null +++ b/distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h @@ -0,0 +1,77 @@ +/* + * Copyright (c) 2024 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 Pasteboard + * @{ + * + * @brief Provides the copy and paste support for the system Pasteboard. + * You can use the APIs of this module to operate the Pasteboard content of the plain text, HTML, + * URI, Want, pixel map, and other types. + * + * @since 12 + */ + +/** + * @file oh_pasteboard_err_code.h + * + * @brief Declaration error code information. + * + * @kit BasicServicesKit + * @library libpasteboard_ndk.so + * @syscap SystemCapability.MiscServices.Pasteboard + * + * @since 12 + */ + + +#ifndef OH_PASTEBOARD_ERR_CODE_H +#define OH_PASTEBOARD_ERR_CODE_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the error codes. + * + * @since 12 + */ +typedef enum PASTEBOARD_ErrCode { + /** + * The operation is successful. + */ + ERR_OK = 0, + /** + * Permission verification failed. + */ + ERR_PERMISSION_ERROR = 201, + /** + * Invalid parameter is detected. + */ + ERR_INVALID_PARAMETER = 401, + /** + * The capability is not supported. + */ + ERR_DEVICE_NOT_SUPPORTED = 801, + +} PASTEBOARD_ErrCode; + +#ifdef __cplusplus +}; +#endif + +/** @} */ +#endif diff --git a/distributeddatamgr/pasteboard/libpasteboard.ndk.json b/distributeddatamgr/pasteboard/libpasteboard.ndk.json new file mode 100644 index 000000000..60631cdb2 --- /dev/null +++ b/distributeddatamgr/pasteboard/libpasteboard.ndk.json @@ -0,0 +1,62 @@ +[ + { + "first_introduced": "12", + "name": "OH_PasteBoardSubcriber_Create" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoardSubcriber_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoardSubcriber_SetCallback" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoardSubcriber_GetCallback" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_Create" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_Subcribe" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_Unsubcribe" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_IsRemoteData" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_GetDataSrouce" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_HasType" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_HasData" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_GetData" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_SetData" + }, + { + "first_introduced": "12", + "name": "OH_PasteBoard_ClearData" + } +] \ No newline at end of file -- Gitee From 45639e2e5e50313b2e6fcd4419cd7831491e761e Mon Sep 17 00:00:00 2001 From: cold Date: Tue, 30 Jul 2024 10:11:18 +0800 Subject: [PATCH 005/359] add ndk interface for camera Signed-off-by: cold --- multimedia/camera_framework/camera.h | 2 +- multimedia/camera_framework/camera.ndk.json | 128 +++++++++++++ multimedia/camera_framework/camera_manager.h | 72 ++++++++ multimedia/camera_framework/capture_session.h | 148 +++++++++++++-- multimedia/camera_framework/photo_output.h | 171 +++++++++++++++++- multimedia/camera_framework/preview_output.h | 59 +++++- multimedia/camera_framework/video_output.h | 59 +++++- 7 files changed, 617 insertions(+), 22 deletions(-) diff --git a/multimedia/camera_framework/camera.h b/multimedia/camera_framework/camera.h index c8464da9d..a10adb2ca 100644 --- a/multimedia/camera_framework/camera.h +++ b/multimedia/camera_framework/camera.h @@ -924,7 +924,7 @@ typedef struct Camera_TorchStatusInfo { /** * the current torch brightness level. */ - int32_t torchLevel; + float torchLevel; } Camera_TorchStatusInfo; /** diff --git a/multimedia/camera_framework/camera.ndk.json b/multimedia/camera_framework/camera.ndk.json index 52bbf5fc0..cfd6120d9 100644 --- a/multimedia/camera_framework/camera.ndk.json +++ b/multimedia/camera_framework/camera.ndk.json @@ -31,6 +31,14 @@ "first_introduced": "11", "name": "OH_CameraManager_UnregisterCallback" }, + { + "first_introduced": "12", + "name": "OH_CameraManager_RegisterTorchStatusCallback" + }, + { + "first_introduced": "12", + "name": "OH_CameraManager_UnregisterTorchStatusCallback" + }, { "first_introduced": "11", "name": "OH_CameraManager_GetSupportedCameras" @@ -103,6 +111,18 @@ "first_introduced": "12", "name": "OH_CameraManager_DeleteSceneModes" }, + { + "first_introduced": "12", + "name": "OH_CameraManager_IsTorchSupported" + }, + { + "first_introduced": "12", + "name": "OH_CameraManager_IsTorchSupportedByTorchMode" + }, + { + "first_introduced": "12", + "name": "OH_CameraManager_SetTorchMode" + }, { "first_introduced": "11", "name": "OH_Camera_GetCameraManager" @@ -119,6 +139,14 @@ "first_introduced": "11", "name": "OH_CaptureSession_UnregisterCallback" }, + { + "first_introduced": "12", + "name": "OH_CaptureSession_RegisterSmoothZoomInfoCallback" + }, + { + "first_introduced": "12", + "name": "OH_CaptureSession_UnregisterSmoothZoomInfoCallback" + }, { "first_introduced": "12", "name": "OH_CaptureSession_SetSessionMode" @@ -311,6 +339,34 @@ "first_introduced": "12", "name": "OH_CaptureSession_PreconfigWithRatio" }, + { + "first_introduced": "12", + "name": "OH_CaptureSession_GetExposureValue" + }, + { + "first_introduced": "12", + "name": "OH_CaptureSession_GetFocalLength" + }, + { + "first_introduced": "12", + "name": "OH_CaptureSession_SetSmoothZoom" + }, + { + "first_introduced": "12", + "name": "OH_CaptureSession_GetSupportedColorSpaces" + }, + { + "first_introduced": "12", + "name": "OH_CaptureSession_DeleteColorSpaces" + }, + { + "first_introduced": "12", + "name": "OH_CaptureSession_GetActiveColorSpace" + }, + { + "first_introduced": "12", + "name": "OH_CaptureSession_SetActiveColorSpace" + }, { "first_introduced": "11", "name": "OH_MetadataOutput_RegisterCallback" @@ -339,6 +395,46 @@ "first_introduced": "11", "name": "OH_PhotoOutput_UnregisterCallback" }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_RegisterCaptureStartWithInfoCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_RegisterCaptureEndCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_UnregisterCaptureEndCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_RegisterFrameShutterEndCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_UnregisterFrameShutterEndCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_RegisterCaptureReadyCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_UnregisterCaptureReadyCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback" + }, { "first_introduced": "11", "name": "OH_PhotoOutput_Capture" @@ -391,6 +487,22 @@ "first_introduced": "12", "name": "OH_PreviewOutput_DeleteProfile" }, + { + "first_introduced": "12", + "name": "OH_PreviewOutput_GetSupportedFrameRates" + }, + { + "first_introduced": "12", + "name": "OH_PreviewOutput_DeleteFrameRates" + }, + { + "first_introduced": "12", + "name": "OH_PreviewOutput_SetFrameRate" + }, + { + "first_introduced": "12", + "name": "OH_PreviewOutput_GetActiveFrameRate" + }, { "first_introduced": "11", "name": "OH_VideoOutput_RegisterCallback" @@ -419,6 +531,22 @@ "first_introduced": "12", "name": "OH_VideoOutput_DeleteProfile" }, + { + "first_introduced": "12", + "name": "OH_VideoOutput_GetSupportedFrameRates" + }, + { + "first_introduced": "12", + "name": "OH_VideoOutput_DeleteFrameRates" + }, + { + "first_introduced": "12", + "name": "OH_VideoOutput_SetFrameRate" + }, + { + "first_introduced": "12", + "name": "OH_VideoOutput_GetActiveFrameRate" + }, { "first_introduced": "12", "name": "OH_CameraDevice_GetCameraOrientation" diff --git a/multimedia/camera_framework/camera_manager.h b/multimedia/camera_framework/camera_manager.h index 90e55cec7..878a5b974 100644 --- a/multimedia/camera_framework/camera_manager.h +++ b/multimedia/camera_framework/camera_manager.h @@ -62,6 +62,15 @@ extern "C" { */ typedef void (*OH_CameraManager_StatusCallback)(Camera_Manager* cameraManager, Camera_StatusInfo* status); +/** + * @brief Camera manager torch status callback. + * + * @param cameraManager the {@link Camera_Manager} which deliver the callback. + * @param status the {@link Camera_TorchStatusInfo} of the torch. + * @since 12 + */ +typedef void (*OH_CameraManager_TorchStatusCallback)(Camera_Manager* cameraManager, Camera_TorchStatusInfo* status); + /** * @brief A listener for camera devices status. * @@ -98,6 +107,30 @@ Camera_ErrorCode OH_CameraManager_RegisterCallback(Camera_Manager* cameraManager */ Camera_ErrorCode OH_CameraManager_UnregisterCallback(Camera_Manager* cameraManager, CameraManager_Callbacks* callback); +/** + * @brief Register torch status change event callback. + * + * @param cameraManager the {@link Camera_Manager} instance. + * @param torchStatusCallback the {@link OH_CameraManager_TorchStatusCallback} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_CameraManager_RegisterTorchStatusCallback(Camera_Manager* cameraManager, + OH_CameraManager_TorchStatusCallback torchStatusCallback); + +/** + * @brief Unregister torch status change event callback. + * + * @param cameraManager the {@link Camera_Manager} instance. + * @param torchStatusCallback the {@link OH_CameraManager_TorchStatusCallback} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_CameraManager_UnregisterTorchStatusCallback(Camera_Manager* cameraManager, + OH_CameraManager_TorchStatusCallback torchStatusCallback); + /** * @brief Gets supported camera descriptions. * @@ -349,6 +382,45 @@ Camera_ErrorCode OH_CameraManager_GetSupportedSceneModes(Camera_Device* camera, */ Camera_ErrorCode OH_CameraManager_DeleteSceneModes(Camera_Manager* cameraManager, Camera_SceneMode* sceneModes); +/** + * @brief Check if the device supports torch. + * + * @param cameraManager the {@link Camera_Manager} instance. + * @param isTorchSupported whether the device supports torch. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_CameraManager_IsTorchSupported(Camera_Manager* cameraManager, + bool* isTorchSupported); + +/** + * @brief Check whether the device supports the torch with the specified torch mode. + * + * @param cameraManager the {@link Camera_Manager} instance. + * @param torchMode the {@link Camera_TorchMode} to be checked. + * @param isTorchSupported whether device supports the torch mode. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_CameraManager_IsTorchSupportedByTorchMode(Camera_Manager* cameraManager, + Camera_TorchMode torchMode, bool* isTorchSupported); + +/** + * @brief Set camera torch mode. + * + * @param cameraManager the {@link Camera_Manager} instance. + * @param torchMode the {@link Camera_TorchMode} to be set. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_CameraManager_SetTorchMode(Camera_Manager* cameraManager, + Camera_TorchMode torchMode); + #ifdef __cplusplus } #endif diff --git a/multimedia/camera_framework/capture_session.h b/multimedia/camera_framework/capture_session.h index 7872c5307..87fba17e4 100644 --- a/multimedia/camera_framework/capture_session.h +++ b/multimedia/camera_framework/capture_session.h @@ -47,6 +47,7 @@ #include "photo_output.h" #include "video_output.h" #include "metadata_output.h" +#include "native_buffer/native_buffer.h" #ifdef __cplusplus extern "C" { @@ -82,6 +83,16 @@ typedef void (*OH_CaptureSession_OnFocusStateChange)(Camera_CaptureSession* sess */ typedef void (*OH_CaptureSession_OnError)(Camera_CaptureSession* session, Camera_ErrorCode errorCode); +/** + * @brief Capture session smooth zoom info callback. + * + * @param session the {@link Camera_CaptureSession} which deliver the callback. + * @param smoothZoomInfo the {@link Camera_SmoothZoomInfo} which delivered by the callback. + * @since 12 + */ +typedef void (*OH_CaptureSession_OnSmoothZoomInfo)(Camera_CaptureSession* session, + Camera_SmoothZoomInfo* smoothZoomInfo); + /** * @brief A listener for capture session. * @@ -125,6 +136,30 @@ Camera_ErrorCode OH_CaptureSession_RegisterCallback(Camera_CaptureSession* sessi Camera_ErrorCode OH_CaptureSession_UnregisterCallback(Camera_CaptureSession* session, CaptureSession_Callbacks* callback); +/** + * @brief Register smooth zoom information event callback. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param smoothZoomInfoCallback the {@link OH_CaptureSession_OnSmoothZoomInfo} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_CaptureSession_RegisterSmoothZoomInfoCallback(Camera_CaptureSession* session, + OH_CaptureSession_OnSmoothZoomInfo smoothZoomInfoCallback); + +/** + * @brief Unregister smooth zoom information event callback. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param smoothZoomInfoCallback the {@link OH_CaptureSession_OnSmoothZoomInfo} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_CaptureSession_UnregisterSmoothZoomInfoCallback(Camera_CaptureSession* session, + OH_CaptureSession_OnSmoothZoomInfo smoothZoomInfoCallback); + /** * @brief Specifies the specific mode. * @@ -681,8 +716,8 @@ Camera_ErrorCode OH_CaptureSession_CanAddVideoOutput(Camera_CaptureSession* sess * @brief Check the preconfig type is supported or not. * * @param session the {@link Camera_CaptureSession} instance. - * @param preconfigType the target {@link Camera_PreconfigType} to set. - * @param canPreconfig the result of whether the preconfig type is supported. + * @param preconfigType The type {@link Camera_PreconfigType} to check support for. + * @param canPreconfig The result of whether preconfiguration supported. * @return {@link #CAMERA_OK} if the method call succeeds. * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * @since 12 @@ -694,25 +729,24 @@ Camera_ErrorCode OH_CaptureSession_CanPreconfig(Camera_CaptureSession* session, * @brief Check the preconfig type with ratio is supported or not. * * @param session the {@link Camera_CaptureSession} instance. - * @param preconfigType the target {@link Camera_PreconfigType} to set. - * @param preconfigRatio the target {@link Camera_PreconfigRatio} to set. - * @param canPreconfig the result of whether the preconfig type with ratio is supported. + * @param preconfigType The type {@link Camera_PreconfigType} to check support for. + * @param preconfigRatio The ratio {@link Camera_PreconfigRatio} to check support for. + * @param canPreconfig The result of whether preconfiguration supported. * @return {@link #CAMERA_OK} if the method call succeeds. * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * @since 12 */ Camera_ErrorCode OH_CaptureSession_CanPreconfigWithRatio(Camera_CaptureSession* session, - Camera_PreconfigType preconfigType, Camera_PreconfigRatio preconfigRatio, - bool* canPreconfig); + Camera_PreconfigType preconfigType, Camera_PreconfigRatio preconfigRatio, bool* canPreconfig); /** * @brief Set the preconfig type. * * @param session the {@link Camera_CaptureSession} instance. - * @param preconfigType the target {@link Camera_PreconfigType} to set. + * @param preconfigType The type {@link Camera_PreconfigType} to check support for. * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if the internal preconfiguration fails. * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. - * {@link #CAMERA_SESSION_NOT_CONFIG} if the capture session not config. * @since 12 */ Camera_ErrorCode OH_CaptureSession_Preconfig(Camera_CaptureSession* session, @@ -722,16 +756,106 @@ Camera_ErrorCode OH_CaptureSession_Preconfig(Camera_CaptureSession* session, * @brief Set the preconfig type with ratio. * * @param session the {@link Camera_CaptureSession} instance. - * @param preconfigType the target {@link Camera_PreconfigType} to set. - * @param preconfigRatio the target {@link Camera_PreconfigRatio} to set. + * @param preconfigType The type {@link Camera_PreconfigType} to check support for. + * @param preconfigRatio The ratio {@link Camera_PreconfigRatio} to check support for. * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if the internal preconfiguration fails. * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. - * {@link #CAMERA_SESSION_NOT_CONFIG} if the capture session not config. * @since 12 */ Camera_ErrorCode OH_CaptureSession_PreconfigWithRatio(Camera_CaptureSession* session, Camera_PreconfigType preconfigType, Camera_PreconfigRatio preconfigRatio); +/** + * @brief Query the exposure value. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param exposureValue the current exposure value. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SESSION_NOT_CONFIG} if the capture session not config. + * @since 12 + */ +Camera_ErrorCode OH_CaptureSession_GetExposureValue(Camera_CaptureSession* session, float* exposureValue); + +/** + * @brief Get current focal length. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param focalLength the current focal length. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SESSION_NOT_CONFIG} if the capture session not config. + * @since 12 + */ +Camera_ErrorCode OH_CaptureSession_GetFocalLength(Camera_CaptureSession* session, float* focalLength); + +/** + * @brief Set target zoom ratio by smooth method. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param targetZoom the target zoom ratio to set. + * @param smoothZoomMode the {@link Camera_SmoothZoomMode} instance. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SESSION_NOT_CONFIG} if the capture session not config. + * @since 12 + */ +Camera_ErrorCode OH_CaptureSession_SetSmoothZoom(Camera_CaptureSession* session, + float targetZoom, Camera_SmoothZoomMode smoothZoomMode); + +/** + * @brief Get the supported color spaces. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param colorSpace the supported {@link OH_NativeBuffer_ColorSpace} list to be filled if the method call succeeds. + * @param size the size of supported color Spaces queried. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SESSION_NOT_CONFIG} if the capture session not config. + * @since 12 + */ +Camera_ErrorCode OH_CaptureSession_GetSupportedColorSpaces(Camera_CaptureSession* session, + OH_NativeBuffer_ColorSpace** colorSpace, uint32_t* size); + +/** + * @brief Delete the color spaces. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param colorSpace the target {@link OH_NativeBuffer_ColorSpace} list to be deleted if the method call succeeds. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_CaptureSession_DeleteColorSpaces(Camera_CaptureSession* session, + OH_NativeBuffer_ColorSpace* colorSpace); + +/** + * @brief Get current color space. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param colorSpace the current {@link OH_NativeBuffer_ColorSpace} . + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SESSION_NOT_CONFIG} if the capture session not config. + * @since 12 + */ +Camera_ErrorCode OH_CaptureSession_GetActiveColorSpace(Camera_CaptureSession* session, + OH_NativeBuffer_ColorSpace* colorSpace); + +/** + * @brief Set current color space. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param colorSpace the target {@link OH_NativeBuffer_ColorSpace} to set. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SESSION_NOT_CONFIG} if the capture session not config. + * @since 12 + */ +Camera_ErrorCode OH_CaptureSession_SetActiveColorSpace(Camera_CaptureSession* session, + OH_NativeBuffer_ColorSpace colorSpace); + #ifdef __cplusplus } #endif diff --git a/multimedia/camera_framework/photo_output.h b/multimedia/camera_framework/photo_output.h index 273455d17..fba42bf7a 100644 --- a/multimedia/camera_framework/photo_output.h +++ b/multimedia/camera_framework/photo_output.h @@ -94,6 +94,50 @@ typedef void (*OH_PhotoOutput_OnFrameEnd)(Camera_PhotoOutput* photoOutput, int32 */ typedef void (*OH_PhotoOutput_OnError)(Camera_PhotoOutput* photoOutput, Camera_ErrorCode errorCode); +/** + * @brief Photo output capture end callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} which deliver the callback. + * @param frameCount the frameCount which is delivered by the callback. + * @since 12 + */ +typedef void (*OH_PhotoOutput_CaptureEnd) (Camera_PhotoOutput* photoOutput, int32_t frameCount); + +/** + * @brief Photo output capture start with infomation callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} which deliver the callback. + * @param Info the {@link Camera_CaptureStartInfo} which is delivered by the callback.. + * @since 12 + */ +typedef void (*OH_PhotoOutput_CaptureStartWithInfo) (Camera_PhotoOutput* photoOutput, Camera_CaptureStartInfo* Info); + +/** + * @brief Photo output eframe shutter end callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} which deliver the callback. + * @param Info the {@link Camera_CaptureStartInfo} which is delivered by the callback. + * @since 12 + */ +typedef void (*OH_PhotoOutput_OnFrameShutterEnd) (Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* Info); + +/** + * @brief Photo output capture ready callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} which deliver the callback. + * @since 12 + */ +typedef void (*OH_PhotoOutput_CaptureReady) (Camera_PhotoOutput* photoOutput); + +/** + * @brief Photo output estimated capture duration callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} which deliver the callback. + * @param duration the duration which is delivered by the callback. + * @since 12 + */ +typedef void (*OH_PhotoOutput_EstimatedCaptureDuration) (Camera_PhotoOutput* photoOutput, int64_t duration); + /** * @brief A listener for photo output. * @@ -145,6 +189,126 @@ Camera_ErrorCode OH_PhotoOutput_RegisterCallback(Camera_PhotoOutput* photoOutput */ Camera_ErrorCode OH_PhotoOutput_UnregisterCallback(Camera_PhotoOutput* photoOutput, PhotoOutput_Callbacks* callback); +/** + * @brief Register capture start event callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_CaptureStartWithInfo} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_RegisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_CaptureStartWithInfo callback); + +/** + * @brief Unregister capture start event callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_CaptureStartWithInfo} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_CaptureStartWithInfo callback); + +/** + * @brief Register capture end event callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_CaptureEnd} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_RegisterCaptureEndCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_CaptureEnd callback); + +/** + * @brief Unregister capture end event callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_CaptureEnd} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureEndCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_CaptureEnd callback); + +/** + * @brief Register frame shutter end event callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_OnFrameShutterEnd} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_RegisterFrameShutterEndCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_OnFrameShutterEnd callback); + +/** + * @brief Unregister frame shutter end event callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_OnFrameShutterEnd} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_UnregisterFrameShutterEndCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_OnFrameShutterEnd callback); + +/** + * @brief Register capture ready event callback. After receiving the callback, can proceed to the next capture. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_CaptureReady} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_RegisterCaptureReadyCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_CaptureReady callback); + +/** + * @brief Unregister capture ready event callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_CaptureReady} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureReadyCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_CaptureReady callback); + +/** + * @brief Register estimated capture duration event callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_EstimatedCaptureDuration} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_EstimatedCaptureDuration callback); + +/** + * @brief Unregister estimated capture duration event callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_EstimatedCaptureDuration} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_EstimatedCaptureDuration callback); + /** * @brief Capture photo. * @@ -195,12 +359,13 @@ Camera_ErrorCode OH_PhotoOutput_Release(Camera_PhotoOutput* photoOutput); Camera_ErrorCode OH_PhotoOutput_IsMirrorSupported(Camera_PhotoOutput* photoOutput, bool* isSupported); /** - * @brief Get active profiles. + * @brief Get active photo output profile. * - * @param photoOutput the {@link Camera_PhotoOutput} instance which used to get active profiles. - * @param profile the active {@link Camera_Profile} will be filled if the method call succeeds. + * @param photoOutput the {@link Camera_PhotoOutput} instance to deliver active profile. + * @param profile the active {@link Camera_Profile} to be filled if the method call succeeds. * @return {@link #CAMERA_OK} if the method call succeeds. * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ Camera_ErrorCode OH_PhotoOutput_GetActiveProfile(Camera_PhotoOutput* photoOutput, Camera_Profile** profile); diff --git a/multimedia/camera_framework/preview_output.h b/multimedia/camera_framework/preview_output.h index 3fa3dcced..89e541ba6 100644 --- a/multimedia/camera_framework/preview_output.h +++ b/multimedia/camera_framework/preview_output.h @@ -168,12 +168,13 @@ Camera_ErrorCode OH_PreviewOutput_Stop(Camera_PreviewOutput* previewOutput); Camera_ErrorCode OH_PreviewOutput_Release(Camera_PreviewOutput* previewOutput); /** - * @brief Get active profiles. + * @brief Get active preview output profile. * - * @param previewOutput the {@link Camera_PreviewOutput} instance which used to get active profiles. - * @param profile the active {@link Camera_Profile} will be filled if the method call succeeds. + * @param previewOutput the {@link Camera_PreviewOutput} instance to deliver active profile. + * @param profile the active {@link Camera_Profile} to be filled if the method call succeeds. * @return {@link #CAMERA_OK} if the method call succeeds. * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ Camera_ErrorCode OH_PreviewOutput_GetActiveProfile(Camera_PreviewOutput* previewOutput, Camera_Profile** profile); @@ -188,6 +189,58 @@ Camera_ErrorCode OH_PreviewOutput_GetActiveProfile(Camera_PreviewOutput* preview */ Camera_ErrorCode OH_PreviewOutput_DeleteProfile(Camera_Profile* profile); +/** + * @brief Get supported preview output frame rate list. + * + * @param previewOutput the {@link Camera_PreviewOutput} instance to deliver supported frame rate list. + * @param frameRateRange the supported {@link Camera_FrameRateRange} list to be filled if the method call succeeds. + * @param size the size of supported {@link Camera_FrameRateRange} list will be filled. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_PreviewOutput_GetSupportedFrameRates(Camera_PreviewOutput* previewOutput, + Camera_FrameRateRange** frameRateRange, uint32_t* size); + +/** + * @brief Delete frame rate list. + * + * @param previewOutput the {@link Camera_PreviewOutput} instance to deliver supported frame rate list. + * @param frameRateRange the {@link Camera_FrameRateRange} list to be deleted. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PreviewOutput_DeleteFrameRates(Camera_PreviewOutput* previewOutput, + Camera_FrameRateRange* frameRateRange); + +/** + * @brief Set preview output frame rate. + * + * @param previewOutput the {@link Camera_PreviewOutput} instance to be set frame rate. + * @param minFps the minimum to be set. + * @param maxFps the maximum to be set. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PreviewOutput_SetFrameRate(Camera_PreviewOutput* previewOutput, + int32_t minFps, int32_t maxFps); + +/** + * @brief Get active preview output frame rate. + * + * @param previewOutput the {@link Camera_PreviewOutput} instance to deliver the active frame rate. + * @param frameRateRange the active {@link Camera_FrameRateRange} to be filled if the method call succeeds. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_PreviewOutput_GetActiveFrameRate(Camera_PreviewOutput* previewOutput, + Camera_FrameRateRange* frameRateRange); + #ifdef __cplusplus } #endif diff --git a/multimedia/camera_framework/video_output.h b/multimedia/camera_framework/video_output.h index 07bee9ceb..a74d0f16a 100644 --- a/multimedia/camera_framework/video_output.h +++ b/multimedia/camera_framework/video_output.h @@ -166,12 +166,13 @@ Camera_ErrorCode OH_VideoOutput_Stop(Camera_VideoOutput* videoOutput); Camera_ErrorCode OH_VideoOutput_Release(Camera_VideoOutput* videoOutput); /** - * @brief Get active profiles. + * @brief Get active video output profile. * - * @param videoOutput the {@link Camera_VideoOutput} instance which used to get active profiles. - * @param profile the active {@link Camera_VideoProfile} will be filled if the method call succeeds. + * @param videoOutput the {@link Camera_VideoOutput} instance to deliver active video profile. + * @param profile the active {@link Camera_VideoProfile} to be filled if the method call succeeds. * @return {@link #CAMERA_OK} if the method call succeeds. * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ Camera_ErrorCode OH_VideoOutput_GetActiveProfile(Camera_VideoOutput* videoOutput, Camera_VideoProfile** profile); @@ -186,6 +187,58 @@ Camera_ErrorCode OH_VideoOutput_GetActiveProfile(Camera_VideoOutput* videoOutput */ Camera_ErrorCode OH_VideoOutput_DeleteProfile(Camera_VideoProfile* profile); +/** + * @brief Get supported video output frame rate list. + * + * @param videoOutput the {@link Camera_VideoOutput} instance to deliver supported frame rate list. + * @param frameRateRange the supported {@link Camera_FrameRateRange} list to be filled if the method call succeeds. + * @param size the size of supported {@link Camera_FrameRateRange} list will be filled. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_VideoOutput_GetSupportedFrameRates(Camera_VideoOutput* videoOutput, + Camera_FrameRateRange** frameRateRange, uint32_t* size); + +/** + * @brief Delete frame rate list. + * + * @param videoOutput the {@link Camera_VideoOutput} instance to deliver supported frame rate list. + * @param frameRateRange the {@link Camera_FrameRateRange} list to be deleted. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_VideoOutput_DeleteFrameRates(Camera_VideoOutput* videoOutput, + Camera_FrameRateRange* frameRateRange); + +/** + * @brief Set video output frame rate. + * + * @param videoOutput the {@link Camera_VideoOutput} instance to be set frame rate. + * @param minFps the minimum to be set. + * @param maxFps the maximum to be set. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_VideoOutput_SetFrameRate(Camera_VideoOutput* videoOutput, + int32_t minFps, int32_t maxFps); + +/** + * @brief Get active video output frame rate. + * + * @param videoOutput the {@link Camera_VideoOutput} instance to deliver the active frame rate. + * @param frameRateRange the active {@link Camera_FrameRateRange} to be filled if the method call succeeds. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_VideoOutput_GetActiveFrameRate(Camera_VideoOutput* videoOutput, + Camera_FrameRateRange* frameRateRange); + #ifdef __cplusplus } #endif -- Gitee From b8899778e5e71e29b47552e8cc1be2dba138d30d Mon Sep 17 00:00:00 2001 From: wanjining Date: Wed, 31 Jul 2024 09:54:07 +0800 Subject: [PATCH 006/359] =?UTF-8?q?=E3=80=90CAPI=E3=80=91=E6=96=B0?= =?UTF-8?q?=E5=A2=9EText=E7=BB=84=E4=BB=B6HalfLeading=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanjining --- arkui/ace_engine/native/native_node.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index c6028a287..019a4e4ac 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -2157,6 +2157,18 @@ typedef enum { */ NODE_TEXT_CONTENT_WITH_STYLED_STRING, + /** + * @brief Sets whether to center text vertically in the text component. + * + * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n + * .value[0].i32: whether to center text vertically. The default value is false. \n + * \n + * Format of the return value {@link ArkUI_AttributeItem}:\n + * .value[0].i32: whether to center text vertically. \n + * + */ + NODE_TEXT_HALF_LEADING = 1029, + /** * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. * -- Gitee From 3d06e579f2dc1438c7ab119526d7cf36e6b8baf0 Mon Sep 17 00:00:00 2001 From: wanjining Date: Tue, 30 Jul 2024 19:20:51 +0800 Subject: [PATCH 007/359] =?UTF-8?q?=E3=80=90CAPI=E3=80=91=E6=96=B0?= =?UTF-8?q?=E5=A2=9ECustomSpan=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanjining --- arkui/ace_engine/native/libace.ndk.json | 64 +++++++++++ arkui/ace_engine/native/native_node.h | 41 +++++++ arkui/ace_engine/native/native_type.h | 135 ++++++++++++++++++++++++ 3 files changed, 240 insertions(+) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index ec79d26f4..87155e52a 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -1978,5 +1978,69 @@ { "first_introduced": "12", "name": "OH_ArkUI_DialogDismissEvent_GetDismissReason" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanMeasureInfo_Create" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanMeasureInfo_Dispose" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanMeasureInfo_GetFontSize" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanMetrics_Create" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanMetrics_Dispose" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanMetrics_SetWidth" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanMetrics_SetHeight" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanDrawInfo_Create" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanDrawInfo_Dispose" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanDrawInfo_GetXOffset" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanDrawInfo_GetLineTop" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanDrawInfo_GetLineBottom" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_CustomSpanDrawInfo_GetBaseline" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index c6028a287..1ec148c39 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -122,6 +122,8 @@ typedef enum { ARKUI_NODE_GRID, /** Grid item. */ ARKUI_NODE_GRID_ITEM, + /** Custom span. */ + ARKUI_NODE_CUSTOM_SPAN, } ArkUI_NodeType; /** @@ -7389,6 +7391,45 @@ ArkUI_NodeHandle OH_ArkUI_NodeCustomEvent_GetNodeHandle(ArkUI_NodeCustomEvent* e */ ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustomEvent* event); +/** +* @brief Obtains the measurement information of a custom span through a custom component event. +* +* @param event Indicates the pointer to the custom component event. +* @param info Indicates the measurement information to be obtained. +* @return Returns the result code. +* Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. +* @since 12 +*/ +int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo( + ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMeasureInfo* info); + +/** +* @brief Sets the measurement metrics of a custom span through a custom component event. +* +* @param event Indicates the pointer to the custom component event. +* @param metrics Indicates the measurement metrics to set. +* @return Returns the result code. +* Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. +* @since 12 +*/ +int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics( + ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMetrics* metrics); + +/** +* @brief Obtains the drawing information of a custom span through a custom component event. +* +* @param event Indicates the pointer to the custom component event. +* @param event Indicates the drawing information to obtain. +* @return Returns the result code. +* Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. +* @since 12 +*/ +int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo( + ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanDrawInfo* info); + /** * @brief Defines the node content event type. * diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index f238b1d6f..0c7696551 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -2063,6 +2063,27 @@ typedef struct { float perspective; } ArkUI_RotationOptions; +/** + * @brief Defines a struct for the measurement information of a custom span. + * + * @since 12 + */ +typedef struct ArkUI_CustomSpanMeasureInfo ArkUI_CustomSpanMeasureInfo; + +/** + * @brief Defines a struct for the measurement metrics of a custom span. + * + * @since 12 + */ +typedef struct ArkUI_CustomSpanMetrics ArkUI_CustomSpanMetrics; + +/** + * @brief Defines a struct for the drawing information of a custom span. + * + * @since 12 + */ +typedef struct ArkUI_CustomSpanDrawInfo ArkUI_CustomSpanDrawInfo; + /** * @brief Defines the state of the NavDestination component. * @@ -3410,6 +3431,120 @@ int32_t OH_ArkUI_ListChildrenMainSizeOption_UpdateSize(ArkUI_ListChildrenMainSiz */ float OH_ArkUI_ListChildrenMainSizeOption_GetMainSize(ArkUI_ListChildrenMainSize* option, int32_t index); +/** + * @brief Creates measurement information for this custom span. + * + * @return Returns a CustomSpanMeasureInfo instance. + * @since 12 +*/ +ArkUI_CustomSpanMeasureInfo* OH_ArkUI_CustomSpanMeasureInfo_Create(); + +/** + * @brief Disposes of measurement information of this custom span. + * + * @since 12 +*/ +void OH_ArkUI_CustomSpanMeasureInfo_Dispose(ArkUI_CustomSpanMeasureInfo* info); + +/** + * @brief Obtains the font size of a custom span. + * + * @param info Indicates the pointer to the measurement information of a custom span. + * @return Returns the font size. If a parameter error occurs, 0.0f is returned. + * @since 12 +*/ +float OH_ArkUI_CustomSpanMeasureInfo_GetFontSize(ArkUI_CustomSpanMeasureInfo* info); + +/** + * @brief Creates measurement metrics for this custom span. + * + * @return Returns a CustomSpanMetrics instance. + * @since 12 +*/ +ArkUI_CustomSpanMetrics* OH_ArkUI_CustomSpanMetrics_Create(); + +/** + * @brief Disposes of measurement metrics of this custom span. + * + * @since 12 +*/ +void OH_ArkUI_CustomSpanMetrics_Dispose(ArkUI_CustomSpanMetrics* metrics); + +/** + * @brief Sets the width for a custom span. + * + * @param metrics Indicates the pointer to a CustomSpanMetrics instance. + * @param width Indicates the width, in px. + * @return Returns the result code. + * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. + * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. + * @since 12 +*/ +int32_t OH_ArkUI_CustomSpanMetrics_SetWidth(ArkUI_CustomSpanMetrics* metrics, float width); + +/** + * @brief Sets the height for a custom span. + * + * @param metrics Indicates the pointer to a CustomSpanMetrics instance. + * @param width Indicates the height, in px. + * @return Returns the result code. + * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. + * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. + * @since 12 +*/ +int32_t OH_ArkUI_CustomSpanMetrics_SetHeight(ArkUI_CustomSpanMetrics* metrics, float height); + +/** + * @brief Creates drawing information for this custom span. + * + * @return Returns a CustomSpanDrawInfo instance. + * @since 12 +*/ +ArkUI_CustomSpanDrawInfo* OH_ArkUI_CustomSpanDrawInfo_Create(); + +/** + * @brief Disposes of drawing information for this custom span. + * + * @since 12 +*/ +void OH_ArkUI_CustomSpanDrawInfo_Dispose(ArkUI_CustomSpanDrawInfo* info); + +/** + * @brief Obtains the x-axis offset of the custom span relative to the mounted component. + * + * @param info Indicates the pointer to the drawing information of a custom span. + * @return Returns the x-axis offset. If a parameter error occurs, 0.0f is returned. + * @since 12 +*/ +float OH_ArkUI_CustomSpanDrawInfo_GetXOffset(ArkUI_CustomSpanDrawInfo* info); + +/** + * @brief Obtains the top margin of the custom span relative to the mounted component. + * + * @param info Indicates the pointer to the drawing information of a custom span. + * @return Returns the top margin. If a parameter error occurs, 0.0f is returned. + * @since 12 +*/ +float OH_ArkUI_CustomSpanDrawInfo_GetLineTop(ArkUI_CustomSpanDrawInfo* info); + +/** + * @brief Obtains the bottom margin of the custom span relative to the mounted component. + * + * @param info Indicates the pointer to the drawing information of a custom span. + * @return Returns the bottom margin. If a parameter error occurs, 0.0f is returned. + * @since 12 +*/ +float OH_ArkUI_CustomSpanDrawInfo_GetLineBottom(ArkUI_CustomSpanDrawInfo* info); + +/** + * @brief Obtains the baseline offset of the custom span relative to the mounted component. + * + * @param info Indicates the pointer to the drawing information of a custom span. + * @return Returns the baseline offset. If a parameter error occurs, 0.0f is returned. + * @since 12 +*/ +float OH_ArkUI_CustomSpanDrawInfo_GetBaseline(ArkUI_CustomSpanDrawInfo* info); + /** * @brief Create a image frame from the image path. * @param src Indicates the image path. -- Gitee From 10f619277126a4ec34a74b0b36db43c24c38dd39 Mon Sep 17 00:00:00 2001 From: shegangbin Date: Mon, 29 Jul 2024 12:15:27 +0800 Subject: [PATCH 008/359] add native_vsync ndk interface Signed-off-by: shegangbin --- .../native_vsync/libnative_vsync.ndk.json | 1 + .../graphic_2d/native_vsync/native_vsync.h | 23 +++++++++++++++++-- .../native_window/graphic_error_code.h | 2 ++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json b/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json index b702a1d7a..196fab524 100644 --- a/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json +++ b/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json @@ -2,5 +2,6 @@ { "name": "OH_NativeVSync_Create" }, { "name": "OH_NativeVSync_Destroy" }, { "name": "OH_NativeVSync_RequestFrame" }, + { "name": "OH_NativeVSync_RequestFrameWithMultiCallback" }, { "name": "OH_NativeVSync_GetPeriod" } ] \ No newline at end of file diff --git a/graphic/graphic_2d/native_vsync/native_vsync.h b/graphic/graphic_2d/native_vsync/native_vsync.h index 069d17689..85627485c 100644 --- a/graphic/graphic_2d/native_vsync/native_vsync.h +++ b/graphic/graphic_2d/native_vsync/native_vsync.h @@ -65,7 +65,6 @@ OH_NativeVSync* OH_NativeVSync_Create(const char* name, unsigned int length); * * @syscap SystemCapability.Graphic.Graphic2D.NativeVsync * @param window Indicates the pointer to a NativeVsync instance. - * @return Returns int32_t, return value == 0, success, otherwise, failed. * @since 9 * @version 1.0 */ @@ -73,17 +72,37 @@ void OH_NativeVSync_Destroy(OH_NativeVSync* nativeVsync); /** * @brief Request next vsync with callback. + * If you call this interface multiple times in one frame, it will only call the last callback. * * @syscap SystemCapability.Graphic.Graphic2D.NativeVsync * @param nativeVsync Indicates the pointer to a NativeVsync. * @param callback Indicates the OH_NativeVSync_FrameCallback which will be called when next vsync coming. * @param data Indicates data whick will be used in callback. - * @return Returns int32_t, return value == 0, success, otherwise, failed. + * @return {@link NATIVE_ERROR_OK} 0 - Success. + * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - the parameter nativeVsync is NULL or callback is NULL. + * {@link NATIVE_ERROR_BINDER_ERROR} 50401000 - ipc send failed. * @since 9 * @version 1.0 */ int OH_NativeVSync_RequestFrame(OH_NativeVSync* nativeVsync, OH_NativeVSync_FrameCallback callback, void* data); +/** + * @brief Request next vsync with callback. + * If this function is called multiple times in one vsync period, all these callbacks and dataset will be called. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeVsync + * @param nativeVsync Indicates the pointer to a NativeVsync. + * @param callback Indicates the OH_NativeVSync_FrameCallback which will be called when next vsync coming. + * @param data Indicates data whick will be used in callback. + * @return {@link NATIVE_ERROR_OK} 0 - Success. + * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - the parameter nativeVsync is NULL or callback is NULL. + * {@link NATIVE_ERROR_BINDER_ERROR} 50401000 - ipc send failed. + * @since 12 + * @version 1.0 + */ +int OH_NativeVSync_RequestFrameWithMultiCallback( + OH_NativeVSync* nativeVsync, OH_NativeVSync_FrameCallback callback, void* data); + /** * @brief Get vsync period. * diff --git a/graphic/graphic_2d/native_window/graphic_error_code.h b/graphic/graphic_2d/native_window/graphic_error_code.h index cba61e5e8..8a2419681 100644 --- a/graphic/graphic_2d/native_window/graphic_error_code.h +++ b/graphic/graphic_2d/native_window/graphic_error_code.h @@ -80,6 +80,8 @@ typedef enum OHNativeErrorCode { NATIVE_ERROR_UNSUPPORTED = 50102000, /** @error unknown error, please check log */ NATIVE_ERROR_UNKNOWN = 50002000, + /** @error ipc send failed */ + NATIVE_ERROR_BINDER_ERROR = 50401000, /** @error the egl environment is abnormal */ NATIVE_ERROR_EGL_STATE_UNKNOWN = 60001000, /** @error egl interface invocation failed */ -- Gitee From d9d606d97a3e02ae4292f792190d0f203776b465 Mon Sep 17 00:00:00 2001 From: m30063213 Date: Wed, 31 Jul 2024 21:30:08 +0800 Subject: [PATCH 009/359] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=92=8C=E5=AE=9E=E7=8E=B0=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: m30063213 --- network/netmanager/include/net_connection_type.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/network/netmanager/include/net_connection_type.h b/network/netmanager/include/net_connection_type.h index 1698a6593..777c0c0be 100644 --- a/network/netmanager/include/net_connection_type.h +++ b/network/netmanager/include/net_connection_type.h @@ -69,6 +69,8 @@ typedef enum NetConn_NetCap { NETCONN_NET_CAPABILITY_NOT_VPN = 15, /** Validated */ NETCONN_NET_CAPABILITY_VALIDATED = 16, + /** portal */ + NETCONN_NET_CAPABILITY_PORTAL = 17 } NetConn_NetCap; /** -- Gitee From 0dbbc54dc7ca7d039967610ba2b757c585d71d35 Mon Sep 17 00:00:00 2001 From: zoulinken Date: Wed, 31 Jul 2024 16:13:57 +0800 Subject: [PATCH 010/359] =?UTF-8?q?C-API=E6=B7=B1=E6=B5=85=E5=8F=8A?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=AD=97=E4=BD=93=E5=A4=A7=E5=B0=8F=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E9=9C=80=E6=B1=82=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zoulinken --- arkui/ace_engine/native/libace.ndk.json | 24 +++++++++ arkui/ace_engine/native/native_node.h | 67 +++++++++++++++++++++++++ arkui/ace_engine/native/native_type.h | 19 +++++++ 3 files changed, 110 insertions(+) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index ec79d26f4..1e6b48594 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -1978,5 +1978,29 @@ { "first_introduced": "12", "name": "OH_ArkUI_DialogDismissEvent_GetDismissReason" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_RegisterSystemColorModeChangeEvent" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_UnregisterSystemColorModeChangeEvent" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_RegisterSystemFontStyleChangeEvent" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_UnregisterSystemFontStyleChangeEvent" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_SystemFontStyleEvent_GetFontSize" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_SystemFontStyleEvent_GetFontWeight" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 0d137b57e..e5ad45c74 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -7619,6 +7619,73 @@ int32_t OH_ArkUI_List_CloseAllSwipeActions(ArkUI_NodeHandle node, void* userData */ ArkUI_ContextHandle OH_ArkUI_GetContextByNode(ArkUI_NodeHandle node); +/** +* @brief The event called when the system color mode changes. +* Only one system color change callback can be registered for the same component. +* +* @param node Indicates the target node. +* @param userData Indicates the custom data to be saved. +* @param onColorModeChange Callback Events. +* @return Error code. +* {@link ARKUI_ERROR_CODE_NO_ERROR} Success. +* {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. +* {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. +* @since 12 +*/ +int32_t OH_ArkUI_RegisterSystemColorModeChangeEvent(ArkUI_NodeHandle node, + void* userData, void (*onColorModeChange)(ArkUI_SystemColorMode colorMode, void* userData)); + +/** +* @brief Unregister the event callback when the system color mode changes. +* +* @param node Indicates the target node. +* @since 12 +*/ +void OH_ArkUI_UnregisterSystemColorModeChangeEvent(ArkUI_NodeHandle node); + +/** +* @brief The event called when the system font style changes. +* Only one system font change callback can be registered for the same component. +* +* @param node Indicates the target node. +* @param userData Indicates the custom data to be saved. +* @param onFontStyleChange Callback Events. +* @return Error code. +* {@link ARKUI_ERROR_CODE_NO_ERROR} Success. +* {@link ARKUI_ERROR_CODE_PARAM_INVALID} Function parameter exception. +* {@link ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED} The component does not support this event. +* @since 12 +*/ +int32_t OH_ArkUI_RegisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node, + void* userData, void (*onFontStyleChange)(ArkUI_SystemFontStyleEvent* event, void* userData)); + +/** +* @brief Unregister the event callback when the system font style changes. +* +* @param node Indicates the target node. +* @since 12 +*/ +void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node); + +/** + * @brief Retrieve the font size value for system font change events. + * + * @param event Indicates a pointer to the current system font change event. + * @return Updated system font size. -1 indicates a retrieval error. + * @since 12 + */ +int32_t OH_ArkUI_SystemFontStyleEvent_GetFontSize(const ArkUI_SystemFontStyleEvent* event); + +/** + * @brief Retrieve the font thickness values for system font change events. + * + * @param event Indicates a pointer to the current system font change event. + * @return Updated system font thickness, return value type {@link ArkUI_fontWeight}, + * default value:ARKUI_FONT_WEIGHT_W100。 + * @since 12 + */ +int32_t OH_ArkUI_SystemFontStyleEvent_GetFontWeight(const ArkUI_SystemFontStyleEvent* event); + #ifdef __cplusplus }; #endif diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index f238b1d6f..616256924 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -983,6 +983,18 @@ typedef enum { ARKUI_COLOR_MODE_DARK, } ArkUI_ColorMode; +/** + * @brief Enumerates the system color modes. + * + * @since 12 + */ +typedef enum { + /** Light color mode. */ + ARKUI_SYSTEM_COLOR_MODE_LIGHT = 0, + /** Dark color mode. */ + ARKUI_SYSTEM_COLOR_MODE_DARK, +} ArkUI_SystemColorMode; + /** * @brief Enumerates the blur styles. * @@ -2137,6 +2149,13 @@ typedef enum { ARKUI_SAFE_AREA_EDGE_END = 1 << 3, } ArkUI_SafeAreaEdge; +/** + * @brief Defines parameter used by the system font style callback event. + * + * @since 12 + */ +typedef struct ArkUI_SystemFontStyleEvent ArkUI_SystemFontStyleEvent; + /** * @brief Creates a size constraint. * -- Gitee From 5c232fb1481978b47352b8a491fc69823b3ee132 Mon Sep 17 00:00:00 2001 From: m30063213 Date: Thu, 1 Aug 2024 17:39:29 +0800 Subject: [PATCH 011/359] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=92=8C=E5=AE=9E=E7=8E=B0=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: m30063213 --- network/netmanager/include/net_connection_type.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/network/netmanager/include/net_connection_type.h b/network/netmanager/include/net_connection_type.h index 777c0c0be..184479315 100644 --- a/network/netmanager/include/net_connection_type.h +++ b/network/netmanager/include/net_connection_type.h @@ -69,7 +69,7 @@ typedef enum NetConn_NetCap { NETCONN_NET_CAPABILITY_NOT_VPN = 15, /** Validated */ NETCONN_NET_CAPABILITY_VALIDATED = 16, - /** portal */ + /** Portal */ NETCONN_NET_CAPABILITY_PORTAL = 17 } NetConn_NetCap; -- Gitee From 8c088c4a4e6f3a20a78d203c3daa74c7626a3842 Mon Sep 17 00:00:00 2001 From: m30063213 Date: Fri, 2 Aug 2024 11:42:27 +0800 Subject: [PATCH 012/359] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=92=8C=E5=AE=9E=E7=8E=B0=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: m30063213 --- network/netmanager/include/net_connection_type.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/network/netmanager/include/net_connection_type.h b/network/netmanager/include/net_connection_type.h index 184479315..c2e25e2b5 100644 --- a/network/netmanager/include/net_connection_type.h +++ b/network/netmanager/include/net_connection_type.h @@ -69,7 +69,10 @@ typedef enum NetConn_NetCap { NETCONN_NET_CAPABILITY_NOT_VPN = 15, /** Validated */ NETCONN_NET_CAPABILITY_VALIDATED = 16, - /** Portal */ + /** + * portal + * @since 12 + */ NETCONN_NET_CAPABILITY_PORTAL = 17 } NetConn_NetCap; -- Gitee From ca95585c213b9c28839cf24771306666772d2729 Mon Sep 17 00:00:00 2001 From: happy Date: Fri, 2 Aug 2024 08:05:25 +0000 Subject: [PATCH 013/359] =?UTF-8?q?native=5Fnode.h=20=E4=B8=AD=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: happy Change-Id: I3b9eb274fe95ad8b4b5e8faa226732d38677c530 --- arkui/ace_engine/native/native_node.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 0d137b57e..f6e71e41e 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -1026,10 +1026,10 @@ typedef enum { * .string: command for drawing the path.\n * 5. Progress:\n * .value[0].i32: mask type. The parameter type is {@link ArkUI_MaskType}. - * The value is ARKUI_MASK_TYPE_PROSGRESS for the progress shape.\n + * The value is ARKUI_MASK_TYPE_PROGRESS for the progress shape.\n * .value[1].f32: current value of the progress indicator.\n * .value[2].f32: maximum value of the progress indicator.\n - * .value[3].u32: color of the progress indicator.\n + * .value[3].u32: color of the progress indicator, in 0xARGB format.\n * \n * Format of the return value {@link ArkUI_AttributeItem}, which supports five types of shapes:\n * 1. Rectangle:\n -- Gitee From b7451b431b5885b02a7b7aaa270de84c0595b8eb Mon Sep 17 00:00:00 2001 From: zhangjinyu101 Date: Fri, 2 Aug 2024 16:22:46 +0800 Subject: [PATCH 014/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9CAPI=E6=8B=96?= =?UTF-8?q?=E6=8B=BD=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangjinyu101 Change-Id: Icaf53fd247e64bab521f7b373e612c155a9228be --- arkui/ace_engine/native/drag_and_drop.h | 20 ++++++++++---------- arkui/ace_engine/native/libace.ndk.json | 2 +- arkui/ace_engine/native/native_node.h | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/arkui/ace_engine/native/drag_and_drop.h b/arkui/ace_engine/native/drag_and_drop.h index c8dc14726..2f68d95b0 100644 --- a/arkui/ace_engine/native/drag_and_drop.h +++ b/arkui/ace_engine/native/drag_and_drop.h @@ -80,22 +80,22 @@ typedef enum { */ typedef enum { /** Unknown. */ - ARKUI_PREVIEW_DRAG_STATUS_UNKNOWN = -1, + ARKUI_PRE_DRAG_STATUS_UNKNOWN = -1, /** A drag gesture is being detected. */ - ARKUI_PREVIEW_DRAG_STATUS_ACTION_DETECTING, + ARKUI_PRE_DRAG_STATUS_ACTION_DETECTING, /** The component is ready to be dragged. */ - ARKUI_PREVIEW_DRAG_STATUS_READY_TO_TRIGGER_DRAG, + ARKUI_PRE_DRAG_STATUS_READY_TO_TRIGGER_DRAG, /** A lift animation is started. */ - ARKUI_PREVIEW_DRAG_STATUS_PREVIEW_LIFT_STARTED, + ARKUI_PRE_DRAG_STATUS_PREVIEW_LIFT_STARTED, /** A lift animation is finished. */ - ARKUI_PREVIEW_DRAG_STATUS_PREVIEW_LIFT_FINISHED, + ARKUI_PRE_DRAG_STATUS_PREVIEW_LIFT_FINISHED, /** A drop animation is started. */ - ARKUI_PREVIEW_DRAG_STATUS_PREVIEW_LANDING_STARTED, + ARKUI_PRE_DRAG_STATUS_PREVIEW_LANDING_STARTED, /** A drop animation is finished. */ - ARKUI_PREVIEW_DRAG_STATUS_PREVIEW_LANDING_FINISHED, + ARKUI_PRE_DRAG_STATUS_PREVIEW_LANDING_FINISHED, /** A drop animation is terminated. */ - ARKUI_PREVIEW_DRAG_STATUS_CANCELED_BEFORE_DRAG, -} ArkUI_PreviewDragStatus; + ARKUI_PRE_DRAG_STATUS_CANCELED_BEFORE_DRAG, +} ArkUI_PreDragStatus; /** * @brief Defines an enum for drag preview scale modes. @@ -192,7 +192,7 @@ ArkUI_DragEvent* OH_ArkUI_NodeEvent_GetDragEvent(ArkUI_NodeEvent* nodeEvent); * @return Returns the interaction state prior to the drop and drop operation. * @since 12 */ -ArkUI_PreviewDragStatus OH_ArkUI_NodeEvent_GetPreviewDragStatus(ArkUI_NodeEvent* nodeEvent); +ArkUI_PreDragStatus OH_ArkUI_NodeEvent_GetPreDragStatus(ArkUI_NodeEvent* nodeEvent); /** * @brief Sets whether to disable the default drop animation. diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index 250a1c13d..c7d2378dd 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -1765,7 +1765,7 @@ }, { "first_introduced": "12", - "name": "OH_ArkUI_NodeEvent_GetPreviewDragStatus" + "name": "OH_ArkUI_NodeEvent_GetPreDragStatus" }, { "first_introduced": "12", diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 1412a47cf..77375b584 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -5537,7 +5537,7 @@ typedef enum { * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is * {@link ArkUI_NodeComponentEvent}. \n * {@link ArkUI_NodeComponentEvent} contains one parameter:\n - * ArkUI_NodeComponentEvent.data[0].i32: corresponds to {@link ArkUI_PreViewDragStatus}. \n + * ArkUI_NodeComponentEvent.data[0].i32: corresponds to {@link ArkUI_PreDragStatus}. \n */ NODE_ON_PRE_DRAG = 14, /** -- Gitee From adbeca16ab2f2303e67af5c0b23c5366ad005fa3 Mon Sep 17 00:00:00 2001 From: wanjining Date: Wed, 31 Jul 2024 19:12:34 +0800 Subject: [PATCH 015/359] =?UTF-8?q?=E4=BF=AE=E8=AE=A2=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanjining --- arkui/ace_engine/native/native_node.h | 5 ++++- arkui/ace_engine/native/native_type.h | 17 +++++++++++++++-- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 1ec148c39..474af5e65 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -7399,6 +7399,7 @@ ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustom * @return Returns the result code. * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. +*
Possible causes: Parameter verification failed, the parameter should not be nullptr. * @since 12 */ int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo( @@ -7412,6 +7413,7 @@ int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo( * @return Returns the result code. * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. +*
Possible causes: Parameter verification failed, the parameter should not be nullptr. * @since 12 */ int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics( @@ -7421,10 +7423,11 @@ int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics( * @brief Obtains the drawing information of a custom span through a custom component event. * * @param event Indicates the pointer to the custom component event. -* @param event Indicates the drawing information to obtain. +* @param info Indicates the drawing information to obtain. * @return Returns the result code. * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. +*
Possible causes: Parameter verification failed, the parameter should not be nullptr. * @since 12 */ int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo( diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index 0c7696551..8849c3d7f 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -3435,6 +3435,7 @@ float OH_ArkUI_ListChildrenMainSizeOption_GetMainSize(ArkUI_ListChildrenMainSize * @brief Creates measurement information for this custom span. * * @return Returns a CustomSpanMeasureInfo instance. + *
If the result returns nullptr, there may be out of memory. * @since 12 */ ArkUI_CustomSpanMeasureInfo* OH_ArkUI_CustomSpanMeasureInfo_Create(); @@ -3442,6 +3443,7 @@ ArkUI_CustomSpanMeasureInfo* OH_ArkUI_CustomSpanMeasureInfo_Create(); /** * @brief Disposes of measurement information of this custom span. * + * @param info The CustomSpanMeasureInfo instance to be destroyed. * @since 12 */ void OH_ArkUI_CustomSpanMeasureInfo_Dispose(ArkUI_CustomSpanMeasureInfo* info); @@ -3451,6 +3453,7 @@ void OH_ArkUI_CustomSpanMeasureInfo_Dispose(ArkUI_CustomSpanMeasureInfo* info); * * @param info Indicates the pointer to the measurement information of a custom span. * @return Returns the font size. If a parameter error occurs, 0.0f is returned. + *
Possible causes: Parameter verification failed, the parameter should not be nullptr. * @since 12 */ float OH_ArkUI_CustomSpanMeasureInfo_GetFontSize(ArkUI_CustomSpanMeasureInfo* info); @@ -3459,6 +3462,7 @@ float OH_ArkUI_CustomSpanMeasureInfo_GetFontSize(ArkUI_CustomSpanMeasureInfo* in * @brief Creates measurement metrics for this custom span. * * @return Returns a CustomSpanMetrics instance. + *
If the result returns nullptr, there may be out of memory. * @since 12 */ ArkUI_CustomSpanMetrics* OH_ArkUI_CustomSpanMetrics_Create(); @@ -3466,6 +3470,7 @@ ArkUI_CustomSpanMetrics* OH_ArkUI_CustomSpanMetrics_Create(); /** * @brief Disposes of measurement metrics of this custom span. * + * @param info The CustomSpanMetrics instance to be destroyed. * @since 12 */ void OH_ArkUI_CustomSpanMetrics_Dispose(ArkUI_CustomSpanMetrics* metrics); @@ -3474,10 +3479,11 @@ void OH_ArkUI_CustomSpanMetrics_Dispose(ArkUI_CustomSpanMetrics* metrics); * @brief Sets the width for a custom span. * * @param metrics Indicates the pointer to a CustomSpanMetrics instance. - * @param width Indicates the width, in px. + * @param width Indicates the width, in px. The width should be greater than 0. * @return Returns the result code. * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. + *
Possible causes: Parameter verification failed, the parameter should not be nullptr. * @since 12 */ int32_t OH_ArkUI_CustomSpanMetrics_SetWidth(ArkUI_CustomSpanMetrics* metrics, float width); @@ -3486,10 +3492,11 @@ int32_t OH_ArkUI_CustomSpanMetrics_SetWidth(ArkUI_CustomSpanMetrics* metrics, fl * @brief Sets the height for a custom span. * * @param metrics Indicates the pointer to a CustomSpanMetrics instance. - * @param width Indicates the height, in px. + * @param width Indicates the height, in px. The width should be greater than 0. * @return Returns the result code. * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. + *
Possible causes: Parameter verification failed, the parameter should not be nullptr. * @since 12 */ int32_t OH_ArkUI_CustomSpanMetrics_SetHeight(ArkUI_CustomSpanMetrics* metrics, float height); @@ -3498,6 +3505,7 @@ int32_t OH_ArkUI_CustomSpanMetrics_SetHeight(ArkUI_CustomSpanMetrics* metrics, f * @brief Creates drawing information for this custom span. * * @return Returns a CustomSpanDrawInfo instance. + *
If the result returns nullptr, there may be out of memory. * @since 12 */ ArkUI_CustomSpanDrawInfo* OH_ArkUI_CustomSpanDrawInfo_Create(); @@ -3505,6 +3513,7 @@ ArkUI_CustomSpanDrawInfo* OH_ArkUI_CustomSpanDrawInfo_Create(); /** * @brief Disposes of drawing information for this custom span. * + * @param info The CustomSpanDrawInfo instance to be destroyed. * @since 12 */ void OH_ArkUI_CustomSpanDrawInfo_Dispose(ArkUI_CustomSpanDrawInfo* info); @@ -3514,6 +3523,7 @@ void OH_ArkUI_CustomSpanDrawInfo_Dispose(ArkUI_CustomSpanDrawInfo* info); * * @param info Indicates the pointer to the drawing information of a custom span. * @return Returns the x-axis offset. If a parameter error occurs, 0.0f is returned. + *
Possible causes: Parameter verification failed, the parameter should not be nullptr. * @since 12 */ float OH_ArkUI_CustomSpanDrawInfo_GetXOffset(ArkUI_CustomSpanDrawInfo* info); @@ -3523,6 +3533,7 @@ float OH_ArkUI_CustomSpanDrawInfo_GetXOffset(ArkUI_CustomSpanDrawInfo* info); * * @param info Indicates the pointer to the drawing information of a custom span. * @return Returns the top margin. If a parameter error occurs, 0.0f is returned. + *
Possible causes: Parameter verification failed, the parameter should not be nullptr. * @since 12 */ float OH_ArkUI_CustomSpanDrawInfo_GetLineTop(ArkUI_CustomSpanDrawInfo* info); @@ -3532,6 +3543,7 @@ float OH_ArkUI_CustomSpanDrawInfo_GetLineTop(ArkUI_CustomSpanDrawInfo* info); * * @param info Indicates the pointer to the drawing information of a custom span. * @return Returns the bottom margin. If a parameter error occurs, 0.0f is returned. + *
Possible causes: Parameter verification failed, the parameter should not be nullptr. * @since 12 */ float OH_ArkUI_CustomSpanDrawInfo_GetLineBottom(ArkUI_CustomSpanDrawInfo* info); @@ -3541,6 +3553,7 @@ float OH_ArkUI_CustomSpanDrawInfo_GetLineBottom(ArkUI_CustomSpanDrawInfo* info); * * @param info Indicates the pointer to the drawing information of a custom span. * @return Returns the baseline offset. If a parameter error occurs, 0.0f is returned. + *
Possible causes: Parameter verification failed, the parameter should not be nullptr. * @since 12 */ float OH_ArkUI_CustomSpanDrawInfo_GetBaseline(ArkUI_CustomSpanDrawInfo* info); -- Gitee From 08595094dcc301ac796f406801e23df61f8a8a71 Mon Sep 17 00:00:00 2001 From: y00656910 Date: Sat, 3 Aug 2024 11:20:43 +0800 Subject: [PATCH 016/359] introduce OH_ImageNative_GetTimestamp Signed-off-by: y00656910 Change-Id: I094ab572a3f0f97fa3b9f72aaa1a188610aa6a6b --- multimedia/image_framework/libohimage.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/multimedia/image_framework/libohimage.ndk.json b/multimedia/image_framework/libohimage.ndk.json index a9eefa5fb..da613fb2a 100644 --- a/multimedia/image_framework/libohimage.ndk.json +++ b/multimedia/image_framework/libohimage.ndk.json @@ -23,6 +23,10 @@ "first_introduced": "12", "name": "OH_ImageNative_GetPixelStride" }, + { + "first_introduced": "12", + "name": "OH_ImageNative_GetTimestamp" + }, { "first_introduced": "12", "name": "OH_ImageNative_Release" -- Gitee From f38fbf0af35d5210c314b686bdec2f1ef1b70a1f Mon Sep 17 00:00:00 2001 From: m30063213 Date: Sat, 3 Aug 2024 11:29:43 +0800 Subject: [PATCH 017/359] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=92=8C=E5=AE=9E=E7=8E=B0=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: m30063213 --- network/netmanager/include/net_connection_type.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/network/netmanager/include/net_connection_type.h b/network/netmanager/include/net_connection_type.h index c2e25e2b5..d8a70cf6d 100644 --- a/network/netmanager/include/net_connection_type.h +++ b/network/netmanager/include/net_connection_type.h @@ -70,9 +70,9 @@ typedef enum NetConn_NetCap { /** Validated */ NETCONN_NET_CAPABILITY_VALIDATED = 16, /** - * portal - * @since 12 - */ + * Portal + * @since 12 + */ NETCONN_NET_CAPABILITY_PORTAL = 17 } NetConn_NetCap; -- Gitee From 4f17211975f302bc8bd68b81f11f23fde322ca63 Mon Sep 17 00:00:00 2001 From: multimodalinput Date: Fri, 12 Jul 2024 18:19:07 +0800 Subject: [PATCH 018/359] =?UTF-8?q?=E5=A4=9A=E6=A8=A1=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E4=BA=8B=E4=BB=B6=E7=9B=91=E5=90=AC=E5=92=8C=E6=8B=A6=E6=88=AA?= =?UTF-8?q?=E4=BB=A5=E5=8F=8A=E9=BC=A0=E6=A0=87=E6=A0=B7=E5=BC=8F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: multimodalinput --- multimodalinput/kits/c/BUILD.gn | 2 + multimodalinput/kits/c/input/oh_axis_type.h | 165 ++++++ .../kits/c/input/oh_input_manager.h | 533 +++++++++++++++++- multimodalinput/kits/c/ohinput.ndk.json | 120 ++++ 4 files changed, 799 insertions(+), 21 deletions(-) create mode 100644 multimodalinput/kits/c/input/oh_axis_type.h diff --git a/multimodalinput/kits/c/BUILD.gn b/multimodalinput/kits/c/BUILD.gn index 60f919ab1..1d53eb37c 100644 --- a/multimodalinput/kits/c/BUILD.gn +++ b/multimodalinput/kits/c/BUILD.gn @@ -18,6 +18,7 @@ import("//foundation/multimodalinput/input/multimodalinput_mini.gni") ohos_ndk_headers("ohinput_header") { dest_dir = "$ndk_headers_out_dir/multimodalinput" sources = [ + "./input/oh_axis_type.h", "./input/oh_input_manager.h", "./input/oh_key_code.h", ] @@ -29,6 +30,7 @@ ohos_ndk_library("libohinput_ndk") { ndk_description_file = "./ohinput.ndk.json" system_capability = "SystemCapability.MultimodalInput.Input.Core" system_capability_headers = [ + "multimodalinput/oh_axis_type.h", "multimodalinput/oh_input_manager.h", "multimodalinput/oh_key_code.h", ] diff --git a/multimodalinput/kits/c/input/oh_axis_type.h b/multimodalinput/kits/c/input/oh_axis_type.h new file mode 100644 index 000000000..7d5fd8cc4 --- /dev/null +++ b/multimodalinput/kits/c/input/oh_axis_type.h @@ -0,0 +1,165 @@ +/* + * Copyright (c) 2024 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 input + * @{ + * + * @brief Provides the C interface in the multi-modal input domain. + * + * @since 12 + */ + +/** + * @file oh_axis_type.h + * + * @brief Defines the axis event-specific structure and enumerations. + * @kit InputKit + * @syscap SystemCapability.MultimodalInput.Input.Core + * @library liboh_input.so + * @since 12 + */ + +#ifndef OH_AXIS_TYPE_H +#define OH_AXIS_TYPE_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates axis types. + * + * @since 12 + */ +typedef enum InputEvent_AxisType { + /** + * Indicates an unknown axis type. It is generally used as the initial value. + * + * @since 12 + */ + AXIS_TYPE_UNKNOWN, + + /** + * Indicates the vertical scroll axis. When you scroll the mouse wheel or make certain gestures on the touchpad, + * the status of the vertical scroll axis changes. + * + * @since 12 + */ + AXIS_TYPE_SCROLL_VERTICAL, + + /** + * Indicates the horizontal scroll axis. + * When you scroll the mouse wheel or make certain gestures on the touchpad, + * the status of the horizontal scroll axis changes. + * + * @since 12 + */ + AXIS_TYPE_SCROLL_HORIZONTAL, + + /** + * Indicates the pinch axis, which is used to describe a pinch gesture on the touchscreen or touchpad. + * + * @since 12 + */ + AXIS_TYPE_PINCH, + + /** + * Indicates the rotate axis, which is used to describe a rotate gesture on the touchpad. + * + * @since 12 + */ + AXIS_TYPE_ROTATE +} InputEvent_AxisType; + +/** + * @brief Enumerates axis event types. + * + * @since 12 + */ +typedef enum InputEvent_AxisEventType { + /** + * @brief Enumerates two-finger pinch events. The axis value can be AXIS_TYPE_PINCH or AXIS_TYPE_ROTATE. + * + * @since 12 + */ + AXIS_EVENT_TYPE_PINCH = 1, + /** + * @brief Enumerates scroll axis events. + * The axis value can be AXIS_TYPE_SCROLL_VERTICAL or AXIS_TYPE_SCROLL_HORIZONTAL. + * Wherein, the value of AXIS_TYPE_SCROLL_HORIZONTAL is 0 for a mouse wheel event. + * + * @since 12 + */ + AXIS_EVENT_TYPE_SCROLL = 2 +} InputEvent_AxisEventType; + +/** + * @brief Enumerates axis event source types. + * + * @since 12 + */ +typedef enum InputEvent_SourceType { + /** + * Indicates that the input source generates events similar to mouse cursor movement, + * button press and release, and wheel scrolling. + * + * @since 12 + */ + SOURCE_TYPE_MOUSE = 1, + /** + * Indicates that the input source generates a touchscreen multi-touch event. + * + * @since 12 + */ + SOURCE_TYPE_TOUCHSCREEN = 2, + /** + * Indicates that the input source generates a touchpad multi-touch event. + * + * @since 12 + */ + SOURCE_TYPE_TOUCHPAD = 3 +} InputEvent_SourceType; + +/** + * @brief Enumerates axis event actions. + * + * @since 12 + */ +typedef enum InputEvent_AxisAction { + /** + * Start action for the axis input event. + * + * @since 12 + */ + AXIS_ACTION_BEGIN = 5, + /** + * Update action for the axis input event. + * + * @since 12 + */ + AXIS_ACTION_UPDATE = 6, + /** + * End action for the axis input event. + * + * @since 12 + */ + AXIS_ACTION_END = 7, +} InputEvent_AxisAction; +#ifdef __cplusplus +} +#endif +/** @} */ +#endif \ No newline at end of file diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 7506a28f9..5ae7d4df7 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -37,6 +37,7 @@ #include +#include "oh_axis_type.h" #include "oh_key_code.h" #ifdef __cplusplus @@ -48,7 +49,7 @@ extern "C" { * * @since 12 */ -enum Input_KeyStateAction { +typedef enum Input_KeyStateAction { /** Default */ KEY_DEFAULT = -1, /** Pressing of a key */ @@ -59,14 +60,14 @@ enum Input_KeyStateAction { KEY_SWITCH_ON = 2, /** Key switch disabled */ KEY_SWITCH_OFF = 3 -}; +} Input_KeyStateAction; /** * @brief Enumerates key event types. * * @since 12 */ -typedef enum { +typedef enum Input_KeyEventAction { /** Cancellation of a key action. */ KEY_ACTION_CANCEL = 0, /** Pressing of a key. */ @@ -80,7 +81,7 @@ typedef enum { * * @since 12 */ -typedef enum { +typedef enum Input_MouseEventAction { /** Cancel. */ MOUSE_ACTION_CANCEL = 0, /** Moving of the mouse pointer. */ @@ -102,19 +103,19 @@ typedef enum { * * @since 12 */ -enum InputEvent_MouseAxis { +typedef enum InputEvent_MouseAxis { /** Vertical scroll axis */ MOUSE_AXIS_SCROLL_VERTICAL = 0, /** Horizontal scroll axis */ MOUSE_AXIS_SCROLL_HORIZONTAL = 1, -}; +} InputEvent_MouseAxis; /** * @brief Enumerated values of mouse event button. * * @since 12 */ -typedef enum { +typedef enum Input_MouseEventButton { /** Invalid button */ MOUSE_BUTTON_NONE = -1, /** Left button on the mouse. */ @@ -134,7 +135,7 @@ typedef enum { * * @since 12 */ -typedef enum { +typedef enum Input_TouchEventAction { /** Touch cancelled. */ TOUCH_ACTION_CANCEL = 0, /** Touch pressed. */ @@ -150,51 +151,115 @@ typedef enum { * * @since 12 */ -struct Input_KeyState; +typedef struct Input_KeyState Input_KeyState; /** * @brief The key event to be injected. * * @since 12 */ -struct Input_KeyEvent; +typedef struct Input_KeyEvent Input_KeyEvent; /** * @brief The mouse event to be injected. * * @since 12 */ -struct Input_MouseEvent; +typedef struct Input_MouseEvent Input_MouseEvent; /** * @brief The touch event to be injected. * * @since 12 */ -struct Input_TouchEvent; +typedef struct Input_TouchEvent Input_TouchEvent; /** - * @brief Enumerates the error codes. + * @brief Enumerates axis events. * * @since 12 */ -typedef enum { - /** @error Success return code on sucess*/ +typedef struct Input_AxisEvent Input_AxisEvent; + +/** + * @brief Enumerates error codes. + * + * @since 12 + */ +typedef enum Input_Result { + /** @error Success return code on success*/ INPUT_SUCCESS = 0, /** @error Permission verification failed */ INPUT_PERMISSION_DENIED = 201, /** @error Non-system application */ INPUT_NOT_SYSTEM_APPLICATION = 202, /** @error Parameter check failed */ - INPUT_PARAMETER_ERROR = 401 + INPUT_PARAMETER_ERROR = 401, + /** @error Service error */ + INPUT_SERVICE_EXCEPTION = 3800001, + /** @error Interceptor repeatedly created for an application */ + INPUT_REPEAT_INTERCEPTOR = 4200001 } Input_Result; +/** + * @brief Defines a lifecycle callback for keyEvent. If the callback is triggered, keyEvent will be destroyed. + * + * @param keyEvent Key event object. + * @since 12 + */ +typedef void (*Input_KeyEventCallback)(const Input_KeyEvent* keyEvent); + +/** + * @brief Defines a lifecycle callback for mouseEvent. If the callback is triggered, mouseEvent will be destroyed. + * + * @param mouseEvent Mouse event object. + * @since 12 + */ +typedef void (*Input_MouseEventCallback)(const Input_MouseEvent* mouseEvent); + +/** + * @brief Defines a lifecycle callback for touchEvent. If the callback is triggered, touchEvent will be destroyed. + * + * @param touchEvent Touch event object. + * @since 12 + */ +typedef void (*Input_TouchEventCallback)(const Input_TouchEvent* touchEvent); + +/** + * @brief Defines a lifecycle callback for axisEvent. If the callback is triggered, axisEvent will be destroyed. + * + * @param axisEvent Axis event object. + * @since 12 + */ +typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent); + +/** + * @brief Defines the structure for the interceptor of event callbacks, + * including mouseCallback, touchCallback, and axisCallback. + * + * @since 12 + */ +typedef struct Input_InterceptorEventCallback { + /** Defines a lifecycle callback for **mouseEvent**. */ + Input_MouseEventCallback mouseCallback; + /** Defines a lifecycle callback for **touchEvent**. */ + Input_TouchEventCallback touchCallback; + /** Defines a lifecycle callback for **axisEvent**. */ + Input_AxisEventCallback axisCallback; +} Input_InterceptorEventCallback; + +/** + * @brief Defines event interceptor options. + * @since 12 + */ +typedef struct Input_InterceptorOptions Input_InterceptorOptions; + /** * @brief Queries the key state. * * @param keyState Key state. * @return OH_Input_GetKeyState function result code. - * {@link INPUT_SUCCESS} get KeyState sucess.\n + * {@link INPUT_SUCCESS} get KeyState success.\n * {@link INPUT_PARAMETER_ERROR} keyCode is invalid.\n * @syscap SystemCapability.MultimodalInput.Input.Core * @since 12 @@ -285,7 +350,7 @@ int32_t OH_Input_GetKeySwitch(const struct Input_KeyState* keyState); * * @param keyEvent - the key event to be injected. * @return OH_Input_InjectKeyEvent function result code. - * {@link INPUT_SUCCESS} inject keyEvent sucess.\n + * {@link INPUT_SUCCESS} inject keyEvent success.\n * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n * {@link INPUT_PARAMETER_ERROR} keyCode is less 0, can not process.\n * @syscap SystemCapability.MultimodalInput.Input.Core @@ -377,7 +442,7 @@ int64_t OH_Input_GetKeyEventActionTime(const struct Input_KeyEvent* keyEvent); * * @param mouseEvent - the mouse event to be injected. * @return OH_Input_InjectMouseEvent function result code. - * {@link INPUT_SUCCESS} inject mouseEvent sucess.\n + * {@link INPUT_SUCCESS} inject mouseEvent success.\n * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n * {@link INPUT_PARAMETER_ERROR} Parameter check failed.\n * @syscap SystemCapability.MultimodalInput.Input.Core @@ -508,7 +573,8 @@ int32_t OH_Input_GetMouseEventAxisType(const struct Input_MouseEvent* mouseEvent * @brief Sets the axis value for a mouse axis event. * * @param mouseEvent Mouse event object. - * @param axisType Axis value. A positive value means scrolling forward, and a negative number means scrolling backward. + * @param axisType Axis value. A positive value means scrolling forward, + * and a negative number means scrolling backward. * @syscap SystemCapability.MultimodalInput.Input.Core * @since 12 */ @@ -549,7 +615,7 @@ int64_t OH_Input_GetMouseEventActionTime(const struct Input_MouseEvent* mouseEve * * @param touchEvent - the touch event to be injected. * @return OH_Input_InjectTouchEvent function result code. - * {@link INPUT_SUCCESS} inject touchEvent sucess.\n + * {@link INPUT_SUCCESS} inject touchEvent success.\n * {@link INPUT_PARAMETER_ERROR} Parameter check failed.\n * @syscap SystemCapability.MultimodalInput.Input.Core * @since 12 @@ -683,6 +749,431 @@ int64_t OH_Input_GetTouchEventActionTime(const struct Input_TouchEvent* touchEve */ void OH_Input_CancelInjection(); +/** + * @brief Creates an axis event object. + * + * @return If the operation is successful, a {@Link Input_AxisEvent} object is returned. + * If the operation fails, null is returned. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_AxisEvent* OH_Input_CreateAxisEvent(void); + +/** + * @brief Destroys an axis event object. + * + * @param axisEvent Pointer to the axis event object. + * @return OH_Input_DestroyAxisEvent function result code. + * {@link INPUT_SUCCESS} Destroys axisEvent success.\n + * {@link INPUT_PARAMETER_ERROR}The axisEvent is NULL or the *axisEvent is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_DestroyAxisEvent(Input_AxisEvent** axisEvent); + +/** + * @brief Sets the axis event action. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param action Axis event action. The values are defined in {@link InputEvent_AxisAction}. + * @return OH_Input_SetAxisEventAction function result code. + * {@link INPUT_SUCCESS} Sets the axis event action success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_SetAxisEventAction(Input_AxisEvent* axisEvent, InputEvent_AxisAction action); + +/** + * @brief Obtains the axis event action. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param action Axis event action. The values are defined in {@link InputEvent_AxisAction}. + * @return OH_Input_GetAxisEventAction function result code. + * {@link INPUT_SUCCESS} Obtains the axis event action success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the action is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_GetAxisEventAction(const Input_AxisEvent* axisEvent, InputEvent_AxisAction *action); + +/** + * @brief Sets the X coordinate of an axis event. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param displayX X coordinate of the axis event. + * @return OH_Input_SetAxisEventDisplayX function result code. + * {@link INPUT_SUCCESS} Sets the X coordinate of the axis event success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_SetAxisEventDisplayX(Input_AxisEvent* axisEvent, float displayX); + +/** + * @brief Obtains the X coordinate of an axis event. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param displayX X coordinate of the axis event. + * @return OH_Input_GetAxisEventDisplayX function result code. + * {@link INPUT_SUCCESS} Obtains the X coordinate of the axis event success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the displayX is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_GetAxisEventDisplayX(const Input_AxisEvent* axisEvent, float* displayX); + +/** + * @brief Sets the Y coordinate of an axis event. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param displayY Y coordinate of the axis event. + * @return OH_Input_SetAxisEventDisplayY function result code. + * {@link INPUT_SUCCESS} Sets the Y coordinate of the axis event success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_SetAxisEventDisplayY(Input_AxisEvent* axisEvent, float displayY); + +/** + * @brief Obtains the Y coordinate of an axis event. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param displayY Y coordinate of the axis event. + * @return OH_Input_GetAxisEventDisplayY function result code. + * {@link INPUT_SUCCESS} Obtains the Y coordinate of the axis event success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the displayY is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_GetAxisEventDisplayY(const Input_AxisEvent* axisEvent, float* displayY); + +/** + * @brief Sets the axis value of the axis type specified by the axis event. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param axisType Axis type. The values are defined in {@link InputEvent_AxisType}. + * @param axisValue Axis value. + * @return OH_Input_SetAxisEventAxisValue function result code. + * {@link INPUT_SUCCESS} Sets the axis value of the axis event success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_SetAxisEventAxisValue(Input_AxisEvent* axisEvent, + InputEvent_AxisType axisType, double axisValue); + +/** + * @brief Obtains the axis value for the specified axis type of the axis event. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param axisType Axis type. The values are defined in {@link InputEvent_AxisType}. + * @param axisValue Axis value. + * @return OH_Input_GetAxisEventAxisValue function result code. + * {@link INPUT_SUCCESS} Obtains the axis value of the axis event success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the axisValue is NULL, + * or the axisType not found in the axisEvent.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_GetAxisEventAxisValue(const Input_AxisEvent* axisEvent, + InputEvent_AxisType axisType, double* axisValue); + +/** + * @brief Sets the time when an axis event occurs. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param actionTime Time when an axis event occurs. + * @return OH_Input_SetAxisEventActionTime function result code. + * {@link INPUT_SUCCESS} Sets the time when an axis event occurs success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_SetAxisEventActionTime(Input_AxisEvent* axisEvent, int64_t actionTime); + +/** + * @brief Obtains the time when an axis event occurs. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param actionTime Time when an axis event occurs. + * @return OH_Input_GetAxisEventActionTime function result code. + * {@link INPUT_SUCCESS} Obtains the time when an axis event occurs success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the actionTime is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_GetAxisEventActionTime(const Input_AxisEvent* axisEvent, int64_t* actionTime); + +/** + * @brief Sets the axis event type. + * + * @param axisEvent Axis event object. For details, see {@Link Input_AxisEvent}. + * @param axisEventType Axis event type. The values are defined in {@link InputEvent_AxisEventType}. + * @return OH_Input_SetAxisEventType function result code. + * {@link INPUT_SUCCESS} Sets the axis event type success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_SetAxisEventType(Input_AxisEvent* axisEvent, InputEvent_AxisEventType axisEventType); + +/** + * @brief Obtains the axis event type. + * + * @param axisEvent Axis event object. + * @param axisEventType Axis event type. The values are defined in {@link InputEvent_AxisEventType}. + * @return OH_Input_GetAxisEventType function result code. + * {@link INPUT_SUCCESS} Obtains the axis event type success.\n + * {@Link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the axisEventType is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_GetAxisEventType(const Input_AxisEvent* axisEvent, InputEvent_AxisEventType* axisEventType); + +/** + * @brief Sets the axis event source type. + * + * @param axisEvent Axis event object. + * @param sourceType Axis event source type. The values are defined in {@link InputEvent_SourceType}. + * @return OH_Input_SetAxisEventSourceType function result code. + * {@link INPUT_SUCCESS} Sets the axis event source type success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_SetAxisEventSourceType(Input_AxisEvent* axisEvent, InputEvent_SourceType sourceType); + +/** + * @brief Obtains the axis event source type. + * + * @param axisEvent Axis event object. + * @param axisEventType Axis event source type. The values are defined in {@link InputEvent_SourceType}. + * @return OH_Input_GetAxisEventSourceType function result code. + * {@link INPUT_SUCCESS} Obtains the axis event source type success.\n + * {@link INPUT_PARAMETER_ERROR} The axisEvent is NULL or the sourceType is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_GetAxisEventSourceType(const Input_AxisEvent* axisEvent, InputEvent_SourceType* sourceType); + +/** + * @brief Adds a listener of key events. + * + * @permission ohos.permission.INPUT_MONITORING + * @param callback - Callback used to receive key events. + * @return OH_Input_AddKeyEventMonitor function result code. + * {@link INPUT_SUCCESS} Adds a listener of key events success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n + * {@link INPUT_SERVICE_EXCEPTION} Failed to add the monitor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_AddKeyEventMonitor(Input_KeyEventCallback callback); + +/** + * @brief Adds a listener for mouse events, including mouse click and movement events, + * but not scroll wheel events. Scroll wheel events are axis events. + * + * @permission ohos.permission.INPUT_MONITORING + * @param callback - Callback used to receive mouse events. + * @return OH_Input_AddMouseEventMonitor function result code. + * {@link INPUT_SUCCESS} Adds a listener of mouse events success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n + * {@link INPUT_SERVICE_EXCEPTION} Failed to add the monitor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_AddMouseEventMonitor(Input_MouseEventCallback callback); + +/** + * @brief Add a listener for touch events. + * + * @permission ohos.permission.INPUT_MONITORING + * @param callback - Callback used to receive touch events. + * @return OH_Input_AddTouchEventMonitor function result code. + * {@link INPUT_SUCCESS} Adds a listener of touch events success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n + * {@link INPUT_SERVICE_EXCEPTION} Failed to add the monitor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_AddTouchEventMonitor(Input_TouchEventCallback callback); + +/** + * @brief Adds a listener for all types of axis events. + * The axis event types are defined in {@Link InputEvent_AxisEventType}. + * + * @permission ohos.permission.INPUT_MONITORING + * @param callback - Callback used to receive axis events. + * @return OH_Input_AddAxisEventMonitorForAll function result code. + * {@link INPUT_SUCCESS} Adds a listener for all types of axis events success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n + * {@link INPUT_SERVICE_EXCEPTION} Failed to add the monitor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_AddAxisEventMonitorForAll(Input_AxisEventCallback callback); + +/** + * @brief Adds a listener for the specified type of axis events. + * + * @permission ohos.permission.INPUT_MONITORING + * @param axisEventType - Axis event type. The values are defined in {@Link InputEvent_AxisEventType}. + * @param callback - Callback used to receive the specified type of axis events. + * @return OH_Input_AddAxisEventMonitor function result code. + * {@link INPUT_SUCCESS} Adds a listener for the specified types of axis events success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n + * {@link INPUT_SERVICE_EXCEPTION} Failed to add the monitor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_AddAxisEventMonitor(InputEvent_AxisEventType axisEventType, Input_AxisEventCallback callback); + +/** + * @brief Removes a key event listener. + * + * @permission ohos.permission.INPUT_MONITORING + * @param callback - Callback for the key event listener. + * @return OH_Input_RemoveKeyEventMonitor function result code. + * {@link INPUT_SUCCESS} Removes a key event listener success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL or has not been added.\n + * {@link INPUT_SERVICE_EXCEPTION} Fail to remove the monitor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_RemoveKeyEventMonitor(Input_KeyEventCallback callback); + +/** + * @brief Removes a mouse event listener. + * + * @permission ohos.permission.INPUT_MONITORING + * @param callback - Callback for the mouse event listener. + * @return OH_Input_RemoveMouseEventMonitor function result code. + * {@link INPUT_SUCCESS} Removes a mouse event listener success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL or has not been added.\n + * {@link INPUT_SERVICE_EXCEPTION} Fail to remove the monitor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_RemoveMouseEventMonitor(Input_MouseEventCallback callback); + +/** + * @brief Removes a touch event listener. + * + * @permission ohos.permission.INPUT_MONITORING + * @param callback - Callback for the touch event listener. + * @return OH_Input_RemoveTouchEventMonitor function result code. + * {@link INPUT_SUCCESS} Removes a touch event listener success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL or has not been added.\n + * {@link INPUT_SERVICE_EXCEPTION} Fail to remove the monitor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_RemoveTouchEventMonitor(Input_TouchEventCallback callback); + +/** + * @brief Removes the listener for all types of axis events. + * + * @permission ohos.permission.INPUT_MONITORING + * @param callback - Callback for the listener used to listen for all types of axis events. + * @return OH_Input_RemoveAxisEventMonitorForAll function result code. + * {@link INPUT_SUCCESS} Removes the listener for all types of axis events success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL or has not been added.\n + * {@link INPUT_SERVICE_EXCEPTION} Fail to remove the monitor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_RemoveAxisEventMonitorForAll(Input_AxisEventCallback callback); + +/** + * @brief Removes the listener for the specified type of axis events. + * + * @permission ohos.permission.INPUT_MONITORING + * @param axisEventType - Axis event type. The axis event type is defined in {@Link InputEvent_AxisEventType}. + * @param callback - Callback for the listener used to listen for the specified type of axis events. + * @return OH_Input_RemoveAxisEventMonitor function result code. + * {@link INPUT_SUCCESS} Removes the listener for the specified type of axis events success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL or has not been added.\n + * {@link INPUT_SERVICE_EXCEPTION} Fail to remove the monitor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_RemoveAxisEventMonitor(InputEvent_AxisEventType axisEventType, Input_AxisEventCallback callback); + +/** + * @brief Adds a key event interceptor. If multiple interceptors are added, only the first one takes effect. + * + * @permission ohos.permission.INTERCEPT_INPUT_EVENT + * @param callback - Callback used to receive key events. + * @param option - Options for event interception. If **null** is passed, the default value is used. + * @return OH_Input_AddKeyEventInterceptor function result code. + * {@link INPUT_SUCCESS} Adds a key event interceptor success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n + * {@link INPUT_REPEAT_INTERCEPTOR} Interceptor repeatedly created for an application.\n + * {@link INPUT_SERVICE_EXCEPTION} Failed to add the interceptor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_AddKeyEventInterceptor(Input_KeyEventCallback callback, Input_InterceptorOptions *option); + +/** + * @brief Adds an interceptor for input events, including mouse, touch, and axis events. + * If multiple interceptors are added, only the first one takes effect. + * + * @permission ohos.permission.INTERCEPT_INPUT_EVENT + * @param callback - Pointer to the structure of the callback for the input event interceptor. + * For details, see {@Link Input_InterceptorEventCallback}. + * @param option - Options for event interception. If **null** is passed, the default value is used. + * @return OH_Input_AddInputEventInterceptor function result code. + * {@link INPUT_SUCCESS} Adds an interceptor for input events success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_PARAMETER_ERROR} The callback is NULL.\n + * {@link INPUT_REPEAT_INTERCEPTOR} Interceptor repeatedly created for an application.\n + * {@link INPUT_SERVICE_EXCEPTION} Failed to add the interceptor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_AddInputEventInterceptor(Input_InterceptorEventCallback *callback, + Input_InterceptorOptions *option); + +/** + * @brief Removes a key event interceptor. + * + * @permission ohos.permission.INTERCEPT_INPUT_EVENT + * @return OH_Input_RemoveKeyEventInterceptor function result code. + * {@link INPUT_SUCCESS}Removes a key event interceptor success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_SERVICE_EXCEPTION} Failed to remove the interceptor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_RemoveKeyEventInterceptor(); + +/** + * @brief Removes an interceptor for input events, including mouse, touch, and axis events. + * + * @permission ohos.permission.INTERCEPT_INPUT_EVENT + * @return OH_Input_RemoveInputEventInterceptor function result code. + * {@link INPUT_SUCCESS} Removes an interceptor for input events success.\n + * {@link INPUT_PERMISSION_DENIED} Permission verification failed.\n + * {@link INPUT_SERVICE_EXCEPTION} Failed to remove the interceptor because the service is exception.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 12 + */ +Input_Result OH_Input_RemoveInputEventInterceptor(); #ifdef __cplusplus } #endif diff --git a/multimodalinput/kits/c/ohinput.ndk.json b/multimodalinput/kits/c/ohinput.ndk.json index cc28eac47..cfbe993ae 100644 --- a/multimodalinput/kits/c/ohinput.ndk.json +++ b/multimodalinput/kits/c/ohinput.ndk.json @@ -194,5 +194,125 @@ { "first_introduced": "12", "name": "OH_Input_CancelInjection" + }, + { + "first_introduced": "12", + "name": "OH_Input_CreateAxisEvent" + }, + { + "first_introduced": "12", + "name": "OH_Input_DestroyAxisEvent" + }, + { + "first_introduced": "12", + "name": "OH_Input_SetAxisEventAction" + }, + { + "first_introduced": "12", + "name": "OH_Input_GetAxisEventAction" + }, + { + "first_introduced": "12", + "name": "OH_Input_SetAxisEventDisplayX" + }, + { + "first_introduced": "12", + "name": "OH_Input_GetAxisEventDisplayX" + }, + { + "first_introduced": "12", + "name": "OH_Input_SetAxisEventDisplayY" + }, + { + "first_introduced": "12", + "name": "OH_Input_GetAxisEventDisplayY" + }, + { + "first_introduced": "12", + "name": "OH_Input_SetAxisEventAxisValue" + }, + { + "first_introduced": "12", + "name": "OH_Input_GetAxisEventAxisValue" + }, + { + "first_introduced": "12", + "name": "OH_Input_SetAxisEventActionTime" + }, + { + "first_introduced": "12", + "name": "OH_Input_GetAxisEventActionTime" + }, + { + "first_introduced": "12", + "name": "OH_Input_SetAxisEventType" + }, + { + "first_introduced": "12", + "name": "OH_Input_GetAxisEventType" + }, + { + "first_introduced": "12", + "name": "OH_Input_SetAxisEventSourceType" + }, + { + "first_introduced": "12", + "name": "OH_Input_GetAxisEventSourceType" + }, + { + "first_introduced": "12", + "name": "OH_Input_AddKeyEventMonitor" + }, + { + "first_introduced": "12", + "name": "OH_Input_AddMouseEventMonitor" + }, + { + "first_introduced": "12", + "name": "OH_Input_AddTouchEventMonitor" + }, + { + "first_introduced": "12", + "name": "OH_Input_AddAxisEventMonitor" + }, + { + "first_introduced": "12", + "name": "OH_Input_AddAxisEventMonitorForAll" + }, + { + "first_introduced": "12", + "name": "OH_Input_RemoveKeyEventMonitor" + }, + { + "first_introduced": "12", + "name": "OH_Input_RemoveMouseEventMonitor" + }, + { + "first_introduced": "12", + "name": "OH_Input_RemoveTouchEventMonitor" + }, + { + "first_introduced": "12", + "name": "OH_Input_RemoveAxisEventMonitor" + }, + { + "first_introduced": "12", + "name": "OH_Input_RemoveAxisEventMonitorForAll" + }, + { + "first_introduced": "12", + "name": "OH_Input_AddKeyEventInterceptor" + }, + { + "first_introduced": "12", + "name": "OH_Input_AddInputEventInterceptor" + }, + { + "first_introduced": "12", + "name": "OH_Input_RemoveKeyEventInterceptor" + }, + { + "first_introduced": "12", + "name": "OH_Input_RemoveInputEventInterceptor" } ] \ No newline at end of file -- Gitee From f85f7e871b8abbf34d62562837e5d8a572767fb1 Mon Sep 17 00:00:00 2001 From: m30063213 Date: Sat, 3 Aug 2024 17:00:54 +0800 Subject: [PATCH 019/359] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=AE=BE=E8=AE=A1?= =?UTF-8?q?=E5=92=8C=E5=AE=9E=E7=8E=B0=E4=B8=80=E8=87=B4=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: m30063213 --- network/netmanager/include/net_connection_type.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/network/netmanager/include/net_connection_type.h b/network/netmanager/include/net_connection_type.h index d8a70cf6d..32a8118c8 100644 --- a/network/netmanager/include/net_connection_type.h +++ b/network/netmanager/include/net_connection_type.h @@ -70,9 +70,9 @@ typedef enum NetConn_NetCap { /** Validated */ NETCONN_NET_CAPABILITY_VALIDATED = 16, /** - * Portal - * @since 12 - */ + * Portal + * @since 12 + */ NETCONN_NET_CAPABILITY_PORTAL = 17 } NetConn_NetCap; -- Gitee From 9a1b6748563a2cc6c36b4e580df260ba54f2abf6 Mon Sep 17 00:00:00 2001 From: caochuan Date: Tue, 6 Aug 2024 09:52:49 +0800 Subject: [PATCH 020/359] Add ndk API for Picture Issue: https://gitee.com/openharmony/interface_sdk_c/issues/IACICD?from=project-issue Signed-off-by: caochuan --- multimedia/image_effect/image_effect.h | 28 + .../image_effect/libimage_effect.ndk.json | 8 + multimedia/image_framework/BUILD.gn | 37 +- .../include/image/image_common.h | 133 +++++ .../include/image/image_packer_native.h | 34 ++ .../include/image/image_source_native.h | 85 +++ .../include/image/picture_native.h | 490 ++++++++++++++++++ .../include/image/pixelmap_native.h | 8 +- .../image_framework/libimage_common.ndk.json | 22 + .../image_framework/libimage_packer.ndk.json | 8 + .../image_framework/libimage_source.ndk.json | 20 + .../image_framework/libpicture.ndk.json | 114 ++++ 12 files changed, 979 insertions(+), 8 deletions(-) create mode 100644 multimedia/image_framework/include/image/picture_native.h create mode 100644 multimedia/image_framework/libimage_common.ndk.json create mode 100644 multimedia/image_framework/libpicture.ndk.json diff --git a/multimedia/image_effect/image_effect.h b/multimedia/image_effect/image_effect.h index 921d8a5b0..b1bb66de6 100644 --- a/multimedia/image_effect/image_effect.h +++ b/multimedia/image_effect/image_effect.h @@ -40,6 +40,7 @@ #include "image_effect_filter.h" #include "native_buffer/native_buffer.h" #include "native_window/external_window.h" +#include "multimedia/image_framework/image/picture_native.h" #ifdef __cplusplus extern "C" { @@ -315,6 +316,33 @@ ImageEffect_ErrorCode OH_ImageEffect_SetInputUri(OH_ImageEffect *imageEffect, co */ ImageEffect_ErrorCode OH_ImageEffect_SetOutputUri(OH_ImageEffect *imageEffect, const char *uri); +/** + * @brief Set input picture that contains the image information. It should be noted that the input picture will be + * directly rendered and modified if the output is not set + * + * @syscap SystemCapability.Multimedia.ImageEffect.Core + * @param imageEffect Encapsulate OH_ImageEffect structure instance pointer + * @param picture Indicates the OH_PictureNative that contains the image information + * @return Returns EFFECT_SUCCESS if the execution is successful, otherwise returns a specific error code, refer to + * {@link ImageEffect_ErrorCode} + * {@link EFFECT_ERROR_PARAM_INVALID}, the input parameter is a null pointer. + * @since 12 + */ +ImageEffect_ErrorCode OH_ImageEffect_SetInputPicture(OH_ImageEffect *imageEffect, OH_PictureNative *picture); + +/** + * @brief Set output picture that contains the image information + * + * @syscap SystemCapability.Multimedia.ImageEffect.Core + * @param imageEffect Encapsulate OH_ImageEffect structure instance pointer + * @param picture Indicates the OH_PictureNative that contains the image information + * @return Returns EFFECT_SUCCESS if the execution is successful, otherwise returns a specific error code, refer to + * {@link ImageEffect_ErrorCode} + * {@link EFFECT_ERROR_PARAM_INVALID}, the input parameter is a null pointer. + * @since 12 + */ +ImageEffect_ErrorCode OH_ImageEffect_SetOutputPicture(OH_ImageEffect *imageEffect, OH_PictureNative *picture); + /** * @brief Render the filter effects that can be a single filter or a chain of filters * diff --git a/multimedia/image_effect/libimage_effect.ndk.json b/multimedia/image_effect/libimage_effect.ndk.json index 6b3c6abab..99226c04a 100644 --- a/multimedia/image_effect/libimage_effect.ndk.json +++ b/multimedia/image_effect/libimage_effect.ndk.json @@ -203,6 +203,14 @@ "first_introduced": "12", "name": "OH_ImageEffect_SetOutputUri" }, + { + "first_introduced": "12", + "name": "OH_ImageEffect_SetInputPicture" + }, + { + "first_introduced": "12", + "name": "OH_ImageEffect_SetOutputPicture" + }, { "first_introduced": "12", "name": "OH_ImageEffect_Start" diff --git a/multimedia/image_framework/BUILD.gn b/multimedia/image_framework/BUILD.gn index be2610e97..9b5e9895a 100644 --- a/multimedia/image_framework/BUILD.gn +++ b/multimedia/image_framework/BUILD.gn @@ -44,6 +44,38 @@ ohos_ndk_headers("libpixelmap_header") { sources = [ "./include/image/pixelmap_native.h" ] } +ohos_ndk_library("libpicture") { + ndk_description_file = "./libpicture.ndk.json" + output_name = "picture" + output_extension = "so" + min_compact_version = "12" + system_capability = "SystemCapability.Multimedia.Image.Core" + system_capability_headers = [ + "multimedia/image_framework/image/picture_native.h", + "multimedia/image_framework/image/image_common.h", + ] +} + +ohos_ndk_headers("libpicture_header") { + dest_dir = "$ndk_headers_out_dir/multimedia/image_framework/image" + sources = [ "./include/image/picture_native.h" ] +} + +ohos_ndk_library("libimage_common") { + ndk_description_file = "./libimage_common.ndk.json" + output_name = "image_common" + output_extension = "so" + min_compact_version = "12" + system_capability = "SystemCapability.Multimedia.Image.Core" + system_capability_headers = + [ "multimedia/image_framework/image/image_common.h" ] +} + +ohos_ndk_headers("libimage_common_header") { + dest_dir = "$ndk_headers_out_dir/multimedia/image_framework/image" + sources = [ "./include/image/image_common.h" ] +} + ohos_ndk_library("libimage_ndk") { ndk_description_file = "./libimage_ndk.ndk.json" min_compact_version = "1" @@ -119,10 +151,7 @@ ohos_ndk_library("libohimage") { ohos_ndk_headers("ohimage_header") { dest_dir = "$ndk_headers_out_dir/multimedia/image_framework/image" - sources = [ - "./include/image/image_common.h", - "./include/image/image_native.h", - ] + sources = [ "./include/image/image_native.h" ] } ohos_ndk_library("libimage_receiver") { diff --git a/multimedia/image_framework/include/image/image_common.h b/multimedia/image_framework/include/image/image_common.h index 6e50d7764..f44cf9b9a 100644 --- a/multimedia/image_framework/include/image/image_common.h +++ b/multimedia/image_framework/include/image/image_common.h @@ -95,6 +95,20 @@ struct Image_String { size_t size = 0; }; +/** + * @brief Define a PictureMetadata struct type, used for picture metadata. + * + * @since 12 + */ +struct OH_PictureMetadata; + +/** + * @brief Define a PictureMetadata struct type, used for picture metadata. + * + * @since 12 + */ +typedef struct OH_PictureMetadata OH_PictureMetadata; + /** * @brief Defines the property string (in key-value format) of the image source. * @@ -147,6 +161,89 @@ typedef enum { IMAGE_ENCODE_FAILED = 7800301, } Image_ErrorCode; +/** + * @brief Define the metadata type. + * + * @since 12 + */ +typedef enum { + /* + * EXIF metadata. + */ + EXIF_METADATA = 1, + /* + * Fragment metadata. + */ + FRAGMENT_METADATA = 2, +} Image_MetadataType; + +/** + * @brief Creates a PictureMetadata object. + * + * @param metadataType The type of metadata. + * @param metadata The PictureMetadata pointer will be operated. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} metadata is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PictureMetadata_Create(Image_MetadataType metadataType, OH_PictureMetadata **metadata); + +/** + * @brief Obtains the property of picture metadata. + * + * @param metadata The PictureMetadata pointer will be operated. + * @param key The property's key. + * @param value The property's value. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} metadata is nullptr, or key is nullptr, or value is nullptr. + * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the + * auxiliary picture type. + * @since 12 + */ +Image_ErrorCode OH_PictureMetadata_GetProperty(OH_PictureMetadata *metadata, Image_String *key, Image_String *value); + +/** + * @brief Set picture metadata property. + * + * @param metadata The PictureMetadata pointer will be operated. + * @param key The property's key. + * @param value The property's value. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} metadata is nullptr, or key is nullptr, or value is nullptr. + * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the + * auxiliary picture type. + * @since 12 + */ +Image_ErrorCode OH_PictureMetadata_SetProperty(OH_PictureMetadata *metadata, Image_String *key, Image_String *value); + +/** + * @brief Releases this PictureMetadata object. + * + * @param metadata The PictureMetadata pointer will be operated. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} metadata is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PictureMetadata_Release(OH_PictureMetadata *metadata); + +/** + * @brief Obtains a clone of metadata. + * + * @param oldMetadata The PictureMetadata pointer will be operated. + * @param newMetadata The PictureMetadata pointer will be cloned. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} metadata is nullptr. + * {@link IMAGE_ALLOC_FAILED} memory alloc failed. + * {@link IMAGE_COPY_FAILED} memory copy failed. + * @since 12 + */ +Image_ErrorCode OH_PictureMetadata_Clone(OH_PictureMetadata *oldMetadata, OH_PictureMetadata **newMetadata); + /** * @brief Defines the bmp mime type. * @@ -1333,6 +1430,42 @@ static const char *OHOS_IMAGE_PROPERTY_WIND_SNAPSHOT_MODE = "HwMnoteWindSnapshot * @since 12 */ static const char *OHOS_IMAGE_PROPERTY_GIF_LOOP_COUNT = "GIFLoopCount"; + +/** + * @brief X in original + * It is used in {@link OH_ImageSource_GetImageProperty}. + * The top left corner of the fragment image is at the X-coordinate of the original image + * + * @since 12 + */ +static const char *OHOS_IMAGE_PROPERTY_X_IN_ORIGINAL = "XInOriginal"; + +/** + * @brief Y in original + * It is used in {@link OH_ImageSource_GetImageProperty}. + * The top left corner of the fragment image is at the Y-coordinate of the original image + * + * @since 12 + */ +static const char *OHOS_IMAGE_PROPERTY_Y_IN_ORIGINAL = "YInOriginal"; + +/** + * @brief Fragment map width + * It is used in {@link OH_ImageSource_GetImageProperty}. + * The width of the fragment image + * + * @since 12 + */ +static const char *OHOS_IMAGE_PROPERTY_FRAGMENT_WIDTH = "FragmentImageWidth"; + +/** + * @brief Fragment map height + * It is used in {@link OH_ImageSource_GetImageProperty}. + * The height of the fragment image + * + * @since 12 + */ +static const char *OHOS_IMAGE_PROPERTY_FRAGMENT_HEIGHT = "FragmentImageHeight"; #ifdef __cplusplus }; #endif diff --git a/multimedia/image_framework/include/image/image_packer_native.h b/multimedia/image_framework/include/image/image_packer_native.h index 6a5a4e9b5..bef398006 100644 --- a/multimedia/image_framework/include/image/image_packer_native.h +++ b/multimedia/image_framework/include/image/image_packer_native.h @@ -219,6 +219,24 @@ Image_ErrorCode OH_ImagePackerNative_PackToDataFromImageSource(OH_ImagePackerNat Image_ErrorCode OH_ImagePackerNative_PackToDataFromPixelmap(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_PixelmapNative *pixelmap, uint8_t *outData, size_t *size); +/** + * @brief Encoding a Picture into the data with required format. + * + * @param imagePacker The imagePacker to use for packing. + * @param options Indicates the encoding {@link OH_PackingOptions}. + * @param picture The picture to be packed. + * @param outData The output data buffer to store the packed image. + * @param size A pointer to the size of the output data buffer. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} imagePacker is nullptr, or picture is nullptr, or outData is nullptr, + * or size is invalid. + * {@link IMAGE_ENCODE_FAILED} encode failed. + * @since 12 + */ +Image_ErrorCode OH_ImagePackerNative_PackToDataFromPicture(OH_ImagePackerNative *imagePacker, + OH_PackingOptions *options, OH_PictureNative *picture, uint8_t *outData, size_t *size); + /** * @brief Encoding an ImageSource into the a file with fd with required format. * @@ -245,6 +263,22 @@ Image_ErrorCode OH_ImagePackerNative_PackToFileFromImageSource(OH_ImagePackerNat Image_ErrorCode OH_ImagePackerNative_PackToFileFromPixelmap(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_PixelmapNative *pixelmap, int32_t fd); +/** + * @brief Encoding a Picture into the a file with fd with required format. + * + * @param imagePacker The imagePacker to use for packing. + * @param options Indicates the encoding {@link OH_PackingOptions}. + * @param picture The picture to be packed. + * @param fd Indicates a writable file descriptor. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} imagePacker is nullptr, or picture is nullptr, or fd is invalid. + * {@link IMAGE_ENCODE_FAILED} encode failed. + * @since 12 + */ +Image_ErrorCode OH_ImagePackerNative_PackToFileFromPicture(OH_ImagePackerNative *imagePacker, + OH_PackingOptions *options, OH_PictureNative *picture, int32_t fd); + /** * @brief Releases an imagePacker object. * diff --git a/multimedia/image_framework/include/image/image_source_native.h b/multimedia/image_framework/include/image/image_source_native.h index 72cf4dae2..803fe4928 100644 --- a/multimedia/image_framework/include/image/image_source_native.h +++ b/multimedia/image_framework/include/image/image_source_native.h @@ -38,6 +38,7 @@ #include "image_common.h" #include "pixelmap_native.h" +#include "picture_native.h" #include "rawfile/raw_file.h" #ifdef __cplusplus @@ -61,6 +62,22 @@ typedef struct OH_ImageSourceNative OH_ImageSourceNative; struct OH_ImageSource_Info; typedef struct OH_ImageSource_Info OH_ImageSource_Info; +/** + * @brief Defines decoding options for picture + * {@link OH_DecodingOptionsForPicture_Create}. + * + * @since 12 + */ +struct OH_DecodingOptionsForPicture; + +/** + * @brief Defines decoding options for picture + * {@link OH_DecodingOptionsForPicture_Create}. + * + * @since 12 + */ +typedef struct OH_DecodingOptionsForPicture OH_DecodingOptionsForPicture; + /** * @brief Enumerates decoding dynamic range.. * @@ -360,6 +377,23 @@ Image_ErrorCode OH_ImageSourceNative_CreatePixelmap(OH_ImageSourceNative *source Image_ErrorCode OH_ImageSourceNative_CreatePixelmapList(OH_ImageSourceNative *source, OH_DecodingOptions *options, OH_PixelmapNative *resVecPixMap[], size_t size); +/** + * @brief Create Picture pointer from ImageSource + * based on the specified {@link OH_DecodingOptionsForPicture} struct. + * + * @param source Indicates a void pointer(from ImageSource pointer convert). + * @param options Indicates a pointer to the options for decoding the image source. + * For details, see {@link OH_DecodingOptionsForPicture}. + * @param picture Indicates a void pointer to the Picture object obtained at the C++ native layer. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} source is nullptr, or picture is nullptr. + * {@link IMAGE_DECODE_FAILED} decode failed. + * @since 12 + */ +Image_ErrorCode OH_ImageSourceNative_CreatePicture(OH_ImageSourceNative *source, OH_DecodingOptionsForPicture *options, + OH_PictureNative **picture); + /** * @brief Obtains the delay time list from some ImageSource objects (such as GIF image sources). * @@ -429,6 +463,57 @@ Image_ErrorCode OH_ImageSourceNative_GetFrameCount(OH_ImageSourceNative *source, */ Image_ErrorCode OH_ImageSourceNative_Release(OH_ImageSourceNative *source); +/** + * @brief Create a pointer for OH_DecodingOptionsForPicture struct. + * + * @param options The OH_DecodingOptionsForPicture pointer will be operated. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options is nullptr. + * @since 12 + */ +Image_ErrorCode OH_DecodingOptionsForPicture_Create(OH_DecodingOptionsForPicture **options); + +/** + * @brief Obtains the desired auxiliary pictures of decoding options. + * + * @param options The OH_DecodingOptionsForPicture pointer will be operated. + * @param desiredAuxiliaryPictures The desired auxiliary pictures in DecodingOptionsForPicture. + * @param length The length of desired auxiliary pictures. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options is nullptr, desiredAuxiliaryPictures is nullptr, + * or length is invalid. + * @since 12 + */ +Image_ErrorCode OH_DecodingOptionsForPicture_GetDesiredAuxiliaryPictures(OH_DecodingOptionsForPicture *options, + Image_AuxiliaryPictureType **desiredAuxiliaryPictures, size_t *length); + +/** + * @brief Set decoding options desired auxiliary pictures. + * + * @param options The OH_DecodingOptionsForPicture pointer will be operated. + * @param desiredAuxiliaryPictures The desired auxiliary pictures will be set. + * @param length The length of desired auxiliary pictures. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options is nullptr, desiredAuxiliaryPictures is nullptr, + * or length is invalid. + * @since 12 + */ +Image_ErrorCode OH_DecodingOptionsForPicture_SetDesiredAuxiliaryPictures(OH_DecodingOptionsForPicture *options, + Image_AuxiliaryPictureType *desiredAuxiliaryPictures, size_t length); + +/** + * @brief Releases an DecodingOptionsForPicture object. + * + * @param options Indicates a DecodingOptionsForPicture pointer. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options is nullptr. + * @since 12 + */ +Image_ErrorCode OH_DecodingOptionsForPicture_Release(OH_DecodingOptionsForPicture *options); #ifdef __cplusplus }; #endif diff --git a/multimedia/image_framework/include/image/picture_native.h b/multimedia/image_framework/include/image/picture_native.h new file mode 100644 index 000000000..36b012402 --- /dev/null +++ b/multimedia/image_framework/include/image/picture_native.h @@ -0,0 +1,490 @@ +/* + * Copyright (C) 2024 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 image + * @{ + * + * @brief Provides APIs for obtaining picture data and information. + * + * @Syscap SystemCapability.Multimedia.Image.Core + * @since 12 + */ + +/** + * @file picture_native.h + * + * @brief Declares the APIs that can access a picture. + * + * @library libpicture.so + * @Syscap SystemCapability.Multimedia.Image.Core + * @since 12 + */ +#ifndef INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_PICTURE_NATIVE_H_ +#define INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_PICTURE_NATIVE_H_ +#include "image_common.h" +#include "pixelmap_native.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Define a Picture struct type, used for picture pointer controls. + * + * @since 12 + */ +struct OH_PictureNative; + +/** + * @brief Define a Picture struct type, used for picture pointer controls. + * + * @since 12 + */ +typedef struct OH_PictureNative OH_PictureNative; + +/** + * @brief Define a AuxiliaryPicture struct type, used for auxiliary + * picture pointer controls. + * + * @since 12 + */ +struct OH_AuxiliaryPictureNative; + +/** + * @brief Define a AuxiliaryPicture struct type, used for auxiliary + * picture pointer controls. + * + * @since 12 + */ +typedef struct OH_AuxiliaryPictureNative OH_AuxiliaryPictureNative; + +/** + * @brief Define a AuxiliaryPictureInfo struct type, used for auxiliary + * picture info controls. + * + * @since 12 + */ +struct OH_AuxiliaryPictureInfo; + +/** + * @brief Define a AuxiliaryPictureInfo struct type, used for auxiliary + * picture info controls. + * + * @since 12 + */ +typedef struct OH_AuxiliaryPictureInfo OH_AuxiliaryPictureInfo; + +/** + * @brief Define a auxiliary picture type. + * + * @since 12 + */ +typedef enum { + /* + * Gainmap + */ + AUXILIARY_PICTURE_TYPE_GAINMAP = 1, + /* + * Depth map + */ + AUXILIARY_PICTURE_TYPE_DEPTH_MAP = 2, + /* + * Unrefocus map + */ + AUXILIARY_PICTURE_TYPE_UNREFOCUS_MAP = 3, + /* + * Linear map + */ + AUXILIARY_PICTURE_TYPE_LINEAR_MAP = 4, + /* + * Fragment map + */ + AUXILIARY_PICTURE_TYPE_FRAGMENT_MAP = 5, +} Image_AuxiliaryPictureType; + +/** + * @brief Create a Picture object. + * + * @param mainPixelmap The pixel map of the main image. + * @param picture Picture pointer for created. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} mainPixelmap is nullptr, or picture is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PictureNative_CreatePicture(OH_PixelmapNative *mainPixelmap, OH_PictureNative **picture); + +/** + * @brief Obtains the pixel map of the main image. + * + * @param picture The Picture pointer will be operated. + * @param mainPixelmap Main pixel map pointer for obtained. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or mainPixelmap is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PictureNative_GetMainPixelmap(OH_PictureNative *picture, OH_PixelmapNative **mainPixelmap); + +/** + * @brief Obtains the hdr pixel map. + * + * @param picture The Picture pointer will be operated. + * @param hdrPixelmap Hdr pixel map pointer for obtained. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or hdrPixelmap is nullptr. + * {@link IMAGE_UNSUPPORTED_OPERATION} Unsupported operation, e.g. the picture does not has a gainmap + * @since 12 + */ +Image_ErrorCode OH_PictureNative_GetHdrComposedPixelmap(OH_PictureNative *picture, OH_PixelmapNative **hdrPixelmap); + +/** + * @brief Obtains the gainmap pixel map. + * + * @param picture The Picture pointer will be operated. + * @param gainmapPixelmap Gainmap pointer for obtained. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or gainmapPixelmap is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PictureNative_GetGainmapPixelmap(OH_PictureNative *picture, OH_PixelmapNative **gainmapPixelmap); + +/** + * @brief Set auxiliary picture. + * + * @param picture The Picture pointer will be operated. + * @param type The type of auxiliary picture. + * @param auxiliaryPicture AuxiliaryPicture object. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or auxiliaryPicture is nullptr, or the type is invalid. + * @since 12 + */ +Image_ErrorCode OH_PictureNative_SetAuxiliaryPicture(OH_PictureNative *picture, Image_AuxiliaryPictureType type, + OH_AuxiliaryPictureNative *auxiliaryPicture); + +/** + * @brief Obtains the auxiliary picture based on type. + * + * @param picture The Picture pointer will be operated. + * @param type The type of auxiliary picture. + * @param auxiliaryPicture AuxiliaryPicture pointer for obtained. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or auxiliaryPicture is nullptr, or the type is invalid. + * @since 12 + */ +Image_ErrorCode OH_PictureNative_GetAuxiliaryPicture(OH_PictureNative *picture, Image_AuxiliaryPictureType type, + OH_AuxiliaryPictureNative **auxiliaryPicture); + +/** + * @brief Obtains the metadata of main picture. + * + * @param picture The Picture pointer will be operated. + * @param metadataType The type of metadata. + * @param metadata The metadata of main picture. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or metadata is nullptr. + * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type. + * @since 12 + */ +Image_ErrorCode OH_PictureNative_GetMetadata(OH_PictureNative *picture, Image_MetadataType metadataType, + OH_PictureMetadata **metadata); + +/** + * @brief Set main picture metadata. + * + * @param picture The Picture pointer will be operated. + * @param metadataType The type of metadata. + * @param metadata The metadata will be set. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or metadata is nullptr. + * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type. + * @since 12 + */ +Image_ErrorCode OH_PictureNative_SetMetadata(OH_PictureNative *picture, Image_MetadataType metadataType, + OH_PictureMetadata *metadata); + +/** + * @brief Releases this Picture object. + * + * @param picture The Picture pointer will be operated. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} picture is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PictureNative_Release(OH_PictureNative *picture); + +/** + * @brief Create a AuxiliaryPicture object. + * + * @param data The image data buffer. + * @param dataLength The length of data. + * @param size The size of auxiliary picture. + * @param type The type of auxiliary picture. + * @param auxiliaryPicture AuxiliaryPicture pointer for created. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} data is nullptr, or dataLength is invalid, or size is nullptr, or the type + * is invalid, or auxiliaryPicture is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureNative_Create(uint8_t *data, size_t dataLength, Image_Size *size, + Image_AuxiliaryPictureType type, OH_AuxiliaryPictureNative **auxiliaryPicture); + +/** + * @brief Write pixels to auxiliary picture. + * + * @param auxiliaryPicture The AuxiliaryPicture pointer will be operated. + * @param source The pixels will be written. + * @param bufferSize The size of pixels. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or source is nullptr, or the bufferSize is invalid. + * {@link IMAGE_ALLOC_FAILED} memory alloc failed. + * {@link IMAGE_COPY_FAILED} memory copy failed. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureNative_WritePixels(OH_AuxiliaryPictureNative *auxiliaryPicture, uint8_t *source, + size_t bufferSize); + +/** + * @brief Read pixels from auxiliary picture. + * + * @param auxiliaryPicture The AuxiliaryPicture pointer will be operated. + * @param destination The pixels will be read. + * @param bufferSize The size of pixels for reading. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or destination is nullptr, + * or the bufferSize is invalid. + * {@link IMAGE_ALLOC_FAILED} memory alloc failed. + * {@link IMAGE_COPY_FAILED} memory copy failed. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureNative_ReadPixels(OH_AuxiliaryPictureNative *auxiliaryPicture, uint8_t *destination, + size_t *bufferSize); + +/** + * @brief Obtains the type of auxiliary picture. + * + * @param auxiliaryPicture The AuxiliaryPicture pointer will be operated. + * @param type The type of auxiliary picture. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or type is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureNative_GetType(OH_AuxiliaryPictureNative *auxiliaryPicture, + Image_AuxiliaryPictureType *type); + +/** + * @brief Obtains the info of auxiliary picture. + * + * @param auxiliaryPicture The AuxiliaryPicture pointer will be operated. + * @param info The info of auxiliary picture. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or info is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureNative_GetInfo(OH_AuxiliaryPictureNative *auxiliaryPicture, + OH_AuxiliaryPictureInfo **info); + +/** + * @brief Set auxiliary picture info. + * + * @param auxiliaryPicture The AuxiliaryPicture pointer will be operated. + * @param info The info will be set. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or info is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureNative_SetInfo(OH_AuxiliaryPictureNative *auxiliaryPicture, + OH_AuxiliaryPictureInfo *info); + +/** + * @brief Obtains the metadata of auxiliary picture. + * + * @param auxiliaryPicture The AuxiliaryPicture pointer will be operated. + * @param metadataType The type of metadata. + * @param metadata The metadata of auxiliary picture. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or metadata is nullptr. + * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the + * auxiliary picture type. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureNative_GetMetadata(OH_AuxiliaryPictureNative *auxiliaryPicture, + Image_MetadataType metadataType, OH_PictureMetadata **metadata); + +/** + * @brief Set auxiliary picture metadata. + * + * @param auxiliaryPicture The AuxiliaryPicture pointer will be operated. + * @param metadataType The type of metadata. + * @param metadata The metadata will be set. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or metadata is nullptr. + * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the + * auxiliary picture type. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureNative_SetMetadata(OH_AuxiliaryPictureNative *auxiliaryPicture, + Image_MetadataType metadataType, OH_PictureMetadata *metadata); + +/** + * @brief Releases this AuxiliaryPicture object. + * + * @param picture The Picture pointer will be operated. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} picture is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureNative_Release(OH_AuxiliaryPictureNative *picture); + +/** + * @brief Create a AuxiliaryPictureInfo object. + * + * @param info The AuxiliaryPictureInfo pointer will be operated. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} info is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureInfo_Create(OH_AuxiliaryPictureInfo **info); + +/** + * @brief Obtains the type of auxiliary picture info. + * + * @param info The AuxiliaryPictureInfo pointer will be operated. + * @param type The type of auxiliary picture info. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} info is nullptr, or type is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureInfo_GetType(OH_AuxiliaryPictureInfo *info, Image_AuxiliaryPictureType *type); + +/** + * @brief Set auxiliary picture info type. + * + * @param info The AuxiliaryPictureInfo pointer will be operated. + * @param type The type will be set. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} info is nullptr, or type is invalid. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureInfo_SetType(OH_AuxiliaryPictureInfo *info, Image_AuxiliaryPictureType type); + +/** + * @brief Obtains the size of auxiliary picture info. + * + * @param info The AuxiliaryPictureInfo pointer will be operated. + * @param size The size of auxiliary picture info. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} info is nullptr, or size is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureInfo_GetSize(OH_AuxiliaryPictureInfo *info, Image_Size *size); + +/** + * @brief Set auxiliary picture info size. + * + * @param info The AuxiliaryPictureInfo pointer will be operated. + * @param size The size will be set. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} info is nullptr, or size is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureInfo_SetSize(OH_AuxiliaryPictureInfo *info, Image_Size *size); + +/** + * @brief Obtains the rowStride of auxiliary picture info. + * + * @param info The AuxiliaryPictureInfo pointer will be operated. + * @param rowStride The rowStride of auxiliary picture info. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} info is nullptr, or rowStride is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureInfo_GetRowStride(OH_AuxiliaryPictureInfo *info, uint32_t *rowStride); + +/** + * @brief Set auxiliary picture info rowStride. + * + * @param info The AuxiliaryPictureInfo pointer will be operated. + * @param rowStride The rowStride will be set. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} info is nullptr, or rowStride is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureInfo_SetRowStride(OH_AuxiliaryPictureInfo *info, uint32_t rowStride); + +/** + * @brief Obtains the pixelFormat of auxiliary picture info. + * + * @param info The AuxiliaryPictureInfo pointer will be operated. + * @param pixelFormat The pixelFormat will be get. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} info is nullptr, or pixelFormat is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureInfo_GetPixelFormat(OH_AuxiliaryPictureInfo *info, PIXEL_FORMAT *pixelFormat); + +/** + * @brief Set auxiliary picture info pixelFormat. + * + * @param info The AuxiliaryPictureInfo pointer will be operated. + * @param pixelFormat The pixelFormat will be set. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} info is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureInfo_SetPixelFormat(OH_AuxiliaryPictureInfo *info, PIXEL_FORMAT pixelFormat); + +/** + * @brief Releases this AuxiliaryPictureInfo object. + * + * @param info The AuxiliaryPictureInfo pointer will be operated. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} info is nullptr. + * @since 12 + */ +Image_ErrorCode OH_AuxiliaryPictureInfo_Release(OH_AuxiliaryPictureInfo *info); + +#ifdef __cplusplus +}; +#endif +/** @} */ +#endif //INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_PICTURE_NATIVE_H_ \ No newline at end of file diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index 5f8be7c78..875bafe5b 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -171,19 +171,19 @@ typedef enum { /** * No metadata. */ - NONE = 0, + HDR_METADATA_TYPE_NONE = 0, /** * Indicates that metadata will be used for the base image. */ - BASE = 1, + HDR_METADATA_TYPE_BASE = 1, /** * Indicates that metadata will be used for the gainmap image. */ - GAINMAP = 2, + HDR_METADATA_TYPE_GAINMAP = 2, /** * Indicates that metadata will be used for the alternate image. */ - ALTERNATE = 3, + HDR_METADATA_TYPE_ALTERNATE = 3, } OH_Pixelmap_HdrMetadataType; /** diff --git a/multimedia/image_framework/libimage_common.ndk.json b/multimedia/image_framework/libimage_common.ndk.json new file mode 100644 index 000000000..9faa63b59 --- /dev/null +++ b/multimedia/image_framework/libimage_common.ndk.json @@ -0,0 +1,22 @@ +[ + { + "first_introduced": "12", + "name": "OH_PictureMetadata_Create" + }, + { + "first_introduced": "12", + "name": "OH_PictureMetadata_GetProperty" + }, + { + "first_introduced": "12", + "name": "OH_PictureMetadata_SetProperty" + }, + { + "first_introduced": "12", + "name": "OH_PictureMetadata_Release" + }, + { + "first_introduced": "12", + "name": "OH_PictureMetadata_Clone" + } +] \ No newline at end of file diff --git a/multimedia/image_framework/libimage_packer.ndk.json b/multimedia/image_framework/libimage_packer.ndk.json index 0b5efcecf..3488cb646 100644 --- a/multimedia/image_framework/libimage_packer.ndk.json +++ b/multimedia/image_framework/libimage_packer.ndk.json @@ -51,6 +51,10 @@ "first_introduced": "12", "name": "OH_ImagePackerNative_PackToDataFromPixelmap" }, + { + "first_introduced": "12", + "name": "OH_ImagePackerNative_PackToDataFromPicture" + }, { "first_introduced": "12", "name": "OH_ImagePackerNative_PackToFileFromImageSource" @@ -59,6 +63,10 @@ "first_introduced": "12", "name": "OH_ImagePackerNative_PackToFileFromPixelmap" }, + { + "first_introduced": "12", + "name": "OH_ImagePackerNative_PackToFileFromPicture" + }, { "first_introduced": "12", "name": "OH_ImagePackerNative_Release" diff --git a/multimedia/image_framework/libimage_source.ndk.json b/multimedia/image_framework/libimage_source.ndk.json index 562ec53ca..133bba8ec 100644 --- a/multimedia/image_framework/libimage_source.ndk.json +++ b/multimedia/image_framework/libimage_source.ndk.json @@ -99,6 +99,10 @@ "first_introduced": "12", "name": "OH_ImageSourceNative_CreatePixelmapList" }, + { + "first_introduced": "12", + "name": "OH_ImageSourceNative_CreatePicture" + }, { "first_introduced": "12", "name": "OH_ImageSourceNative_GetDelayTimeList" @@ -122,5 +126,21 @@ { "first_introduced": "12", "name": "OH_ImageSourceNative_Release" + }, + { + "first_introduced": "12", + "name": "OH_DecodingOptionsForPicture_Create" + }, + { + "first_introduced": "12", + "name": "OH_DecodingOptionsForPicture_GetDesiredAuxiliaryPictures" + }, + { + "first_introduced": "12", + "name": "OH_DecodingOptionsForPicture_SetDesiredAuxiliaryPictures" + }, + { + "first_introduced": "12", + "name": "OH_DecodingOptionsForPicture_Release" } ] \ No newline at end of file diff --git a/multimedia/image_framework/libpicture.ndk.json b/multimedia/image_framework/libpicture.ndk.json new file mode 100644 index 000000000..d74f9c0f2 --- /dev/null +++ b/multimedia/image_framework/libpicture.ndk.json @@ -0,0 +1,114 @@ +[ + { + "first_introduced": "12", + "name": "OH_PictureNative_CreatePicture" + }, + { + "first_introduced": "12", + "name": "OH_PictureNative_GetMainPixelmap" + }, + { + "first_introduced": "12", + "name": "OH_PictureNative_GetHdrComposedPixelmap" + }, + { + "first_introduced": "12", + "name": "OH_PictureNative_GetGainmapPixelmap" + }, + { + "first_introduced": "12", + "name": "OH_PictureNative_SetAuxiliaryPicture" + }, + { + "first_introduced": "12", + "name": "OH_PictureNative_GetAuxiliaryPicture" + }, + { + "first_introduced": "12", + "name": "OH_PictureNative_GetMetadata" + }, + { + "first_introduced": "12", + "name": "OH_PictureNative_SetMetadata" + }, + { + "first_introduced": "12", + "name": "OH_PictureNative_Release" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureNative_Create" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureNative_WritePixels" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureNative_ReadPixels" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureNative_GetType" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureNative_GetInfo" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureNative_SetInfo" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureNative_GetMetadata" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureNative_SetMetadata" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureNative_Release" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureInfo_Create" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureInfo_GetType" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureInfo_SetType" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureInfo_GetSize" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureInfo_SetSize" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureInfo_GetRowStride" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureInfo_SetRowStride" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureInfo_GetPixelFormat" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureInfo_SetPixelFormat" + }, + { + "first_introduced": "12", + "name": "OH_AuxiliaryPictureInfo_Release" + } + ] \ No newline at end of file -- Gitee From 72c2a2fe080314b9cc7753542415bdd9c238e1bb Mon Sep 17 00:00:00 2001 From: zhouchaobo Date: Thu, 1 Aug 2024 17:17:07 +0800 Subject: [PATCH 021/359] nested scroll c-api Signed-off-by: zhouchaobo Change-Id: I11c1bc24d0a46992d0d331fb4d897ab192077f66 --- arkui/ace_engine/native/libace.ndk.json | 64 ++++++ arkui/ace_engine/native/native_gesture.h | 259 +++++++++++++++++++++++ arkui/ace_engine/native/native_type.h | 4 + 3 files changed, 327 insertions(+) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index 4514347ae..84518c68a 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -247,6 +247,70 @@ "first_introduced": "12", "name": "OH_ArkUI_GestureInterruptInfo_GetSystemRecognizerType" }, + { + "first_introduced": "12", + "name": "OH_ArkUI_GetResponseRecognizersFromInterruptInfo" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_SetGestureRecognizerEnabled" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_GetGestureRecognizerEnabled" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_GetGestureRecognizerState" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_GetGestureEventTargetInfo" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_GestureEventTargetInfo_IsScrollBegin" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_GestureEventTargetInfo_IsScrollEnd" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_GetPanGestureDirectionMask" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_IsBuiltInGesture" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_GetGestureTag" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_GetGestureBindNodeId" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_IsGestureRecognizerValid" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_ParallelInnerGestureEvent_GetUserData" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_ParallelInnerGestureEvent_GetCurrentRecognizer" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_ParallelInnerGestureEvent_GetConflictRecognizers" + }, + { + "first_introduced": "12", + "name": "OH_ArkUI_SetArkUIGestureRecognizerDisposeNotify" + }, { "first_introduced": "12", "name": "OH_NativeXComponent_SetNeedSoftKeyboard" diff --git a/arkui/ace_engine/native/native_gesture.h b/arkui/ace_engine/native/native_gesture.h index 35dac3924..a3df84401 100644 --- a/arkui/ace_engine/native/native_gesture.h +++ b/arkui/ace_engine/native/native_gesture.h @@ -223,6 +223,65 @@ typedef enum { GESTURE_INTERRUPT_RESULT_REJECT, } ArkUI_GestureInterruptResult; +/** + * @brief Enumerates the gesture recognizer states. + * + * @since 12 + */ +typedef enum { + /** Ready. */ + ARKUI_GESTURE_RECOGNIZER_STATE_READY = 0, + + /** Detecting. */ + ARKUI_GESTURE_RECOGNIZER_STATE_DETECTING = 1, + + /** Pending. */ + ARKUI_GESTURE_RECOGNIZER_STATE_PENDING = 2, + + /** Blocked. */ + ARKUI_GESTURE_RECOGNIZER_STATE_BLOCKED = 3, + + /** Successful. */ + ARKUI_GESTURE_RECOGNIZER_STATE_SUCCESSFUL = 4, + + /** Failed. */ + ARKUI_GESTURE_RECOGNIZER_STATE_FAILED = 5, +} ArkUI_GestureRecognizerState; + +/** + * @brief Defines the gesture recognizer handle. + * + * @since 12 + */ +typedef ArkUI_GestureRecognizer* ArkUI_GestureRecognizerHandle; + +/** + * @brief Defines the gesture recognizer handle array. + * + * @since 12 + */ +typedef ArkUI_GestureRecognizerHandle* ArkUI_GestureRecognizerHandleArray; + +/** + * @brief Defines a GestureEventTargetInfo object that provides information about a gesture event target. + * + * @since 12 + */ +typedef struct ArkUI_GestureEventTargetInfo ArkUI_GestureEventTargetInfo; + +/** + * @brief Defines a parallel internal gesture event. + * + * @since 12 + */ +typedef struct ArkUI_ParallelInnerGestureEvent ArkUI_ParallelInnerGestureEvent; + +/** + * @brief Defines a callback function for notifying gesture recognizer destruction. + * @since 12 + */ +typedef void (*ArkUI_GestureRecognizerDisposeNotifyCallback)(ArkUI_GestureRecognizer* recognizer, void* userData); + /** * @brief Checks whether a gesture is a built-in gesture of the component. * @@ -408,6 +467,191 @@ float OH_ArkUI_PinchGesture_GetCenterY(const ArkUI_GestureEvent* event); * @since 12 */ ArkUI_NodeHandle OH_ArkUI_GestureEvent_GetNode(const ArkUI_GestureEvent* event); + +/** +* @brief Obtains information about a gesture response chain. +* +* @param event Indicates the pointer to the gesture interruption information. +* @param responseChain Indicates the pointer to an array of gesture recognizers on the response chain. +* @param count Indicates the pointer to the number of gesture recognizers on the response chain. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +* @since 12 +*/ +int32_t OH_ArkUI_GetResponseRecognizersFromInterruptInfo(const ArkUI_GestureInterruptInfo* event, + ArkUI_GestureRecognizerHandleArray* responseChain, int32_t* count); + +/** +* @brief Sets the enabled state of a gesture recognizer. +* +* @param recognizer Indicates the pointer to a gesture recognizer. +* @param enabled Indicates the enabled state. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +* @since 12 +*/ +int32_t OH_ArkUI_SetGestureRecognizerEnabled(ArkUI_GestureRecognizer* recognizer, bool enabled); + +/** +* @brief Obtains the enabled state of a gesture recognizer. +* +* @param recognizer Indicates the pointer to a gesture recognizer. +* @return Returns true if the gesture recognizer is enabled. +* Returns false if the gesture recognizer is disabled. +* @since 12 +*/ +bool OH_ArkUI_GetGestureRecognizerEnabled(ArkUI_GestureRecognizer* recognizer); + +/** +* @brief Obtains the state of a gesture recognizer. +* +* @param recognizer Indicates the pointer to a gesture recognizer. +* @param state Indicates the pointer to the state of the gesture recognizer. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +* @since 12 +*/ +int32_t OH_ArkUI_GetGestureRecognizerState(ArkUI_GestureRecognizer* recognizer, ArkUI_GestureRecognizerState* state); + +/** +* @brief Obtains the information about a gesture event target. +* +* @param recognizer Indicates the pointer to a gesture recognizer. +* @param info Indicates the information about a gesture event target. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +* @since 12 +*/ +int32_t OH_ArkUI_GetGestureEventTargetInfo(ArkUI_GestureRecognizer* recognizer, ArkUI_GestureEventTargetInfo** info); + +/** +* @brief Obtains whether this scroll container is scrolled to the top. +* +* @param info Indicates the information about a gesture event target. +* @param ret Indicates whether the scroll container is scrolled to the top. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +* Returns {@link ARKUI_ERROR_CODE_NON_SCROLLABLE_CONTAINER} if the component is not a scroll container. +* @since 12 +*/ +int32_t OH_ArkUI_GestureEventTargetInfo_IsScrollBegin(ArkUI_GestureEventTargetInfo* info, bool* ret); + +/** +* @brief Obtains whether this scroll container is scrolled to the bottom. +* +* @param info Indicates the information about a gesture event target. +* @param ret Indicates whether the scroll container is scrolled to the bottom. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +* Returns {@link ARKUI_ERROR_CODE_NON_SCROLLABLE_CONTAINER} if the component is not a scroll container. +* @since 12 +*/ +int32_t OH_ArkUI_GestureEventTargetInfo_IsScrollEnd(ArkUI_GestureEventTargetInfo* info, bool* ret); + +/** +* @brief Obtains the direction of a pan gesture. +* +* @param recognizer Indicates the pointer to a gesture recognizer. +* @param directionMask Indicates the pan direction. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +* @since 12 +*/ +int32_t OH_ArkUI_GetPanGestureDirectionMask(ArkUI_GestureRecognizer* recognizer, + ArkUI_GestureDirectionMask* directionMask); + +/** +* @brief Obtains whether a gesture is a built-in gesture. +* +* @param recognizer Indicates the pointer to a gesture recognizer. +* @return Returns true if the gesture is a built-in gesture; returns false otherwise. +* @since 12 +*/ +bool OH_ArkUI_IsBuiltInGesture(ArkUI_GestureRecognizer* recognizer); + +/** +* @brief Obtains the tag of a gesture recognizer. +* +* @param recognizer Indicates the pointer to a gesture recognizer. +* @param buffer Indicates the buffer. +* @param bufferSize Indicates the buffer size. +* @param result Indicates the length of the string to be written to the buffer. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +* Returns {@link ARKUI_ERROR_CODE_BUFFER_SIZE_NOT_ENOUGH} if the buffer is not large enough. +* @since 12 +*/ +int32_t OH_ArkUI_GetGestureTag(ArkUI_GestureRecognizer* recognizer, char* buffer, int32_t bufferSize, int32_t* result); + +/** +* @brief Obtains the ID of the component linked to a gesture recognizer. +* +* @param recognizer Indicates the pointer to a gesture recognizer. +* @param nodeId Indicates the component ID. +* @param size Indicates the buffer size. +* @param result Indicates the length of the string to be written to the buffer. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +* Returns {@link ARKUI_ERROR_CODE_BUFFER_SIZE_NOT_ENOUGH} if the buffer is not large enough. +* @since 12 +*/ +int32_t OH_ArkUI_GetGestureBindNodeId(ArkUI_GestureRecognizer* recognizer, char* nodeId, int32_t size, + int32_t* result); + +/** +* @brief Obtains whether a gesture recognizer is valid. +* +* @param recognizer Indicates the pointer to a gesture recognizer. +* @return Returns true if the gesture recognizer is valid. +* Returns false if the gesture recognizer is invalid. +* @since 12 +*/ +bool OH_ArkUI_IsGestureRecognizerValid(ArkUI_GestureRecognizer* recognizer); + +/** +* @brief Obtains custom data in the parallel internal gesture event. +* +* @param event Indicates the pointer to a parallel internal gesture event. +* @return Returns the pointer to custom data. +* @since 12 +*/ +void* OH_ArkUI_ParallelInnerGestureEvent_GetUserData(ArkUI_ParallelInnerGestureEvent* event); + +/** +* @brief Obtains the current gesture recognizer in a parallel internal gesture event. +* +* @param event Indicates the pointer to a parallel internal gesture event. +* @return Returns the pointer to the current gesture recognizer. +* @since 12 +*/ +ArkUI_GestureRecognizer* OH_ArkUI_ParallelInnerGestureEvent_GetCurrentRecognizer( + ArkUI_ParallelInnerGestureEvent* event); + +/** +* @brief Obtains the conflicting gesture recognizers in a parallel internal gesture event. +* +* @param event Indicates the pointer to a parallel internal gesture event. +* @param array Indicates the pointer to the array of conflicting gesture recognizers. +* @param size Indicates the size of the array of conflicting gesture recognizers. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +* @since 12 +*/ +int32_t OH_ArkUI_ParallelInnerGestureEvent_GetConflictRecognizers(ArkUI_ParallelInnerGestureEvent* event, + ArkUI_GestureRecognizerHandleArray* array, int32_t* size); + +/** +* @brief Sets a callback function for notifying gesture recognizer destruction. +* +* @param recognizer Indicates the pointer to a gesture recognizer. +* @param callback Indicates the callback function for notifying gesture recognizer destruction. +* @param userData Indicates the custom data. +* @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. +* Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. +*/ +int32_t OH_ArkUI_SetArkUIGestureRecognizerDisposeNotify(ArkUI_GestureRecognizer* recognizer, + ArkUI_GestureRecognizerDisposeNotifyCallback callback, void* userData); + /** * @brief Defines the gesture APIs. * @@ -625,6 +869,21 @@ typedef struct { * @return Returns the gesture type. */ ArkUI_GestureRecognizerType (*getGestureType)(ArkUI_GestureRecognizer* recognizer); + + /** + * @brief Sets the callback function for a parallel internal gesture event. + * + * @param node Indicates the ArkUI node for which the callback of a parallel internal gesture event is to be set. + * @param userData Indicates the custom data. + * @param parallelInnerGesture Indicates the parallel internal gesture event. event returns the data of the + * parallel internal gesture event; parallelInnerGesture returns the pointer to the gesture recognizer + * that requires parallel recognition. + * @return Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if success. + * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter exception occurs. + */ + int32_t (*setInnerGestureParallelTo)( + ArkUI_NodeHandle node, void* userData, ArkUI_GestureRecognizer* (*parallelInnerGesture)( + ArkUI_ParallelInnerGestureEvent* event)); } ArkUI_NativeGestureAPI_1; #ifdef __cplusplus diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index f238b1d6f..027726845 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -1895,6 +1895,10 @@ typedef enum { ARKUI_ERROR_CODE_GET_INFO_FAILED = 106201, /** The buffer size is not large enough. */ ARKUI_ERROR_CODE_BUFFER_SIZE_ERROR = 106202, + /** The component is not a scroll container. */ + ARKUI_ERROR_CODE_NON_SCROLLABLE_CONTAINER = 180001, + /** The buffer is not large enough. */ + ARKUI_ERROR_CODE_BUFFER_SIZE_NOT_ENOUGH = 180002, } ArkUI_ErrorCode; /** -- Gitee From efe13930c7f399109a6fe4aa5885c6fe3de145af Mon Sep 17 00:00:00 2001 From: wanglili12 Date: Tue, 6 Aug 2024 10:23:57 +0800 Subject: [PATCH 022/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9NODE=5FCLIP=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanglili12 Change-Id: Ie666ac9b20638c0be450f8605debeaccab4eacc1 --- arkui/ace_engine/native/native_node.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 2f9a9588d..2e82b4138 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -496,15 +496,16 @@ typedef enum { */ NODE_VISIBILITY, /** - * @brief Defines the clip attribute, which can be set, reset, and obtained as required through APIs. + * @brief Defines the clipping and masking attribute, which can be set, reset, and obtained as required through + * APIs. * * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n * .value[0].i32: whether to clip the component based on the parent container bounds. - * The value 0 means to clip the component, and 1 means the opposite. \n + * The value 1 means to clip the component, and 0 means the opposite. \n * \n * Format of the return value {@link ArkUI_AttributeItem}:\n * .value[0].i32: whether to clip the component based on the parent container bounds. - * The value 0 means to clip the component, and 1 means the opposite. \n + * The value 1 means to clip the component, and 0 means the opposite. \n * */ NODE_CLIP, -- Gitee From acf56aefd7075a7e11c1df9a664cb723c3b7a2be Mon Sep 17 00:00:00 2001 From: qihaonan Date: Tue, 6 Aug 2024 07:13:12 +0000 Subject: [PATCH 023/359] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=E3=80=91=E6=96=B0=E5=A2=9E=E5=88=86=E5=B1=82=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E5=9D=87=E5=8C=80=E5=88=86=E5=B1=82=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qihaonan --- multimedia/av_codec/native_avcodec_base.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index c5e35031c..cdaeeed55 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -1198,6 +1198,9 @@ typedef enum OH_TemporalGopReferenceMode { ADJACENT_REFERENCE = 0, /** Refer to latest long-term reference frame. */ JUMP_REFERENCE = 1, + /** Uniformly scaled reference structure, which has even distribution of video frames after drop the highest + * enhance layer. The temporal group of pictures must be power of 2. */ + UNIFORMLY_SCALED_REFERENCE = 2, } OH_TemporalGopReferenceMode; #ifdef __cplusplus -- Gitee From 2224725499b3afecd071adcadd16814dc56c2694 Mon Sep 17 00:00:00 2001 From: zhangwuf Date: Mon, 5 Aug 2024 16:13:32 +0800 Subject: [PATCH 024/359] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E6=95=B0=E6=8D=AE=E4=B8=89=E6=96=B9=E5=BA=93?= =?UTF-8?q?=E3=80=81=E5=BC=80=E6=BA=90/=E9=97=AD=E6=BA=90=E5=88=86?= =?UTF-8?q?=E6=88=90=E4=B8=A4=E5=88=97=EF=BC=8Cdiff=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E5=90=8C=E7=90=86=EF=BC=9B=E5=85=B6=E6=AC=A1diff=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E7=BB=93=E6=9E=9Capi=E7=B1=BB=E5=9E=8B=E6=9B=B4?= =?UTF-8?q?=E6=94=B9=E4=B8=BA=E8=8A=82=E7=82=B9=E7=B1=BB=E5=9E=8B=EF=BC=8C?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=94=9F=E6=88=90=E8=AF=AD=E6=B3=95=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E6=96=87=E4=BB=B6=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangwuf --- .../capi_parser/src/coreImpl/diff/diff.py | 4 +- .../src/coreImpl/diff/diff_file.py | 101 ++++++++++++++---- .../src/coreImpl/diff/diff_processor_node.py | 84 +++++++++++---- .../src/coreImpl/parser/generating_tables.py | 9 +- .../src/coreImpl/parser/parse_include.py | 74 +++++++++++-- .../capi_parser/src/coreImpl/parser/parser.py | 38 +++---- .../capi_parser/src/typedef/diff/diff.py | 65 +++++++++++ .../capi_parser/src/utils/constants.py | 14 +-- 8 files changed, 309 insertions(+), 80 deletions(-) diff --git a/build-tools/capi_parser/src/coreImpl/diff/diff.py b/build-tools/capi_parser/src/coreImpl/diff/diff.py index 43f15d2ca..375f7ab94 100644 --- a/build-tools/capi_parser/src/coreImpl/diff/diff.py +++ b/build-tools/capi_parser/src/coreImpl/diff/diff.py @@ -13,7 +13,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -from coreImpl.parser.parser import parser_include_ast +from coreImpl.parser.parser import diff_parser_include_ast from coreImpl.diff.diff_file import start_diff_file @@ -42,5 +42,5 @@ def process_file_diff(old_file, new_file): def get_parser_data(file_path): root_start = file_path.split('sdk_c')[0] root_path = f'{root_start}sdk_c' - parser_data = parser_include_ast(root_path, [file_path]) + parser_data = diff_parser_include_ast(root_path, [file_path]) return parser_data diff --git a/build-tools/capi_parser/src/coreImpl/diff/diff_file.py b/build-tools/capi_parser/src/coreImpl/diff/diff_file.py index 0635db772..2c4c0fb16 100644 --- a/build-tools/capi_parser/src/coreImpl/diff/diff_file.py +++ b/build-tools/capi_parser/src/coreImpl/diff/diff_file.py @@ -19,14 +19,15 @@ import os import stat from collections import OrderedDict import openpyxl as op -from coreImpl.parser.parser import parser_include_ast +from coreImpl.parser.parser import diff_parser_include_ast from coreImpl.diff.diff_processor_node import judgment_entrance, change_data_total -from typedef.diff.diff import OutputJson, ApiChangeData +from typedef.diff.diff import OutputJson, ApiChangeData, IgnoreFileDirectory from bin.write_md import write_md_entrance global_old_dir = '' global_new_dir = '' diff_info_list = [] +syntax_file_list = [] def get_modification_type_dict(): @@ -67,13 +68,15 @@ def get_api_change_obj(api_data): change_data_obj.set_kit_name(element.kit_name) change_data_obj.set_sub_system(element.sub_system) change_data_obj.set_is_api_change(element.is_api_change) - change_data_obj.set_class_name(element.class_name) + change_data_obj.set_current_api_type(element.current_api_type) change_data_obj.set_diff_type(element.operation_diff_type) change_data_obj.set_change_type(element.api_modification_type) change_data_obj.set_old_all_text(element.old_api_full_text) change_data_obj.set_new_all_text(element.new_api_full_text) change_data_obj.set_compatible_total(element.is_compatible) change_data_obj.set_is_system_api(element.is_system_api) + change_data_obj.set_open_close_api(element.open_close_api) + change_data_obj.set_is_third_party_api(element.is_third_party_api) key = 1 else: old_all_text = '{}#&#{}'.format(change_data_obj.old_all_text, element.old_api_full_text) @@ -120,7 +123,7 @@ def collect_node_api_change(api_change_info_list): api_change_info.kit_name, api_change_info.sub_system, api_change_info.is_api_change, - api_change_info.class_name, + api_change_info.current_api_type, api_change_info.diff_type, api_change_info.change_type, api_change_info.compatible, @@ -129,18 +132,42 @@ def collect_node_api_change(api_change_info_list): api_change_info.new_all_text, api_change_info.compatible_total, api_change_info.unique_id, - api_change_info.is_system_api + api_change_info.is_system_api, + api_change_info.open_close_api, + api_change_info.is_third_party_api ] change_data.append(info_data) return change_data +def syntax_file_excel(output_path): + data = [] + if syntax_file_list: + for syntax_dict in syntax_file_list: + info_data = [ + syntax_dict.get('current_file'), + syntax_dict.get('error_message') + ] + data.append(info_data) + + wb = op.Workbook() + ws = wb['Sheet'] + ws.title = '语法错误文件信息' + ws.append(['当前文件', '错误信息']) + for element in data: + d = element[0], element[1] + ws.append(d) + output_path_xlsx = os.path.abspath(os.path.join(output_path, r'syntax_file_error.xlsx')) + wb.save(output_path_xlsx) + + def start_diff_file(old_dir, new_dir, output_path): result_info_list = global_assignment(old_dir, new_dir) total = change_data_total collect_api_change_data = collect_api_change(total) generate_excel(result_info_list, collect_api_change_data, output_path) + syntax_file_excel(output_path) write_md_entrance(result_info_list, output_path) result_json = result_to_json(result_info_list) diff_result_path = r'./diff_result.txt' @@ -179,11 +206,11 @@ def generate_excel(result_info_list, api_change_data, output_path): ws_of_change = wb.create_sheet('api变更次数统计') ws_of_change.append(['api名称', 'kit名称', '归属子系统', '是否是api', 'api类型', '操作标记', '变更类型', '兼容性', '变更次数', '差异项-旧版本', '差异项-新版本', '兼容性列表', '接口全路径', - '是否为系统API']) + '是否为系统API', '开源/闭源API', '是否是三方库api']) for element in change_data_list: change_data = element[0], element[1], element[2], element[3], element[4], element[5],\ element[6], element[7], element[8], element[9], element[10], element[11],\ - element[12], element[13] + element[12], element[13], element[14], element[15] ws_of_change.append(change_data) output_path_xlsx = os.path.abspath(os.path.join(output_path, 'diff.xlsx')) wb.save(output_path_xlsx) @@ -224,6 +251,14 @@ def get_file_ext(file_name): return os.path.splitext(file_name)[1] +def filter_ignore_file(file_path): + ignore_dict = IgnoreFileDirectory.ignore_file_dict + for key in ignore_dict.keys(): + if key in file_path: + return False + return True + + def diff_list(old_file_list, new_file_list, old_dir, new_dir): all_list = set(old_file_list + new_file_list) if len(all_list) == 0: @@ -246,8 +281,8 @@ def diff_list(old_file_list, new_file_list, old_dir, new_dir): def add_new_file(diff_file_path): if os.path.isdir(diff_file_path): add_file(diff_file_path) - else: - result_map = parse_file_result(parser_include_ast(global_new_dir, [diff_file_path], flag=1)) + elif filter_ignore_file(diff_file_path): + result_map = parse_file_result(diff_parser_include_ast(global_new_dir, [diff_file_path], flag=1)) for new_info in result_map.values(): diff_info_list.extend(judgment_entrance(None, new_info)) @@ -255,8 +290,8 @@ def add_new_file(diff_file_path): def del_old_file(diff_file_path): if os.path.isdir(diff_file_path): del_file(diff_file_path) - else: - result_map = parse_file_result(parser_include_ast(global_old_dir, [diff_file_path], flag=0)) + elif filter_ignore_file(diff_file_path): + result_map = parse_file_result(diff_parser_include_ast(global_old_dir, [diff_file_path], flag=0)) for old_info in result_map.values(): diff_info_list.extend(judgment_entrance(old_info, None)) @@ -278,12 +313,14 @@ def get_same_file_diff(target_file, old_file_list, new_file_list, old_dir, new_d def get_file_result_diff(old_target_file, new_target_file): - old_file_result_map = parse_file_result(parser_include_ast(global_old_dir, [old_target_file], flag=0)) - new_file_result_map = parse_file_result(parser_include_ast(global_new_dir, [new_target_file], flag=1)) - merged_dict = OrderedDict(list(old_file_result_map.items()) + list(new_file_result_map.items())) - all_key_list = merged_dict.keys() - for key in all_key_list: - diff_info_list.extend(judgment_entrance(old_file_result_map.get(key), new_file_result_map.get(key))) + if filter_ignore_file(old_target_file): + old_file_result_map = parse_file_result(diff_parser_include_ast(global_old_dir, [old_target_file], flag=0)) + new_file_result_map = parse_file_result(diff_parser_include_ast(global_new_dir, [new_target_file], flag=1)) + if old_file_result_map and new_file_result_map: + merged_dict = OrderedDict(list(old_file_result_map.items()) + list(new_file_result_map.items())) + all_key_list = merged_dict.keys() + for key in all_key_list: + diff_info_list.extend(judgment_entrance(old_file_result_map.get(key), new_file_result_map.get(key))) def del_file(dir_path): @@ -294,8 +331,8 @@ def del_file(dir_path): file_path = os.path.join(dir_path, i) if os.path.isdir(file_path): del_file(file_path) - if get_file_ext(i) == '.h': - result_map = parse_file_result(parser_include_ast(global_old_dir, [file_path], flag=0)) + if get_file_ext(i) == '.h' and filter_ignore_file(file_path): + result_map = parse_file_result(diff_parser_include_ast(global_old_dir, [file_path], flag=0)) for old_info in result_map.values(): diff_info_list.extend(judgment_entrance(old_info, None)) @@ -308,8 +345,8 @@ def add_file(dir_path): file_path = os.path.join(dir_path, i) if os.path.isdir(file_path): add_file(file_path) - if get_file_ext(i) == '.h': - result_map = parse_file_result(parser_include_ast(global_new_dir, [file_path], flag=1)) + if get_file_ext(i) == '.h' and filter_ignore_file(file_path): + result_map = parse_file_result(diff_parser_include_ast(global_new_dir, [file_path], flag=1)) for new_info in result_map.values(): diff_info_list.extend(judgment_entrance(None, new_info)) @@ -322,16 +359,36 @@ def parse_file_result(result, data_type=0): """ result_map = {} for root_node in result: + if root_node['syntax_error'] != 'NA': + error_file_path = os.path.abspath(os.path.join(root_node['gn_path'], root_node['name'])) + error_message_dict = { + 'current_file': error_file_path, + 'error_message': root_node['syntax_error'] + } + syntax_file_list.append(error_message_dict) + result_map.setdefault(f'{root_node["name"]}-{root_node["kind"]}', root_node) if data_type != 1: parse_file_result_by_child(result_map, root_node) - result_map.setdefault(f'{root_node["name"]}-{root_node["kind"]}', root_node) return result_map +def process_empty_name(data_info: dict, result_map): + data_current_file = os.path.split(data_info['location']['location_path'])[1] + if data_info['kind'] == 'ENUM_DECL' and 'members' in data_info and data_current_file in data_info['type']: + for element in data_info['members']: + result_map.setdefault(f'{data_current_file}-{element["name"]}', element) + elif data_info['kind'] == 'ENUM_DECL' and 'members' in data_info and (data_current_file not in data_info['type']): + result_map.setdefault(f'{data_current_file}-{data_info["type"]}', data_info) + elif (data_info['kind'] == 'STRUCT_DECL' or data_info['kind'] == 'UNION_DECL') and \ + (data_current_file not in data_info['type']): + result_map.setdefault(f'{data_current_file}-{data_info["type"]}', data_info) + + def parse_file_result_by_child(result_map, root_node): children_list = root_node['children'] for children in children_list: if children["name"] == '': + process_empty_name(children, result_map) continue result_map.setdefault(f'{children["name"]}-{children["kind"]}', children) del root_node['children'] diff --git a/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py b/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py index a0deb5b43..c4c1b6a3a 100644 --- a/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py +++ b/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py @@ -749,6 +749,27 @@ def process_typedef_child(old_child, new_child, diff_typedef_list): diff_typedef_list.extend(special_data) +def process_anonymous_enum_member(old_info, new_info): + result_obj_list = [] + if old_info and new_info: + if old_info['name'] != new_info['name']: + change_message_obj = DiffInfo(DiffType.ENUM_MEMBER_NAME_CHANGE, old_info['name'], new_info['name']) + result_obj_list.append(wrap_diff_info(old_info, new_info, change_message_obj)) + if old_info['value'] != new_info['value']: + change_message_obj = DiffInfo(DiffType.ENUM_MEMBER_VALUE_CHANGE, old_info['value'], new_info['value']) + result_obj_list.append(wrap_diff_info(old_info, new_info, change_message_obj)) + else: + if old_info: + change_message_obj = DiffInfo(DiffType.ENUM_MEMBER_REDUCE, old_info['node_content']['content'], 'NA') + result_obj_list.append(wrap_diff_info(old_info, new_info, change_message_obj)) + + elif new_info: + change_message_obj = DiffInfo(DiffType.ENUM_MEMBER_ADD, 'NA', new_info['node_content']['content']) + result_obj_list.append(wrap_diff_info(old_info, new_info, change_message_obj)) + + return result_obj_list + + process_data = { Scene.FUNCTION_DECL.value: process_function, Scene.MACRO_DEFINITION.value: process_define, @@ -756,14 +777,38 @@ process_data = { Scene.UNION_DECL.value: process_union, Scene.ENUM_DECL.value: process_enum, Scene.VAR_DECL.value: process_variable_const, - Scene.TYPEDEF_DECL.value: process_typedef + Scene.TYPEDEF_DECL.value: process_typedef, + Scene.ENUM_CONSTANT_DECL.value: process_anonymous_enum_member, } +def get_ch_api_kind(dict_key): + if dict_key == Scene.ENUM_CONSTANT_DECL.value: + key = 'ENUM_DECL' + else: + key = dict_key + api_kind_dict = { + 'FUNCTION_DECL': '函数类型', + 'MACRO_DEFINITION': '宏定义类型', + 'STRUCT_DECL': '结构体类型', + 'UNION_DECL': '联合体类型', + 'ENUM_DECL': '枚举类型', + 'VAR_DECL': '常/变量类型', + 'TYPEDEF_DECL': '重命名类型', + 'TRANSLATION_UNIT': 'NA' + } + return api_kind_dict.get(key) + + def collect_change_data_total(data: dict, diff_info_list): for element in diff_info_list: element.set_api_node_name(data['name']) + if (data['kind'] == Scene.STRUCT_DECL.value or data['kind'] == Scene.UNION_DECL.value) and (not data['name']): + element.set_api_node_name(data['type']) element.set_current_api_unique_id(data['unique_id']) + element.set_open_close_api(data['open_close_api']) + element.set_is_third_party_api(data['is_third_party_api']) + element.set_current_api_type(get_ch_api_kind(data['kind'])) change_data_total.append(diff_info_list) @@ -780,17 +825,18 @@ def process_add_node(add_infor, key_extern, struct_union_enum): return diff_info_list if 'is_extern' in add_infor and add_infor['is_extern']: key_extern = True - diff_type = DiffType.ADD_API - old_api_content = 'NA' - if add_infor['kind'] in struct_union_enum: - new_api_content = add_infor['type'] + if add_infor['kind'] == Scene.ENUM_CONSTANT_DECL.value: + result_obj_list = process_anonymous_enum_member(old_infor, add_infor) + diff_info_list.extend(result_obj_list) else: - new_api_content = add_infor['node_content']['content'] - diff_info_list.append(wrap_diff_info(old_infor, add_infor, DiffInfo(diff_type, - old_api_content, new_api_content))) - if diff_type == DiffType.ADD_API: - set_is_api_change_result(diff_info_list, key_extern) - collect_change_data_total(add_infor, diff_info_list) + if add_infor['kind'] in struct_union_enum: + new_api_content = add_infor['type'] + else: + new_api_content = add_infor['node_content']['content'] + diff_info_list.append(wrap_diff_info(old_infor, add_infor, DiffInfo(DiffType.ADD_API, + 'NA', new_api_content))) + set_is_api_change_result(diff_info_list, key_extern) + collect_change_data_total(add_infor, diff_info_list) return diff_info_list @@ -802,14 +848,16 @@ def process_reduce_node(reduce_infor, key_extern, struct_union_enum): return diff_info_list if 'is_extern' in reduce_infor and reduce_infor['is_extern']: key_extern = True - diff_type = DiffType.REDUCE_API - new_api_content = 'NA' - if reduce_infor['kind'] in struct_union_enum: - old_api_content = reduce_infor['type'] + if reduce_infor['kind'] == Scene.ENUM_CONSTANT_DECL.value: + result_obj_list = process_anonymous_enum_member(reduce_infor, new_infor) + diff_info_list.extend(result_obj_list) else: - old_api_content = reduce_infor['node_content']['content'] - diff_info_list.append(wrap_diff_info(reduce_infor, new_infor, DiffInfo(diff_type, - old_api_content, new_api_content))) + if reduce_infor['kind'] in struct_union_enum: + old_api_content = reduce_infor['type'] + else: + old_api_content = reduce_infor['node_content']['content'] + diff_info_list.append(wrap_diff_info(reduce_infor, new_infor, DiffInfo(DiffType.REDUCE_API, + old_api_content, 'NA'))) set_is_api_change_result(diff_info_list, key_extern) collect_change_data_total(reduce_infor, diff_info_list) diff --git a/build-tools/capi_parser/src/coreImpl/parser/generating_tables.py b/build-tools/capi_parser/src/coreImpl/parser/generating_tables.py index 158d76bb8..e109bfe95 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/generating_tables.py +++ b/build-tools/capi_parser/src/coreImpl/parser/generating_tables.py @@ -85,8 +85,6 @@ def get_result_api(file_data, result_api): if 'children' in file_data: for item1 in file_data["children"]: # 抛开根节点 if (item1["kind"] == 'FUNCTION_DECL' or item1["kind"] == 'VAR_DECL') and item1["is_extern"]: - differ_infor = difference_api(item1) - item1['differ_infor'] = differ_infor item = filter_func(item1) result_api.append(item) @@ -151,7 +149,8 @@ def collated_api_data(api_data: list): api.get('location_path'), api.get('sub_system'), api.get('unique_id'), - api.get('differ_infor') + api.get('open_close_api'), + api.get('is_third_party_api') ] collated_data_total.append(collated_data) return collated_data_total @@ -161,7 +160,7 @@ def generate_excel(array, name, generate_json_unique, original_json_unique): first_line_infor = ['模块名', '类名', '方法名', '函数', '类型', '起始版本', '废弃版本', 'syscap', '错误码', '是否为系统API', '模型限制', '权限', '是否支持跨平台', '是否支持卡片应用', '是否支持高阶API', - '装饰器', 'kit', '文件路径', '子系统', '接口全路径', '开源/闭源/三方库API'] + '装饰器', 'kit', '文件路径', '子系统', '接口全路径', '开源/闭源API', '是否是三方库API'] workbook = openpyxl.Workbook() work_sheet1 = workbook.active work_sheet1.title = '对比结果' @@ -184,7 +183,7 @@ def write_information_to_worksheet(work_sheet, information_data): write_data = data[0], data[1], data[2], data[3], data[4], \ data[5], data[6], data[7], data[8], data[9], \ data[10], data[11], data[12], data[13], data[14], \ - data[15], data[16], data[17], data[18], data[19], data[20] + data[15], data[16], data[17], data[18], data[19], data[20], data[21] work_sheet.append(write_data) diff --git a/build-tools/capi_parser/src/coreImpl/parser/parse_include.py b/build-tools/capi_parser/src/coreImpl/parser/parse_include.py index a067d98af..446ddfc8d 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/parse_include.py +++ b/build-tools/capi_parser/src/coreImpl/parser/parse_include.py @@ -25,7 +25,7 @@ from clang.cindex import CursorKind from clang.cindex import TypeKind from utils.constants import StringConstant from utils.constants import RegularExpressions -from typedef.parser.parser import NodeKind +from typedef.parser.parser import NodeKind, DifferApiInfor, DifferApiRegular line_dist = {} @@ -149,13 +149,26 @@ def processing_def(cursor, data): # 处理宏定义 print('mar_define error, its content is none') if text: text = text.strip() # 删除两边的字符(默认是删除左右空格) - data['text'] = text + data['text'] = text data["type"] = "def_no_type" +def difference_api(api_data: dict): + api_name = api_data['name'] + closed_pattern = DifferApiRegular.CLOSED_SOURCE_API_REGULAR.value + open_pattern = DifferApiRegular.OPEN_SOURCE_API_REGULAR.value + if re.search(closed_pattern, api_name, flags=re.IGNORECASE): + api_data['open_close_api'] = DifferApiInfor.CLOSED_SOURCE_API.value + elif re.search(open_pattern, api_name, flags=re.IGNORECASE): + api_data['open_close_api'] = DifferApiInfor.OPEN_SOURCE_API.value + else: + api_data['is_third_party_api'] = True + + def processing_func(cursor, data): # 处理函数 data["return_type"] = cursor.result_type.spelling # 增加返回类型键值对 judgment_extern(cursor, data) + difference_api(data) def processing_type(cursor, data): # 没有类型的节点处理 @@ -197,6 +210,12 @@ special_node_process = { } +def process_members_class_name(data: dict, parent_cursor): + file_name = os.path.split(data['location']['location_path'])[1] + if (not data['name']) and (file_name not in parent_cursor.type.spelling): + data['class_name'] = '{}-{}'.format(file_name, parent_cursor.type.spelling) + + def get_api_unique_id(cursor, loc, data): unique_id = '' if cursor.kind == CursorKind.MACRO_DEFINITION: @@ -213,7 +232,7 @@ def get_api_unique_id(cursor, loc, data): parent_name_str = '' elif parent_of_cursor.kind.name in struct_union_enum: parent_name_str = parent_of_cursor.type.spelling - data['class_name'] = parent_of_cursor.spelling + process_members_class_name(data, parent_of_cursor) else: parent_name_str = parent_of_cursor.spelling except ValueError: @@ -227,6 +246,20 @@ def get_api_unique_id(cursor, loc, data): return unique_id +def get_node_class_name(data): + struct_union_enum = [NodeKind.STRUCT_DECL.value, NodeKind.UNION_DECL.value, + NodeKind.ENUM_DECL.value] + current_file_name = os.path.split(data["location"]["location_path"])[1] + if data.get('kind') in struct_union_enum and 'class_name' in data: + class_name = '{}-{}'.format(current_file_name, data["name"]) + if (not data["name"]) and (current_file_name not in data["type"]): + class_name = '{}-{}'.format(current_file_name, data["type"]) + else: + class_name = current_file_name + + return class_name + + def processing_special_node(cursor, data, key, gn_path): # 处理需要特殊处理的节点 if key == 0: location_path = cursor.spelling @@ -244,9 +277,12 @@ def processing_special_node(cursor, data, key, gn_path): # 处理需要特殊 relative_path = os.path.relpath(location_path, gn_path) # 获取头文件相对路 loc["location_path"] = relative_path data["location"] = loc + data["class_name"] = get_node_class_name(data) data["unique_id"] = get_api_unique_id(cursor, loc, data) if key == 0: data["unique_id"] = data["name"] + syntax_error_message = diagnostic_callback(cursor.translation_unit.diagnostics, gn_path) + data["syntax_error"] = syntax_error_message if kind_name in special_node_process.keys(): node_process = special_node_process[kind_name] node_process(cursor, data) # 调用对应节点处理函数 @@ -302,11 +338,36 @@ def get_default_node_data(cursor, gn_path): "form": 'NA', "atomic_service": 'NA', "decorator": 'NA', - "unique_id": '' + "unique_id": '', + "syntax_error": 'NA', + "open_close_api": 'NA', + "is_third_party_api": False } return data +def diagnostic_callback(diagnostic, dir_path): + # 获取诊断信息的详细内容 + syntax_error_message = 'NA' + key = 0 + for dig in diagnostic: + file_path = f"{dig.location.file}" + try: + file_path = os.path.relpath(os.path.normpath(file_path), dir_path) + except ValueError: + pass + line = dig.location.line + message = dig.spelling + # 输出诊断信息 + error_message = f"{file_path}:{line}\n错误信息:{message}" + if 0 == key: + syntax_error_message = error_message + key = 1 + else: + syntax_error_message = '{}\n{}'.format(syntax_error_message, error_message) + return syntax_error_message + + def parser_data_assignment(cursor, current_file, gn_path, comment=None, key=0): data = get_default_node_data(cursor, gn_path) get_comment(cursor, data) @@ -323,10 +384,6 @@ def parser_data_assignment(cursor, current_file, gn_path, comment=None, key=0): data["kind"] = cursor.kind.name if cursor.kind.name == CursorKind.MACRO_DEFINITION.name: define_comment(cursor, current_file, data) - struct_union_enum = [NodeKind.STRUCT_DECL.value, NodeKind.UNION_DECL.value, - NodeKind.ENUM_DECL.value] - if data.get('kind') in struct_union_enum and 'class_name' in data: - data['class_name'] = data.get('name') get_syscap_value(data) get_since_value(data) get_kit_value(data) @@ -564,6 +621,7 @@ def api_entrance(share_lib, include_path, gn_path, link_path): # 统计入口 # options赋值为如下,代表宏定义解析数据也要 args = ['-I{}'.format(path) for path in link_path] args.append('-std=c99') + args.append('--target=aarch64-linux-musl') options = clang.cindex.TranslationUnit.PARSE_DETAILED_PROCESSING_RECORD data_total = [] # 列表对象-用于统计 diff --git a/build-tools/capi_parser/src/coreImpl/parser/parser.py b/build-tools/capi_parser/src/coreImpl/parser/parser.py index 5ab20372e..1adac3f2e 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/parser.py +++ b/build-tools/capi_parser/src/coreImpl/parser/parser.py @@ -267,10 +267,8 @@ def find_include(link_include_path): def copy_self_include(link_include_path, self_include_file): for dir_path, dir_name, file_name_list in os.walk(self_include_file): - for element in dir_name: - dir_path_name = os.path.abspath(os.path.join(dir_path, element)) - if 'sysroot_myself' not in dir_path and dir_path_name not in link_include_path: - link_include_path.append(dir_path_name) + if 'sysroot_myself' not in dir_path and 'build-tools' not in dir_path and dir_path not in link_include_path: + link_include_path.append(dir_path) def delete_typedef_child(child): @@ -294,19 +292,11 @@ def parser(directory_path): # 目录路径 return data_total -def parser_include_ast(dire_file_path, include_path: list, flag=-1): # 对于单独的.h解析接口 +def parser_include_ast(dire_file_path, include_path: list): # 对于单独的.h解析接口 correct_include_path = [] link_include_path = [dire_file_path] - # 针对check - if -1 == flag: - copy_std_lib(link_include_path, dire_file_path) - link_include(dire_file_path, StringConstant.FUNK_NAME.value, link_include_path) - # 针对diff - else: - copy_std_lib(link_include_path) - find_include(link_include_path) - if len(link_include_path) <= 2: - copy_self_include(link_include_path, dire_file_path) + copy_std_lib(link_include_path, dire_file_path) + copy_self_include(link_include_path, dire_file_path) for item in include_path: split_path = os.path.splitext(item) if split_path[1] == '.h': # 判断.h结尾 @@ -322,13 +312,25 @@ def parser_include_ast(dire_file_path, include_path: list, flag=-1): # return data +def diff_parser_include_ast(dire_file_path, include_path: list, flag=-1): # 对于单独的.h解析接口 + link_include_path = [dire_file_path] + copy_self_include(link_include_path, dire_file_path) + data = parse_include.get_include_file(include_path, link_include_path, dire_file_path) + + for item in data: + if 'children' in item: + for child in item['children']: + delete_typedef_child(child) + + return data + + def get_dir_file_path(dir_path): file_path_list = [] link_include_path = [] # 装链接头文件路径 for dir_path, dir_names, filenames in os.walk(dir_path): - for dir_name in dir_names: - if 'build-tools' not in dir_path and 'sysroot_myself' not in dir_path: - link_include_path.append(os.path.join(dir_path, dir_name)) + if 'sysroot_myself' not in dir_path and 'build-tools' not in dir_path and dir_path not in link_include_path: + link_include_path.append(dir_path) for file in filenames: if 'build-tools' not in dir_path and 'sysroot_myself' not in dir_path and file.endswith('.h'): file_path_list.append(os.path.join(dir_path, file)) diff --git a/build-tools/capi_parser/src/typedef/diff/diff.py b/build-tools/capi_parser/src/typedef/diff/diff.py index 897c320ba..d9a7b4b3d 100644 --- a/build-tools/capi_parser/src/typedef/diff/diff.py +++ b/build-tools/capi_parser/src/typedef/diff/diff.py @@ -116,6 +116,7 @@ class Scene(enum.Enum): VAR_DECL = 'VAR_DECL' TYPEDEF_DECL = 'TYPEDEF_DECL' TRANSLATION_UNIT = 'TRANSLATION_UNIT' + ENUM_CONSTANT_DECL = 'ENUM_CONSTANT_DECL' class TAGS(enum.Enum): @@ -229,6 +230,7 @@ compatible_list = [ DiffType.ADD_API, DiffType.ADD_DOC, DiffType.ADD_DOC_TAG, + DiffType.ENUM_MEMBER_ADD, DiffType.FUNCTION_PARAM_NAME_CHANGE, DiffType.DOC_TAG_ADDTOGROUP_NA_TO_HAVE, DiffType.DOC_TAG_ADDTOGROUP_HAVE_TO_NA, @@ -386,6 +388,9 @@ class DiffInfo: operation_diff_type: str = '' old_differ_content: str = '' new_differ_content: str = '' + open_close_api: str = '' + is_third_party_api = False + current_api_type: str = '' def __init__(self, diff_type: DiffType, old_differ_content, new_differ_content): self.diff_type = diff_type @@ -540,6 +545,24 @@ class DiffInfo: def get_new_differ_content(self): return self.new_differ_content + def set_open_close_api(self, open_close_api): + self.open_close_api = open_close_api + + def get_open_close_api(self): + return self.open_close_api + + def set_is_third_party_api(self, is_third_party_api): + self.is_third_party_api = is_third_party_api + + def get_is_third_party_api(self): + return self.is_third_party_api + + def set_current_api_type(self, current_api_type): + self.current_api_type = current_api_type + + def get_current_api_type(self): + return self.current_api_type + class OutputJson: api_name: str = '' @@ -595,6 +618,10 @@ class ApiChangeData: compatible_total = False unique_id: str = '' is_system_api = False + open_close_api: str = '' + is_third_party_api = False + api_type: str = '' + current_api_type: str = '' def set_api_name(self, api_name): self.api_name = api_name @@ -679,3 +706,41 @@ class ApiChangeData: def get_is_system_api(self): return self.is_system_api + + def set_open_close_api(self, open_close_api): + self.open_close_api = open_close_api + + def get_open_close_api(self): + return self.open_close_api + + def set_is_third_party_api(self, is_third_party_api): + self.is_third_party_api = is_third_party_api + + def get_is_third_party_api(self): + return self.is_third_party_api + + def set_api_type(self, api_type): + self.api_type = api_type + + def get_api_type(self): + return self.api_type + + def set_current_api_type(self, current_api_type): + self.current_api_type = current_api_type + + def get_current_api_type(self): + return self.current_api_type + + +class IgnoreFileDirectory: + ignore_file_dict = { + 'arm-linux-ohos': '', + 'aarch64-linux-ohos': '', + 'x86_64-linux-ohos': '', + 'i686-linux-ohos': '', + 'tee': '', + 'linux': '' + } + + def get_ignore_file_dict(self): + return self.ignore_file_dict diff --git a/build-tools/capi_parser/src/utils/constants.py b/build-tools/capi_parser/src/utils/constants.py index 9c67d962b..579737ce9 100644 --- a/build-tools/capi_parser/src/utils/constants.py +++ b/build-tools/capi_parser/src/utils/constants.py @@ -24,15 +24,15 @@ class StringConstant(enum.Enum): REPLACE_WAREHOUSE = '\\interface_sdk_c\\interface_sdk_c' # 拉到本地仓路径(去掉磁盘) # 拉到本地仓的三方库绝对路径 INCLUDE_LIB = r'.\third_party\musl\ndk_musl_include' - STD_INCLUDE = r'.\sysroot_myself\std_include_files' - CREATE_LIB_PATH = r'.\sysroot_myself\$is_headers_out_dir' - SELF_INCLUDE = r'.\sysroot_myself\self_include_files' - SELF_INCLUDE_OLD = r'.\sysroot_myself\self_include_files_old' - SELF_INCLUDE_NEW = r'.\sysroot_myself\self_include_files_new' - SYSROOT = r'.\sysroot_myself' + STD_INCLUDE = r'./sysroot_myself/std_include_files' + CREATE_LIB_PATH = r'./sysroot_myself/$is_headers_out_dir' + SELF_INCLUDE = r'./sysroot_myself/self_include_files' + SELF_INCLUDE_OLD = r'./sysroot_myself/self_include_files_old' + SELF_INCLUDE_NEW = r'./sysroot_myself/self_include_files_new' + SYSROOT = r'./sysroot_myself' RESULT_HEAD_NAME = "result_total.xlsx" PARSER_DIRECT_EXCEL_NAME = 'parser_direct_data.xlsx' - FILE_LEVEL_API_DATA = r'.\api_kit_c.json' + FILE_LEVEL_API_DATA = r'./api_kit_c.json' class RegularExpressions(enum.Enum): -- Gitee From d2966159ed3d6e685551ac5e95c708cf8cf47a35 Mon Sep 17 00:00:00 2001 From: baoxy92 Date: Tue, 6 Aug 2024 09:17:02 +0000 Subject: [PATCH 025/359] update multimedia/drm_framework/libnative_drm.ndk.json. Signed-off-by: baoxy92 --- multimedia/drm_framework/libnative_drm.ndk.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/multimedia/drm_framework/libnative_drm.ndk.json b/multimedia/drm_framework/libnative_drm.ndk.json index 0e453e4d5..7e0949b81 100644 --- a/multimedia/drm_framework/libnative_drm.ndk.json +++ b/multimedia/drm_framework/libnative_drm.ndk.json @@ -115,13 +115,17 @@ "first_introduced": "11", "name": "OH_MediaKeySession_Destroy" }, + { + "first_introduced": "11", + "name": "OH_MediaKeySession_SetMediaKeySessionCallback" + }, { "first_introduced": "12", "name": "OH_MediaKeySystem_GetMediaKeySystems" }, { "first_introduced": "12", - "name": "OH_MediaKeySession_SetMediaKeySessionCallback" + "name": "OH_MediaKeySession_SetCallback" }, { "first_introduced": "12", -- Gitee From 322f52030fcb391e40b24a0296b756c80cff7ba3 Mon Sep 17 00:00:00 2001 From: jiangchunli Date: Tue, 6 Aug 2024 09:19:39 +0000 Subject: [PATCH 026/359] Add error code description related to drm. Signed-off-by: jiangchunli --- multimedia/av_codec/native_avcodec_audiocodec.h | 1 + multimedia/av_codec/native_avcodec_videodecoder.h | 3 +++ multimedia/av_codec/native_avdemuxer.h | 1 + multimedia/drm_framework/native_mediakeysystem.h | 4 +--- 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/multimedia/av_codec/native_avcodec_audiocodec.h b/multimedia/av_codec/native_avcodec_audiocodec.h index 4c6831580..8ae03c4bb 100644 --- a/multimedia/av_codec/native_avcodec_audiocodec.h +++ b/multimedia/av_codec/native_avcodec_audiocodec.h @@ -279,6 +279,7 @@ OH_AVErrCode OH_AudioCodec_IsValid(OH_AVCodec *codec, bool *isValid); * {@link AV_ERR_INVALID_VAL} 3 - If the codec instance is nullptr or invalid, * the mediaKeySession is nullptr or invalid. * {@link AV_ERR_INVALID_STATE} 8 - If the codec service is invalid. + * {@link AV_ERR_NO_MEMORY}, failed to request memory. * @since 12 * @version 1.0 */ diff --git a/multimedia/av_codec/native_avcodec_videodecoder.h b/multimedia/av_codec/native_avcodec_videodecoder.h index c52df2c28..012329d4f 100644 --- a/multimedia/av_codec/native_avcodec_videodecoder.h +++ b/multimedia/av_codec/native_avcodec_videodecoder.h @@ -343,6 +343,8 @@ OH_AVErrCode OH_VideoDecoder_FreeOutputData(OH_AVCodec *codec, uint32_t index); * {@link AV_ERR_UNKNOWN}, unknown error. * {@link AV_ERR_SERVICE_DIED}, avcodec service is died. * {@link AV_ERR_INVALID_STATE}, this interface was called in invalid state. + * {@link AV_ERR_DRM_DECRYPT_FAILED}, the drm-protected video buffer is decrypted failed, + * it is recommended to check the logs. * @since 11 */ OH_AVErrCode OH_VideoDecoder_PushInputBuffer(OH_AVCodec *codec, uint32_t index); @@ -442,6 +444,7 @@ OH_AVErrCode OH_VideoDecoder_IsValid(OH_AVCodec *codec, bool *isValid); * @return {@link AV_ERR_OK} 0 - Success * {@link AV_ERR_OPERATE_NOT_PERMIT} 2 - If the codec service or the media key session * service is in wrong status. + * {@link AV_ERR_NO_MEMORY}, instance has already released or no memory. * {@link AV_ERR_INVALID_VAL} 3 - If the codec instance is nullptr or invalid, * the mediaKeySession is nullptr or invalid. * @since 11 diff --git a/multimedia/av_codec/native_avdemuxer.h b/multimedia/av_codec/native_avdemuxer.h index 7b2117ebc..7db7dec7e 100644 --- a/multimedia/av_codec/native_avdemuxer.h +++ b/multimedia/av_codec/native_avdemuxer.h @@ -210,6 +210,7 @@ OH_AVErrCode OH_AVDemuxer_SetDemuxerMediaKeySystemInfoCallback(OH_AVDemuxer *dem * @param mediaKeySystemInfo Indicates the media key system info which ram space allocated by callee and * released by caller. * @return {@link AV_ERR_OK} 0 - Success + * {@link AV_ERR_OPERATE_NOT_PERMIT} 2 - If the demuxer engine is not inited or init failed. * {@link AV_ERR_INVALID_VAL} 3 - If the demuxer instance is nullptr or invalid * or the mediaKeySystemInfo is nullptr. * @since 11 diff --git a/multimedia/drm_framework/native_mediakeysystem.h b/multimedia/drm_framework/native_mediakeysystem.h index 2a818346b..966948a64 100644 --- a/multimedia/drm_framework/native_mediakeysystem.h +++ b/multimedia/drm_framework/native_mediakeysystem.h @@ -135,8 +135,6 @@ bool OH_MediaKeySystem_IsSupported3(const char *name, const char *mimeType, * @brief Creates a media key system instance from the name. * @param name Secifies which drm system will be created by name. * @param mediaKeySystem Media key system instance. - * @return DRM_ERR_INVALID_VAL when the params checked failure, return DRM_ERR_OK when function called successfully, - * return DRM_ERR_MAX_SYSTEM_NUM_REACHED when max num media key system reached. * @return {@link DRM_ERR_OK} 0 - Success.  *         {@link DRM_ERR_INVALID_VAL} 24700503 - Probably caused by: * 1. the name is nullptr or the length of name is zero. @@ -155,6 +153,7 @@ Drm_ErrCode OH_MediaKeySystem_Create(const char *name, MediaKeySystem **mediaKey * @param value Configuration vaule string to be set. * @return {@link DRM_ERR_OK} 0 - Success.  *         {@link DRM_ERR_INVALID_VAL} 24700503 - The parameter passed in is a null pointer or invalid. + *         {@link DRM_ERR_UNKNOWN} 24700506 - Internal error occurred, it is recommended to check the logs. * @since 11 * @version 1.0 */ @@ -358,7 +357,6 @@ Drm_ErrCode OH_MediaKeySystem_GetCertificateStatus(MediaKeySystem *mediaKeySyste */ Drm_ErrCode OH_MediaKeySystem_Destroy(MediaKeySystem *mediaKeySystem); - #ifdef __cplusplus } #endif -- Gitee From 23ece5cff0bfe54e9eedffa7f9c8edf594966ef2 Mon Sep 17 00:00:00 2001 From: duanhan Date: Wed, 7 Aug 2024 10:46:06 +0800 Subject: [PATCH 027/359] libpixelmap json fix Signed-off-by: duanhan --- multimedia/image_framework/libpixelmap.ndk.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/image_framework/libpixelmap.ndk.json b/multimedia/image_framework/libpixelmap.ndk.json index f06f6b186..5a1af8e20 100644 --- a/multimedia/image_framework/libpixelmap.ndk.json +++ b/multimedia/image_framework/libpixelmap.ndk.json @@ -149,10 +149,10 @@ }, { "first_introduced": "12", - "name": "OH_PixelmapNative_ConvertPixelmapToNapi" + "name": "OH_PixelmapNative_ConvertPixelmapNativeToNapi" }, { "first_introduced": "12", - "name": "OH_PixelmapNative_ConvertPixelmapFromNapi" + "name": "OH_PixelmapNative_ConvertPixelmapNativeFromNapi" } ] \ No newline at end of file -- Gitee From 45829423785a86c1512ac3cc1bff8a5e723650b2 Mon Sep 17 00:00:00 2001 From: zhengqiyi Date: Wed, 7 Aug 2024 03:18:29 +0000 Subject: [PATCH 028/359] add distance to tapGesture Signed-off-by: zhengqiyi --- arkui/ace_engine/native/native_gesture.h | 25 ++++++++++++++++++++++++ arkui/ace_engine/native/native_node.h | 10 ++++++++++ 2 files changed, 35 insertions(+) diff --git a/arkui/ace_engine/native/native_gesture.h b/arkui/ace_engine/native/native_gesture.h index a3df84401..19e83b1f5 100644 --- a/arkui/ace_engine/native/native_gesture.h +++ b/arkui/ace_engine/native/native_gesture.h @@ -884,6 +884,31 @@ typedef struct { int32_t (*setInnerGestureParallelTo)( ArkUI_NodeHandle node, void* userData, ArkUI_GestureRecognizer* (*parallelInnerGesture)( ArkUI_ParallelInnerGestureEvent* event)); + + /** + * @brief Creates a tap gesture that is subject to distance restrictions. + * + * 1. This API is used to trigger a tap gesture with one, two, or more taps. \n + * 2. If multi-tap is configured, the timeout interval between a lift and the next tap is 300 ms. \n + * 3. If the distance between the last tapped position and the current tapped position exceeds 60 vp, + * gesture recognition fails. \n + * 4. If the value is greater than 1, the tap gesture will fail to be recognized when the number of fingers + * touching the screen within 300 ms of the first finger touch is less than the required number, + * or when the number of fingers lifted from the screen within 300 ms of the first finger's being lifted + * is less than the required number. \n + * 5. When the number of fingers touching the screen exceeds the set value, the gesture can be recognized. \n + * 6. If the finger moves beyond the preset distance limit, gesture recognition fails. \n + * + * @param countNum Indicates the number of consecutive taps. If the value is less than 1 or is not set, the default + * value 1 is used. + * @param fingersNum Indicates the number of fingers required to trigger a tap. The value ranges from 1 to 10. + * If the value is less than 1 or is not set, the default value 1 is used. + * @param distanceThreshold Indicates the allowed moving distance of a finger. + * If the value is less than 0 or is not set, it will be converted to the default value of infinity. + * @return Returns the pointer to the created gesture. + */ + ArkUI_GestureRecognizer* (*createTapGestureWithDistanceThreshold)( + int32_t countNum, int32_t fingersNum, double distanceThreshold); } ArkUI_NativeGestureAPI_1; #ifdef __cplusplus diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 6db4dc539..767af1017 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -1813,6 +1813,16 @@ typedef enum { */ NODE_UNIQUE_ID = 95, + /** + * @brief Defines the moving distance limit for the component-bound tap gesture. + * This attribute can be set as required through APIs. + * + * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n + * .value[0].f32: allowed moving distance of a finger, in vp. \n + * + */ + NODE_CLICK_DISTANCE = 96, + /** * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. * -- Gitee From a8ddb7029883b9afa700e8851baeaac5608bdf1d Mon Sep 17 00:00:00 2001 From: root Date: Wed, 7 Aug 2024 14:27:19 +0800 Subject: [PATCH 029/359] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dhitrace.h=20ND?= =?UTF-8?q?K=E8=AF=AD=E6=B3=95=E9=94=99=E8=AF=AF=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: root --- hiviewdfx/hitrace/include/hitrace/trace.h | 1 + 1 file changed, 1 insertion(+) diff --git a/hiviewdfx/hitrace/include/hitrace/trace.h b/hiviewdfx/hitrace/include/hitrace/trace.h index 9142b2637..e771136da 100644 --- a/hiviewdfx/hitrace/include/hitrace/trace.h +++ b/hiviewdfx/hitrace/include/hitrace/trace.h @@ -65,6 +65,7 @@ * @since 10 */ #include +#include #ifdef __cplusplus extern "C" { -- Gitee From d006b3fcdaacc37c255a01b22f04e5ade64f51ec Mon Sep 17 00:00:00 2001 From: liyang Date: Wed, 7 Aug 2024 16:42:45 +0800 Subject: [PATCH 030/359] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=B1=81=E5=85=8D?= =?UTF-8?q?=E9=9A=90=E7=A7=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liyang --- .../player_framework/native_avscreen_capture.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index 1264f7882..d30838a29 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -398,6 +398,23 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ContentFilter_AddWindowContent( */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ResizeCanvas(struct OH_AVScreenCapture *capture, int32_t width, int32_t height); + +/** + * @brief skip some windows' privacy mode of current app during the screen recording + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param Pointer to windowID list + * @param length of windowID list + * @return Function result code. + * {@link AV_SCREEN_CAPTURE_ERR_OK} if the execution is successful. + * {@link AV_SCREEN_CAPTURE_ERR_INVALID_VAL} input capture is nullptr or input windowIDs are not belong current + * app. + * {@link AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT} opertation not be permitted. + * @since 12 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SkipPrivacyMode(struct OH_AVScreenCapture *capture, + int32_t *windowIDs, int32_t windowCount); #ifdef __cplusplus } #endif -- Gitee From c4da520069feab5c56f037e226082dbf6620d955 Mon Sep 17 00:00:00 2001 From: liyang Date: Wed, 7 Aug 2024 16:45:30 +0800 Subject: [PATCH 031/359] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=B1=81=E5=85=8D?= =?UTF-8?q?=E9=9A=90=E7=A7=81=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liyang --- multimedia/player_framework/native_avscreen_capture.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index d30838a29..e993b8ef2 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -403,7 +403,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ResizeCanvas(struct OH_AVScreenCa * @brief skip some windows' privacy mode of current app during the screen recording * @syscap SystemCapability.Multimedia.Media.AVScreenCapture * @param capture Pointer to an OH_AVScreenCapture instance - * @param Pointer to windowID list + * @param Pointer of windowID list * @param length of windowID list * @return Function result code. * {@link AV_SCREEN_CAPTURE_ERR_OK} if the execution is successful. -- Gitee From 055da04aabec5e7038e9b77b6718ac9254f01e96 Mon Sep 17 00:00:00 2001 From: xuzhangchi Date: Wed, 7 Aug 2024 18:05:52 +0800 Subject: [PATCH 032/359] =?UTF-8?q?=E5=BD=95=E5=B1=8F=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=BF=9B=E5=87=BA=E9=9A=90=E7=A7=81=E7=A9=BA?= =?UTF-8?q?=E9=97=B4=E4=BA=8B=E4=BB=B6=E7=9B=91=E5=90=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xuzhangchi --- multimedia/player_framework/native_avscreen_capture_base.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/multimedia/player_framework/native_avscreen_capture_base.h b/multimedia/player_framework/native_avscreen_capture_base.h index 34eb708d4..b9a795eaf 100644 --- a/multimedia/player_framework/native_avscreen_capture_base.h +++ b/multimedia/player_framework/native_avscreen_capture_base.h @@ -446,6 +446,8 @@ typedef enum OH_AVScreenCaptureStateCode { OH_SCREEN_CAPTURE_STATE_ENTER_PRIVATE_SCENE = 8, /* Private window disappeared on current captured screen*/ OH_SCREEN_CAPTURE_STATE_EXIT_PRIVATE_SCENE = 9, + /* ScreenCapture stopped by user switched */ + OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER_SWITCHED = 10, } OH_AVScreenCaptureStateCode; /** -- Gitee From fe2c8c173eb41aa443d525b60b80ae9dabf5cc58 Mon Sep 17 00:00:00 2001 From: baoxy92 Date: Thu, 8 Aug 2024 10:55:08 +0000 Subject: [PATCH 033/359] update multimedia/drm_framework/common/native_drm_common.h. Signed-off-by: baoxy92 --- multimedia/drm_framework/common/native_drm_common.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/multimedia/drm_framework/common/native_drm_common.h b/multimedia/drm_framework/common/native_drm_common.h index 386f3162e..410a27f20 100644 --- a/multimedia/drm_framework/common/native_drm_common.h +++ b/multimedia/drm_framework/common/native_drm_common.h @@ -486,6 +486,11 @@ typedef struct DRM_MediaKeySystemInfo { DRM_PsshInfo psshInfo[MAX_PSSH_INFO_COUNT]; } DRM_MediaKeySystemInfo; +/** +* @brief Callback for getting media key system information from media source. +* @since 11 +* @version 1.0 +*/ typedef void (*DRM_MediaKeySystemInfoCallback)(DRM_MediaKeySystemInfo *mediaKeySystemInfo); /** -- Gitee From 2c95aa594224208a43cb83a200a84211dcc4a7e9 Mon Sep 17 00:00:00 2001 From: baoxy92 Date: Thu, 8 Aug 2024 10:56:04 +0000 Subject: [PATCH 034/359] update multimedia/av_codec/native_avdemuxer.h. Signed-off-by: baoxy92 --- multimedia/av_codec/native_avdemuxer.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/multimedia/av_codec/native_avdemuxer.h b/multimedia/av_codec/native_avdemuxer.h index 7b2117ebc..cab1e2132 100644 --- a/multimedia/av_codec/native_avdemuxer.h +++ b/multimedia/av_codec/native_avdemuxer.h @@ -47,6 +47,12 @@ typedef struct OH_AVDemuxer OH_AVDemuxer; * @since 11 */ typedef struct DRM_MediaKeySystemInfo DRM_MediaKeySystemInfo; + +/** +* @brief Callback for getting media key system information from media source. +* @since 11 +* @version 1.0 +*/ typedef void (*DRM_MediaKeySystemInfoCallback)(DRM_MediaKeySystemInfo* mediaKeySystemInfo); /** -- Gitee From f2bdbf5bfff713390a61daae748afc57170cc832 Mon Sep 17 00:00:00 2001 From: liyang Date: Thu, 8 Aug 2024 19:15:23 +0800 Subject: [PATCH 035/359] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=9A=90=E7=A7=81?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E8=B1=81=E5=85=8D=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liyang --- .../avscreen_capture/libnative_avscreen_capture.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json index 645b3569d..1e53ae7d7 100644 --- a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json +++ b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json @@ -94,5 +94,9 @@ { "first_introduced": "12", "name": "OH_AVScreenCapture_ResizeCanvas" + }, + { + "first_introduced": "12", + "name": "OH_AVScreenCapture_SkipPrivacyMode" } ] \ No newline at end of file -- Gitee From f40eb5269c3fdf118a2d6947a35fe5564889233f Mon Sep 17 00:00:00 2001 From: luyangyang <1049603119@qq.com> Date: Thu, 8 Aug 2024 19:45:43 +0800 Subject: [PATCH 036/359] add RDB_SECURITY_AREA_EL5 Signed-off-by: luyangyang <1049603119@qq.com> --- .../relational_store/include/relational_store.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/distributeddatamgr/relational_store/include/relational_store.h b/distributeddatamgr/relational_store/include/relational_store.h index 471e48649..c40224896 100644 --- a/distributeddatamgr/relational_store/include/relational_store.h +++ b/distributeddatamgr/relational_store/include/relational_store.h @@ -93,6 +93,10 @@ typedef enum Rdb_SecurityArea { * @brief Security Area 4. */ RDB_SECURITY_AREA_EL4, + /** + * @brief Security Area 5. + */ + RDB_SECURITY_AREA_EL5, } Rdb_SecurityArea; /** -- Gitee From f38a4ed6bcf6315095e7fe07bf8b773834e33570 Mon Sep 17 00:00:00 2001 From: luyangyang <1049603119@qq.com> Date: Thu, 8 Aug 2024 20:07:54 +0800 Subject: [PATCH 037/359] =?UTF-8?q?=E9=97=A8=E7=A6=81=E4=BF=AE=E5=A4=8D=20?= =?UTF-8?q?Signed-off-by:=20luyangyang=20<1049603119@qq.com>?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- distributeddatamgr/relational_store/include/relational_store.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/distributeddatamgr/relational_store/include/relational_store.h b/distributeddatamgr/relational_store/include/relational_store.h index c40224896..a48ed22ee 100644 --- a/distributeddatamgr/relational_store/include/relational_store.h +++ b/distributeddatamgr/relational_store/include/relational_store.h @@ -93,8 +93,11 @@ typedef enum Rdb_SecurityArea { * @brief Security Area 4. */ RDB_SECURITY_AREA_EL4, + /** * @brief Security Area 5. + * + * @since 12 */ RDB_SECURITY_AREA_EL5, } Rdb_SecurityArea; -- Gitee From 9d8b6c95683546da1577114871d689a2120af9b9 Mon Sep 17 00:00:00 2001 From: Can Xia Date: Fri, 9 Aug 2024 10:14:06 +0800 Subject: [PATCH 038/359] Gif Encode Signed-off-by: Can Xia Change-Id: Iaca87a6dbce54b9e77bec2bb1bd1a71e4b6ad30f Signed-off-by: Can Xia --- .../include/image/image_packer_native.h | 178 ++++++++++++++++++ .../image_framework/libimage_packer.ndk.json | 48 +++++ 2 files changed, 226 insertions(+) diff --git a/multimedia/image_framework/include/image/image_packer_native.h b/multimedia/image_framework/include/image/image_packer_native.h index bef398006..ef2081b02 100644 --- a/multimedia/image_framework/include/image/image_packer_native.h +++ b/multimedia/image_framework/include/image/image_packer_native.h @@ -59,6 +59,20 @@ typedef struct OH_ImagePackerNative OH_ImagePackerNative; struct OH_PackingOptions; typedef struct OH_PackingOptions OH_PackingOptions; +/** + * @brief Defines the image sequence packing options. + * + * @since 12 + */ +struct OH_PackingOptionsForSequence; + +/** + * @brief Defines the image sequence packing options. + * + * @since 12 + */ +typedef struct OH_PackingOptionsForSequence OH_PackingOptionsForSequence; + /** * @brief Enumerates packing dynamic range. * @@ -182,6 +196,134 @@ Image_ErrorCode OH_PackingOptions_SetDesiredDynamicRange(OH_PackingOptions *opti */ Image_ErrorCode OH_PackingOptions_Release(OH_PackingOptions *options); +/** + * @brief Create a pointer for OH_PackingOptionsForSequence struct. + * + * @param options The OH_PackingOptionsForSequence pointer will be operated. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PackingOptionsForSequence_Create(OH_PackingOptionsForSequence **options); + +/** + * @brief Set FrameCount number for OH_PackingOptionsForSequence struct. + * + * @param options The OH_PackingOptionsForSequence pointer will be operated. + * @param frameCount The number of image frameCount. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PackingOptionsForSequence_SetFrameCount(OH_PackingOptionsForSequence *options, + uint32_t frameCount); + +/** + * @brief Get FrameCount number for OH_PackingOptionsForSequence struct. + * + * @param options The OH_PackingOptionsForSequence pointer will be operated. + * @param frameCount The number of image frameCount. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options or frameCount is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PackingOptionsForSequence_GetFrameCount(OH_PackingOptionsForSequence *options, + uint32_t *frameCount); + +/** + * @brief Set DelayTimeList number for OH_PackingOptionsForSequence struct. + * + * @param options The OH_PackingOptionsForSequence pointer will be operated. + * @param delayTimeList The pointer of image delayTime list. + * @param delayTimeListLength The number of image delayTimeListLength. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options or delayTimeList is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PackingOptionsForSequence_SetDelayTimeList(OH_PackingOptionsForSequence *options, + int32_t *delayTimeList, size_t delayTimeListLength); + +/** + * @brief Get DelayTimeList number for OH_PackingOptionsForSequence struct. + * + * @param options The OH_PackingOptionsForSequence pointer will be operated. + * @param delayTimeList The pointer of image delayTime list. + * @param delayTimeListLength The number of image delayTimeListLength. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options or delayTimeList is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PackingOptionsForSequence_GetDelayTimeList(OH_PackingOptionsForSequence *options, + int32_t *delayTimeList, size_t delayTimeListLength); + +/** + * @brief Set DisposalTypes number for OH_PackingOptionsForSequence struct. + * + * @param options The OH_PackingOptionsForSequence pointer will be operated. + * @param disposalTypes The pointer of image disposalTypes. + * @param disposalTypesLength The number of image disposalTypesLength. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options or disposalTypes is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PackingOptionsForSequence_SetDisposalTypes(OH_PackingOptionsForSequence *options, + uint32_t *disposalTypes, size_t disposalTypesLength); + +/** + * @brief Get DisposalTypes number for OH_PackingOptionsForSequence struct. + * + * @param options The OH_PackingOptionsForSequence pointer will be operated. + * @param disposalTypes The pointer of image disposalTypes. + * @param disposalTypesLength The number of image disposalTypesLength. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options or disposalTypes is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PackingOptionsForSequence_GetDisposalTypes(OH_PackingOptionsForSequence *options, + uint32_t *disposalTypes, size_t disposalTypesLength); + +/** + * @brief Set LoopCount number for OH_PackingOptionsForSequence struct. + * + * @param options The OH_PackingOptionsForSequence pointer will be operated. + * @param loopCount The number of image loopCount. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PackingOptionsForSequence_SetLoopCount(OH_PackingOptionsForSequence *options, uint32_t loopCount); + +/** + * @brief Get LoopCount number for OH_PackingOptionsForSequence struct. + * + * @param options The OH_PackingOptionsForSequence pointer will be operated. + * @param loopCount The number of image loopCount. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options or loopCount is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PackingOptionsForSequence_GetLoopCount(OH_PackingOptionsForSequence *options, uint32_t *loopCount); + +/** + * @brief delete OH_PackingOptionsForSequence pointer. + * + * @param options The OH_PackingOptionsForSequence pointer will be operated. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} options is nullptr. + * @since 12 + */ +Image_ErrorCode OH_PackingOptionsForSequence_Release(OH_PackingOptionsForSequence *options); + /** * @brief Create a pointer for OH_ImagePackerNative struct. * @@ -237,6 +379,25 @@ Image_ErrorCode OH_ImagePackerNative_PackToDataFromPixelmap(OH_ImagePackerNative Image_ErrorCode OH_ImagePackerNative_PackToDataFromPicture(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_PictureNative *picture, uint8_t *outData, size_t *size); +/** + * @brief Encoding a PixelMap sequence into the data + * + * @param imagePacker The imagePacker to use for packing. + * @param options Indicates the encoding {@link OH_PackingOptionsForSequence}. + * @param pixelmapSequence The pixelmap sequence to be packed. + * @param sequenceLength The pixelmap sequence size to be packed. + * @param outData The output data buffer to store the packed image. + * @param outDataSize A pointer to the size of the output data buffer. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} one of the pointer type parameters is nullptr, or size/length is invalid + * {@link IMAGE_ENCODE_FAILED} encode failed. + * @since 12 + */ +Image_ErrorCode OH_ImagePackerNative_PackToDataFromPixelmapSequence(OH_ImagePackerNative *imagePacker, + OH_PackingOptionsForSequence *options, OH_PixelmapNative **pixelmapSequence, + size_t sequenceLength, uint8_t *outData, size_t *outDataSize); + /** * @brief Encoding an ImageSource into the a file with fd with required format. * @@ -279,6 +440,23 @@ Image_ErrorCode OH_ImagePackerNative_PackToFileFromPixelmap(OH_ImagePackerNative Image_ErrorCode OH_ImagePackerNative_PackToFileFromPicture(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_PictureNative *picture, int32_t fd); +/** + * @brief Encoding a PixelMap sequence into the a file with fd + * + * @param imagePacker The image packer to use for packing. + * @param options Indicates the encoding {@link OH_PackingOptionsForSequence}. + * @param pixelmapSequence The pixelmap sequence to be packed. + * @param sequenceLength The pixelmap sequence size to be packed. + * @param fd Indicates a writable file descriptor. + * @return Image functions result code. + * {@link IMAGE_SUCCESS} if the execution is successful. + * {@link IMAGE_BAD_PARAMETER} one of the pointer type parameters is nullptr, or length is invalid + * {@link IMAGE_ENCODE_FAILED} encode failed. + * @since 12 + */ +Image_ErrorCode OH_ImagePackerNative_PackToFileFromPixelmapSequence(OH_ImagePackerNative *imagePacker, + OH_PackingOptionsForSequence *options, OH_PixelmapNative **pixelmapSequence, size_t sequenceLength, int32_t fd); + /** * @brief Releases an imagePacker object. * diff --git a/multimedia/image_framework/libimage_packer.ndk.json b/multimedia/image_framework/libimage_packer.ndk.json index 3488cb646..694b6e2b8 100644 --- a/multimedia/image_framework/libimage_packer.ndk.json +++ b/multimedia/image_framework/libimage_packer.ndk.json @@ -39,6 +39,46 @@ "first_introduced": "12", "name": "OH_PackingOptions_Release" }, + { + "first_introduced": "12", + "name": "OH_PackingOptionsForSequence_Create" + }, + { + "first_introduced": "12", + "name": "OH_PackingOptionsForSequence_SetFrameCount" + }, + { + "first_introduced": "12", + "name": "OH_PackingOptionsForSequence_GetFrameCount" + }, + { + "first_introduced": "12", + "name": "OH_PackingOptionsForSequence_SetDelayTimeList" + }, + { + "first_introduced": "12", + "name": "OH_PackingOptionsForSequence_GetDelayTimeList" + }, + { + "first_introduced": "12", + "name": "OH_PackingOptionsForSequence_SetDisposalTypes" + }, + { + "first_introduced": "12", + "name": "OH_PackingOptionsForSequence_GetDisposalTypes" + }, + { + "first_introduced": "12", + "name": "OH_PackingOptionsForSequence_SetLoopCount" + }, + { + "first_introduced": "12", + "name": "OH_PackingOptionsForSequence_GetLoopCount" + }, + { + "first_introduced": "12", + "name": "OH_PackingOptionsForSequence_Release" + }, { "first_introduced": "12", "name": "OH_ImagePackerNative_Create" @@ -55,6 +95,10 @@ "first_introduced": "12", "name": "OH_ImagePackerNative_PackToDataFromPicture" }, + { + "first_introduced": "12", + "name": "OH_ImagePackerNative_PackToDataFromPixelmapSequence" + }, { "first_introduced": "12", "name": "OH_ImagePackerNative_PackToFileFromImageSource" @@ -67,6 +111,10 @@ "first_introduced": "12", "name": "OH_ImagePackerNative_PackToFileFromPicture" }, + { + "first_introduced": "12", + "name": "OH_ImagePackerNative_PackToFileFromPixelmapSequence" + }, { "first_introduced": "12", "name": "OH_ImagePackerNative_Release" -- Gitee From 578fcd980c913c2968872f8350432a087df09d9e Mon Sep 17 00:00:00 2001 From: multimodalinput Date: Wed, 7 Aug 2024 09:21:03 +0800 Subject: [PATCH 039/359] =?UTF-8?q?=E5=A4=9A=E6=A8=A1=E7=9B=91=E5=90=AC?= =?UTF-8?q?=E6=8B=A6=E6=88=AA=E6=8E=A5=E5=8F=A3=E5=AE=9A=E4=B9=89=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: multimodalinput --- multimodalinput/kits/c/input/oh_axis_type.h | 35 ++++--------------- .../kits/c/input/oh_input_manager.h | 27 ++++++++++++++ 2 files changed, 34 insertions(+), 28 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_axis_type.h b/multimodalinput/kits/c/input/oh_axis_type.h index 7d5fd8cc4..de141042d 100644 --- a/multimodalinput/kits/c/input/oh_axis_type.h +++ b/multimodalinput/kits/c/input/oh_axis_type.h @@ -107,56 +107,35 @@ typedef enum InputEvent_AxisEventType { } InputEvent_AxisEventType; /** - * @brief Enumerates axis event source types. + * @brief Enumerates axis event actions. * * @since 12 */ -typedef enum InputEvent_SourceType { - /** - * Indicates that the input source generates events similar to mouse cursor movement, - * button press and release, and wheel scrolling. - * - * @since 12 - */ - SOURCE_TYPE_MOUSE = 1, - /** - * Indicates that the input source generates a touchscreen multi-touch event. - * - * @since 12 - */ - SOURCE_TYPE_TOUCHSCREEN = 2, +typedef enum InputEvent_AxisAction { /** - * Indicates that the input source generates a touchpad multi-touch event. + * Cancel action for the axis input event. * * @since 12 */ - SOURCE_TYPE_TOUCHPAD = 3 -} InputEvent_SourceType; - -/** - * @brief Enumerates axis event actions. - * - * @since 12 - */ -typedef enum InputEvent_AxisAction { + AXIS_ACTION_CANCEL = 0, /** * Start action for the axis input event. * * @since 12 */ - AXIS_ACTION_BEGIN = 5, + AXIS_ACTION_BEGIN, /** * Update action for the axis input event. * * @since 12 */ - AXIS_ACTION_UPDATE = 6, + AXIS_ACTION_UPDATE, /** * End action for the axis input event. * * @since 12 */ - AXIS_ACTION_END = 7, + AXIS_ACTION_END, } InputEvent_AxisAction; #ifdef __cplusplus } diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 5ae7d4df7..1e6c0dd85 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -146,6 +146,33 @@ typedef enum Input_TouchEventAction { TOUCH_ACTION_UP = 3, } Input_TouchEventAction; +/** + * @brief Enumerates event source types. + * + * @since 12 + */ +typedef enum InputEvent_SourceType { + /** + * Indicates that the input source generates events similar to mouse cursor movement, + * button press and release, and wheel scrolling. + * + * @since 12 + */ + SOURCE_TYPE_MOUSE = 1, + /** + * Indicates that the input source generates a touchscreen multi-touch event. + * + * @since 12 + */ + SOURCE_TYPE_TOUCHSCREEN = 2, + /** + * Indicates that the input source generates a touchpad multi-touch event. + * + * @since 12 + */ + SOURCE_TYPE_TOUCHPAD = 3 +} InputEvent_SourceType; + /** * @brief Defines key information, which identifies a key pressing behavior. For example, the Ctrl key information contains the key value and key type. * -- Gitee From 16e95666d107a2ddb6dbfe1d99f2bb6935d175a9 Mon Sep 17 00:00:00 2001 From: zhuguoyang Date: Fri, 9 Aug 2024 11:15:42 +0800 Subject: [PATCH 040/359] add ffrt loop type des Signed-off-by: zhuguoyang --- resourceschedule/ffrt/c/loop.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resourceschedule/ffrt/c/loop.h b/resourceschedule/ffrt/c/loop.h index 2d4e72c78..443956853 100644 --- a/resourceschedule/ffrt/c/loop.h +++ b/resourceschedule/ffrt/c/loop.h @@ -41,6 +41,10 @@ #include "queue.h" #include "type_def.h" +/** + * @brief Defines the ffrt loop type. + * @since 12 + */ typedef void* ffrt_loop_t; /** -- Gitee From e53b94c4499331fcea8b1d8aa4d6c14749ebd506 Mon Sep 17 00:00:00 2001 From: zhangwuf Date: Fri, 9 Aug 2024 11:28:52 +0800 Subject: [PATCH 041/359] =?UTF-8?q?check=E5=B7=A5=E5=85=B7bug=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=92=8C=E8=AF=AD=E6=B3=95=E5=B7=A5=E5=85=B7=E5=AE=8C?= =?UTF-8?q?=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangwuf --- build-tools/capi_parser/src/bin/config.py | 12 ++- .../src/coreImpl/check/check_doc.py | 7 +- .../src/coreImpl/check/check_name.py | 17 ++-- .../src/coreImpl/check/check_syntax.py | 95 ++++++++++++++++++- .../src/coreImpl/parser/parse_include.py | 12 ++- .../capi_parser/src/coreImpl/parser/parser.py | 1 - .../capi_parser/src/typedef/check/check.py | 49 ++++++---- 7 files changed, 157 insertions(+), 36 deletions(-) diff --git a/build-tools/capi_parser/src/bin/config.py b/build-tools/capi_parser/src/bin/config.py index cd015a745..d0bfeff8a 100644 --- a/build-tools/capi_parser/src/bin/config.py +++ b/build-tools/capi_parser/src/bin/config.py @@ -15,7 +15,7 @@ import enum from coreImpl.parser import parser -from coreImpl.check import check +from coreImpl.check import check, check_syntax from coreImpl.diff import diff @@ -25,6 +25,7 @@ class ToolNameType(enum.Enum): CHECK = 'check' COLLECT_H = 'collect_h' COLLECT_FILE = 'collect_file' + CHECK_SYNTAX = 'check_syntax' tool_name_type_set = [ @@ -57,6 +58,8 @@ def run_tools(options): parser.parser_direct(options.parser_path) elif tool_name == ToolNameType['COLLECT_FILE'].value: parser.parser_file_level(options.output_path) + elif tool_name == ToolNameType['CHECK_SYNTAX'].value: + check_syntax.check_syntax_entrance(options.parser_path, options.dependent_path, options.output_path) else: print("工具名称错误") @@ -89,6 +92,13 @@ class Config(object): "type": str, "help": "工具输出文件路径" }, + { + "name": "--dependent-path", + "abbr": "-D", + "required": False, + "type": str, + "help": "依赖文件路径" + }, { "name": "--codecheck--path", "abbr": "--path", diff --git a/build-tools/capi_parser/src/coreImpl/check/check_doc.py b/build-tools/capi_parser/src/coreImpl/check/check_doc.py index 4e95d50a7..99fbee693 100644 --- a/build-tools/capi_parser/src/coreImpl/check/check_doc.py +++ b/build-tools/capi_parser/src/coreImpl/check/check_doc.py @@ -21,7 +21,7 @@ import subprocess from clang.cindex import CursorKind -from typedef.check.check import DocInfo, FileDocInfo, TAGS, CheckErrorMessage, CheckOutPut +from typedef.check.check import DocInfo, FileDocInfo, TAGS, CheckErrorMessage, CheckOutPut, CommentStartEndValue current_file = os.path.dirname(__file__) # permission数据来源于https://gitee.com/openharmony/utils_system_resources/raw/master/systemres/main/config.json @@ -474,7 +474,7 @@ def process_file_doc_info(file_doc_info: FileDocInfo, file_info, comment_start_l api_result_info = set_value_to_result(file_info, CheckErrorMessage.API_DOC_GLOBAL_10.name, get_tage_start_and_end(None, comment_start_line, file_doc_info.group_comment_str, file_info)) - api_result_info.mainBuggyLine = -1 + api_result_info.mainBuggyLine = CommentStartEndValue.DEFAULT_END.value api_result_info_list.append(api_result_info) # 处理file说明 if file_doc_info.file_name is None: @@ -502,6 +502,5 @@ def set_value_to_result(api_info, command, comment_value_info): def get_main_buggy_code(api_info): - main_buggy_code = os.path.basename(api_info['name']) if (len(api_info['node_content']) - == 0) else api_info['node_content']['content'] + main_buggy_code = '' if (len(api_info['node_content']) == 0) else api_info['node_content']['content'] return main_buggy_code diff --git a/build-tools/capi_parser/src/coreImpl/check/check_name.py b/build-tools/capi_parser/src/coreImpl/check/check_name.py index b32636d43..98690645c 100644 --- a/build-tools/capi_parser/src/coreImpl/check/check_name.py +++ b/build-tools/capi_parser/src/coreImpl/check/check_name.py @@ -55,9 +55,14 @@ def check_function_name(api_info, kind, parent_kind): def set_value_to_result(api_info, command): + content = api_info['node_content']['content'] + node_name = api_info['name'] + if api_info['kind'] == 'MACRO_DEFINITION' and api_info.get('def_func_name'): + node_name = api_info.get('def_func_name') + descriptive_message = CheckErrorMessage.__getitem__(command).value.replace('$$', node_name) return CheckOutPut(os.path.abspath(os.path.join(api_info['gn_path'], api_info['location']['location_path'])), - api_info['location']['location_line'], command, CheckErrorMessage.__getitem__(command).value, - api_info['node_content']['content'], api_info['location']['location_line']) + api_info['location']['location_line'], command, descriptive_message, + content, api_info['location']['location_line']) def is_self_developed_function(function_name): @@ -124,10 +129,10 @@ def check_file_name(file_info): file_name = os.path.basename(file_info['name']) result = re.match(CheckName['FILE_NAME'].value, file_name) if result is None: - chck_output = CheckOutPut(os.path.abspath(os.path.join(file_info['gn_path'], file_info['name'])), 0, - CheckErrorMessage.API_NAME_UNIVERSAL_14.name, - CheckErrorMessage.API_NAME_UNIVERSAL_14.value, file_name, 0) - api_result_info_list.append(chck_output) + check_output = CheckOutPut(os.path.abspath(os.path.join(file_info['gn_path'], file_info['name'])), 0, + CheckErrorMessage.API_NAME_UNIVERSAL_14.name, + CheckErrorMessage.API_NAME_UNIVERSAL_14.value.replace('$$', file_name), '', 0) + api_result_info_list.append(check_output) return api_result_info_list diff --git a/build-tools/capi_parser/src/coreImpl/check/check_syntax.py b/build-tools/capi_parser/src/coreImpl/check/check_syntax.py index 70572b31a..a54d7ff71 100644 --- a/build-tools/capi_parser/src/coreImpl/check/check_syntax.py +++ b/build-tools/capi_parser/src/coreImpl/check/check_syntax.py @@ -16,7 +16,8 @@ import re import os import subprocess -from typedef.check.check import ApiResultInfo, ErrorMessage, ErrorType, LogType, ErrorLevel +import openpyxl as op +from typedef.check.check import ApiResultInfo, ErrorType, LogType, ErrorLevel def check_syntax(file_path): @@ -32,26 +33,110 @@ def check_syntax(file_path): return result_list -def processing_data(run_result, result_file): +def get_all_dependent_file_path(dependent_file_path): + link_path = [] + for dir_path, _, _ in os.walk(dependent_file_path): + if 'build-tools' not in dir_path: + link_path.append(dir_path) + + return link_path + + +def process_result_data(result_info_list): + syntax_info_data = [] + for syntax_info in result_info_list: + info_data = [ + syntax_info.api_name, + syntax_info.file_name, + syntax_info.error_info, + syntax_info.location_line, + syntax_info.error_content, + ] + syntax_info_data.append(info_data) + + return syntax_info_data + + +def general_syntax_excel(syntax_data_list, output_path): + data = process_result_data(syntax_data_list) + wb = op.Workbook() + ws = wb['Sheet'] + ws.title = '语法错误信息' + ws.append(['当前文件路径', '错误文件路径', '错误信息', '行号', '代码片段']) + for title in data: + d = title[0], title[1], title[2], title[3], title[4] + ws.append(d) + + wb.save(output_path) + + +def get_dir_file_path(file_path): + file_path_total = [] + for dir_path, _, filenames in os.walk(file_path): + for file_name in filenames: + if 'build-tools' not in dir_path and 'sysroot_myself' not in dir_path and file_name.endswith('.h'): + file_path_total.append(os.path.join(dir_path, file_name)) + + return file_path_total + + +def get_all_object_file_path(file_path): + file_path_total = [] + if os.path.isdir(file_path): + file_path_total = get_dir_file_path(file_path) + else: + if file_path.endswith('.h'): + file_path_total.append(file_path) + + return file_path_total + + +def check_syntax_entrance(file_path, dependent_file_path, output_path): + cmd_list = ['clang'] + link_path = get_all_dependent_file_path(dependent_file_path) + args = ['-I{}'.format(path) for path in link_path] + cmd_list.extend(args) + cmd_list.append('-std=c99') + cmd_list.append('--target=aarch64-linux-musl') + result_list = [] + all_files_list = get_all_object_file_path(file_path) + for element_file in all_files_list: + command = cmd_list + [element_file] + run_result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + result_list.extend(processing_data(run_result, element_file)) + general_syntax_excel(result_list, output_path) + return result_list + + +def processing_data(run_result, current_file): api_result_info_list = [] for run_result_child in run_result.stderr.decode().split('^'): + split_error_message = run_result_child.split('\r\n') + error_content = ''.join(split_error_message[-2:-3:-1]) result_child = run_result_child.replace('~', '') ret = re.findall('\\d+:\\d+', result_child) + error_file_message = re.search(r'([^"]+):\d:\d:', result_child) + error_file_name = current_file + if error_file_message: + error_file_list = error_file_message.group(1).split('\r\n') + if len(error_file_list) >= 1: + error_file_name = os.path.normpath(error_file_list[len(error_file_list) - 1]) if len(ret) != 0: error_message = get_specified_string(result_child) if len(error_message) == 1: continue position = ret[0] api_result_info = ApiResultInfo(ErrorType.SYNTAX_ERRORS.value, - error_message[1], result_file) + error_message[1], current_file) line_column = get_line_and_column(position) api_result_info.set_location_line(line_column[0]) api_result_info.set_location_column(line_column[1]) - api_result_info.set_location(result_file) + api_result_info.set_location(current_file) api_result_info.set_type(LogType.LOG_API.value) api_result_info.set_level(ErrorLevel.LOW.value) - api_result_info.set_file_name(result_file) + api_result_info.set_file_name(error_file_name) api_result_info_list.append(api_result_info) + api_result_info.set_error_content(error_content) return api_result_info_list diff --git a/build-tools/capi_parser/src/coreImpl/parser/parse_include.py b/build-tools/capi_parser/src/coreImpl/parser/parse_include.py index 446ddfc8d..841af8f82 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/parse_include.py +++ b/build-tools/capi_parser/src/coreImpl/parser/parse_include.py @@ -150,7 +150,7 @@ def processing_def(cursor, data): # 处理宏定义 if text: text = text.strip() # 删除两边的字符(默认是删除左右空格) data['text'] = text - data["type"] = "def_no_type" + data["type"] = "" def difference_api(api_data: dict): @@ -291,14 +291,20 @@ def processing_special_node(cursor, data, key, gn_path): # 处理需要特殊 def node_extent(cursor, current_file): start_offset = cursor.extent.start.offset end_offset = cursor.extent.end.offset + start_line = cursor.extent.start.line + end_line = cursor.extent.end.line with open(current_file, 'r', encoding='utf=8') as f: f.seek(start_offset) content = f.read(end_offset - start_offset) - + f.seek(0) + file_content_all = f.readlines() + line_content = file_content_all[start_line - 1: end_line] + line_content = ''.join(line_content) extent = { "start_offset": start_offset, "end_offset": end_offset, - "content": content + "content": content, + "line_content": line_content } f.close() return extent diff --git a/build-tools/capi_parser/src/coreImpl/parser/parser.py b/build-tools/capi_parser/src/coreImpl/parser/parser.py index 1adac3f2e..a0ecee8d2 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/parser.py +++ b/build-tools/capi_parser/src/coreImpl/parser/parser.py @@ -408,7 +408,6 @@ def complete_kit_or_system(api_message: OneFileApiMessage, json_path): def parser_direct(path): # 目录路径 file_path_list = [] link_include_path = [] # 装链接头文件路径 - copy_std_lib(link_include_path) dir_path = '' if os.path.isdir(path): link_include_path.append(path) diff --git a/build-tools/capi_parser/src/typedef/check/check.py b/build-tools/capi_parser/src/typedef/check/check.py index 44f8e8248..a77da9802 100644 --- a/build-tools/capi_parser/src/typedef/check/check.py +++ b/build-tools/capi_parser/src/typedef/check/check.py @@ -158,34 +158,34 @@ be reused please delete the extra tags.' class CheckErrorMessage(enum.Enum): - API_NAME_UNIVERSAL_01 = ('API check error of [naming errors]:The names of self-developed ' + API_NAME_UNIVERSAL_01 = ('API check error of [naming errors]:The [$$] of self-developed ' 'functions in APIs must start with OH_ or OS_ or HMS_ and comply ' 'with the large hump case format.') - API_NAME_UNIVERSAL_02 = ('API check error of [naming errors]:The names of constants in ' + API_NAME_UNIVERSAL_02 = ('API check error of [naming errors]:The [$$] of constants in ' 'APIs must be in uppercase and separated by underscores.') - API_NAME_UNIVERSAL_03 = ('API check error of [naming errors]:The naming of enumeration ' + API_NAME_UNIVERSAL_03 = ('API check error of [naming errors]:The [$$] of enumeration ' 'types should follow the big hump rule.') - API_NAME_UNIVERSAL_04 = ('API check error of [naming errors]:The naming of enumeration ' + API_NAME_UNIVERSAL_04 = ('API check error of [naming errors]:The [$$] of enumeration ' 'values should follow the all uppercase rule and separated by underscores.') - API_NAME_UNIVERSAL_05 = ('API check error of [naming errors]:The naming of struct should ' + API_NAME_UNIVERSAL_05 = ('API check error of [naming errors]:The [$$] of struct should ' 'follow the rules of the Great Hump.') - API_NAME_UNIVERSAL_06 = ('API check error of [naming errors]:The naming of members in the ' + API_NAME_UNIVERSAL_06 = ('API check error of [naming errors]:The [$$] of members in the ' 'structure should follow the small hump format.') - API_NAME_UNIVERSAL_07 = ('API check error of [naming errors]:The naming of the consortium ' - 'should follow the format of the large camel hump.') - API_NAME_UNIVERSAL_08 = ('API check error of [naming errors]:The naming of members in the ' + API_NAME_UNIVERSAL_07 = ('API check error of [naming errors]:The [$$] of the consortium ' + 'should follow the format of the Great hump.') + API_NAME_UNIVERSAL_08 = ('API check error of [naming errors]:The [$$] of members in the ' 'consortium should follow the small hump format.') - API_NAME_UNIVERSAL_09 = ('API check error of [naming errors]:The names of a global variable ' + API_NAME_UNIVERSAL_09 = ('API check error of [naming errors]:The [$$] of a global variable ' 'must be prefixed with g_ in the small camel case format.') - API_NAME_UNIVERSAL_10 = ('API check error of [naming errors]:The naming of general functions ' + API_NAME_UNIVERSAL_10 = ('API check error of [naming errors]:The [$$] of general functions ' 'should follow the big hump format.') - API_NAME_UNIVERSAL_11 = ('API check error of [naming errors]:Function parameter names should ' + API_NAME_UNIVERSAL_11 = ('API check error of [naming errors]:Function parameter [$$] should ' 'follow the small hump format.') - API_NAME_UNIVERSAL_12 = ('API check error of [naming errors]:Macro naming should follow all ' + API_NAME_UNIVERSAL_12 = ('API check error of [naming errors]:Macro [$$] should follow all ' 'uppercase format and separated by underscores.') - API_NAME_UNIVERSAL_13 = ('API check error of [naming errors]:Functional macro naming should ' + API_NAME_UNIVERSAL_13 = ('API check error of [naming errors]:Functional macro [$$] should ' 'follow all uppercase format and separated by underscores.') - API_NAME_UNIVERSAL_14 = ('API check error of [naming errors]:The file name should be all ' + API_NAME_UNIVERSAL_14 = ('API check error of [naming errors]:The [$$] file name should be all ' 'lowercase and separated by underscores.') API_DOC_GLOBAL_01 = ('API check error of [api doc errors]:The [file] tag is repeat. Please ' 'check the tag in file.') @@ -263,12 +263,16 @@ class CheckOutPut: main_buggy_code, main_buggy_line): self.analyzerName = 'apiengine' self.buggyFilePath = buggy_file_path + if code_context_start_line == -1: + code_context_start_line = 0 self.codeContextStartLine = code_context_start_line self.defectLevel = 2 self.defectType = defect_type self.description = description - self.language = 'c' + self.language = 'c++' self.mainBuggyCode = main_buggy_code + if main_buggy_line == -1: + main_buggy_line = 0 self.mainBuggyLine = main_buggy_line @@ -328,6 +332,7 @@ class OutputTxt: class ApiResultInfo: error_type: ErrorType = ErrorType.DEFAULT.value error_info = '' + error_content = '' level: ErrorLevel = -1 api_name = '' api_since = '' @@ -425,6 +430,12 @@ class ApiResultInfo: def set_location(self, location_param): self.location = location_param + def get_error_content(self): + return self.error_content + + def set_error_content(self, error_content): + self.error_content = error_content + class DocInfo: group = '' @@ -455,3 +466,9 @@ class FileDocInfo: file_since = False file_comment_str = '' curr_doc_info = DocInfo() + + +class CommentStartEndValue(enum.Enum): + DEFAULT_START = 0, + DEFAULT_END = 0 + -- Gitee From a0964597bcdfbd711f09df7be88e34e3821657f0 Mon Sep 17 00:00:00 2001 From: zhuguoyang Date: Fri, 9 Aug 2024 11:31:14 +0800 Subject: [PATCH 042/359] ffrt loop t Signed-off-by: zhuguoyang --- resourceschedule/ffrt/c/loop.h | 1 + 1 file changed, 1 insertion(+) diff --git a/resourceschedule/ffrt/c/loop.h b/resourceschedule/ffrt/c/loop.h index 443956853..95d6a8bef 100644 --- a/resourceschedule/ffrt/c/loop.h +++ b/resourceschedule/ffrt/c/loop.h @@ -43,6 +43,7 @@ /** * @brief Defines the ffrt loop type. + * * @since 12 */ typedef void* ffrt_loop_t; -- Gitee From d50b43307d25454d10db6d71dfa3a564f3dd129c Mon Sep 17 00:00:00 2001 From: yangfan Date: Fri, 9 Aug 2024 15:31:33 +0800 Subject: [PATCH 043/359] =?UTF-8?q?=E5=A2=9E=E5=8A=A0@kit=E6=A0=87?= =?UTF-8?q?=E7=AD=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangfan --- multimedia/image_framework/include/image/picture_native.h | 1 + 1 file changed, 1 insertion(+) diff --git a/multimedia/image_framework/include/image/picture_native.h b/multimedia/image_framework/include/image/picture_native.h index 36b012402..ddc402513 100644 --- a/multimedia/image_framework/include/image/picture_native.h +++ b/multimedia/image_framework/include/image/picture_native.h @@ -29,6 +29,7 @@ * @brief Declares the APIs that can access a picture. * * @library libpicture.so + * @kit ImageKit * @Syscap SystemCapability.Multimedia.Image.Core * @since 12 */ -- Gitee From 65f9eace4a2d41ad7fd862c14ebad4b53acd0b11 Mon Sep 17 00:00:00 2001 From: liushang Date: Fri, 9 Aug 2024 16:33:10 +0800 Subject: [PATCH 044/359] add vpe Signed-off-by: liushang --- .../image_processing.h | 314 +++++++++++++++++ .../image_processing/BUILD.gn | 35 ++ .../libimage_processing.ndk.json | 87 +++++ .../image_processing_types.h | 229 ++++++++++++ .../video_processing.h | 329 ++++++++++++++++++ .../video_processing/BUILD.gn | 35 ++ .../libvideo_processing.ndk.json | 93 +++++ .../video_processing_types.h | 278 +++++++++++++++ 8 files changed, 1400 insertions(+) create mode 100644 multimedia/video_processing_engine/image_processing.h create mode 100644 multimedia/video_processing_engine/image_processing/BUILD.gn create mode 100644 multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json create mode 100644 multimedia/video_processing_engine/image_processing_types.h create mode 100644 multimedia/video_processing_engine/video_processing.h create mode 100644 multimedia/video_processing_engine/video_processing/BUILD.gn create mode 100644 multimedia/video_processing_engine/video_processing/libvideo_processing.ndk.json create mode 100644 multimedia/video_processing_engine/video_processing_types.h diff --git a/multimedia/video_processing_engine/image_processing.h b/multimedia/video_processing_engine/image_processing.h new file mode 100644 index 000000000..81f503ecf --- /dev/null +++ b/multimedia/video_processing_engine/image_processing.h @@ -0,0 +1,314 @@ +/* + * Copyright (c) 2024 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 ImageProcessing + * @{ + * + * @brief Provide APIs for image quality processing. + * + * @since 12 + */ + +/** + * @file image_processing.h + * + * @brief Declare image processing functions. + * + * Provides SDR content processing for images, including color space conversion, metadata generation + * and image scaling. + * + * @library libimage_processing.so + * @syscap SystemCapability.Multimedia.VideoProcessingEngine + * @kit ImageKit + * @since 12 + */ + +#ifndef VIDEO_PROCESSING_ENGINE_C_API_IMAGE_PROCESSING_H +#define VIDEO_PROCESSING_ENGINE_C_API_IMAGE_PROCESSING_H + +#include +#include +#include "image_processing_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Initialize global environment for image processing. + * + * This function is optional. \n + * Typically, this function is called once when the host process is started to initialize the global environment for + * image processing, which can reduce the time of {@link OH_ImageProcessing_Create}. \n + * To deinitialize global environment, call {@link OH_ImageProcessing_DeinitializeEnvironment}. + * + * @return {@link IMAGE_PROCESSING_SUCCESS} if initialization is successful. \n + * {@link IMAGE_PROCESSING_ERROR_INITIALIZE_FAILED} if initialization is failed. \n + * You can check if the device GPU is working properly. + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_InitializeEnvironment(void); + +/** + * @brief Deinitialize global environment for image processing. + * + * This function is required if {@link OH_ImageProcessing_InitializeEnvironment} is called. Typically, this + * function is called when the host process is about to exit to deinitialize the global environment, which is + * initialized by calling {@link OH_ImageProcessing_InitializeEnvironment}. \n + * If there is some image processing instance existing, this function should not be called. \n + * If the {@link OH_ImageProcessing_InitializeEnvironment} is not called, this function should not be called. + * + * @return {@link IMAGE_PROCESSING_SUCCESS} if deinitialization is successful. \n + * {@link IMAGE_PROCESSING_ERROR_OPERATION_NOT_PERMITTED} if some image processing instance is not destroyed or + * {@link OH_ImageProcessing_InitializeEnvironment} is not called. \n + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_DeinitializeEnvironment(void); + +/** + * @brief Query whether the image color space conversion is supported. + * + * @param sourceImageInfo Input image color space information pointer. + * @param destinationImageInfo Output image color space information pointer. + * @return true if the color space conversion is supported. \n + * false if the the color space conversion is unsupported. + * @since 12 + */ +bool OH_ImageProcessing_IsColorSpaceConversionSupported( + const ImageProcessing_ColorSpaceInfo* sourceImageInfo, + const ImageProcessing_ColorSpaceInfo* destinationImageInfo); + +/** + * @brief Query whether the image composition is supported. + * + * @param sourceImageInfo Input image color space information pointer. + * @param sourceGainmapInfo Input gainmap color space information pointer. + * @param destinationImageInfo Output image color space information pointer. + * @return true if the image composition is supported. \n + * false if the image composition is unsupported. + * @since 12 + */ +bool OH_ImageProcessing_IsCompositionSupported( + const ImageProcessing_ColorSpaceInfo* sourceImageInfo, + const ImageProcessing_ColorSpaceInfo* sourceGainmapInfo, + const ImageProcessing_ColorSpaceInfo* destinationImageInfo); + +/** + * @brief Query whether the image decomposition is supported. + * + * @param sourceImageInfo Input image color space information pointer. + * @param destinationImageInfo Output image color space information pointer. + * @param destinationGainmapInfo Output gainmap information pointer. + * @return true if the image decomposition is supported. \n + * false if the image decomposition is unsupported. + * @since 12 + */ +bool OH_ImageProcessing_IsDecompositionSupported( + const ImageProcessing_ColorSpaceInfo* sourceImageInfo, + const ImageProcessing_ColorSpaceInfo* destinationImageInfo, + const ImageProcessing_ColorSpaceInfo* destinationGainmapInfo); + +/** + * @brief Query whether the image metadata generation is supported. + * + * @param sourceImageInfo Input image color space information pointer. + * @return true if the image metadata generation is supported.. \n + * false if the image metadata generation is unsupported. + * @since 12 + */ +bool OH_ImageProcessing_IsMetadataGenerationSupported( + const ImageProcessing_ColorSpaceInfo* sourceImageInfo); + +/** + * @brief Create an image processing instance. + * + * @param imageProcessor Output parameter. The *imageProcessor points to a new image processing object. + * The *imageProcessor must be null before passed in. + * @param type Use IMAGE_PROCESSING_TYPE_XXX to specify the processing type. The processing type of the instance can not + * be changed. + * @return {@link IMAGE_PROCESSING_SUCCESS} if creating an image processing successfully. \n + * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the type is not supported. For example, if metadata + * generation is not supported by vendor, it returns unsupported processing. \n + * {@link IMAGE_PROCESSING_ERROR_CREATE_FAILED} if failed to create an image processing. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or *instance is not null. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_PARAMETER} if type is invalid. \n + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_Create(OH_ImageProcessing** imageProcessor, int32_t type); + +/** + * @brief Destroy the image processing instance. + * + * @param imageProcessor An image processing instance pointer. It is recommended setting the + * instance pointer to null after the instance is destroyed. + * @return {@link IMAGE_PROCESSING_SUCCESS} if the instance is destroyed successfully. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an image processing instance. + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_Destroy(OH_ImageProcessing* imageProcessor); + +/** + * @brief Set parameter for image processing. + * + * Add parameter identified by the specified parameter key. + * + * @param imageProcessor An image processing instance pointer. + * @param parameter The parameter for image processing. + * @return {@link IMAGE_PROCESSING_SUCCESS} if setting parameter is successful. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an image processing instance. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_PARAMETER} if the parameter is null. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_VALUE} if some property of the parameter is invalid. For example, the parameter + * contains unsupported parameter key or value. \n + * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_SetParameter(OH_ImageProcessing* imageProcessor, + const OH_AVFormat* parameter); + +/** + * @brief Get parameter of image processing. + * + * Get parameter identified by the specified parameter key. + * + * @param imageProcessor An image processing instance pointer. + * @param parameter The parameter used by the image processing instance. + * @return {@link IMAGE_PROCESSING_SUCCESS} if getting parameter is successful. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an image processing instance. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_PARAMETER} if the parameter is null. \n + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_GetParameter(OH_ImageProcessing* imageProcessor, + OH_AVFormat* parameter); + +/** + * @brief Conversion between single-layer images. + * + * The function generate the destinationImage from sourceImage. It include the colorspace conversion from + * HDR image to SDR image, SDR image to HDR image, SDR image to SDR image and HDR image to HDR image. + * + * @param imageProcessor An image processing instance pointer. The instance should be created with + * type {@link IMAGE_PROCESSING_TYPE_COLOR_SPACE_CONVERSION}. + * @param sourceImage Input image pointer. + * @param destinationImage Output image pointer. + * @return {@link IMAGE_PROCESSING_SUCCESS} if processing image is successful. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an image processing instance. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_PARAMETER} if the image is null. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_VALUE} if some property of image is invalid. For example, the color space + * of the image is unsupported. \n + * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the processing is not supported. \n + * {@link IMAGE_PROCESSING_ERROR_PROCESS_FAILED} if processing error occurs. \n + * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_ConvertColorSpace(OH_ImageProcessing* imageProcessor, + OH_PixelmapNative* sourceImage, OH_PixelmapNative* destinationImage); + +/** + * @brief Composition from dual-layer HDR images to single-layer HDR images. + * + * The function generate the destinationImage from sourceImage and sourceGainmap. + * + * @param imageProcessor An image processing instance pointer. The instance should be created with + * type {@link IMAGE_PROCESSING_TYPE_COMPOSITION}. + * @param sourceImage Input image pointer. + * @param sourceGainmap Input gainmap pointer. + * @param destinationImage Output image pointer. + * @return {@link IMAGE_PROCESSING_SUCCESS} if processing image is successful. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an image processing instance. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_PARAMETER} if the image is null. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_VALUE} if some property of image is invalid. For example, the color space + * of the image is unsupported. \n + * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the processing is not supported. \n + * {@link IMAGE_PROCESSING_ERROR_PROCESS_FAILED} if processing error occurs. \n + * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_Compose(OH_ImageProcessing* imageProcessor, + OH_PixelmapNative* sourceImage, OH_PixelmapNative* sourceGainmap, OH_PixelmapNative* destinationImage); + +/** + * @brief Decomposition from single-layer HDR images to dual-layer HDR images. + * + * The function generate the destinationImage and destinationGainmap from sourceImage. + * + * @param imageProcessor An image processing instance pointer. The instance should be created with + * type {@link IMAGE_PROCESSING_TYPE_DECOMPOSITION}. + * @param sourceImage Input image pointer. + * @param destinationImage Output image pointer. + * @param destinationGainmap Output gainmap pointer. + * @return {@link IMAGE_PROCESSING_SUCCESS} if processing image is successful. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an image processing instance. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_PARAMETER} if the image is null. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_VALUE} if some property of image is invalid. For example, the color space + * of the image is unsupported. \n + * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the processing is not supported. \n + * {@link IMAGE_PROCESSING_ERROR_PROCESS_FAILED} if processing error occurs. \n + * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_Decompose(OH_ImageProcessing* imageProcessor, + OH_PixelmapNative* sourceImage, OH_PixelmapNative* destinationImage, OH_PixelmapNative* destinationGainmap); + +/** + * @brief Metadata Generation for HDR images. + * + * The function generate metadata for the sourceImage. + * + * @param imageProcessor An image processing instance pointer. The instance should be created with + * type {@link IMAGE_PROCESSING_TYPE_METADATA_GENERATION}. + * @param sourceImage Input image pointer. + * @return {@link IMAGE_PROCESSING_SUCCESS} if processing image is successful. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an image processing instance. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_PARAMETER} if the image is null. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_VALUE} if some property of image is invalid. For example, the color space + * of the image is unsupported. \n + * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the processing is not supported. \n + * {@link IMAGE_PROCESSING_ERROR_PROCESS_FAILED} if processing error occurs. \n + * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_GenerateMetadata(OH_ImageProcessing* imageProcessor, + OH_PixelmapNative* sourceImage); + +/** + * @brief Clarity enhancement for images. + * + * The function generate the destinationImage from sourceImage with necessary scaling operation according to the size + * preset in the sourceImage and destinationImage. Different levels of scaling methonds are provided to balance + * performance and image quality. + * + * @param imageProcessor An image processing instance pointer. The instance should be created with + * type {@link IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER}. + * @param sourceImage Input image pointer. + * @param destinationImage Output image pointer. + * @return {@link IMAGE_PROCESSING_SUCCESS} if processing image is successful. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an image processing instance. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_PARAMETER} if the image is null. \n + * {@link IMAGE_PROCESSING_ERROR_INVALID_VALUE} if some property of image is invalid. For example, the color space + * of the image is unsupported. \n + * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the processing is not supported. \n + * {@link IMAGE_PROCESSING_ERROR_PROCESS_FAILED} if processing error occurs. \n + * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. + * @since 12 + */ +ImageProcessing_ErrorCode OH_ImageProcessing_EnhanceDetail(OH_ImageProcessing* imageProcessor, + OH_PixelmapNative* sourceImage, OH_PixelmapNative* destinationImage); +#ifdef __cplusplus +} +#endif + +#endif // VIDEO_PROCESSING_ENGINE_C_API_IMAGE_PROCESSING_H +/** @} */ diff --git a/multimedia/video_processing_engine/image_processing/BUILD.gn b/multimedia/video_processing_engine/image_processing/BUILD.gn new file mode 100644 index 000000000..d3c02809b --- /dev/null +++ b/multimedia/video_processing_engine/image_processing/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_headers("image_processing_ndk_headers") { + dest_dir = "$ndk_headers_out_dir/multimedia/video_processing_engine" + sources = [ + "../image_processing.h", + "../image_processing_types.h", + ] +} + +ohos_ndk_library("libimage_processing_ndk") { + ndk_description_file = "./libimage_processing.ndk.json" + output_name = "image_processing" + output_extension = "so" + min_compact_version = "12" + system_capability = "SystemCapability.Multimedia.VideoProcessingEngine" + system_capability_headers = [ + "multimedia/video_processing_engine/image_processing_types.h", + "multimedia/video_processing_engine/image_processing.h", + ] +} diff --git a/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json b/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json new file mode 100644 index 000000000..8cb58693c --- /dev/null +++ b/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json @@ -0,0 +1,87 @@ +[ + { + "first_introduced": "12", + "name": "OH_ImageProcessing_InitializeEnvironment" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_DeinitializeEnvironment" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_IsColorSpaceConversionSupported" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_IsCompositionSupported" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_IsDecompositionSupported" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_IsMetadataGenerationSupported" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_Create" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_SetParameter" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_GetParameter" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_ConvertColorSpace" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_Compose" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_Decompose" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_GenerateMetadata" + }, + { + "first_introduced": "12", + "name": "OH_ImageProcessing_EnhanceDetail" + }, + { + "first_introduced": "12", + "name": "IMAGE_PROCESSING_TYPE_COLOR_SPACE_CONVERSION", + "type": "variable" + }, + { + "first_introduced": "12", + "name": "IMAGE_PROCESSING_TYPE_COMPOSITION", + "type": "variable" + }, + { + "first_introduced": "12", + "name": "IMAGE_PROCESSING_TYPE_DECOMPOSITION", + "type": "variable" + }, + { + "first_introduced": "12", + "name": "IMAGE_PROCESSING_TYPE_METADATA_GENERATION", + "type": "variable" + }, + { + "first_introduced": "12", + "name": "IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER", + "type": "variable" + } +] diff --git a/multimedia/video_processing_engine/image_processing_types.h b/multimedia/video_processing_engine/image_processing_types.h new file mode 100644 index 000000000..46f8d249c --- /dev/null +++ b/multimedia/video_processing_engine/image_processing_types.h @@ -0,0 +1,229 @@ +/* + * Copyright (c) 2024 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 ImageProcessing + * @{ + * + * @brief Provide image processing including color space conversion and metadata generation. + * + * @since 12 + */ + +/** + * @file image_processing_types.h + * + * @brief Type definitions for image processing. + * + * @library libimage_processing.so + * @syscap SystemCapability.Multimedia.VideoProcessingEngine + * @kit ImageKit + * @since 12 + */ + +#ifndef VIDEO_PROCESSING_ENGINE_C_API_IMAGE_PROCESSING_TYPES_H +#define VIDEO_PROCESSING_ENGINE_C_API_IMAGE_PROCESSING_TYPES_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Define the object for image processing. + * + * Define a null pointer of OH_ImageProcessing and call {@link OH_ImageProcessing_Create} to create an image processing + * instance. The pointer should be null before creating instance. + * User can create multiple image processing instances for different processing types. + * + * @since 12 + */ +typedef struct OH_ImageProcessing OH_ImageProcessing; + +/** + * @brief Forward declaration of OH_PixelmapNative. + * + * @since 12 + */ +typedef struct OH_PixelmapNative OH_PixelmapNative; + +/** + * @brief Forward declaration of OH_AVFormat. + * + * @since 12 + */ +typedef struct OH_AVFormat OH_AVFormat; + +/** + * @brief Used to create an image processing instance for color space conversion. + * + * Color space conversion includes the conversion of single-layer HDR images to SDR images, as well as + * the color space conversion of SDR images, and the conversion of SDR images to single-layer HDR images. Some + * capabilities are supported by vendor. Use {@link OH_ImageProcessing_IsColorSpaceConversionSupported} to query if + * the conversion is supported between single-layer images. + * + * @see OH_ImageProcessing_Create + * @since 12 + */ +extern const int32_t IMAGE_PROCESSING_TYPE_COLOR_SPACE_CONVERSION; + +/** + * @brief Used to create an image processing instance for HDR image composition. + * + * HDR image compose includes the conversion from dual-layer HDR images to single-layer HDR images. Some + * capabilities are supported by vendor. Use {@link OH_ImageProcessing_IsCompositionSupported} to + * query if the composition is supported from dual-layer HDR image to single-layer HDR image. + * + * @see OH_ImageProcessing_Create + * @since 12 + */ +extern const int32_t IMAGE_PROCESSING_TYPE_COMPOSITION; + +/** + * @brief Used to create an image processing instance for HDR image decomposition. + * + * HDR image decompose includes the conversion from single-layer HDR images to dual-layer HDR images. Some + * capabilities are supported by vendor. Use {@link OH_ImageProcessing_IsDecompositionSupported} to + * query if the decomposition is supported from single-layer image to dual-layer HDR image. + * + * @see OH_ImageProcessing_Create + * @since 12 + */ +extern const int32_t IMAGE_PROCESSING_TYPE_DECOMPOSITION; + +/** + * @brief Used to create an image processing instance for metadata generation. + * + * Generate HDR Vivid metadata for single-layer image. The capability is supported by vendor. If the capability is not + * supported, {@link OH_ImageProcessing_Create} returns {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING}. + * + * @see OH_ImageProcessing_Create + * @since 12 + */ +extern const int32_t IMAGE_PROCESSING_TYPE_METADATA_GENERATION; + +/** + * @brief Used to create an image processing instance for detail enhancement. + * + * Scale or resize images with the specified quality or just enhance details for rendering an image without changing + * its resolution. + * + * @see OH_ImageProcessing_Create + * @since 12 + */ +extern const int32_t IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER; + +/** + * @brief The key is used to specify the quality level for image detail enhancement. + * + * See {@link ImageDetailEnhancer_QualityLevel} for its value. + * Use {@link OH_ImageProcessing_SetParameter} to set the quality level. + * Use {@link OH_ImageProcessing_GetParameter} to get the current quality level. + * + * @see OH_VideoProcessing_SetParameter + * @see OH_VideoProcessing_GetParameter + * @since 12 + */ +extern const char* IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL; + +/** + * @brief The color space information is used for color space conversion capability query. + * + * @see OH_ImageProcessing_IsColorSpaceConversionSupported + * @see OH_ImageProcessing_IsCompositionSupported + * @see OH_ImageProcessing_IsDecompositionSupported + * @since 12 + */ +typedef struct ImageProcessing_ColorSpaceInfo { + /** define metadata type */ + int32_t metadataType; + /** define color space, {@link enum OH_NativeBuffer_ColorSpace} */ + int32_t colorSpace; + /** define pixel format, {@link enum OH_NativeBuffer_Format} */ + int32_t pixelFormat; +} ImageProcessing_ColorSpaceInfo; + +/** + * @brief The quality level is used for detail enhancement. + * + * It is the value of the key parameter {@link IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL}. + * + * @see OH_ImageProcessing_SetParameter + * @see OH_ImageProcessing_GetParameter + * @since 12 + */ +typedef enum ImageDetailEnhancer_QualityLevel { + /** No detail enhancement */ + IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_NONE, + /** A low level of detail enhancement quality but with a fast speed. It's the default level */ + IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_LOW, + /** A medium level of detail enhancement quality. Its speed is between the low setting and high setting */ + IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_MEDIUM, + /** A high level of detail enhancement quality but with a relatively slow speed */ + IMAGE_DETAIL_ENHANCER_QUALITY_LEVEL_HIGH, +} ImageDetailEnhancer_QualityLevel; + +/** + * @brief Image processing error code. + * + * @since 12 + */ +typedef enum ImageProcessing_ErrorCode { + /** @error Operation is successful. */ + IMAGE_PROCESSING_SUCCESS, + /** @error Input parameter is invalid. This error is returned for all of the following error conditions: + * 1 - Invalid input or output image buffer - The image buffer is null. + * 2 - Invalid parameter - The parameter is null. + * 3 - Invalid type - The type passed in the create function does not exist. + */ + IMAGE_PROCESSING_ERROR_INVALID_PARAMETER = 401, + /** @error Some unknown error occurred, such as GPU calculation failure or memcpy failure. */ + IMAGE_PROCESSING_ERROR_UNKNOWN = 29200001, + /** @error The global environment initialization for image processing failed, such as failure to initialize + * the GPU environment. + */ + IMAGE_PROCESSING_ERROR_INITIALIZE_FAILED, + /** @error Failed to create image processing instance. For example, + * the number of instances exceeds the upper limit. + */ + IMAGE_PROCESSING_ERROR_CREATE_FAILED, + /** @error Failed to process image buffer. For example, the processing times out. */ + IMAGE_PROCESSING_ERROR_PROCESS_FAILED, + /** @error The processing is not supported. You may call OH_ImageProcessing_IsXXXSupported + * to check whether the capability is supported. + */ + IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING, + /** @error The operation is not permitted. This may be caused by incorrect status. */ + IMAGE_PROCESSING_ERROR_OPERATION_NOT_PERMITTED, + /** @error Out of memory. */ + IMAGE_PROCESSING_ERROR_NO_MEMORY, + /** @error The image processing instance is invalid. This may be caused by null instance. */ + IMAGE_PROCESSING_ERROR_INVALID_INSTANCE, + /** @error Input parameter is invalid. This error is returned for all of the following error conditions: + * 1 - Invalid input or output image buffer - The image buffer width(height) + * is too large or colorspace is incorrect. + * 2 - Invalid parameter - The parameter does not contain valid information, + * such as detail enhancer level is incorrect. + */ + IMAGE_PROCESSING_ERROR_INVALID_VALUE +} ImageProcessing_ErrorCode; + +#ifdef __cplusplus +} +#endif + +#endif // VIDEO_PROCESSING_ENGINE_C_API_IMAGE_PROCESSING_TYPES_H +/** @} */ diff --git a/multimedia/video_processing_engine/video_processing.h b/multimedia/video_processing_engine/video_processing.h new file mode 100644 index 000000000..7c22782c6 --- /dev/null +++ b/multimedia/video_processing_engine/video_processing.h @@ -0,0 +1,329 @@ +/* + * Copyright (c) 2024 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 VideoProcessing + * @{ + * + * @brief Provide APIs for video quality processing. + * + * @since 12 + */ + +/** + * @file video_processing.h + * + * @brief Declare video processing functions. + * + * Provides SDR content processing for videos, including color space conversion, metadata generation + * and video scaling. + * + * @library libvideo_processing.so + * @syscap SystemCapability.Multimedia.VideoProcessingEngine + * @kit MediaKit + * @since 12 + */ + +#ifndef VIDEO_PROCESSING_ENGINE_C_API_VIDEO_PROCESSING_H +#define VIDEO_PROCESSING_ENGINE_C_API_VIDEO_PROCESSING_H + +#include +#include +#include "video_processing_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Initialize global environment for video processing. + * + * This function is optional. \n + * Typically, this function is called once when the host process is started to initialize the global environment for + * video processing, which can reduce the time of {@link OH_VideoProcessing_Create}. \n + * To deinitialize global environment, call {@link OH_VideoProcessing_DeinitializeEnvironment}. + * + * @return {@link VIDEO_PROCESSING_SUCCESS} if initialization is successful. \n + * {@link VIDEO_PROCESSING_ERROR_INITIALIZE_FAILED} if initialization is failed. \n + * You can check if the device GPU is working properly. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_InitializeEnvironment(void); + +/** + * @brief Deinitialize global environment for video processing. + * + * This function is required if {@link OH_VideoProcessing_InitializeEnvironment} is called. Typically, this + * function is called when the host process is about to exit to deinitialize the global environment, which is + * initialized by calling {@link OH_VideoProcessing_InitializeEnvironment}. \n + * If there is some video processing instance existing, this function should not be called. \n + * If the {@link OH_VideoProcessing_InitializeEnvironment} is not called, this function should not be called. + * + * @return {@link VIDEO_PROCESSING_SUCCESS} if deinitialization is successful. \n + * {@link VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED} if some video processing instance is not destroyed or + * {@link OH_VideoProcessing_InitializeEnvironment} is not called. \n + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_DeinitializeEnvironment(void); + +/** + * @brief Query if the video color space conversion is supported. + * + * @param sourceVideoInfo Source video color space information. + * @param destinationVideoInfo Destination video color space information. + * @return true if the video color space conversion is supported. \n + * false if the video color space conversion is not supported. + * @since 12 + */ +bool OH_VideoProcessing_IsColorSpaceConversionSupported( + const VideoProcessing_ColorSpaceInfo* sourceVideoInfo, + const VideoProcessing_ColorSpaceInfo* destinationVideoInfo); + +/** + * @brief Query if the video metadata generation is supported. + * + * @param sourceVideoInfo Source video color space information. + * @return true if the video metadata generation is supported. \n + * false if the video metadata generation is not supported. + * @since 12 + */ +bool OH_VideoProcessing_IsMetadataGenerationSupported( + const VideoProcessing_ColorSpaceInfo* sourceVideoInfo); + +/** + * @brief Create a video processing instance. + * + * @param videoProcessor Output parameter. The *videoProcessor points to a new video processing object. + * The *videoProcessor must be null before passed in. + * @param type Use VIDEO_PROCESSING_TYPE_XXX to specify the processing type. The processing type of the instance can not + * be changed. + * @return {@link VIDEO_PROCESSING_SUCCESS} if creating a video processing instance successfully. \n + * {@link VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the type is not supported. For example, if metadata + * generation is not supported by vendor, it returns unsupported processing. \n + * {@link VIDEO_PROCESSING_ERROR_CREATE_FAILED} if failed to create a video processing instance. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or *instance is not null. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if type is invalid. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_Create(OH_VideoProcessing** videoProcessor, int type); + +/** + * @brief Destroy the video processing instance. + * + * Stop the instance before destroying it. see {@link OH_VideoProcessing_Stop}. \n + * + * @param videoProcessor The video processing instance pointer to be destroyed. It is recommended setting the + * instance pointer to null after the instance is destroyed. + * @return {@link VIDEO_PROCESSING_SUCCESS} if the instance is destroyed successfully . \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not a video processing instance. \n + * {@link VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED} if the instance is still running. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_Destroy(OH_VideoProcessing* videoProcessor); + +/** + * @brief Register callback object. + * + * Register the callback object before starting video processing. + * + * @param videoProcessor A video processing instance pointer. + * @param callback Callback pointer to be registered. + * @param userData User's custom data pointer. + * @return {@link VIDEO_PROCESSING_SUCCESS} if callback is registered successfully. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not a video processing instance. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if callback is null. \n + * {@link VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED} if video processing instance is running. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_RegisterCallback(OH_VideoProcessing* videoProcessor, + const VideoProcessing_Callback* callback, void* userData); + +/** + * @brief Set the output surface for video processing. + * + * Set the output surface before starting video processing. + * + * @param videoProcessor A video processing instance pointer. + * @param window The output surface pointer. + * @return {@link VIDEO_PROCESSING_SUCCESS} if setting output surface successfully. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not a video processing instance. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if window is null. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_SetSurface(OH_VideoProcessing* videoProcessor, + const OHNativeWindow* window); + +/** + * @brief Create an input surface. + * + * Create the input surface before starting video processing. + * Call {@link OH_NativeWindow_DestroyNativeWindow} to destroy the input surface. + * + * @param videoProcessor A video processing instance pointer. + * @param window The input surface pointer. For example, it is the output surface of a video decoder. + * @return {@link VIDEO_PROCESSING_SUCCESS} if operation is successful. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not a video processing instance. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if window is null or *window is not null. \n + * {@link VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED} if creating surface failed, input surface is already created + * or video processing instance is running. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_GetSurface(OH_VideoProcessing* videoProcessor, OHNativeWindow** window); + +/** + * @brief Set parameter for video processing. + * + * Add parameter identified by the specified parameter key. + * + * @param videoProcessor An video processing instance pointer. + * @param parameter The parameter for video processing. + * @return {@link VIDEO_PROCESSING_SUCCESS} if setting parameter is successful. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an video processing instance. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if the parameter is null. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_VALUE} if some property of the parameter is invalid. For example, the parameter + * contains unsupported parameter key or value. \n + * {@link VIDEO_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_SetParameter(OH_VideoProcessing* videoProcessor, + const OH_AVFormat* parameter); + +/** + * @brief Get parameter of video processing. + * + * Get parameter identified by the specified parameter key. + * + * @param videoProcessor An video processing instance pointer. + * @param parameter The parameter used by the video processing instance. + * @return {@link VIDEO_PROCESSING_SUCCESS} if getting parameter is successful. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an video processing instance. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if the parameter is null. \n + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_GetParameter(OH_VideoProcessing* videoProcessor, OH_AVFormat* parameter); + +/** + * @brief Start video processing instance. + * + * After successfully calling this function, the state {@link VIDEO_PROCESSING_STATE_RUNNING} is reported by callback + * function {@link OH_VideoProcessingCallback_OnState}. + * + * @param videoProcessor A video processing instance pointer. + * @return {@link VIDEO_PROCESSING_SUCCESS} if the operation is successful. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not a video processing instance. \n + * {@link VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED} if output surface is not set, input surface is not created or + * instance is already running. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_Start(OH_VideoProcessing* videoProcessor); + +/** + * @brief To stop video processing instance. + * + * After the video processing instance is stopped successfully, the state {@link VIDEO_PROCESSING_STATE_STOPPED} is + * reported by callback function {@link OH_VideoProcessing_OnState}. + * + * @param videoProcessor A video processing instance pointer. + * @return {@link VIDEO_PROCESSING_SUCCESS} if the operation is successful. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not a video processing instance. \n + * {@link VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED} if instance is already stopped. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_Stop(OH_VideoProcessing* videoProcessor); + +/** + * @brief Send the output buffer out. + * + * If the callback function {@link OH_VideoProcessingCallback_OnNewOutputBuffer} is set, the buffer's index is reported + * to user by the callback function when an output buffer is ready. + * + * @param videoProcessor A video processing instance pointer. + * @param index The output buffer's index. + * @return {@link VIDEO_PROCESSING_SUCCESS} if the operation is successful. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not a video processing instance. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if index is invalid. \n + * {@link VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED} if callback {@link OH_VideoProcessing_OnNewOutputBuffer} is + * not set or instance is stopped. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessing_RenderOutputBuffer(OH_VideoProcessing* videoProcessor, uint32_t index); + +/** + * @brief Create a video processing callback object. + * + * @param callback Output parameter. The *callback points to a new callback object. The *callback should be null before + * creating the callback object. + * @return {@link VIDEO_PROCESSING_SUCCESS} if callback object is created successfully. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if callback is null or *callback is not null. \n + * {@link VIDEO_PROCESSING_ERROR_NO_MEMORY} if out of memory. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessingCallback_Create(VideoProcessing_Callback** callback); + +/** + * @brief Destroy the callback object. + * + * The callback object can be destroyed after it is registered to video processing instance. + * + * @param callback The callback object pointer. It is recommended setting the callback pointer to null after the + * callback object is destroyed. + * @return {@link VIDEO_PROCESSING_SUCCESS} if callback is successfully destroyed. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if callback is null. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessingCallback_Destroy(VideoProcessing_Callback* callback); + +/** + * @brief Bind the {@link OH_VideoProcessingCallback_OnError} callback function to callback object. + * + * @param callback A callback object pointer. + * @param onError The callback function. + * @return {@link VIDEO_PROCESSING_SUCCESS} if the function is bound to callback object successfully. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if the callback is null or onError is null. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnError(VideoProcessing_Callback* callback, + OH_VideoProcessingCallback_OnError onError); + +/** + * @brief Bind the {@link OH_VideoProcessingCallback_OnState} callback function to callback object. + * + * @param callback A callback object pointer. + * @param onState The callback function. + * @return {@link VIDEO_PROCESSING_SUCCESS} if the function is bound to callback object successfully. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if the callback is null or onState is null. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnState(VideoProcessing_Callback* callback, + OH_VideoProcessingCallback_OnState onState); + +/** + * @brief Bind the {@link OH_VideoProcessingCallback_OnNewOutputBuffer} callback function to callback object. + * + * @param callback A callback object pointer. + * @param onNewOutputBuffer The callback function. + * @return {@link VIDEO_PROCESSING_SUCCESS} if the function is bound to callback object successfully. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_PARAMETER} if the callback is null. + * @since 12 + */ +VideoProcessing_ErrorCode OH_VideoProcessingCallback_BindOnNewOutputBuffer(VideoProcessing_Callback* callback, + OH_VideoProcessingCallback_OnNewOutputBuffer onNewOutputBuffer); + +#ifdef __cplusplus +} +#endif + +#endif // VIDEO_PROCESSING_ENGINE_C_API_VIDEO_PROCESSING_H +/** @} */ diff --git a/multimedia/video_processing_engine/video_processing/BUILD.gn b/multimedia/video_processing_engine/video_processing/BUILD.gn new file mode 100644 index 000000000..0dc56d025 --- /dev/null +++ b/multimedia/video_processing_engine/video_processing/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_headers("video_processing_ndk_headers") { + dest_dir = "$ndk_headers_out_dir/multimedia/video_processing_engine" + sources = [ + "../video_processing.h", + "../video_processing_types.h", + ] +} + +ohos_ndk_library("libvideo_processing_ndk") { + ndk_description_file = "./libvideo_processing.ndk.json" + output_name = "video_processing" + output_extension = "so" + min_compact_version = "12" + system_capability = "SystemCapability.Multimedia.VideoProcessingEngine" + system_capability_headers = [ + "multimedia/video_processing_engine/video_processing_types.h", + "multimedia/video_processing_engine/video_processing.h", + ] +} diff --git a/multimedia/video_processing_engine/video_processing/libvideo_processing.ndk.json b/multimedia/video_processing_engine/video_processing/libvideo_processing.ndk.json new file mode 100644 index 000000000..dd2fe35ab --- /dev/null +++ b/multimedia/video_processing_engine/video_processing/libvideo_processing.ndk.json @@ -0,0 +1,93 @@ +[ + { + "first_introduced": "12", + "name": "OH_VideoProcessing_InitializeEnvironment" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_DeinitializeEnvironment" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_IsColorSpaceConversionSupported" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_IsMetadataGenerationSupported" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_Create" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_RegisterCallback" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_SetSurface" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_GetSurface" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_SetParameter" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_GetParameter" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_Start" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_Stop" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessing_RenderOutputBuffer" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessingCallback_Create" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessingCallback_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessingCallback_BindOnError" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessingCallback_BindOnState" + }, + { + "first_introduced": "12", + "name": "OH_VideoProcessingCallback_BindOnNewOutputBuffer" + }, + { + "first_introduced": "12", + "name": "VIDEO_PROCESSING_TYPE_COLOR_SPACE_CONVERSION", + "type": "variable" + }, + { + "first_introduced": "12", + "name": "VIDEO_PROCESSING_TYPE_METADATA_GENERATION", + "type": "variable" + }, + { + "first_introduced": "12", + "name": "VIDEO_PROCESSING_TYPE_DETAIL_ENHANCER", + "type": "variable" + } +] diff --git a/multimedia/video_processing_engine/video_processing_types.h b/multimedia/video_processing_engine/video_processing_types.h new file mode 100644 index 000000000..51611e9ac --- /dev/null +++ b/multimedia/video_processing_engine/video_processing_types.h @@ -0,0 +1,278 @@ +/* + * Copyright (c) 2024 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 VideoProcessing + * @{ + * + * @brief Provide video processing including color space conversion and metadata generation. + * + * @since 12 + */ + +/** + * @file video_processing_types.h + * + * @brief Type definitions for video processing. + * + * @library libvideo_processing.so + * @syscap SystemCapability.Multimedia.VideoProcessingEngine + * @kit MediaKit + * @since 12 + */ + +#ifndef VIDEO_PROCESSING_ENGINE_C_API_VIDEO_PROCESSING_TYPES_H +#define VIDEO_PROCESSING_ENGINE_C_API_VIDEO_PROCESSING_TYPES_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Define the video processing object. + * + * Define a null pointer of OH_VideoProcessing and call {@link OH_VideoProcessing_Create} to create a video processing + * instance. The pointer should be null before creating instance. + * User can create multiple video processing instances for different processing types. + * + * @since 12 + */ +typedef struct OH_VideoProcessing OH_VideoProcessing; + +/** + * @brief Forward declaration of NativeWindow. + * + * @since 12 + */ +typedef struct NativeWindow OHNativeWindow; + +/** + * @brief Forward declaration of OH_AVFormat. + * + * @since 12 + */ +typedef struct OH_AVFormat OH_AVFormat; + +/** + * @brief Used to create a video processing instance for color space conversion. + * + * Some capabilities are supported by vendor. Use {@link OH_VideoProcessing_IsColorSpaceConversionSupported} to query if + * the conversion is supported. + * + * @see OH_VideoProcessing_Create + * @since 12 + */ +extern const int32_t VIDEO_PROCESSING_TYPE_COLOR_SPACE_CONVERSION; + +/** + * @brief Used to create a video processing instance for metadata generation. + * + * Generate HDR vivid metadata for video. The capability is supported by vendor. If the capability is not supported, + * {@link OH_VideoProcessing_Create} returns {@link VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING}. + * + * @see OH_VideoProcessing_Create + * @since 12 + */ +extern const int32_t VIDEO_PROCESSING_TYPE_METADATA_GENERATION; + +/** + * @brief Used to create an video processing instance of detail enhancement. + * + * Scale or resize video with the specified quality or just enhance details for rendering without changing its + * resolution. + * + * @see OH_ImageProcessing_Create + * @since 12 + */ +extern const int32_t VIDEO_PROCESSING_TYPE_DETAIL_ENHANCER; + +/** + * @brief The key is used to specify the quality level for video detail enhancement. + * + * See {@link VideoDetailEnhancer_QualityLevel} for its values. + * Use {@link OH_VideoProcessing_SetParameter} to set the quality level. + * Use {@link OH_VideoProcessing_GetParameter} to get the current quality level. + * + * @see OH_VideoProcessing_SetParameter + * @see OH_VideoProcessing_GetParameter + * @since 12 + */ +extern const char* VIDEO_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL; + +/** + * @brief Video color space information structure of querying if video color space conversion is supported. + * + * @see OH_VideoProcessing_IsColorSpaceConversionSupported + * @since 12 + */ +typedef struct VideoProcessing_ColorSpaceInfo { + /** The metadata type of the video, see {@link enum OH_NativeBuffer_MetadataType} */ + int32_t metadataType; + /** The color space type of the video, see {@link enum OH_NativeBuffer_ColorSpace} */ + int32_t colorSpace; + /** The pixel format of the video, see {@link enum OH_NativeBuffer_Format} */ + int32_t pixelFormat; +} VideoProcessing_ColorSpaceInfo; + +/** + * @brief The quality level is used for detail enhancement. + * + * It is the value of the key parameter {@link VIDEO_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL}. + * + * @see OH_VideoProcessing_SetParameter + * @see OH_VideoProcessing_GetParameter + * @since 12 + */ +typedef enum VideoDetailEnhancer_QualityLevel { + /** No detail enhancement */ + VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_NONE, + /** A low level of detail enhancement quality but with a fast speed. It's the default level */ + VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_LOW, + /** A medium level of detail enhancement quality. Its speed is between the low setting and high setting */ + VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_MEDIUM, + /** A high level of detail enhancement quality but with a relatively slow speed */ + VIDEO_DETAIL_ENHANCER_QUALITY_LEVEL_HIGH, +} VideoDetailEnhancer_QualityLevel; + +/** + * @brief Video processing error code. + * + * @since 12 + */ +typedef enum VideoProcessing_ErrorCode { + /** @error Operation is successful. */ + VIDEO_PROCESSING_SUCCESS, + /** @error Input parameter is invalid. This error is returned for all of the following error conditions: + * 1 - Invalid input or output video buffer - The video buffer is null. + * 2 - Invalid parameter - The parameter is null. + * 3 - Invalid type - The type passed in the create function does not exist. + */ + VIDEO_PROCESSING_ERROR_INVALID_PARAMETER = 401, + /** @error Some unknown error occurred, such as GPU calculation failure or memcpy failure. */ + VIDEO_PROCESSING_ERROR_UNKNOWN = 29210001, + /** @error The global environment initialization for video processing failed, such as failure to initialize + * the GPU environment. + */ + VIDEO_PROCESSING_ERROR_INITIALIZE_FAILED, + /** @error Failed to create video processing instance. For example, + * the number of instances exceeds the upper limit. + */ + VIDEO_PROCESSING_ERROR_CREATE_FAILED, + /** @error Failed to process video buffer. For example, the processing times out. */ + VIDEO_PROCESSING_ERROR_PROCESS_FAILED, + /** @error The processing is not supported. You may call OH_VideoProcessing_IsXXXSupported + * to check whether the capability is supported. + */ + VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING, + /** @error The operation is not permitted. This may be caused by incorrect status. */ + VIDEO_PROCESSING_ERROR_OPERATION_NOT_PERMITTED, + /** @error Out of memory. */ + VIDEO_PROCESSING_ERROR_NO_MEMORY, + /** @error The video processing instance is invalid. This may be caused by null instance. */ + VIDEO_PROCESSING_ERROR_INVALID_INSTANCE, + /** @error Input parameter is invalid. This error is returned for all of the following error conditions: + * 1 - Invalid input or output video buffer - The video buffer width(height) + * is too large or colorspace is incorrect. + * 2 - Invalid parameter - The parameter does not contain valid information, + * such as detail enhancer level is incorrect. + */ + VIDEO_PROCESSING_ERROR_INVALID_VALUE +} VideoProcessing_ErrorCode; + +/** + * @brief Video processing states. + * + * The state is reported to user by callback function {@link OH_VideoProcessing_OnState}. + * + * @since 12 + */ +typedef enum VideoProcessing_State { + /** Video processing is running */ + VIDEO_PROCESSING_STATE_RUNNING, + /** Video processing is stopped */ + VIDEO_PROCESSING_STATE_STOPPED +} VideoProcessing_State; + +/** + * @brief Video processing asynchronous callback object type. + * + * Define a null pointer of VideoProcessing_Callback and call {@link OH_VideoProcessingCallback_Create} to create a + * callback object. The pointer should be null before creating the callback object. + * Register the callback to a video processing instance by calling {@link OH_VideoProcessing_RegisterCallback}. + * + * @since 12 + */ +typedef struct VideoProcessing_Callback VideoProcessing_Callback; + +/** + * @brief The callback function pointer definition for reporting error during video processing. + * + * Errors: \n + * {@link VIDEO_PROCESSING_ERROR_UNSUPPORTED_PROCESSING}, the processing is not supported. For example, the + * color space conversion according to the source and destination videos' properties is not supported. \n + * {@link VIDEO_PROCESSING_ERROR_INVALID_VALUE}, some property of the video is invalid. For example, the color space of + * the video is invalid. \n + * {@link VIDEO_PROCESSING_ERROR_NO_MEMORY}, out of memory. \n + * {@link VIDEO_PROCESSING_ERROR_PROCESS_FAILED}, some processing error occurs. \n + * For more errors, see {@link VideoProcessing_ErrorCode}. + * + * @param videoProcessor The video processing instance. + * @param error Error code reporting to user. + * @param userData User's custom data. + * @since 12 + */ +typedef void (*OH_VideoProcessingCallback_OnError)(OH_VideoProcessing* videoProcessor, + VideoProcessing_ErrorCode error, void* userData); + +/** + * @brief The callback function pointer definition for reporting video processing state. + * + * The state will be {@link VIDEO_PROCESSING_STATE_RUNNING} after {@link OH_VideoProcessing_Start} is called + * successfully. + * The state will be {@link VIDEO_PROCESSING_STATE_STOPPED} after all the buffers cached before + * {@link OH_VideoProcessing_Stop} is called are processed. + * + * @param videoProcessor The video processing instance. + * @param state see {@link VideoProcessing_State}. + * @param userData User's custom data. + * @since 12 + */ +typedef void (*OH_VideoProcessingCallback_OnState)(OH_VideoProcessing* videoProcessor, VideoProcessing_State state, + void* userData); + +/** + * @brief The callback function pointer definition for reporting a new output buffer is filled with processed data. + * + * Every new output buffer's index will report to user once the buffer is filled with processed data. Then call + * {@link OH_VideoProcessing_RenderOutputBuffer} with the buffer's index to send the output buffer out. + * If this function is not registered, the output buffer is sent out as soon as the buffer is filled with processed + * data without reporting. + * + * @param videoProcessor The video processing instance. + * @param index The index of the new output buffer. + * @param userData The user's custom data. + * @since 12 + */ +typedef void (*OH_VideoProcessingCallback_OnNewOutputBuffer)(OH_VideoProcessing* videoProcessor, uint32_t index, + void* userData); + +#ifdef __cplusplus +} +#endif + +#endif // VIDEO_PROCESSING_ENGINE_C_API_VIDEO_PROCESSING_TYPES_H +/** @} */ -- Gitee From 6e4d3aa45019d1d814a4d3b6d7d77d44d5b5ad85 Mon Sep 17 00:00:00 2001 From: liushang Date: Fri, 9 Aug 2024 16:39:30 +0800 Subject: [PATCH 045/359] value Signed-off-by: liushang --- multimedia/video_processing_engine/image_processing_types.h | 2 +- multimedia/video_processing_engine/video_processing_types.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/video_processing_engine/image_processing_types.h b/multimedia/video_processing_engine/image_processing_types.h index 46f8d249c..cfd2a5473 100644 --- a/multimedia/video_processing_engine/image_processing_types.h +++ b/multimedia/video_processing_engine/image_processing_types.h @@ -212,7 +212,7 @@ typedef enum ImageProcessing_ErrorCode { IMAGE_PROCESSING_ERROR_NO_MEMORY, /** @error The image processing instance is invalid. This may be caused by null instance. */ IMAGE_PROCESSING_ERROR_INVALID_INSTANCE, - /** @error Input parameter is invalid. This error is returned for all of the following error conditions: + /** @error Input value is invalid. This error is returned for all of the following error conditions: * 1 - Invalid input or output image buffer - The image buffer width(height) * is too large or colorspace is incorrect. * 2 - Invalid parameter - The parameter does not contain valid information, diff --git a/multimedia/video_processing_engine/video_processing_types.h b/multimedia/video_processing_engine/video_processing_types.h index 51611e9ac..d863e2cf3 100644 --- a/multimedia/video_processing_engine/video_processing_types.h +++ b/multimedia/video_processing_engine/video_processing_types.h @@ -184,7 +184,7 @@ typedef enum VideoProcessing_ErrorCode { VIDEO_PROCESSING_ERROR_NO_MEMORY, /** @error The video processing instance is invalid. This may be caused by null instance. */ VIDEO_PROCESSING_ERROR_INVALID_INSTANCE, - /** @error Input parameter is invalid. This error is returned for all of the following error conditions: + /** @error Input value is invalid. This error is returned for all of the following error conditions: * 1 - Invalid input or output video buffer - The video buffer width(height) * is too large or colorspace is incorrect. * 2 - Invalid parameter - The parameter does not contain valid information, -- Gitee From c8e38bb487007a0e323ae0059f3d8fe5efe36c17 Mon Sep 17 00:00:00 2001 From: xzcbob Date: Fri, 9 Aug 2024 09:30:36 +0000 Subject: [PATCH 046/359] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9E=9A=E4=B8=BE=20?= =?UTF-8?q?OH=5FSCREEN=5FCAPTURE=5FSTATE=5FSTOPPED=5FBY=5FUSER=5FSWITCHES?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xzcbob --- multimedia/player_framework/native_avscreen_capture_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/player_framework/native_avscreen_capture_base.h b/multimedia/player_framework/native_avscreen_capture_base.h index b9a795eaf..0d5b35387 100644 --- a/multimedia/player_framework/native_avscreen_capture_base.h +++ b/multimedia/player_framework/native_avscreen_capture_base.h @@ -446,8 +446,8 @@ typedef enum OH_AVScreenCaptureStateCode { OH_SCREEN_CAPTURE_STATE_ENTER_PRIVATE_SCENE = 8, /* Private window disappeared on current captured screen*/ OH_SCREEN_CAPTURE_STATE_EXIT_PRIVATE_SCENE = 9, - /* ScreenCapture stopped by user switched */ - OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER_SWITCHED = 10, + /* ScreenCapture stopped by user switches */ + OH_SCREEN_CAPTURE_STATE_STOPPED_BY_USER_SWITCHES = 10, } OH_AVScreenCaptureStateCode; /** -- Gitee From 071fd1f16d99887b0aa7e0a5d716e56686c82464 Mon Sep 17 00:00:00 2001 From: li-jianchao1993 Date: Sat, 10 Aug 2024 14:22:50 +0800 Subject: [PATCH 047/359] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=E3=80=91=20=E6=96=B0=E5=A2=9E=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E5=90=8E=E5=A4=84=E7=90=86=E9=94=99=E8=AF=AF=E7=A0=81&?= =?UTF-8?q?=E7=9B=B8=E5=BA=94=E6=8E=A5=E5=8F=A3=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: li-jianchao1993 --- multimedia/av_codec/native_avcodec_base.h | 14 ++++++++++++++ multimedia/av_codec/native_avcodec_videodecoder.h | 2 ++ multimedia/media_foundation/native_averrors.h | 10 ++++++++++ 3 files changed, 26 insertions(+) diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index cdaeeed55..73f52ce50 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -940,6 +940,20 @@ extern const char *OH_MD_KEY_VIDEO_SAR; * @since 12 */ extern const char *OH_MD_KEY_START_TIME; +/** + * @brief Key for setting the output color space of video decoder. The value type is int32_t. + * The supported value is {@link OH_COLORSPACE_BT709_LIMIT}, see {@link OH_NativeBuffer_ColorSpace}. It is used in + * {@link OH_VideoDecoder_Configure}. If the color space conversion capability is supported and this key is configured, + * the video decoder will automatically transcode an HDR Vivid video to an SDR video with color space BT709. + * If color space conversion capability is not supported, {@link OH_VideoDecoder_Configure} returns + * {@link AV_ERR_VIDEO_UNSUPPORT_COLOR_SPACE_CONVERSION}. + * If the input video is not an HDR vivid video, an error {@link AV_ERR_VIDEO_UNSUPPORT_COLOR_SPACE_CONVERSION} will be + * reported by callback function {@link OH_AVCodecOnError}. + * + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 12 + */ +extern const char *OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE; /** * @brief Media type. diff --git a/multimedia/av_codec/native_avcodec_videodecoder.h b/multimedia/av_codec/native_avcodec_videodecoder.h index 012329d4f..0e7307a96 100644 --- a/multimedia/av_codec/native_avcodec_videodecoder.h +++ b/multimedia/av_codec/native_avcodec_videodecoder.h @@ -146,6 +146,8 @@ OH_AVErrCode OH_VideoDecoder_SetSurface(OH_AVCodec *codec, OHNativeWindow *windo * {@link AV_ERR_UNKNOWN}, unknown error. * {@link AV_ERR_SERVICE_DIED}, avcodec service is died. * {@link AV_ERR_INVALID_STATE}, this interface was called in invalid state, must be called before Prepare. + * {@link AV_ERR_UNSUPPORT}, unsupported features. + * {@link AV_ERR_VIDEO_UNSUPPORT_COLOR_SPACE_CONVERSION}, video unsupported color space conversion. * @since 9 */ OH_AVErrCode OH_VideoDecoder_Configure(OH_AVCodec *codec, OH_AVFormat *format); diff --git a/multimedia/media_foundation/native_averrors.h b/multimedia/media_foundation/native_averrors.h index cffaba60e..ff818f03a 100644 --- a/multimedia/media_foundation/native_averrors.h +++ b/multimedia/media_foundation/native_averrors.h @@ -92,6 +92,16 @@ typedef enum OH_AVErrCode { * @since 12 */ AV_ERR_DRM_DECRYPT_FAILED = 201, + /** + * @error video error base. + * @since 12 + */ + AV_ERR_VIDEO_BASE = 300, + /** + * @error video unsupported color space conversion. + * @since 12 + */ + AV_ERR_VIDEO_UNSUPPORT_COLOR_SPACE_CONVERSION = 301, } OH_AVErrCode; #ifdef __cplusplus -- Gitee From 52f1f287fac90fb04d1ed64a02449a0eb80a72b6 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Mon, 12 Aug 2024 01:38:58 +0000 Subject: [PATCH 048/359] add capi Signed-off-by: hellohyh001 Change-Id: I5519d7f2889fd459762c66a639875fcea6e9873a --- multimodalinput/kits/c/input/oh_input_manager.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 5ae7d4df7..a4d96ef4a 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -1174,6 +1174,19 @@ Input_Result OH_Input_RemoveKeyEventInterceptor(); * @since 12 */ Input_Result OH_Input_RemoveInputEventInterceptor(); + +/** + * @brief Obtains the interval since the last system input event. + * + * @param timeInterval Interval, in nanoseconds. + * @return OH_Input_GetIntervalSinceLastInput status code, specifically. + * {@Link INPUT_SUCCESS} if the Operation is successful.\n + * {@Link INPUT_SERVICE_EXCEPTION} otherwise.\n + * {@link INPUT_PARAMETER_ERROR} Parameter check failed.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +int32_t OH_Input_GetIntervalSinceLastInput(int64_t *timeInterval); #ifdef __cplusplus } #endif -- Gitee From 400d3b0815e1ca1a2c4d3e6c6a6f9943a317b470 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=BB=E6=AC=A3=E7=91=B6?= Date: Mon, 12 Aug 2024 02:02:09 +0000 Subject: [PATCH 049/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=97=A0=E5=BD=A2?= =?UTF-8?q?=E5=8F=82=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 任欣瑶 --- multimodalinput/kits/c/input/oh_input_manager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 1e6c0dd85..f55c4f32a 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -1187,7 +1187,7 @@ Input_Result OH_Input_AddInputEventInterceptor(Input_InterceptorEventCallback *c * @syscap SystemCapability.MultimodalInput.Input.Core * @since 12 */ -Input_Result OH_Input_RemoveKeyEventInterceptor(); +Input_Result OH_Input_RemoveKeyEventInterceptor(void); /** * @brief Removes an interceptor for input events, including mouse, touch, and axis events. @@ -1200,7 +1200,7 @@ Input_Result OH_Input_RemoveKeyEventInterceptor(); * @syscap SystemCapability.MultimodalInput.Input.Core * @since 12 */ -Input_Result OH_Input_RemoveInputEventInterceptor(); +Input_Result OH_Input_RemoveInputEventInterceptor(void); #ifdef __cplusplus } #endif -- Gitee From a8199fb59143486985bd1a65beaf94ede4177c0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=B9=94=E5=BC=82?= Date: Mon, 12 Aug 2024 10:30:50 +0800 Subject: [PATCH 050/359] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20metadata=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈乔异 --- .../include/image/pixelmap_native.h | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index 5f8be7c78..5a53806c6 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -765,6 +765,32 @@ Image_ErrorCode OH_PixelmapNative_ConvertAlphaFormat(OH_PixelmapNative* srcpixel Image_ErrorCode OH_PixelmapNative_CreateEmptyPixelmap( OH_Pixelmap_InitializationOptions *options, OH_PixelmapNative **pixelmap); +/** + * @brief Set metadata. + * + * @param pixelmap The Pixelmap pointer to be operated. + * @param key Type of metadata. + * @param value Value of metadata. + * @return Returns {@link Image_ErrorCode} + * @see OH_PixelmapNative + * @since 12 + */ +Image_ErrorCode OH_PixelmapNative_SetMetadata(OH_PixelmapNative *pixelmap, OH_Pixelmap_HdrMetadataKey key, + OH_Pixelmap_HdrMetadataValue *value); + +/** + * @brief Get metadata. + * + * @param pixelmap The Pixelmap pointer to be operated. + * @param key Type of metadata. + * @param value Value of metadata. + * @return Returns {@link Image_ErrorCode} + * @see OH_PixelmapNative + * @since 12 + */ +Image_ErrorCode OH_PixelmapNative_GetMetadata(OH_PixelmapNative *pixelmap, OH_Pixelmap_HdrMetadataKey key, + OH_Pixelmap_HdrMetadataValue **value); + #ifdef __cplusplus }; #endif -- Gitee From e8feff79fdb62ede5931b840dc29a8c9b60e37bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=B9=94=E5=BC=82?= Date: Mon, 12 Aug 2024 10:36:02 +0800 Subject: [PATCH 051/359] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈乔异 --- .../image_framework/include/image/pixelmap_native.h | 12 ++++++------ multimedia/image_framework/libpixelmap.ndk.json | 8 ++++++++ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index 5a53806c6..52ddbea8b 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -766,7 +766,7 @@ Image_ErrorCode OH_PixelmapNative_CreateEmptyPixelmap( OH_Pixelmap_InitializationOptions *options, OH_PixelmapNative **pixelmap); /** - * @brief Set metadata. + * @brief Get metadata. * * @param pixelmap The Pixelmap pointer to be operated. * @param key Type of metadata. @@ -775,11 +775,11 @@ Image_ErrorCode OH_PixelmapNative_CreateEmptyPixelmap( * @see OH_PixelmapNative * @since 12 */ -Image_ErrorCode OH_PixelmapNative_SetMetadata(OH_PixelmapNative *pixelmap, OH_Pixelmap_HdrMetadataKey key, - OH_Pixelmap_HdrMetadataValue *value); +Image_ErrorCode OH_PixelmapNative_GetMetadata(OH_PixelmapNative *pixelmap, OH_Pixelmap_HdrMetadataKey key, + OH_Pixelmap_HdrMetadataValue **value); /** - * @brief Get metadata. + * @brief Set metadata. * * @param pixelmap The Pixelmap pointer to be operated. * @param key Type of metadata. @@ -788,8 +788,8 @@ Image_ErrorCode OH_PixelmapNative_SetMetadata(OH_PixelmapNative *pixelmap, OH_Pi * @see OH_PixelmapNative * @since 12 */ -Image_ErrorCode OH_PixelmapNative_GetMetadata(OH_PixelmapNative *pixelmap, OH_Pixelmap_HdrMetadataKey key, - OH_Pixelmap_HdrMetadataValue **value); +Image_ErrorCode OH_PixelmapNative_SetMetadata(OH_PixelmapNative *pixelmap, OH_Pixelmap_HdrMetadataKey key, + OH_Pixelmap_HdrMetadataValue *value); #ifdef __cplusplus }; diff --git a/multimedia/image_framework/libpixelmap.ndk.json b/multimedia/image_framework/libpixelmap.ndk.json index f06f6b186..be4d2b8fe 100644 --- a/multimedia/image_framework/libpixelmap.ndk.json +++ b/multimedia/image_framework/libpixelmap.ndk.json @@ -147,6 +147,14 @@ "first_introduced": "12", "name": "OH_PixelmapNative_CreateEmptyPixelmap" }, + { + "first_introduced": "12", + "name": "OH_PixelmapNative_GetMetadata" + }, + { + "first_introduced": "12", + "name": "OH_PixelmapNative_SetMetadata" + }, { "first_introduced": "12", "name": "OH_PixelmapNative_ConvertPixelmapToNapi" -- Gitee From 4dbc87845039dc1fe01bcdd2789b5f2cfd2e91bd Mon Sep 17 00:00:00 2001 From: libliang Date: Mon, 12 Aug 2024 11:21:49 +0800 Subject: [PATCH 052/359] audio_session_native_1 Signed-off-by: libliang --- .../native_audio_session_manager.h | 221 ++++++++++++++++++ 1 file changed, 221 insertions(+) create mode 100644 multimedia/audio_framework/audio_manager/native_audio_session_manager.h diff --git a/multimedia/audio_framework/audio_manager/native_audio_session_manager.h b/multimedia/audio_framework/audio_manager/native_audio_session_manager.h new file mode 100644 index 000000000..a0284cf2e --- /dev/null +++ b/multimedia/audio_framework/audio_manager/native_audio_session_manager.h @@ -0,0 +1,221 @@ +/* + * Copyright (c) 2024 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 OHAudio + * @{ + * + * @brief Provide the definition of the C interface for the audio module. + * + * @syscap SystemCapability.Multimedia.Audio.Core + * + * @since 12 + * @version 1.0 + */ + +/** + * @file native_audio_session_manager.h + * + * @brief Declare audio session manager related interfaces. + * + * This file interfaces are used for the creation of audioSessionManager + * as well as activating/deactivating the audio session + * as well as checking and listening the audio session decativated events. + * + * @library libohaudio.so + * @syscap SystemCapability.Multimedia.Audio.Core + * @since 12 + * @version 1.0 + */ + +#ifndef NATIVE_AUDIO_SESSION_MANAGER_H +#define NATIVE_AUDIO_SESSION_MANAGER_H + +#include "native_audio_common.h" +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Declare the audio session manager. + * The handle of audio session manager is used for audio session related functions. + * + * @since 12 + */ +typedef struct OH_AudioSessionManager OH_AudioSessionManager; + +/** + * @brief Declare the audio concurrency modes. + * + * @since 12 + */ +typedef enum { + /** + * @brief default mode + */ + CONCURRENCY_DEFAULT = 0, + + /** + * @brief mix with others mode + */ + CONCURRENCY_MIX_WITH_OTHERS = 1, + + /** + * @brief duck others mode + */ + CONCURRENCY_DUCK_OTHERS = 2, + + /** + * @brief pause others mode + */ + CONCURRENCY_PAUSE_OTHERS = 3, +} OH_AudioSession_ConcurrencyMode; + +/** + * @brief Declare the audio deactivated reasons. + * + * @since 12 + */ +typedef enum { + /** + * @brief deactivated because of lower priority + */ + DEACTIVATED_LOWER_PRIORITY = 0, + + /** + * @brief deactivated because of timing out + */ + DEACTIVATED_TIMEOUT = 1, +} OH_AudioSession_DeactivatedReason; + +/** + * @brief declare the audio session strategy + * + * @since 12 + */ +typedef struct OH_AudioSession_Strategy { + /** + * @brief audio session concurrency mode + */ + OH_AudioSession_ConcurrencyMode concurrencyMode; +} OH_AudioSession_Strategy; + +/** + * @brief declare the audio session deactivated event + * + * @since 12 + */ +typedef struct OH_AudioSession_DeactivatedEvent { + /** + * @brief audio session deactivated reason + */ + OH_AudioSession_DeactivatedReason reason; +} OH_AudioSession_DeactivatedEvent; + +/** + * @brief This function pointer will point to the callback function that + * is used to return the audio session deactivated event. + * + * @param event the {@link #OH_AudioSession_DeactivatedEvent} deactivated triggering event. + * @since 12 + */ +typedef int32_t (*OH_AudioSession_DeactivatedCallback) ( + OH_AudioSession_DeactivatedEvent event); + +/** + * @brief Fetch the audio session manager handle. + * The audio session manager handle should be the first parameter in audio session related functions + * + * @param audioSessionManager the {@link #OH_AudioSessionManager} + * which will be returned as the output parameter + * @return {@link #AUDIOCOMMON_RESULT_SUCCESS} if execution succeeds + * or {@link #AUDIOCOMMON_RESULT_ERROR_SYSTEM} if system state error + * @since 12 + */ +OH_AudioCommon_Result OH_AudioManager_GetAudioSessionManager( + OH_AudioSessionManager **audioSessionManager); + +/** + * @brief Activate the audio session for the current pid application. + * + * @param audioSessionManager the {@link #OH_AudioSessionManager} + * returned by the {@link #OH_AudioManager_GetAudioSessionManager} + * @param strategy the {@link #OH_AudioSession_Strategy} + * which is used for setting audio session strategy + * @return {@link #AUDIOCOMMON_RESULT_SUCCESS} if execution succeeds + * or {@link #AUDIOCOMMON_REULT_INVALID_PARAM} if parameter validation fails + * or {@link #AUDIOCOMMON_RESULT_ERROR_ILLEGAL_STATE} if system illegal state + * @since 12 + */ +OH_AudioCommon_Result OH_AudioSessionManager_ActivateAudioSession( + OH_AudioSessionManager *audioSessionManager, OH_AudioSession_Strategy strategy); + +/** + * @brief Deactivate the audio session for the current pid application. + * + * @param audioSessionManager the {@link #OH_AudioSessionManager} + * returned by the {@link #OH_AudioManager_GetAudioSessionManager} + * @return {@link #AUDIOCOMMON_RESULT_SUCCESS} if execution succeeds + * or {@link #AUDIOCOMMON_REULT_INVALID_PARAM} if parameter validation fails + * or {@link #AUDIOCOMMON_RESULT_ERROR_ILLEGAL_STATE} if system illegal state + * @since 12 + */ +OH_AudioCommon_Result OH_AudioSessionManager_DeactivateAudioSession( + OH_AudioSessionManager *audioSessionManager); + +/** + * @brief Querying whether the current pid application has an activated audio session. + * + * @param audioSessionManager the {@link #OH_AudioSessionManager} + * returned by the {@link #OH_AudioManager_GetAudioSessionManager} + * @return True when the current pid application has an activated audio session + * False when it does not + * @since 12 + */ +bool OH_AudioSessionManager_IsAudioSessionActivated( + OH_AudioSessionManager *audioSessionManager); + +/** + * @brief Register the audio session deactivated event callback. + * + * @param audioSessionManager the {@link #OH_AudioSessionManager} + * returned by the {@link #OH_AudioManager_GetAudioSessionManager} + * @param callback the {@link #OH_AudioSession_DeactivatedCallback} which is used + * to receive the deactivated event + * @return {@link #AUDIOCOMMON_RESULT_SUCCESS} if execution succeeds + * or {@link #AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM} if parameter validation fails + * @since 12 + */ +OH_AudioCommon_Result OH_AudioSessionManager_RegisterSessionDeactivatedCallback( + OH_AudioSessionManager *audioSessionManager, OH_AudioSession_DeactivatedCallback callback); + +/** + * @brief Unregister the audio session deactivated event callback. + * + * @param audioSessionManager the {@link #OH_AudioSessionManager} + * returned by the {@link #OH_AudioManager_GetAudioSessionManager} + * @param callback the {@link #OH_AudioSession_DeactivatedCallback} which is used + * to receive the deactivated event + * @return {@link #AUDIOCOMMON_RESULT_SUCCESS} if execution succeeds + * or {@link #AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM} if parameter validation fails + * @since 12 + */ +OH_AudioCommon_Result OH_AudioSessionManager_UnregisterSessionDeactivatedCallback( + OH_AudioSessionManager *audioSessionManager, OH_AudioSession_DeactivatedCallback callback); +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // NATIVE_AUDIO_ROUTING_MANAGER_H \ No newline at end of file -- Gitee From 09fcfe1a42f6b9b6e5348fa5c1928da86aa3230e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=B9=94=E5=BC=82?= Date: Mon, 12 Aug 2024 14:22:21 +0800 Subject: [PATCH 053/359] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈乔异 --- multimedia/image_framework/include/image/image_common.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/multimedia/image_framework/include/image/image_common.h b/multimedia/image_framework/include/image/image_common.h index 6e50d7764..3c032aca8 100644 --- a/multimedia/image_framework/include/image/image_common.h +++ b/multimedia/image_framework/include/image/image_common.h @@ -119,12 +119,16 @@ typedef enum { IMAGE_SUCCESS = 0, /** invalid parameter */ IMAGE_BAD_PARAMETER = 401, + /** resource unavailable */ + IMAGE_RESOURCE_UNAVAILABLE = 501, /** unsupported mime type */ IMAGE_UNSUPPORTED_MIME_TYPE = 7600101, /** unknown mime type */ IMAGE_UNKNOWN_MIME_TYPE = 7600102, /** too large data or image */ IMAGE_TOO_LARGE = 7600103, + /** DMA memory does not exist */ + IMAGE_DMA_NOT_EXIST = 7600173, /** unsupported operations */ IMAGE_UNSUPPORTED_OPERATION = 7600201, /** unsupported metadata */ -- Gitee From df9d251552ad432bc9aae5dcbc1a7d9a8b7bea53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=B9=94=E5=BC=82?= Date: Mon, 12 Aug 2024 15:45:31 +0800 Subject: [PATCH 054/359] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈乔异 --- .../image_framework/include/image/pixelmap_native.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index 2b031f8d1..b5f19ec54 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -771,7 +771,11 @@ Image_ErrorCode OH_PixelmapNative_CreateEmptyPixelmap( * @param pixelmap The Pixelmap pointer to be operated. * @param key Type of metadata. * @param value Value of metadata. - * @return Returns {@link Image_ErrorCode} + * @return Returns {@link Image_ErrorCode} IMAGE_SUCCESS - if the operation is successful. + * returns {@link Image_ErrorCode} IMAGE_BAD_PARAMETER - if invalid parameter, x and y are incorrect. + * returns {@link Image_ErrorCode} IMAGE_TOO_LARGE - if image is too large. + * returns {@link Image_ErrorCode} IMAGE_ALLOC_FAILED - if device has no memory. + * returns {@link Image_ErrorCode} IMAGE_UNKNOWN_ERROR - inner unknown error, maybe source pixelmap is released. * @see OH_PixelmapNative * @since 12 */ @@ -784,7 +788,11 @@ Image_ErrorCode OH_PixelmapNative_GetMetadata(OH_PixelmapNative *pixelmap, OH_Pi * @param pixelmap The Pixelmap pointer to be operated. * @param key Type of metadata. * @param value Value of metadata. - * @return Returns {@link Image_ErrorCode} + * @return Returns {@link Image_ErrorCode} IMAGE_SUCCESS - if the operation is successful. + * returns {@link Image_ErrorCode} IMAGE_BAD_PARAMETER - if invalid parameter, x and y are incorrect. + * returns {@link Image_ErrorCode} IMAGE_TOO_LARGE - if image is too large. + * returns {@link Image_ErrorCode} IMAGE_ALLOC_FAILED - if device has no memory. + * returns {@link Image_ErrorCode} IMAGE_UNKNOWN_ERROR - inner unknown error, maybe source pixelmap is released. * @see OH_PixelmapNative * @since 12 */ -- Gitee From 4cb8b54f478e9d7e02b154a05d7dcd6f5353ec78 Mon Sep 17 00:00:00 2001 From: peng Date: Mon, 12 Aug 2024 08:04:14 +0000 Subject: [PATCH 055/359] del lbvc Signed-off-by: peng --- .../codec_base/libnative_media_codecbase.ndk.json | 4 ---- multimedia/av_codec/native_avcodec_base.h | 8 -------- 2 files changed, 12 deletions(-) diff --git a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json index 74292f25c..88ee0f832 100644 --- a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json +++ b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json @@ -59,10 +59,6 @@ "first_introduced": "11", "name": "OH_AVCODEC_MIMETYPE_AUDIO_G711MU" }, - { - "first_introduced": "12", - "name": "OH_AVCODEC_MIMETYPE_AUDIO_LBVC" - }, { "first_introduced": "12", "name": "OH_AVCODEC_MIMETYPE_AUDIO_APE" diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index cdaeeed55..0f62400e4 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -312,14 +312,6 @@ extern const char *OH_AVCODEC_MIMETYPE_AUDIO_OPUS; */ extern const char *OH_AVCODEC_MIMETYPE_AUDIO_G711MU; -/** - * @brief Enumerates the mime type of audio low bitrate voice codec. - * - * @syscap SystemCapability.Multimedia.Media.CodecBase - * @since 12 - */ -extern const char *OH_AVCODEC_MIMETYPE_AUDIO_LBVC; - /** * @brief Enumerates the mime type of audio ape codec. * -- Gitee From 1fc78a2a0032ce383556a9f6fe46280b594d7c43 Mon Sep 17 00:00:00 2001 From: shegangbin Date: Mon, 12 Aug 2024 16:31:04 +0800 Subject: [PATCH 056/359] fix Signed-off-by: shegangbin --- graphic/graphic_2d/native_vsync/native_vsync.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/graphic/graphic_2d/native_vsync/native_vsync.h b/graphic/graphic_2d/native_vsync/native_vsync.h index 85627485c..610fe1deb 100644 --- a/graphic/graphic_2d/native_vsync/native_vsync.h +++ b/graphic/graphic_2d/native_vsync/native_vsync.h @@ -77,7 +77,7 @@ void OH_NativeVSync_Destroy(OH_NativeVSync* nativeVsync); * @syscap SystemCapability.Graphic.Graphic2D.NativeVsync * @param nativeVsync Indicates the pointer to a NativeVsync. * @param callback Indicates the OH_NativeVSync_FrameCallback which will be called when next vsync coming. - * @param data Indicates data whick will be used in callback. + * @param data Indicates data which will be used in callback. * @return {@link NATIVE_ERROR_OK} 0 - Success. * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - the parameter nativeVsync is NULL or callback is NULL. * {@link NATIVE_ERROR_BINDER_ERROR} 50401000 - ipc send failed. @@ -93,7 +93,7 @@ int OH_NativeVSync_RequestFrame(OH_NativeVSync* nativeVsync, OH_NativeVSync_Fram * @syscap SystemCapability.Graphic.Graphic2D.NativeVsync * @param nativeVsync Indicates the pointer to a NativeVsync. * @param callback Indicates the OH_NativeVSync_FrameCallback which will be called when next vsync coming. - * @param data Indicates data whick will be used in callback. + * @param data Indicates data which will be used in callback. * @return {@link NATIVE_ERROR_OK} 0 - Success. * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - the parameter nativeVsync is NULL or callback is NULL. * {@link NATIVE_ERROR_BINDER_ERROR} 50401000 - ipc send failed. -- Gitee From 0cbee81ccda83afa3d44a0a25d18621c47be8871 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=B9=94=E5=BC=82?= Date: Mon, 12 Aug 2024 17:17:52 +0800 Subject: [PATCH 057/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81=E6=B3=A8=E9=87=8A=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈乔异 --- .../include/image/pixelmap_native.h | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index b5f19ec54..bf68694c0 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -772,10 +772,9 @@ Image_ErrorCode OH_PixelmapNative_CreateEmptyPixelmap( * @param key Type of metadata. * @param value Value of metadata. * @return Returns {@link Image_ErrorCode} IMAGE_SUCCESS - if the operation is successful. - * returns {@link Image_ErrorCode} IMAGE_BAD_PARAMETER - if invalid parameter, x and y are incorrect. - * returns {@link Image_ErrorCode} IMAGE_TOO_LARGE - if image is too large. - * returns {@link Image_ErrorCode} IMAGE_ALLOC_FAILED - if device has no memory. - * returns {@link Image_ErrorCode} IMAGE_UNKNOWN_ERROR - inner unknown error, maybe source pixelmap is released. + * returns {@link Image_ErrorCode} IMAGE_BAD_PARAMETER - if invalid parameter, key and value are incorrect. + * returns {@link Image_ErrorCode} IMAGE_DMA_NOT_EXIST - if DMA memory does not exist. + * returns {@link Image_ErrorCode} IMAGE_COPY_FAILED - if memory copy failed. * @see OH_PixelmapNative * @since 12 */ @@ -789,10 +788,9 @@ Image_ErrorCode OH_PixelmapNative_GetMetadata(OH_PixelmapNative *pixelmap, OH_Pi * @param key Type of metadata. * @param value Value of metadata. * @return Returns {@link Image_ErrorCode} IMAGE_SUCCESS - if the operation is successful. - * returns {@link Image_ErrorCode} IMAGE_BAD_PARAMETER - if invalid parameter, x and y are incorrect. - * returns {@link Image_ErrorCode} IMAGE_TOO_LARGE - if image is too large. - * returns {@link Image_ErrorCode} IMAGE_ALLOC_FAILED - if device has no memory. - * returns {@link Image_ErrorCode} IMAGE_UNKNOWN_ERROR - inner unknown error, maybe source pixelmap is released. + * returns {@link Image_ErrorCode} IMAGE_BAD_PARAMETER - if invalid parameter, key and value are incorrect. + * returns {@link Image_ErrorCode} IMAGE_DMA_NOT_EXIST - if DMA memory does not exist. + * returns {@link Image_ErrorCode} IMAGE_COPY_FAILED - if memory copy failed. * @see OH_PixelmapNative * @since 12 */ -- Gitee From 903a8c7c6fd8a64108db7745bd8ee003d7903865 Mon Sep 17 00:00:00 2001 From: zoulinken Date: Wed, 7 Aug 2024 17:54:09 +0800 Subject: [PATCH 058/359] =?UTF-8?q?C-API=20=E7=B3=BB=E7=BB=9F=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E5=8C=96=E6=8E=A5=E5=8F=A3=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zoulinken --- arkui/ace_engine/native/libace.ndk.json | 4 ++-- arkui/ace_engine/native/native_node.h | 9 ++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index 774365f3b..7e3b610ab 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -2129,10 +2129,10 @@ }, { "first_introduced": "12", - "name": "OH_ArkUI_SystemFontStyleEvent_GetFontSize" + "name": "OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale" }, { "first_introduced": "12", - "name": "OH_ArkUI_SystemFontStyleEvent_GetFontWeight" + "name": "OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 8442784be..15b036ed2 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -7729,20 +7729,19 @@ void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node); * @brief Retrieve the font size value for system font change events. * * @param event Indicates a pointer to the current system font change event. - * @return Updated system font size. -1 indicates a retrieval error. + * @return Updated system font size scaling factor. Default value: 1.0. * @since 12 */ -int32_t OH_ArkUI_SystemFontStyleEvent_GetFontSize(const ArkUI_SystemFontStyleEvent* event); +float OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(const ArkUI_SystemFontStyleEvent* event); /** * @brief Retrieve the font thickness values for system font change events. * * @param event Indicates a pointer to the current system font change event. - * @return Updated system font thickness, return value type {@link ArkUI_fontWeight}, - * default value:ARKUI_FONT_WEIGHT_W100。 + * @return The updated system font thickness scaling factor. Default value: 1.0. * @since 12 */ -int32_t OH_ArkUI_SystemFontStyleEvent_GetFontWeight(const ArkUI_SystemFontStyleEvent* event); +float OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(const ArkUI_SystemFontStyleEvent* event); #ifdef __cplusplus }; -- Gitee From 109fa769d25410a29baa8820ce57fd63c8889301 Mon Sep 17 00:00:00 2001 From: li-jianchao1993 Date: Mon, 12 Aug 2024 09:55:56 +0800 Subject: [PATCH 059/359] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E8=AF=B4?= =?UTF-8?q?=E6=98=8E=E3=80=91=20=E6=A0=B9=E6=8D=AE=E8=AF=84=E5=AE=A1?= =?UTF-8?q?=E6=84=8F=E8=A7=81=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: li-jianchao1993 --- multimedia/av_codec/native_avcodec_base.h | 6 +++--- multimedia/av_codec/native_avcodec_videodecoder.h | 2 +- multimedia/media_foundation/native_averrors.h | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index 73f52ce50..bde35e6ec 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -946,9 +946,9 @@ extern const char *OH_MD_KEY_START_TIME; * {@link OH_VideoDecoder_Configure}. If the color space conversion capability is supported and this key is configured, * the video decoder will automatically transcode an HDR Vivid video to an SDR video with color space BT709. * If color space conversion capability is not supported, {@link OH_VideoDecoder_Configure} returns - * {@link AV_ERR_VIDEO_UNSUPPORT_COLOR_SPACE_CONVERSION}. - * If the input video is not an HDR vivid video, an error {@link AV_ERR_VIDEO_UNSUPPORT_COLOR_SPACE_CONVERSION} will be - * reported by callback function {@link OH_AVCodecOnError}. + * {@link AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION}. + * If the input video is not an HDR vivid video, an error {@link AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION} will + * be reported by callback function {@link OH_AVCodecOnError}. * * @syscap SystemCapability.Multimedia.Media.CodecBase * @since 12 diff --git a/multimedia/av_codec/native_avcodec_videodecoder.h b/multimedia/av_codec/native_avcodec_videodecoder.h index 0e7307a96..7cb92a41c 100644 --- a/multimedia/av_codec/native_avcodec_videodecoder.h +++ b/multimedia/av_codec/native_avcodec_videodecoder.h @@ -147,7 +147,7 @@ OH_AVErrCode OH_VideoDecoder_SetSurface(OH_AVCodec *codec, OHNativeWindow *windo * {@link AV_ERR_SERVICE_DIED}, avcodec service is died. * {@link AV_ERR_INVALID_STATE}, this interface was called in invalid state, must be called before Prepare. * {@link AV_ERR_UNSUPPORT}, unsupported features. - * {@link AV_ERR_VIDEO_UNSUPPORT_COLOR_SPACE_CONVERSION}, video unsupported color space conversion. + * {@link AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION}, video unsupported color space conversion. * @since 9 */ OH_AVErrCode OH_VideoDecoder_Configure(OH_AVCodec *codec, OH_AVFormat *format); diff --git a/multimedia/media_foundation/native_averrors.h b/multimedia/media_foundation/native_averrors.h index ff818f03a..0a2a54d60 100644 --- a/multimedia/media_foundation/native_averrors.h +++ b/multimedia/media_foundation/native_averrors.h @@ -92,16 +92,16 @@ typedef enum OH_AVErrCode { * @since 12 */ AV_ERR_DRM_DECRYPT_FAILED = 201, - /** + /** * @error video error base. * @since 12 */ AV_ERR_VIDEO_BASE = 300, - /** + /** * @error video unsupported color space conversion. * @since 12 */ - AV_ERR_VIDEO_UNSUPPORT_COLOR_SPACE_CONVERSION = 301, + AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION = 301, } OH_AVErrCode; #ifdef __cplusplus -- Gitee From 0663d335f021c32e9e0d9614782951d354a949b6 Mon Sep 17 00:00:00 2001 From: KentZustc Date: Tue, 13 Aug 2024 02:28:14 +0000 Subject: [PATCH 060/359] update arkui/ace_engine/native/native_node.h. Signed-off-by: KentZustc --- arkui/ace_engine/native/native_node.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 8442784be..1a4e2baa7 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -1087,13 +1087,13 @@ typedef enum { * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is * ARKUI_BLEND_MODE_NONE. \n * .value[1].?i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. - * The default value is ARKUI_BLEND_APPLY_TYPE_FAST. \n + * The default value is BLEND_APPLY_TYPE_FAST. \n * \n * Format of the return value {@link ArkUI_AttributeItem}:\n * .value[0].i32: blend mode. The parameter type is {@link ArkUI_BlendMode}. The default value is * ARKUI_BLEND_MODE_NONE. \n * .value[1].i32: how the specified blend mode is applied. The parameter type is {@link ArkUI_BlendApplyType}. - * The default value is ARKUI_BLEND_APPLY_TYPE_FAST. \n + * The default value is BLEND_APPLY_TYPE_FAST. \n * */ NODE_BLEND_MODE, -- Gitee From 140992d7f952b7653ce55cdccd98a9e19a813483 Mon Sep 17 00:00:00 2001 From: y30025806 Date: Tue, 13 Aug 2024 14:46:30 +0800 Subject: [PATCH 061/359] add track start time Signed-off-by: y30025806 Change-Id: Iae8638ba8a25919bf8a0f03844aea4f05f9a4203 --- multimedia/av_codec/native_avcodec_base.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index cdaeeed55..2dba60541 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -940,7 +940,13 @@ extern const char *OH_MD_KEY_VIDEO_SAR; * @since 12 */ extern const char *OH_MD_KEY_START_TIME; - +/** + * @brief Key for start time of track, value type is int64_t. + * + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 12 + */ +extern const char *OH_MD_KEY_TRACK_START_TIME; /** * @brief Media type. * -- Gitee From 22b1e860577585216d6656e2e6df52629fff80ed Mon Sep 17 00:00:00 2001 From: yuanzhipu <2710242656@qq.com> Date: Tue, 13 Aug 2024 16:53:10 +0800 Subject: [PATCH 062/359] open ffrt recursive mutex Signed-off-by: yuanzhipu <2710242656@qq.com> --- resourceschedule/ffrt/c/mutex.h | 47 ++++++++++++++++++++++++++++++ resourceschedule/ffrt/c/type_def.h | 17 +++++++++++ 2 files changed, 64 insertions(+) diff --git a/resourceschedule/ffrt/c/mutex.h b/resourceschedule/ffrt/c/mutex.h index eb76379ba..1671a104a 100644 --- a/resourceschedule/ffrt/c/mutex.h +++ b/resourceschedule/ffrt/c/mutex.h @@ -39,6 +39,53 @@ #define FFRT_API_C_MUTEX_H #include "type_def.h" +/** + * @brief Initializes mutex attr. + * + * @param mutex Indicates a pointer to the mutex. + * @param attr Indicates a pointer to the mutex attribute. + * @return {@link ffrt_success} 0 - success + {@link ffrt_error_inval} 22 - if attr is null. + * @since 12 + * @version 1.0 + */ +FFRT_C_API int ffrt_mutexattr_init(ffrt_mutexattr_t* attr); + +/** + * @brief set mutex type. + * + * @param attr Indicates a pointer to the mutex attribute. + * @param type Indicates a int to the mutex type. + * @return {@link ffrt_success} 0 - success + {@link ffrt_error_inval} 22 - if attr is null or type is not 0 or 2. + * @since 12 + * @version 1.0 + */ +FFRT_C_API int ffrt_mutexattr_settype(ffrt_mutexattr_t* attr, int type); + +/** + * @brief get mutex type. + * + * @param attr Indicates a pointer to the mutex attribute. + * @param type Indicates a pointer to the mutex type. + * @return {@link ffrt_success} 0 - success + {@link ffrt_error_inval} 22 - if attr is null or type is null. + * @since 12 + * @version 1.0 + */ +FFRT_C_API int ffrt_mutexattr_gettype(ffrt_mutexattr_t* attr, int* type); + +/** + * @brief destroy mutex attr, the user needs to invoke this interface. + * + * @param attr Indicates a pointer to the mutex attribute. + * @return {@link ffrt_success} 0 - success + {@link ffrt_error_inval} 22 - if attr is null. + * @since 12 + * @version 1.0 + */ +FFRT_C_API int ffrt_mutexattr_destroy(ffrt_mutexattr_t* attr); + /** * @brief Initializes a mutex. * diff --git a/resourceschedule/ffrt/c/type_def.h b/resourceschedule/ffrt/c/type_def.h index c929b5ff9..8d9f7c1ab 100644 --- a/resourceschedule/ffrt/c/type_def.h +++ b/resourceschedule/ffrt/c/type_def.h @@ -183,6 +183,23 @@ typedef struct { long storage; } ffrt_mutexattr_t; +/** + * @brief ffrt mutex type enum + * + * Describes the mutex type, ffrt_mutex_normal is normal mutex; + * ffrt_mutex_recursive is recursive mutex, ffrt_mutex_default is normal mutex. + * + * @since 12 + */ +typedef enum { + /** ffrt normal mutex type */ + ffrt_mutex_normal = 0, + /** ffrt recursive mutex type */ + ffrt_mutex_recursive = 2, + /** ffrt default mutex type */ + ffrt_mutex_default = ffrt_mutex_normal +} ffrt_mutex_type; + typedef struct { uint32_t storage[(ffrt_mutex_storage_size + sizeof(uint32_t) - 1) / sizeof(uint32_t)]; } ffrt_mutex_t; -- Gitee From 4aebf9df49e27b6614657ce16cb43e1da7516213 Mon Sep 17 00:00:00 2001 From: yuanzhipu <2710242656@qq.com> Date: Tue, 13 Aug 2024 16:56:26 +0800 Subject: [PATCH 063/359] open ffrt recursive mutex Signed-off-by: yuanzhipu <2710242656@qq.com> --- resourceschedule/ffrt/ffrt.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resourceschedule/ffrt/ffrt.ndk.json b/resourceschedule/ffrt/ffrt.ndk.json index 0c83414e0..41cb9cc5a 100644 --- a/resourceschedule/ffrt/ffrt.ndk.json +++ b/resourceschedule/ffrt/ffrt.ndk.json @@ -5,6 +5,10 @@ { "name": "ffrt_cond_wait" }, { "name": "ffrt_cond_timedwait" }, { "name": "ffrt_cond_destroy" }, + { "name": "ffrt_mutexattr_init"}, + { "name": "ffrt_mutexattr_settype"}, + { "name": "ffrt_mutexattr_gettype"}, + { "name": "ffrt_mutexattr_destroy"}, { "name": "ffrt_mutex_init" }, { "name": "ffrt_mutex_lock" }, { "name": "ffrt_mutex_unlock" }, -- Gitee From 3615852942546a6d8dbf18f461de24e6bcae9fc5 Mon Sep 17 00:00:00 2001 From: libliang Date: Tue, 13 Aug 2024 17:48:24 +0800 Subject: [PATCH 064/359] fix pointer issue Signed-off-by: libliang --- .../audio_manager/native_audio_session_manager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/audio_framework/audio_manager/native_audio_session_manager.h b/multimedia/audio_framework/audio_manager/native_audio_session_manager.h index a0284cf2e..34898557e 100644 --- a/multimedia/audio_framework/audio_manager/native_audio_session_manager.h +++ b/multimedia/audio_framework/audio_manager/native_audio_session_manager.h @@ -152,7 +152,7 @@ OH_AudioCommon_Result OH_AudioManager_GetAudioSessionManager( * * @param audioSessionManager the {@link #OH_AudioSessionManager} * returned by the {@link #OH_AudioManager_GetAudioSessionManager} - * @param strategy the {@link #OH_AudioSession_Strategy} + * @param strategy pointer of {@link #OH_AudioSession_Strategy} * which is used for setting audio session strategy * @return {@link #AUDIOCOMMON_RESULT_SUCCESS} if execution succeeds * or {@link #AUDIOCOMMON_REULT_INVALID_PARAM} if parameter validation fails @@ -160,7 +160,7 @@ OH_AudioCommon_Result OH_AudioManager_GetAudioSessionManager( * @since 12 */ OH_AudioCommon_Result OH_AudioSessionManager_ActivateAudioSession( - OH_AudioSessionManager *audioSessionManager, OH_AudioSession_Strategy strategy); + OH_AudioSessionManager *audioSessionManager, const OH_AudioSession_Strategy *strategy); /** * @brief Deactivate the audio session for the current pid application. -- Gitee From 7de9398592f1efabaaae00674a71392dd4a853a0 Mon Sep 17 00:00:00 2001 From: yuanzhipu <2710242656@qq.com> Date: Tue, 13 Aug 2024 19:28:36 +0800 Subject: [PATCH 065/359] open ffrt recursive mutex Signed-off-by: yuanzhipu <2710242656@qq.com> --- resourceschedule/ffrt/c/mutex.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/resourceschedule/ffrt/c/mutex.h b/resourceschedule/ffrt/c/mutex.h index 1671a104a..1c397cdd3 100644 --- a/resourceschedule/ffrt/c/mutex.h +++ b/resourceschedule/ffrt/c/mutex.h @@ -45,7 +45,7 @@ * @param mutex Indicates a pointer to the mutex. * @param attr Indicates a pointer to the mutex attribute. * @return {@link ffrt_success} 0 - success - {@link ffrt_error_inval} 22 - if attr is null. + * {@link ffrt_error_inval} 22 - if attr is null. * @since 12 * @version 1.0 */ @@ -56,8 +56,8 @@ FFRT_C_API int ffrt_mutexattr_init(ffrt_mutexattr_t* attr); * * @param attr Indicates a pointer to the mutex attribute. * @param type Indicates a int to the mutex type. - * @return {@link ffrt_success} 0 - success - {@link ffrt_error_inval} 22 - if attr is null or type is not 0 or 2. + * @return {@link ffrt_success} 0 - success. + * {@link ffrt_error_inval} 22 - if attr is null or type is not 0 or 2. * @since 12 * @version 1.0 */ @@ -68,8 +68,8 @@ FFRT_C_API int ffrt_mutexattr_settype(ffrt_mutexattr_t* attr, int type); * * @param attr Indicates a pointer to the mutex attribute. * @param type Indicates a pointer to the mutex type. - * @return {@link ffrt_success} 0 - success - {@link ffrt_error_inval} 22 - if attr is null or type is null. + * @return {@link ffrt_success} 0 - success. + * {@link ffrt_error_inval} 22 - if attr is null or type is null. * @since 12 * @version 1.0 */ @@ -79,8 +79,8 @@ FFRT_C_API int ffrt_mutexattr_gettype(ffrt_mutexattr_t* attr, int* type); * @brief destroy mutex attr, the user needs to invoke this interface. * * @param attr Indicates a pointer to the mutex attribute. - * @return {@link ffrt_success} 0 - success - {@link ffrt_error_inval} 22 - if attr is null. + * @return {@link ffrt_success} 0 - success. + * {@link ffrt_error_inval} 22 - if attr is null. * @since 12 * @version 1.0 */ -- Gitee From 9bcc5d9ce1b4aec115843097b97a34687bc2dd35 Mon Sep 17 00:00:00 2001 From: zhenghongda <13135671+zhenghongda@user.noreply.gitee.com> Date: Tue, 13 Aug 2024 12:31:42 +0000 Subject: [PATCH 066/359] Fix unknown type name 'bool' error. Signed-off-by: zhenghongda --- multimedia/drm_framework/native_mediakeysession.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/multimedia/drm_framework/native_mediakeysession.h b/multimedia/drm_framework/native_mediakeysession.h index 8afa6cfbe..1eec1dfc3 100644 --- a/multimedia/drm_framework/native_mediakeysession.h +++ b/multimedia/drm_framework/native_mediakeysession.h @@ -38,6 +38,7 @@ #define OHOS_DRM_NATIVE_MEDIA_KEY_SESSION_H #include +#include #include #include "native_drm_err.h" #include "native_drm_common.h" @@ -300,4 +301,4 @@ Drm_ErrCode OH_MediaKeySession_Destroy(MediaKeySession *mediaKeySessoin); } #endif -#endif // OHOS_DRM_NATIVE_MEDIA_KEY_SYSTEM_H \ No newline at end of file +#endif // OHOS_DRM_NATIVE_MEDIA_KEY_SYSTEM_H -- Gitee From a5ee17ddadda6a43ceb29b4126818a3ad95cb09f Mon Sep 17 00:00:00 2001 From: zhangkai Date: Tue, 13 Aug 2024 21:40:56 +0800 Subject: [PATCH 067/359] =?UTF-8?q?ohaudio=20=E5=AF=BC=E5=85=A5stdbool.h?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangkai --- multimedia/audio_framework/audio_renderer/native_audiorenderer.h | 1 + 1 file changed, 1 insertion(+) diff --git a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h index 226b9c980..baf29a672 100644 --- a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h +++ b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h @@ -40,6 +40,7 @@ #ifndef NATIVE_AUDIORENDERER_H #define NATIVE_AUDIORENDERER_H +#include #include #include "native_audiostream_base.h" #include "multimedia/native_audio_channel_layout.h" -- Gitee From 87edf2d2b0fe37e74a11a3de3773630266b0b314 Mon Sep 17 00:00:00 2001 From: 0165418301 Date: Wed, 14 Aug 2024 01:29:56 +0000 Subject: [PATCH 068/359] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=A7=84=E8=8C=83?= =?UTF-8?q?=E6=80=A7=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 0165418301 --- multimedia/player_framework/avplayer.h | 1 + 1 file changed, 1 insertion(+) diff --git a/multimedia/player_framework/avplayer.h b/multimedia/player_framework/avplayer.h index d2d7aa7e8..ab0d17cd3 100644 --- a/multimedia/player_framework/avplayer.h +++ b/multimedia/player_framework/avplayer.h @@ -39,6 +39,7 @@ #ifndef MULTIMEDIA_PLAYER_FRAMEWORK_NATIVE_AVPLAYER_H #define MULTIMEDIA_PLAYER_FRAMEWORK_NATIVE_AVPLAYER_H +#include #include #include #include "native_averrors.h" -- Gitee From c1c1dfb1a82ac9dfa6ff124754d3f3497b972e85 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Wed, 14 Aug 2024 01:58:27 +0000 Subject: [PATCH 069/359] Add interface capi Signed-off-by: hellohyh001 Change-Id: If648b8328fd621659191dd8f047179ba9edc4929 --- multimodalinput/kits/c/input/oh_input_manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index a4d96ef4a..479df3903 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -1181,7 +1181,7 @@ Input_Result OH_Input_RemoveInputEventInterceptor(); * @param timeInterval Interval, in nanoseconds. * @return OH_Input_GetIntervalSinceLastInput status code, specifically. * {@Link INPUT_SUCCESS} if the Operation is successful.\n - * {@Link INPUT_SERVICE_EXCEPTION} otherwise.\n + * {@Link INPUT_SERVICE_EXCEPTION} Failed to get the interval because the service is exception.\n * {@link INPUT_PARAMETER_ERROR} Parameter check failed.\n * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 -- Gitee From 9f321ac5644004cf368c59d79a230fa3489f48eb Mon Sep 17 00:00:00 2001 From: yuanzhipu <2710242656@qq.com> Date: Wed, 14 Aug 2024 12:03:48 +0800 Subject: [PATCH 070/359] open ffrt recursive mutex Signed-off-by: yuanzhipu <2710242656@qq.com> --- resourceschedule/ffrt/ffrt.ndk.json | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/resourceschedule/ffrt/ffrt.ndk.json b/resourceschedule/ffrt/ffrt.ndk.json index 41cb9cc5a..397494c37 100644 --- a/resourceschedule/ffrt/ffrt.ndk.json +++ b/resourceschedule/ffrt/ffrt.ndk.json @@ -5,10 +5,22 @@ { "name": "ffrt_cond_wait" }, { "name": "ffrt_cond_timedwait" }, { "name": "ffrt_cond_destroy" }, - { "name": "ffrt_mutexattr_init"}, - { "name": "ffrt_mutexattr_settype"}, - { "name": "ffrt_mutexattr_gettype"}, - { "name": "ffrt_mutexattr_destroy"}, + { + "first_introduced": "12", + "name": "ffrt_mutexattr_init" + }, + { + "first_introduced": "12", + "name": "ffrt_mutexattr_settype" + }, + { + "first_introduced": "12", + "name": "ffrt_mutexattr_gettype" + }, + { + "first_introduced": "12", + "name": "ffrt_mutexattr_destroy" + }, { "name": "ffrt_mutex_init" }, { "name": "ffrt_mutex_lock" }, { "name": "ffrt_mutex_unlock" }, -- Gitee From 57fae1328c224bdec9b8c7db39cec3b9571858fd Mon Sep 17 00:00:00 2001 From: milkpotatoes Date: Tue, 13 Aug 2024 20:30:08 +0800 Subject: [PATCH 071/359] Add description for napi_coerce_to_native_binding_object Issue: https://gitee.com/openharmony/interface_sdk_c/issues/IAJT2E Signed-off-by: milkpotatoes Change-Id: Ieb0e4680e79308e92ab289ce95405dfa96883ed4 --- arkui/napi/native_api.h | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/arkui/napi/native_api.h b/arkui/napi/native_api.h index 7cbab661d..a45ce8476 100644 --- a/arkui/napi/native_api.h +++ b/arkui/napi/native_api.h @@ -72,7 +72,19 @@ NAPI_INNER_EXTERN napi_status napi_adjust_external_memory(napi_env env, extern "C" { #endif +/** + * @brief Native detach callback of napi_coerce_to_native_binding_object that can be used to + * detach the js object and the native object. + * + * @since 11 + */ typedef void* (*napi_native_binding_detach_callback)(napi_env env, void* native_object, void* hint); +/** + * @brief Native attach callback of napi_coerce_to_native_binding_object that can be used to + * bind the js object and the native object. + * + * @since 11 + */ typedef napi_value (*napi_native_binding_attach_callback)(napi_env env, void* native_object, void* hint); NAPI_EXTERN napi_status napi_run_script_path(napi_env env, const char* path, napi_value* result); @@ -130,6 +142,18 @@ NAPI_EXTERN napi_status napi_create_object_with_named_properties(napi_env env, size_t property_count, const char** keys, const napi_value* values); +/** + * @brief This API sets native properties to a object and converts this js object to native binding object. + * + * @param[in] env Current running virtual machine context. + * @param[in] js_object The JavaScript value to coerce. + * @param[in] detach_cb Native callback that can be used to detach the js object and the native object. + * @param[in] attach_cb Native callback that can be used to bind the js object and the native object. + * @param[in] native_object User-provided native instance to pass to thr detach callback and attach callback. + * @param[in] hint Optional hint to pass to the detach callback and attach callback. + * @return Return the function execution status. + * @since 11 + */ NAPI_EXTERN napi_status napi_coerce_to_native_binding_object(napi_env env, napi_value js_object, napi_native_binding_detach_callback detach_cb, -- Gitee From b1d9517efa3bfe83151121ae47a39d216aecba0b Mon Sep 17 00:00:00 2001 From: j00466033 Date: Fri, 9 Aug 2024 20:24:29 +0800 Subject: [PATCH 072/359] postmessage ndk interfaces Signed-off-by: j00466033 Change-Id: Ie9d9c49f0e279f24beb04ba9f8f62076d6711d05 Signed-off-by: j00466033 --- .../interfaces/native/arkweb_error_code.h | 6 + .../interfaces/native/arkweb_interface.h | 4 + web/webview/interfaces/native/arkweb_type.h | 178 +++++++++++++++++- 3 files changed, 187 insertions(+), 1 deletion(-) diff --git a/web/webview/interfaces/native/arkweb_error_code.h b/web/webview/interfaces/native/arkweb_error_code.h index 2162e368c..0ebf021f9 100644 --- a/web/webview/interfaces/native/arkweb_error_code.h +++ b/web/webview/interfaces/native/arkweb_error_code.h @@ -33,6 +33,12 @@ #define ARKWEB_ERROR_CODE_H typedef enum ArkWeb_ErrorCode { +/** @error Success. */ +ARKWEB_SUCCESS = 0, + +/** @error Init error. */ +ARKWEB_INIT_ERROR = 17100001, + /** @error Unknown error. */ ARKWEB_ERROR_UNKNOWN = 17100100, diff --git a/web/webview/interfaces/native/arkweb_interface.h b/web/webview/interfaces/native/arkweb_interface.h index d0b1fa45a..7b60c5bcb 100644 --- a/web/webview/interfaces/native/arkweb_interface.h +++ b/web/webview/interfaces/native/arkweb_interface.h @@ -59,6 +59,10 @@ typedef enum { ARKWEB_NATIVE_COMPONENT, /** API type related to ArkWeb controller. */ ARKWEB_NATIVE_CONTROLLER, + /** API type related to ArkWeb WebMessagePort. */ + ARKWEB_NATIVE_WEB_MESSAGE_PORT, + /** API type related to ArkWeb WebMessage. */ + ARKWEB_NATIVE_WEB_MESSAGE, } ArkWeb_NativeAPIVariantKind; /* diff --git a/web/webview/interfaces/native/arkweb_type.h b/web/webview/interfaces/native/arkweb_type.h index c63cfc26f..2a1d56d64 100644 --- a/web/webview/interfaces/native/arkweb_type.h +++ b/web/webview/interfaces/native/arkweb_type.h @@ -36,6 +36,8 @@ #include #include +#include "arkweb_error_code.h" + #ifdef __cplusplus extern "C" { #endif @@ -52,6 +54,27 @@ typedef struct { size_t size; } ArkWeb_JavaScriptBridgeData; +/** + * @brief Defines the data type carried in a ArkWeb_WebMessage. + * + * @since 12 + */ +typedef enum ArkWeb_WebMessageType { + /** Represent error data */ + ARKWEB_NONE = 0, + /** The data carried in the ArkWeb_WebMessage is string. */ + ARKWEB_STRING, + /** The data carried in the ArkWeb_WebMessage is buffer(uint8_t). */ + ARKWEB_BUFFER +} ArkWeb_WebMessageType; + +/** + * @brief Defines the ArkWeb_WebMessage. + * + * @since 12 + */ +typedef struct ArkWeb_WebMessage* ArkWeb_WebMessagePtr; + /** * @brief Defines the javascript callback of the native ArkWeb. * @@ -75,6 +98,26 @@ typedef void (*ArkWeb_OnJavaScriptProxyCallback)( */ typedef void (*ArkWeb_OnComponentCallback)(const char* webTag, void* userData); +/** + * @brief Defines the ArkWeb_WebMessagePort that represent a HTML5 message port. + * + * @since 12 + */ +typedef struct ArkWeb_WebMessagePort* ArkWeb_WebMessagePortPtr; + +/** + * @brief Defines the callback to receive message from HTML. + * + * @param webTag The name of the web component. + * @param port The ArkWeb_WebMessagePort for registering the ArkWeb_OnMessageEventHandler. + * @param message The received ArkWeb_WebMessage. + * @param userData The data set by user. + * + * @since 12 + */ +typedef void (*ArkWeb_OnMessageEventHandler)( + const char* webTag, const ArkWeb_WebMessagePortPtr port, const ArkWeb_WebMessagePtr message, void* userData); + /** * @brief Defines the javascript object. * @@ -121,6 +164,9 @@ typedef struct { /** * @brief Defines the controller API for native ArkWeb. + * Before invoking an API, you are advised to use ARKWEB_MEMBER_MISSING to check + * whether the function structure has a corresponding function pointer to avoid crash + * caused by mismatch between the SDK and the device ROM. * * @since 12 */ @@ -137,6 +183,37 @@ typedef struct { void (*refresh)(const char* webTag); /** Register the JavaScript object and async method list. */ void (*registerAsyncJavaScriptProxy)(const char* webTag, const ArkWeb_ProxyObject* proxyObject); + /** + * @brief Creates a message channel to communicate with HTML and returns + * the message ports representing the message channel endpoints. + * + * @param webTag The name of the web component. + * @param size The quantity of message ports. + */ + ArkWeb_WebMessagePortPtr* (*createWebMessagePorts)(const char* webTag, size_t* size); + + /** + * @brief Destroy message ports. + * + * @param ports Address of the message ports array pointer. + * @param size The quantity of message ports. + */ + void (*destroyWebMessagePorts)(ArkWeb_WebMessagePortPtr** ports, size_t size); + + /** + * @brief Post message ports to main frame. + * + * @param webTag The name of the web component. + * @param name Name of the message to be sent. + * @param size The quantity of message ports. + * @param url Indicates the URI for receiving the message. + * @return Post web message result code. + * {@link ARKWEB_SUCCESS} post web message success. + * {@link ARKWEB_INVALID_PARAM} the parameter verification fails. + * {@link ARKWEB_INIT_ERROR} no web associated with this webTag. + */ + ArkWeb_ErrorCode (*postWebMessage)( + const char* webTag, const char* name, ArkWeb_WebMessagePortPtr* webMessagePorts, size_t size, const char* url); } ArkWeb_ControllerAPI; /** @@ -157,6 +234,105 @@ typedef struct { void (*onDestroy)(const char* webTag, ArkWeb_OnComponentCallback callback, void* userData); } ArkWeb_ComponentAPI; +/** + * @brief Defines the web message API for native ArkWeb. + * Before invoking an API, you are advised to use ARKWEB_MEMBER_MISSING to check + * whether the function structure has a corresponding function pointer to avoid crash + * caused by mismatch between the SDK and the device ROM. + * + * @since 12 + */ +typedef struct { + /** The ArkWeb_WebMessagePortAPI struct size. */ + size_t size; + /** + * @brief Post message to HTML. + * + * @param webMessagePort The ArkWeb_WebMessagePort. + * @param webTag The name of the web component. + * @param webMessage The ArkWeb_WebMessage to send. + * @return Post message result code. + * {@link ARKWEB_SUCCESS} post message success. + * {@link ARKWEB_INVALID_PARAM} the parameter verification fails. + * {@link ARKWEB_INIT_ERROR} no web associated with this webTag. + */ + ArkWeb_ErrorCode (*postMessage)( + const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, const ArkWeb_WebMessagePtr webMessage); + /** + * @brief Close the message port. + * + * @param webMessagePort The ArkWeb_WebMessagePort. + * @param webTag The name of the web component. + */ + void (*close)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag); + /** + * @brief Set a callback to receive message from HTML. + * + * @param webMessagePort The ArkWeb_WebMessagePort. + * @param webTag The name of the web component. + * @param messageEventHandler The handler to receive message from HTML. + * @param userData The data set by user. + */ + void (*setMessageEventHandler)(const ArkWeb_WebMessagePortPtr webMessagePort, const char* webTag, + ArkWeb_OnMessageEventHandler messageEventHandler, void* userData); +} ArkWeb_WebMessagePortAPI; + +/** + * @brief Defines the web message data API for native ArkWeb. + * Before invoking an API, you are advised to use ARKWEB_MEMBER_MISSING to check + * whether the function structure has a corresponding function pointer to avoid crash + * caused by mismatch between the SDK and the device ROM. + * + * @since 12 + */ +typedef struct { + /** The ArkWeb_WebMessageAPI struct size. */ + size_t size; + /** + * @brief Used to create a ArkWeb_WebMessage. + * + * @return The created ArkWeb_WebMessage, destroy it through + * destroyWebMessage after it is no longer used. + */ + ArkWeb_WebMessagePtr (*createWebMessage)(); + /** + * @brief Used to destroy a ArkWeb_WebMessage. + * + * @param webMessage The ArkWeb_WebMessage to destroy. + */ + void (*destroyWebMessage)(ArkWeb_WebMessagePtr* webMessage); + /** + * @brief Set the type of ArkWeb_WebMessage. + * + * @param webMessage The ArkWeb_WebMessage. + * @param type The type of ArkWeb_WebMessage. + */ + void (*setType)(ArkWeb_WebMessagePtr webMessage, ArkWeb_WebMessageType type); + /** + * @brief Get the type of ArkWeb_WebMessage. + * + * @param webMessage The ArkWeb_WebMessage. + * @return The type of ArkWeb_WebMessage. + */ + ArkWeb_WebMessageType (*getType)(ArkWeb_WebMessagePtr webMessage); + /** + * @brief Set the data of ArkWeb_WebMessage. + * + * @param webMessage The ArkWeb_WebMessage. + * @param data The data of ArkWeb_WebMessage. + * @param dataLength The length of data. + */ + void (*setData)(ArkWeb_WebMessagePtr webMessage, void* data, size_t dataLength); + /** + * @brief Get the data of ArkWeb_WebMessage. + * + * @param webMessage The ArkWeb_WebMessage. + * @param dataLength The length of data. + * @return The data of ArkWeb_WebMessage. + */ + void* (*getData)(ArkWeb_WebMessagePtr webMessage, size_t* dataLength); +} ArkWeb_WebMessageAPI; + /** * @brief Check whether the member variables of the current struct exist. * @@ -173,6 +349,6 @@ typedef struct { #define ARKWEB_MEMBER_MISSING(s, f) (!ARKWEB_MEMBER_EXISTS(s, f) || !((s)->f)) #ifdef __cplusplus -}; +} #endif #endif // ARKWEB_TYPE_H \ No newline at end of file -- Gitee From 4fa0cfaec26d96997e4e702d909d29d759158245 Mon Sep 17 00:00:00 2001 From: y30025806 Date: Wed, 14 Aug 2024 20:26:11 +0800 Subject: [PATCH 073/359] add start time Signed-off-by: y30025806 Change-Id: I114d276a486588630c97c443eb426f8209c359f6 --- .../av_codec/codec_base/libnative_media_codecbase.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json index 74292f25c..43ffa275e 100644 --- a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json +++ b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json @@ -387,6 +387,10 @@ "first_introduced": "12", "name": "OH_MD_KEY_START_TIME" }, + { + "first_introduced": "12", + "name": "OH_MD_KEY_TRACK_START_TIME" + }, { "first_introduced": "10", "name": "OH_AVCodec_GetCapability" -- Gitee From dd0019bd50d2497e3e9a80f17baef8471cc12b48 Mon Sep 17 00:00:00 2001 From: y30025806 Date: Wed, 14 Aug 2024 20:29:45 +0800 Subject: [PATCH 074/359] fix conflic Signed-off-by: y30025806 Change-Id: I3b4c70769c72b330a6e2275501b453210faa4320 --- multimedia/av_codec/native_avcodec_base.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index 2dba60541..d74d09f98 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -940,6 +940,20 @@ extern const char *OH_MD_KEY_VIDEO_SAR; * @since 12 */ extern const char *OH_MD_KEY_START_TIME; +/** + * @brief Key for setting the output color space of video decoder. The value type is int32_t. + * The supported value is {@link OH_COLORSPACE_BT709_LIMIT}, see {@link OH_NativeBuffer_ColorSpace}. It is used in + * {@link OH_VideoDecoder_Configure}. If the color space conversion capability is supported and this key is configured, + * the video decoder will automatically transcode an HDR Vivid video to an SDR video with color space BT709. + * If color space conversion capability is not supported, {@link OH_VideoDecoder_Configure} returns + * {@link AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION}. + * If the input video is not an HDR vivid video, an error {@link AV_ERR_VIDEO_UNSUPPORTED_COLOR_SPACE_CONVERSION} will + * be reported by callback function {@link OH_AVCodecOnError}. + * + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 12 + */ +extern const char *OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE; /** * @brief Key for start time of track, value type is int64_t. * @@ -947,6 +961,7 @@ extern const char *OH_MD_KEY_START_TIME; * @since 12 */ extern const char *OH_MD_KEY_TRACK_START_TIME; + /** * @brief Media type. * -- Gitee From 3f5e1f96367fa9c2587589d844a42971bce49fcc Mon Sep 17 00:00:00 2001 From: y30025806 Date: Wed, 14 Aug 2024 20:37:22 +0800 Subject: [PATCH 075/359] fix conflic Signed-off-by: y30025806 Change-Id: Iec966d60ae4cfcf3f844ba6ce9242eec1dbd2b63 --- multimedia/av_codec/native_avcodec_base.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index d74d09f98..edc98a2a0 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -940,6 +940,13 @@ extern const char *OH_MD_KEY_VIDEO_SAR; * @since 12 */ extern const char *OH_MD_KEY_START_TIME; +/** + * @brief Key for start time of track, value type is int64_t. + * + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 12 + */ +extern const char *OH_MD_KEY_TRACK_START_TIME; /** * @brief Key for setting the output color space of video decoder. The value type is int32_t. * The supported value is {@link OH_COLORSPACE_BT709_LIMIT}, see {@link OH_NativeBuffer_ColorSpace}. It is used in @@ -954,13 +961,6 @@ extern const char *OH_MD_KEY_START_TIME; * @since 12 */ extern const char *OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE; -/** - * @brief Key for start time of track, value type is int64_t. - * - * @syscap SystemCapability.Multimedia.Media.CodecBase - * @since 12 - */ -extern const char *OH_MD_KEY_TRACK_START_TIME; /** * @brief Media type. -- Gitee From 961b73a94c093128a4fc773341d9f7102f2f3c39 Mon Sep 17 00:00:00 2001 From: y30025806 Date: Thu, 15 Aug 2024 08:52:44 +0800 Subject: [PATCH 076/359] add err code Signed-off-by: y30025806 Change-Id: I37ce49dabb9d592e9533c2e35d5f7bba6106b7b1 --- multimedia/media_foundation/native_averrors.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/multimedia/media_foundation/native_averrors.h b/multimedia/media_foundation/native_averrors.h index cffaba60e..a1dd55875 100644 --- a/multimedia/media_foundation/native_averrors.h +++ b/multimedia/media_foundation/native_averrors.h @@ -78,6 +78,11 @@ typedef enum OH_AVErrCode { * @error unsupport interface. */ AV_ERR_UNSUPPORT = 9, + /** + * @error input data error. + * @since 12 + */ + AV_ERR_INPUT_DATA_ERROR = 10, /** * @error extend err start. */ -- Gitee From 7877aaaa617147877591146ae084ba53556ca437 Mon Sep 17 00:00:00 2001 From: wisdom Date: Thu, 15 Aug 2024 09:43:39 +0800 Subject: [PATCH 077/359] Description: Update NDK interface BUILD.gn Signed-off-by: wisdom --- multimedia/audio_framework/BUILD.gn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/multimedia/audio_framework/BUILD.gn b/multimedia/audio_framework/BUILD.gn index 3445ac0be..2928db509 100644 --- a/multimedia/audio_framework/BUILD.gn +++ b/multimedia/audio_framework/BUILD.gn @@ -19,6 +19,7 @@ ohos_ndk_headers("ohaudio_header") { sources = [ "audio_capturer/native_audiocapturer.h", "audio_manager/native_audio_routing_manager.h", + "audio_manager/native_audio_session_manager.h", "audio_renderer/native_audiorenderer.h", "common/native_audio_common.h", "common/native_audio_device_base.h", @@ -40,5 +41,6 @@ ohos_ndk_library("libohaudio_ndk") { "ohaudio/native_audio_routing_manager.h", "ohaudio/native_audio_common.h", "ohaudio/native_audio_device_base.h", + "ohaudio/native_audio_session_manager.h", ] } -- Gitee From 3e3b93e6e2934b0f097e872ff0cec5f8d2918f47 Mon Sep 17 00:00:00 2001 From: liyi0309 Date: Thu, 15 Aug 2024 10:06:41 +0800 Subject: [PATCH 078/359] =?UTF-8?q?NDK=20=E5=91=8A=E8=AD=A6=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=20Signed-off-by:=20liyi0309?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arkui/ace_engine/native/native_dialog.h | 1 + arkui/ace_engine/native/native_type.h | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/arkui/ace_engine/native/native_dialog.h b/arkui/ace_engine/native/native_dialog.h index 1338eee7a..95b1a6cbe 100644 --- a/arkui/ace_engine/native/native_dialog.h +++ b/arkui/ace_engine/native/native_dialog.h @@ -37,6 +37,7 @@ #ifndef ARKUI_NATIVE_DIALOG_H #define ARKUI_NATIVE_DIALOG_H +#include #include "native_type.h" #ifdef __cplusplus diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index 6bf306990..18f2e18b6 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -808,7 +808,7 @@ typedef enum { * does not scroll when the component scrolling reaches the boundary. */ ARKUI_SCROLL_NESTED_MODE_SELF_ONLY = 0, /** The component scrolls first, and when it hits the boundary, the parent component scrolls. - /** When the parent component hits the boundary, its edge effect is displayed. If no edge + * When the parent component hits the boundary, its edge effect is displayed. If no edge * effect is specified for the parent component, the edge effect of the child component is displayed instead. */ ARKUI_SCROLL_NESTED_MODE_SELF_FIRST, /** The parent component scrolls first, and when it hits the boundary, the component scrolls. @@ -1523,7 +1523,7 @@ typedef enum { /** The content of the view is blended in sequence on the target image. */ BLEND_APPLY_TYPE_FAST = 0, /** The content of the component and its child components are drawn on the offscreen canvas, and then blended with - /* the existing content on the canvas. */ + * the existing content on the canvas. */ BLEND_APPLY_TYPE_OFFSCREEN, } ArkUI_BlendApplyType; -- Gitee From e956dbdd67e07f9cb5a7d07364ce045bcec7038e Mon Sep 17 00:00:00 2001 From: zhouchaobo Date: Thu, 15 Aug 2024 10:23:44 +0800 Subject: [PATCH 079/359] native gesture code warning fix Signed-off-by: zhouchaobo Change-Id: I366acad9a146872b962f653095e4894731421c64 --- arkui/ace_engine/native/native_gesture.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arkui/ace_engine/native/native_gesture.h b/arkui/ace_engine/native/native_gesture.h index 19e83b1f5..42b37aa9c 100644 --- a/arkui/ace_engine/native/native_gesture.h +++ b/arkui/ace_engine/native/native_gesture.h @@ -38,6 +38,7 @@ #include "ui_input_event.h" #include "native_type.h" +#include #ifdef __cplusplus extern "C" { -- Gitee From 3fc7d139f605e722224cb3dbc0de7001343b7349 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=B9=94=E5=BC=82?= Date: Thu, 15 Aug 2024 11:35:35 +0800 Subject: [PATCH 080/359] =?UTF-8?q?CodeCheck=20=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈乔异 --- multimedia/image_framework/include/image/image_common.h | 2 -- multimedia/image_framework/include/image/pixelmap_native.h | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/multimedia/image_framework/include/image/image_common.h b/multimedia/image_framework/include/image/image_common.h index d382eeda8..2b8161002 100644 --- a/multimedia/image_framework/include/image/image_common.h +++ b/multimedia/image_framework/include/image/image_common.h @@ -133,8 +133,6 @@ typedef enum { IMAGE_SUCCESS = 0, /** invalid parameter */ IMAGE_BAD_PARAMETER = 401, - /** resource unavailable */ - IMAGE_RESOURCE_UNAVAILABLE = 501, /** unsupported mime type */ IMAGE_UNSUPPORTED_MIME_TYPE = 7600101, /** unknown mime type */ diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index bf68694c0..b37820226 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -767,7 +767,7 @@ Image_ErrorCode OH_PixelmapNative_CreateEmptyPixelmap( /** * @brief Get metadata. - * + * * @param pixelmap The Pixelmap pointer to be operated. * @param key Type of metadata. * @param value Value of metadata. @@ -783,7 +783,7 @@ Image_ErrorCode OH_PixelmapNative_GetMetadata(OH_PixelmapNative *pixelmap, OH_Pi /** * @brief Set metadata. - * + * * @param pixelmap The Pixelmap pointer to be operated. * @param key Type of metadata. * @param value Value of metadata. -- Gitee From 30dc5a6ff7e68e44e6b907d5dc005e6f1d9294e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=BB=E5=86=9B=E6=97=97?= Date: Thu, 15 Aug 2024 07:05:05 +0000 Subject: [PATCH 081/359] =?UTF-8?q?AVPlaybackSpeed=E6=96=B0=E5=A2=9E3.0?= =?UTF-8?q?=E3=80=810.25=E3=80=810.125=E5=80=8D=E9=80=9F=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 任军旗 --- multimedia/player_framework/avplayer_base.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/multimedia/player_framework/avplayer_base.h b/multimedia/player_framework/avplayer_base.h index 903a52f72..db07e5b76 100644 --- a/multimedia/player_framework/avplayer_base.h +++ b/multimedia/player_framework/avplayer_base.h @@ -121,6 +121,24 @@ typedef enum AVPlaybackSpeed { * @since 12 */ AV_SPEED_FORWARD_1_50_X, + /** + * @brief Video playback at 3.0x normal speed. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 13 + */ + AV_SPEED_FORWARD_3_00_X, + /** + * @brief Video playback at 0.25x normal speed. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 13 + */ + AV_SPEED_FORWARD_0_25_X, + /** + * @brief Video playback at 0.125x normal speed. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 13 + */ + AV_SPEED_FORWARD_0_125_X, } AVPlaybackSpeed; /** -- Gitee From 92423f3ed48fc9f91219fd82d8fc83f831fcbcf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=B9=94=E5=BC=82?= Date: Thu, 15 Aug 2024 15:35:37 +0800 Subject: [PATCH 082/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈乔异 --- multimedia/image_framework/include/image/image_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/image_framework/include/image/image_common.h b/multimedia/image_framework/include/image/image_common.h index 2b8161002..590b69dac 100644 --- a/multimedia/image_framework/include/image/image_common.h +++ b/multimedia/image_framework/include/image/image_common.h @@ -139,7 +139,7 @@ typedef enum { IMAGE_UNKNOWN_MIME_TYPE = 7600102, /** too large data or image */ IMAGE_TOO_LARGE = 7600103, - /** DMA memory does not exist */ + /** @error DMA memory does not exist */ IMAGE_DMA_NOT_EXIST = 7600173, /** unsupported operations */ IMAGE_UNSUPPORTED_OPERATION = 7600201, -- Gitee From 7fca7fbbfb76b5d8567a8b45cbe3e14d796c66c1 Mon Sep 17 00:00:00 2001 From: wangyulie Date: Thu, 15 Aug 2024 17:35:56 +0800 Subject: [PATCH 083/359] ffrt add interfaces in API12 Signed-off-by: wangyulie --- resourceschedule/ffrt/c/task.h | 40 +++++++++++++++++++++++++++++ resourceschedule/ffrt/ffrt.ndk.json | 16 ++++++++++++ 2 files changed, 56 insertions(+) diff --git a/resourceschedule/ffrt/c/task.h b/resourceschedule/ffrt/c/task.h index 066493f9e..b789fdc74 100644 --- a/resourceschedule/ffrt/c/task.h +++ b/resourceschedule/ffrt/c/task.h @@ -141,6 +141,26 @@ FFRT_C_API void ffrt_task_attr_set_queue_priority(ffrt_task_attr_t* attr, ffrt_q */ FFRT_C_API ffrt_queue_priority_t ffrt_task_attr_get_queue_priority(const ffrt_task_attr_t* attr); +/** + * @brief Sets the task stack size. + * + * @param attr Indicates a pointer to the task attribute. + * @param size Indicates the task stack size, unit is byte. + * @since 12 + * @version 1.0 + */ +FFRT_C_API void ffrt_task_attr_set_stack_size(ffrt_task_attr_t* attr, uint64_t size); + +/** + * @brief Obtains the task stack size. + * + * @param attr Indicates a pointer to the task attribute. + * @return Returns the task stack size, unit is byte. + * @since 12 + * @version 1.0 + */ +FFRT_C_API uint64_t ffrt_task_attr_get_stack_size(const ffrt_task_attr_t* attr); + /** * @brief Updates the QoS of this task. * @@ -209,6 +229,26 @@ FFRT_C_API void ffrt_submit_base(ffrt_function_header_t* f, const ffrt_deps_t* i FFRT_C_API ffrt_task_handle_t ffrt_submit_h_base(ffrt_function_header_t* f, const ffrt_deps_t* in_deps, const ffrt_deps_t* out_deps, const ffrt_task_attr_t* attr); +/** + * @brief increase reference count of task handle. + * + * @param handle Indicates a task handle. + * @return return the task handle original reference count. + * @since 12 + * @version 1.0 + */ +FFRT_C_API uint32_t ffrt_task_handle_inc_ref(ffrt_task_handle_t handle); + +/** + * @brief decrease reference count of task handle. + * + * @param handle Indicates a task handle. + * @return return the task handle original reference count. + * @since 12 + * @version 1.0 + */ +FFRT_C_API uint32_t ffrt_task_handle_dec_ref(ffrt_task_handle_t handle); + /** * @brief Destroys a task handle. * diff --git a/resourceschedule/ffrt/ffrt.ndk.json b/resourceschedule/ffrt/ffrt.ndk.json index 397494c37..ed52dcc3b 100644 --- a/resourceschedule/ffrt/ffrt.ndk.json +++ b/resourceschedule/ffrt/ffrt.ndk.json @@ -50,11 +50,27 @@ { "name": "ffrt_task_attr_get_qos" }, { "name": "ffrt_task_attr_set_delay" }, { "name": "ffrt_task_attr_get_delay" }, + { + "first_introduced": "12", + "name": "ffrt_task_attr_set_stack_size" + }, + { + "first_introduced": "12", + "name": "ffrt_task_attr_get_stack_size" + }, { "name": "ffrt_this_task_update_qos" }, { "name": "ffrt_this_task_get_id" }, { "name": "ffrt_alloc_auto_managed_function_storage_base" }, { "name": "ffrt_submit_base" }, { "name": "ffrt_submit_h_base" }, + { + "first_introduced": "12", + "name": "ffrt_task_handle_inc_ref" + }, + { + "first_introduced": "12", + "name": "ffrt_task_handle_dec_ref" + }, { "name": "ffrt_task_handle_destroy" }, { "name": "ffrt_wait_deps" }, { "name": "ffrt_wait" }, -- Gitee From fb31df1f6a5167302a4c973f3403d84e0f693ec5 Mon Sep 17 00:00:00 2001 From: NoCodeNoBB Date: Thu, 15 Aug 2024 09:44:54 +0000 Subject: [PATCH 084/359] =?UTF-8?q?=E7=BD=91=E7=BB=9C=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=9E=9A=E4=B8=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: NoCodeNoBB --- network/netmanager/include/net_connection_type.h | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/network/netmanager/include/net_connection_type.h b/network/netmanager/include/net_connection_type.h index 32a8118c8..36f68e874 100644 --- a/network/netmanager/include/net_connection_type.h +++ b/network/netmanager/include/net_connection_type.h @@ -73,7 +73,12 @@ typedef enum NetConn_NetCap { * Portal * @since 12 */ - NETCONN_NET_CAPABILITY_PORTAL = 17 + NETCONN_NET_CAPABILITY_PORTAL = 17, + /** + * In checking network connectivity. + * @since 12 + */ + NETCONN_NET_CAPABILITY_CHECKING_CONNECTIVITY = 31 } NetConn_NetCap; /** @@ -87,6 +92,11 @@ typedef enum NetConn_NetBearerType { NETCONN_BEARER_CELLULAR = 0, /** WIFI */ NETCONN_BEARER_WIFI = 1, + /** + * Bluetooth + * @since 12 + */ + NETCONN_BEARER_BLUETOOTH = 2, /** Ethernet */ NETCONN_BEARER_ETHERNET = 3, /** -- Gitee From fddad9cb2a43f52def1883f6622fe2f5a0cf2c1c Mon Sep 17 00:00:00 2001 From: yuanjinghua Date: Thu, 15 Aug 2024 15:46:11 +0800 Subject: [PATCH 085/359] Add interfaces for NDK AVPlayer to implement OnError and OnInfo Signed-off-by: yuanjinghua Change-Id: Ie5f7ef84100daca3e0b3b1db502947272e42236d --- multimedia/player_framework/avplayer.h | 28 +++ .../avplayer/libavplayer.ndk.json | 84 ++++++++ multimedia/player_framework/avplayer_base.h | 200 +++++++++++++++++- 3 files changed, 309 insertions(+), 3 deletions(-) diff --git a/multimedia/player_framework/avplayer.h b/multimedia/player_framework/avplayer.h index ab0d17cd3..ce355909a 100644 --- a/multimedia/player_framework/avplayer.h +++ b/multimedia/player_framework/avplayer.h @@ -462,6 +462,8 @@ OH_AVErrCode OH_AVPlayer_SetLooping(OH_AVPlayer *player, bool loop); * {@link AV_ERR_INVALID_VAL} if input player is nullptr, callback.onInfo or callback.onError is null, * or player SetPlayerCallback failed. * @since 11 + * @deprecated since 12 + * @useinstead {@link OH_AVPlayer_SetPlayerOnInfoCallback} {@link OH_AVPlayer_SetPlayerOnErrorCallback} * @version 1.0 */ OH_AVErrCode OH_AVPlayer_SetPlayerCallback(OH_AVPlayer *player, AVPlayerCallback callback); @@ -563,6 +565,32 @@ OH_AVErrCode OH_AVPlayer_GetMediaKeySystemInfo(OH_AVPlayer *player, DRM_MediaKey OH_AVErrCode OH_AVPlayer_SetDecryptionConfig(OH_AVPlayer *player, MediaKeySession *mediaKeySession, bool secureVideoPath); +/** + * @brief Method to set player information notify callback. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @param player Pointer to an OH_AVPlayer instance. + * @param callback Pointer to callback function, nullptr indicates unregister callback. + * @param userData Pointer to user specific data. + * @return Function result code. + * {@link AV_ERR_OK} if the execution is successful. + * {@link AV_ERR_INVALID_VAL} if input player is null or player SetOnInfoCallback failed. + * @since 12 + */ +OH_AVErrCode OH_AVPlayer_SetOnInfoCallback(OH_AVPlayer *player, OH_AVPlayerOnInfoCallback callback, void *userData); + +/** + * @brief Method to set player error callback. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @param player Pointer to an OH_AVPlayer instance. + * @param callback Pointer to callback function, nullptr indicates unregister callback. + * @param userData Pointer to user specific data. + * @return Function result code. + * {@link AV_ERR_OK} if the execution is successful. + * {@link AV_ERR_INVALID_VAL} if input player is null or player SetOnErrorCallback failed. + * @since 12 + */ +OH_AVErrCode OH_AVPlayer_SetOnErrorCallback(OH_AVPlayer *player, OH_AVPlayerOnErrorCallback callback, void *userData); + #ifdef __cplusplus } #endif diff --git a/multimedia/player_framework/avplayer/libavplayer.ndk.json b/multimedia/player_framework/avplayer/libavplayer.ndk.json index dbfa420ed..d7151471e 100644 --- a/multimedia/player_framework/avplayer/libavplayer.ndk.json +++ b/multimedia/player_framework/avplayer/libavplayer.ndk.json @@ -27,6 +27,90 @@ { "name": "OH_AVPlayer_SelectTrack" }, { "name": "OH_AVPlayer_DeselectTrack" }, { "name": "OH_AVPlayer_GetCurrentTrack" }, + { + "first_introduced": "12", + "name": "OH_PLAYER_STATE" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_STATE_CHANGE_REASON" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_VOLUME" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_BITRATE_ARRAY" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_AUDIO_INTERRUPT_TYPE" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_AUDIO_INTERRUPT_FORCE" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_AUDIO_INTERRUPT_HINT" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_AUDIO_DEVICE_CHANGE_REASON" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_BUFFERING_TYPE" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_BUFFERING_VALUE" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_SEEK_POSITION" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_PLAYBACK_SPEED" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_BITRATE" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_CURRENT_POSITION" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_DURATION" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_VIDEO_WIDTH" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_VIDEO_HEIGHT" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_MESSAGE_TYPE" + }, + { + "first_introduced": "12", + "name": "OH_PLAYER_IS_LIVE_STREAM" + }, + { + "first_introduced": "12", + "name": "OH_AVPlayer_SetOnInfoCallback" + }, + { + "first_introduced": "12", + "name": "OH_AVPlayer_SetOnErrorCallback" + }, { "first_introduced": "12", "name": "OH_AVPlayer_SetMediaKeySystemInfoCallback" diff --git a/multimedia/player_framework/avplayer_base.h b/multimedia/player_framework/avplayer_base.h index 903a52f72..50a8ffa49 100644 --- a/multimedia/player_framework/avplayer_base.h +++ b/multimedia/player_framework/avplayer_base.h @@ -40,6 +40,8 @@ #include +#include "native_avformat.h" + #ifdef __cplusplus extern "C" { #endif @@ -113,13 +115,13 @@ typedef enum AVPlaybackSpeed { * @brief Video playback at 0.5x normal speed. * @syscap SystemCapability.Multimedia.Media.AVPlayer * @since 12 - */ + */ AV_SPEED_FORWARD_0_50_X, /** * @brief Video playback at 1.5x normal speed. * @syscap SystemCapability.Multimedia.Media.AVPlayer * @since 12 - */ + */ AV_SPEED_FORWARD_1_50_X, } AVPlaybackSpeed; @@ -172,6 +174,169 @@ typedef enum AVPlayerOnInfoType { AV_INFO_TYPE_AUDIO_OUTPUT_DEVICE_CHANGE = 17, } AVPlayerOnInfoType; +/** + * @brief Player Buffering Type + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +typedef enum AVPlayerBufferingType { + /** Indicates the buffer to start buffering. */ + AVPLAYER_BUFFERING_START = 1, + + /** Indicates the buffer to end buffering and start playback. */ + AVPLAYER_BUFFERING_END, + + /** Indicates the current buffering percentage of the buffer. */ + AVPLAYER_BUFFERING_PERCENT, + + /** Indicates how long the buffer cache data can be played. */ + AVPLAYER_BUFFERING_CACHED_DURATION, +} AVPlayerBufferingType; + +/** + * @brief Key to get state, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +extern const char* OH_PLAYER_STATE; + +/** + * @brief Key to get state change reason, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +extern const char* OH_PLAYER_STATE_CHANGE_REASON; + +/** + * @brief Key to get volume, value type is float. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +extern const char* OH_PLAYER_VOLUME; + +/** + * @brief Key to get bitrate count, value type is uint32_t array. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +extern const char* OH_PLAYER_BITRATE_ARRAY; + +/** + * @brief Key to get audio interrupt type, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +extern const char* OH_PLAYER_AUDIO_INTERRUPT_TYPE; + +/** + * @brief Key to get audio interrupt force, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +extern const char* OH_PLAYER_AUDIO_INTERRUPT_FORCE; + +/** + * @brief Key to get audio interrupt hint, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +extern const char* OH_PLAYER_AUDIO_INTERRUPT_HINT; + +/** + * @brief Key to get audio device change reason, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +extern const char* OH_PLAYER_AUDIO_DEVICE_CHANGE_REASON; + +/** + * @brief Key to get buffering type, value type is AVPlayerBufferingType. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +extern const char* OH_PLAYER_BUFFERING_TYPE; + +/** + * @brief Key to get buffering value, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + * @version 1.0 + */ +extern const char* OH_PLAYER_BUFFERING_VALUE; + +/** + * @brief Key to get seek position, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + */ +extern const char* OH_PLAYER_SEEK_POSITION; + +/** + * @brief Key to get playback speed, value type is AVPlaybackSpeed. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + */ +extern const char* OH_PLAYER_PLAYBACK_SPEED; + +/** + * @brief Key to get bitrate, value type is uint32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + */ +extern const char* OH_PLAYER_BITRATE; + +/** + * @brief Key to get current position, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + */ +extern const char* OH_PLAYER_CURRENT_POSITION; + +/** + * @brief Key to get duration, value type is int64_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + */ +extern const char* OH_PLAYER_DURATION; + +/** + * @brief Key to get video width, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + */ +extern const char* OH_PLAYER_VIDEO_WIDTH; + +/** + * @brief Key to get video height, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + */ +extern const char* OH_PLAYER_VIDEO_HEIGHT; + +/** + * @brief Key to get message type, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + */ +extern const char* OH_PLAYER_MESSAGE_TYPE; + +/** + * @brief Key to get is live stream, value type is int32_t. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @since 12 + */ +extern const char* OH_PLAYER_IS_LIVE_STREAM; + /** * @brief Called when a player message or alarm is received. * @syscap SystemCapability.Multimedia.Media.AVPlayer @@ -179,10 +344,24 @@ typedef enum AVPlayerOnInfoType { * @param type Indicates the information type. For details, see {@link AVPlayerOnInfoType}. * @param extra Indicates other information, for example, the start time position of a playing file. * @since 11 + * @deprecated since 12 + * @useinstead {@link OH_AVPlayerOnInfoCallback} * @version 1.0 */ typedef void (*OH_AVPlayerOnInfo)(OH_AVPlayer *player, AVPlayerOnInfoType type, int32_t extra); +/** + * @brief Called when a player info event is received. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @param player The pointer to an OH_AVPlayer instance. + * @param type Indicates the information type. For details, see {@link AVPlayerOnInfoType}. + * @param infoBody Indicates the information parameters, only valid in callback function. + * @param userData Pointer to user specific data. + * @since 12 + */ +typedef void (*OH_AVPlayerOnInfoCallback)(OH_AVPlayer *player, AVPlayerOnInfoType type, OH_AVFormat* infoBody, + void *userData); + /** * @brief Called when an error occurred for versions above api9 * @syscap SystemCapability.Multimedia.Media.AVPlayer @@ -190,10 +369,24 @@ typedef void (*OH_AVPlayerOnInfo)(OH_AVPlayer *player, AVPlayerOnInfoType type, * @param errorCode Error code. * @param errorMsg Error message. * @since 11 + * @deprecated since 12 + * @useinstead {@link OH_AVPlayerOnInfoCallback} {@link OH_AVPlayerOnError} * @version 1.0 */ typedef void (*OH_AVPlayerOnError)(OH_AVPlayer *player, int32_t errorCode, const char *errorMsg); +/** + * @brief Called when an error occurred. + * @syscap SystemCapability.Multimedia.Media.AVPlayer + * @param player The pointer to an OH_AVPlayer instance. + * @param errorCode Error code. + * @param errorMsg Error message, only valid in callback function. + * @param userData Pointer to user specific data. + * @since 12 + */ +typedef void (*OH_AVPlayerOnErrorCallback)(OH_AVPlayer *player, int32_t errorCode, const char *errorMsg, + void *userData); + /** * @brief A collection of all callback function pointers in OH_AVPlayer. Register an instance of this * structure to the OH_AVPlayer instance, and process the information reported through the callback to ensure the @@ -202,6 +395,8 @@ typedef void (*OH_AVPlayerOnError)(OH_AVPlayer *player, int32_t errorCode, const * @param onInfo Monitor OH_AVPlayer operation information, refer to {@link OH_AVPlayerOnInfo} * @param onError Monitor OH_AVPlayer operation errors, refer to {@link OH_AVPlayerOnError} * @since 11 + * @deprecated since 12 + * @useinstead {@link OH_AVPlayerOnInfoCallback} {@link OH_AVPlayerOnErrorCallback} * @version 1.0 */ typedef struct AVPlayerCallback { @@ -209,7 +404,6 @@ typedef struct AVPlayerCallback { OH_AVPlayerOnError onError; } AVPlayerCallback; - #ifdef __cplusplus } #endif -- Gitee From b218ea6c0a2d3a9823bfacd62a5cbafc6dcedaae Mon Sep 17 00:00:00 2001 From: rchdlee Date: Thu, 15 Aug 2024 19:25:28 +0800 Subject: [PATCH 086/359] =?UTF-8?q?=E8=A1=A5=E5=85=85=E8=A7=86=E9=A2=91?= =?UTF-8?q?=E5=90=8E=E5=A4=84=E7=90=86key=E4=BF=A1=E6=81=AF=E5=88=B0json?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: rchdlee --- .../av_codec/codec_base/libnative_media_codecbase.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json index 576beec06..589823ef3 100644 --- a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json +++ b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json @@ -387,6 +387,10 @@ "first_introduced": "12", "name": "OH_MD_KEY_TRACK_START_TIME" }, + { + "first_introduced": "12", + "name": "OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE" + }, { "first_introduced": "10", "name": "OH_AVCodec_GetCapability" -- Gitee From 09588e4f6e8b6721eafc3444d109a797a3fb6647 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 16 Aug 2024 02:32:36 +0000 Subject: [PATCH 087/359] Add Interface Capi Signed-off-by: hellohyh001 Change-Id: I0396681bbeac77b35fc193d7f1124e3f72511f69 --- multimodalinput/kits/c/input/oh_input_manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 479df3903..fcd7303ed 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -1186,7 +1186,7 @@ Input_Result OH_Input_RemoveInputEventInterceptor(); * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -int32_t OH_Input_GetIntervalSinceLastInput(int64_t *timeInterval); +Input_Result OH_Input_GetIntervalSinceLastInput(int64_t *timeInterval); #ifdef __cplusplus } #endif -- Gitee From 87a68d9cf62fa6dc25b140fa5d5bbc4dd07c8e25 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 16 Aug 2024 02:34:01 +0000 Subject: [PATCH 088/359] Add Interface Capi Signed-off-by: hellohyh001 Change-Id: I2633541e1c92061b96235bd45f0bb053a1e1513b --- multimodalinput/kits/c/input/oh_input_manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index fcd7303ed..60358bb79 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -1182,7 +1182,7 @@ Input_Result OH_Input_RemoveInputEventInterceptor(); * @return OH_Input_GetIntervalSinceLastInput status code, specifically. * {@Link INPUT_SUCCESS} if the Operation is successful.\n * {@Link INPUT_SERVICE_EXCEPTION} Failed to get the interval because the service is exception.\n - * {@link INPUT_PARAMETER_ERROR} Parameter check failed.\n + * {@Link INPUT_PARAMETER_ERROR} The timeInterval is NULL.\n * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -- Gitee From f3f0b67d815044c3eb25a1337cf6d96eef4a96ff Mon Sep 17 00:00:00 2001 From: ccfriend Date: Fri, 16 Aug 2024 10:14:26 +0000 Subject: [PATCH 089/359] add test.txt. Signed-off-by: ccfriend --- test.txt | 468 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 468 insertions(+) create mode 100644 test.txt diff --git a/test.txt b/test.txt new file mode 100644 index 000000000..5689b5143 --- /dev/null +++ b/test.txt @@ -0,0 +1,468 @@ +/* + * Copyright (c) 2024 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 OHAVSession + * @{ + * + * @brief Provide the definition of the C interface for the native avsession. + * + * @syscap SystemCapability.Multimedia.AVSession.Core + * + * @since 12 + * @version 1.0 + */ + +/** + * @file native_avsession.h + * + * @brief Declare avsession interface. + * + * @library libohavsession.so + * @syscap SystemCapability.Multimedia.AVSession.Core + * @kit AVSessionKit + * @since 12 + * @version 1.0 + */ + +#ifndef NATIVE_AVSESSION_H +#define NATIVE_AVSESSION_H + +#include "native_avsession_base.h" +#include "native_avsession_errors.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Capture session object + * + * A pointer can be created using {@link OH_AVSession} method. + * + * @since 12 + * @version 1.0 + */ +typedef struct OH_AVSession OH_AVSession; + +/* + * Request to create the avsession. + * + * @since 12 + * + * @param avsession reference + * @return Function result code + */ +OH_AVSession_ErrCode OH_AVSession_Create(AVSession_Type sessionType, const char* sessionTag, OH_AVSession** avsession); + +/* + * Request to release the avsession. + * + * @since 12 + * + * @param avsession reference + * @return Function result code + */ +OH_AVSession_ErrCode OH_AVSession_Destroy(OH_AVSession* avsession); + +/* + * Request to set av metadata. + * + * @since 12 + * + * @param avsession reference + * @return Function result code + */ +OH_AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, AVSession_AVMetadata* metadata); + +/* + * Request to set av playbackstate. + * + * @since 12 + * + * @param avsession reference + * @return Function result code + */ +OH_AVSession_ErrCode OH_AVSession_SetAVPlaybackState(OH_AVSession* avsession, AVSession_AVPlaybackState* playbackState); + +/* + * Request to register callback. + * + * @since 12 + * + * @param avsession reference + * @return Function result code + */ +OH_AVSession_ErrCode OH_AVSession_RegisterCallback(OH_AVSession* avsession, AVSession_Callbacks* callback); + +#ifdef __cplusplus +} +#endif +#endif // NATIVE_AVSESSION_H + +/* + * Copyright (C) 2024 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 AVSession + * @{ + * + * @brief Provides APIs of request capability for AVSession. + * @since 12 + */ + +/** + * @file native_avsession_base.h + * + * @brief Declare avsession related definations. + * + * @library libohavsession.so + * @syscap SystemCapability.Multimedia.AVSession.Core + * @kit AVSessionKit + * @since 12 + */ + +#ifndef NATIVE_AVSESSION_ERRORS_H +#define NATIVE_AVSESSION_ERRORS_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enum for avsession type. + * + * @since 12 + * @version 1.0 + */ +typedef enum AVSession_Type { + SESSION_TYPE_INVALID = -1, + SESSION_TYPE_AUDIO = 0, + SESSION_TYPE_VIDEO = 1, + SESSION_TYPE_VOICE_CALL = 2, + SESSION_TYPE_VIDEO_CALL = 3 +} AVSession_Type; + +typedef struct AVSession_AVMetadata { + char* assetId; + char* title; + char* artist; + char* author; + // std::string avQueueName_ = ""; + // std::string avQueueId_ = ""; + // std::shared_ptr avQueueImage_ = nullptr; + // std::string avQueueImageUri_ = ""; + char* album; + // std::string writer_ = ""; + // std::string composer_ = ""; + int64_t duration; + // std::shared_ptr mediaImage_ = nullptr; + char* mediaImageUri; + // double publishDate_ = 0; + // std::string subTitle_ = ""; + // std::string description_ = ""; + // std::string lyric_ = ""; + // std::string previousAssetId_ = ""; + // std::string nextAssetId_ = ""; + // int32_t skipIntervals_ = SECONDS_15; + // int32_t filter_ = 2; + // int32_t mediaLength_ = 0; + // int32_t avQueueLength_ = 0; + // int32_t displayTags_ = 0; + // std::vector drmSchemes_; +} AVSession_AVMetadata; + +typedef enum AVSession_PlaybackState { + PLAYBACK_STATE_INITIAL = 0, + PLAYBACK_STATE_PREPARE = 1, + PLAYBACK_STATE_PLAY = 2, + PLAYBACK_STATE_PAUSE = 3, + PLAYBACK_STATE_FAST_FORWARD = 4, + PLAYBACK_STATE_REWIND = 5, + PLAYBACK_STATE_STOP = 6, + PLAYBACK_STATE_COMPLETED = 7, + PLAYBACK_STATE_RELEASED = 8, + PLAYBACK_STATE_ERROR = 9, + PLAYBACK_STATE_IDLE = 10, + PLAYBACK_STATE_BUFFERING = 11, + PLAYBACK_STATE_MAX = 12, +} AVSession_PlaybackState; + +typedef struct AVSession_PlaybackPosition { + int64_t elapsedTime_; + int64_t updateTime_; +} AVSession_PlaybackPosition; + +typedef struct AVSession_AVPlaybackState { + AVSession_PlaybackState state; + AVSession_PlaybackPosition position; + int64_t duration; +} AVSession_AVPlaybackState; + + +typedef enum AVSession_LoopMode { + LOOP_MODE_SEQUENCE = 0, + LOOP_MODE_SINGLE = 1, + LOOP_MODE_LIST = 2, + LOOP_MODE_SHUFFLE = 3, + LOOP_MODE_CUSTOM = 4, +} AVSession_LoopMode; + + +/////////////////////////////////////////////////////////////////////////////////////////// + +/** + * @brief Enum for command state. + * + * @since 12 + * @version 1.0 + */ +typedef enum AVSession_ControlCommand { + SESSION_CMD_INVALID = -1, + SESSION_CMD_PLAY = 0, + SESSION_CMD_PAUSE = 1, + SESSION_CMD_STOP = 2, + SESSION_CMD_PLAY_NEXT = 3, + SESSION_CMD_PLAY_PREVIOUS = 4, + SESSION_CMD_FAST_FORWARD = 5, + SESSION_CMD_REWIND = 6, + SESSION_CMD_SEEK = 7, + SESSION_CMD_SET_SPEED = 8, + SESSION_CMD_SET_LOOP_MODE = 9, + SESSION_CMD_TOGGLE_FAVORITE = 10, + SESSION_CMD_PLAY_FROM_ASSETID = 11, + SESSION_CMD_AVCALL_ANSWER = 12, + SESSION_CMD_AVCALL_HANG_UP = 13, + SESSION_CMD_AVCALL_TOGGLE_CALL_MUTE = 14, + SESSION_CMD_MEDIA_KEY_SUPPORT = 15, + SESSION_CMD_PLAYFROM_ASSET_ID = 16, + SESSION_CMD_MAX +} AVSession_ControlCommand; + +/** + * parameter of the command. Whether this command requires parameters, see {@link AVSessionCommand} + * seek command requires a number parameter + * setSpeed command requires a number parameter + * setLoopMode command requires a {@link LoopMode} parameter. + * toggleFavorite command requires assetId {@link AVMetadata.assetId} parameter + * other commands need no parameter + * @type { ?(LoopMode | string | number) } + * @syscap SystemCapability.Multimedia.AVSession.Core + * @atomicservice + * @since 12 + */ +// parameter?: LoopMode | string | number; +typedef union AVSession_ControlParameters { + int32_t elapsedTime_; + int64_t updateTime_; + // int32_t + // double + // int64_t + // bool + // std::string +} AVSession_ControlParameters; + +/** + * @brief Control callback to be called in {@link OH_AVSession_ControlCallback}. + * + * @param session the {@link OH_AVSession} which object delivers the callback. + * @param command the {@link AVSession_ControlCommand} which command to be received by the callback. + * @since 11 + */ +typedef void (*OH_AVSession_ControlCallback)(OH_AVSession* session, + AVSession_ControlCommand command, AVSession_ControlParameters controlParameters); + +typedef struct AVSession_Callbacks { + /** + * Control command event callback. + */ + OH_AVSession_ControlCallback onControlCallback; +} AVSession_Callbacks; + + +/////////////////////////////////////////////////////////////////////////////////////////// + +typedef void (*OH_AVSession_Callback_Play)(OH_AVSession* session); +typedef void (*OH_AVSession_Callback_Pause)(OH_AVSession* session); +typedef void (*OH_AVSession_Callback_Stop)(OH_AVSession* session); +typedef void (*OH_AVSession_Callback_Next)(OH_AVSession* session); +typedef void (*OH_AVSession_Callback_Previous)(OH_AVSession* session); +typedef void (*OH_AVSession_Callback_Forward)(OH_AVSession* session); +typedef void (*OH_AVSession_Callback_Rewind)(OH_AVSession* session); +typedef void (*OH_AVSession_Callback_SetSpeed)(OH_AVSession* session, int32_t speed); +typedef void (*OH_AVSession_Callback_SetLoopMode)(OH_AVSession* session, AVSession_LoopMode curLoopMode); +typedef void (*OH_AVSession_Callback_ToggleFavorite)(OH_AVSession* session, char* assetId); +typedef void (*OH_AVSession_Callback_Seek)(OH_AVSession* session, int64_t seekTime); +typedef void (*OH_AVSession_Callback_PlayFromAssetId)(OH_AVSession* session, char* assetId); +typedef void (*OH_AVSession_Callback_Answer)(OH_AVSession* session); +typedef void (*OH_AVSession_Callback_Hangup)(OH_AVSession* session); +typedef void (*OH_AVSession_Callback_ToggleCallMute)(OH_AVSession* session); +typedef void (*OH_AVSession_Callback_HandleKeyEvent)(OH_AVSession* session, Input_KeyEvent keyEvent); + +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_AVSESSION_ERRORS_H +/** @} */ + +/* + * Copyright (C) 2024 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 AVSession + * @{ + * + * @brief Provides APIs of request capability for AVSession. + * @since 12 + */ + +/** + * @file native_avsession_errors.h + * + * @brief Declare avsession related error. + * + * @library libohavsession.so + * @syscap SystemCapability.Multimedia.AVSession.Core + * @kit AVSessionKit + * @since 12 + */ + +#ifndef NATIVE_AVSESSION_ERRORS_H +#define NATIVE_AVSESSION_ERRORS_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief AVSession error code + * @syscap SystemCapability.Multimedia.AVSession.Core + * @since 10 + * @version 1.0 + */ +typedef enum OH_AVSession_ErrCode { + /** + * @error the operation completed successfully. + */ + AV_SESSION_ERR_SUCCESS = 0, + /** + * @error basic error mask. + */ + AV_SESSION_ERR_BASE = 1000, + /** + * @error no memory. + */ + AV_SESSION_ERR_NO_MEMORY = AV_SESSION_ERR_BASE + 1, + + + AV_SESSION_ERR_INVALID_PARAM = AV_SESSION_ERR_BASE + 2, + + AV_SESSION_ERR_SERVICE_NOT_EXIST = AV_SESSION_ERR_BASE + 3, + + AV_SESSION_ERR_SESSION_LISTENER_EXIST = AV_SESSION_ERR_BASE + 4, +} OH_AVSession_ErrCode; + +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_AVSESSION_ERRORS_H +/** @} */ + + +[ + { + "first_introduced": "12", + "name": "OH_AVSession_Create" + }, + { + "first_introduced": "12", + "name": "OH_AVSession_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_AVSession_SetAVMetadata" + }, + { + "first_introduced": "12", + "name": "OH_AVSession_SetAVPlaybackState" + }, + { + "first_introduced": "12", + "name": "OH_AVSession_RegisterCallback" + } +] + +# Copyright (C) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_headers("avsession_header") { + dest_dir = "$ndk_headers_out_dir/multimedia/av_session" + sources = [ + "native_avsesion.h", + "native_avsesion_base.h", + "native_avsesion_errors.h", + ] +} + +ohos_ndk_library("libohavsession_ndk") { + output_name = "ohavsession" + output_extension = "so" + ndk_description_file = "./libavsession.ndk.json" + system_capability = "SystemCapability.Multimedia.AVSession.Core" + system_capability_headers = [ + "multimedia/av_session/native_avsesion.h", + "multimedia/av_session/native_avsesion_base.h", + "multimedia/av_session/native_avsesion_errors.h", + ] +} \ No newline at end of file -- Gitee From cdab505c271bfbfd591fd9d0b704f1bc6f11887d Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 16 Aug 2024 12:18:43 +0000 Subject: [PATCH 090/359] Add interface capi Signed-off-by: hellohyh001 Change-Id: I3c517edb2ad0700f29be2b59d705d9e53eb92d7e --- multimodalinput/kits/c/input/oh_input_manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 60358bb79..5a823afcf 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -1178,7 +1178,7 @@ Input_Result OH_Input_RemoveInputEventInterceptor(); /** * @brief Obtains the interval since the last system input event. * - * @param timeInterval Interval, in nanoseconds. + * @param timeInterval Interval, in microseconds. * @return OH_Input_GetIntervalSinceLastInput status code, specifically. * {@Link INPUT_SUCCESS} if the Operation is successful.\n * {@Link INPUT_SERVICE_EXCEPTION} Failed to get the interval because the service is exception.\n -- Gitee From 4fe48219f8bfb2ee3b9612c019456933e91cd019 Mon Sep 17 00:00:00 2001 From: yanghaiming Date: Fri, 16 Aug 2024 19:13:14 +0800 Subject: [PATCH 091/359] add interface for: - array buffer backing store - wasm compile and cache Signed-off-by: yanghaiming --- ark_runtime/jsvm/jsvm.h | 131 ++++++++++++++++++++++++++++++ ark_runtime/jsvm/jsvm_types.h | 24 ++++++ ark_runtime/jsvm/libjsvm.ndk.json | 28 +++++++ 3 files changed, 183 insertions(+) diff --git a/ark_runtime/jsvm/jsvm.h b/ark_runtime/jsvm/jsvm.h index 190a60def..2d147ef68 100644 --- a/ark_runtime/jsvm/jsvm.h +++ b/ark_runtime/jsvm/jsvm.h @@ -718,6 +718,54 @@ JSVM_EXTERN JSVM_Status OH_JSVM_CreateArraybuffer(JSVM_Env env, void** data, JSVM_Value* result); +/** + * @brief This API allocate the memory of array buffer backing store. + * + * @param byteLength: size of backing store memory. + * @param initialized: initialization status of the backing store memory. + * @param data: pointer that recieve the backing store memory pointer. + * @return Returns JSVM funtions result code. + * Returns {@link JSVM_OK } if allocation succeed.\n + * Returns {@link JSVM_GENERIC_FAILURE } if allocation failed.\n + * @since 12 + */ +JSVM_Status JSVM_CDECL OH_JSVM_AllocateArrayBufferBackingStoreData(size_t byteLength, + JSVM_InitializedFlag initialized, + void **data); + +/** + * @brief This API release the memory of an array buffer backing store. + * + * @param data: pointer to the backing store memory. + * @return Only returns JSVM_OK, because this API will not trigger any exception. + * @since 12 + */ +JSVM_Status JSVM_CDECL OH_JSVM_FreeArrayBufferBackingStoreData(void *data); + +/** + * @brief This API create an array buffer using the backing store data. + * + * @param env: The environment that the API is invoked under. + * @param data: pointer to the backing store memory. + * @param backingStoreSize: size of backing store memory in byte. + * @param offset: start position of the array buffer in the backing store memory. + * @param arrayBufferSize: size of the array buffer in byte. + * @param result: pointer that recieve the array buffer. + * @return Returns JSVM funtions result code. + * Returns {@link JSVM_OK } if creation succeed.\n + * Returns {@link JSVM_INVALID_ARG } if any of the following condition reached:\n + * 1. offset + arrayBufferSize > backingStoreSize\n + * 2. backingStoreSize or arrayBufferSize equals zero + * 3. data or result is null pointer + * @since 12 + */ +JSVM_Status JSVM_CDECL OH_JSVM_CreateArraybufferFromBackingStoreData(JSVM_Env env, + void *data, + size_t backingStoreSize, + size_t offset, + size_t arrayBufferSize, + JSVM_Value *result); + /** * @brief This API does not observe leap seconds; they are ignored, as ECMAScript aligns with POSIX time specification. * This API allocates a JavaScript Date object. @@ -2893,6 +2941,89 @@ JSVM_EXTERN JSVM_Status OH_JSVM_ReleaseScript(JSVM_Env env, JSVM_Script script); JSVM_EXTERN JSVM_Status OH_JSVM_OpenInspectorWithName(JSVM_Env env, int pid, const char* name); + +/** + * @brief Compile WebAssembly bytecode into a WebAssembly module. + * If WebAssembly cache provided, deserialization will be performed. + * + * @param env: The environment that the API is invoked under. + * @param wasmBytecode: WebAssembly bytecode. + * @param wasmBytecodeLength: WebAssembly bytecode length in byte. + * @param cacheData: Optional WebAssembly cache. + * @param cacheDataLength: Optional WebAssembly cache length in byte. + * @param cacheRejected: Output parameter representing whether the provided cacheData is rejected. + * @param wasmModule: Output parameter representing compiled WebAssembly module. + * @return Returns JSVM funtions result code. + * Returns {@link JSVM_OK } if the function executed successfully.\n + * Returns {@link JSVM_INVALID_ARG } if any of env, wasmBytecode is NULL, or data length is invalid.\n + * Returns {@link JSVM_GENERIC_FAILURE } if compile failed.\n + * Returns {@link JSVM_PENDING_EXCEPTION } if an exception occurs.\n + * + * @since 12 + */ +JSVM_EXTERN JSVM_Status OH_JSVM_CompileWasmModule(JSVM_Env env, + const uint8_t *wasmBytecode, + size_t wasmBytecodeLength, + const uint8_t *cacheData, + size_t cacheDataLength, + bool *cacheRejected, + JSVM_Value *wasmModule); + +/** + * @brief Compile the function with the specified index in the WebAssembly module + * into the specified optimization level. + * + * @param env: The environment that the API is invoked under. + * @param wasmModule: The WebAssembly module to which the function to compiled belongs. + * @param functionIndex: The index of the function to be compiled, should never be out of range. + * @param optLevel: Optimization level the function will be compiled with. + * @return Returns JSVM funtions result code. + * Returns {@link JSVM_OK } if the function executed successfully.\n + * Returns {@link JSVM_INVALID_ARG } if env is NULL, or wasmModule is NULL or is not a WebAssembly module.\n + * Returns {@link JSVM_GENERIC_FAILURE } if functionIndex out of range or compile failed.\n + * Returns {@link JSVM_PENDING_EXCEPTION } if an exception occurs.\n + * + * @since 12 + */ +JSVM_EXTERN JSVM_Status OH_JSVM_CompileWasmFunction(JSVM_Env env, + JSVM_Value wasmModule, + uint32_t functionIndex, + JSVM_WasmOptLevel optLevel); + +/** + * @brief Check whether the given JSVM_Value is a WebAssembly module. + * + * @param env: The environment that the API is invoked under. + * @param value: The JavaScript value to check. + * @param result: Whether the given value is a WebAssembly module. + * @return Returns JSVM funtions result code. + * Returns {@link JSVM_OK } if the function executed successfully.\n + * Returns {@link JSVM_INVALID_ARG } if any of the input arguments is NULL.\n + * + * @since 12 + */ +JSVM_EXTERN JSVM_Status OH_JSVM_IsWasmModuleObject(JSVM_Env env, + JSVM_Value value, + bool* result); + +/** + * @brief Create cache for compiled WebAssembly module. + * + * @param env: The environment that the API is invoked under. + * @param wasmModule: The compiled WebAssembly module. + * @param data: Output parameter representing generated WebAssembly module cache. + * @param length: Output parameter representing byte length of generated WebAssembly module cache. + * @return Returns JSVM funtions result code. + * Returns {@link JSVM_OK } if the function executed successfully.\n + * Returns {@link JSVM_INVALID_ARG } if any of the input arguments is NULL.\n + * Returns {@link JSVM_GENERIC_FAILURE } if create wasm cache failed.\n + * + * @since 12 + */ +JSVM_EXTERN JSVM_Status OH_JSVM_CreateWasmCache(JSVM_Env env, + JSVM_Value wasmModule, + const uint8_t** data, + size_t* length); EXTERN_C_END /** @} */ #endif /* ARK_RUNTIME_JSVM_JSVM_H */ diff --git a/ark_runtime/jsvm/jsvm_types.h b/ark_runtime/jsvm/jsvm_types.h index b3fb450d5..b68d33d5a 100644 --- a/ark_runtime/jsvm/jsvm_types.h +++ b/ark_runtime/jsvm/jsvm_types.h @@ -734,5 +734,29 @@ typedef enum { /** Unicode Sets mode. */ JSVM_REGEXP_UNICODE_SETS = 1 << 8, } JSVM_RegExpFlags; + +/** + * @brief initialization flag + * + * @since 12 + */ +typedef enum { + /** initialize with zero. */ + JSVM_ZERO_INITIALIZED, + /** leave uninitialized. */ + JSVM_UNINITIALIZED, +} JSVM_InitializedFlag; + +/** + * @brief WebAssembly function optimization level + * + * @since 12 + */ +typedef enum { + /** baseline optimization level. */ + JSVM_WASM_OPT_BASELINE = 10, + /** high optimization level. */ + JSVM_WASM_OPT_HIGH = 20, +} JSVM_WasmOptLevel; /** @} */ #endif /* ARK_RUNTIME_JSVM_JSVM_TYPE_H */ diff --git a/ark_runtime/jsvm/libjsvm.ndk.json b/ark_runtime/jsvm/libjsvm.ndk.json index f7308460d..deb7e9bca 100644 --- a/ark_runtime/jsvm/libjsvm.ndk.json +++ b/ark_runtime/jsvm/libjsvm.ndk.json @@ -702,5 +702,33 @@ { "first_introduced": "12", "name": "OH_JSVM_OpenInspectorWithName" + }, + { + "first_introduced": "12", + "name": "OH_JSVM_AllocateArrayBufferBackingStoreData" + }, + { + "first_introduced": "12", + "name": "OH_JSVM_FreeArrayBufferBackingData" + }, + { + "first_introduced": "12", + "name": "OH_JSVM_CreateArraybufferFromBackingData" + }, + { + "first_introduced": "12", + "name": "OH_JSVM_CompileWasmModule" + }, + { + "first_introduced": "12", + "name": "OH_JSVM_CompileWasmFunction" + }, + { + "first_introduced": "12", + "name": "OH_JSVM_IsWasmModuleObject" + }, + { + "first_introduced": "12", + "name": "OH_JSVM_CreateWasmCache" } ] -- Gitee From cff97b3084d040541fcaa307f0255538711727ca Mon Sep 17 00:00:00 2001 From: liuweili Date: Sat, 17 Aug 2024 15:46:16 +0800 Subject: [PATCH 092/359] add Signed-off-by: liuweili --- ark_runtime/jsvm/jsvm.h | 25 ++++++++++++++++++++++--- ark_runtime/jsvm/jsvm_types.h | 12 ++++++++++++ 2 files changed, 34 insertions(+), 3 deletions(-) diff --git a/ark_runtime/jsvm/jsvm.h b/ark_runtime/jsvm/jsvm.h index 2d147ef68..606519bd1 100644 --- a/ark_runtime/jsvm/jsvm.h +++ b/ark_runtime/jsvm/jsvm.h @@ -726,6 +726,7 @@ JSVM_EXTERN JSVM_Status OH_JSVM_CreateArraybuffer(JSVM_Env env, * @param data: pointer that recieve the backing store memory pointer. * @return Returns JSVM funtions result code. * Returns {@link JSVM_OK } if allocation succeed.\n + * Returns {@link JSVM_INVALID_ARG } if data is null pointer.\n * Returns {@link JSVM_GENERIC_FAILURE } if allocation failed.\n * @since 12 */ @@ -737,7 +738,9 @@ JSVM_Status JSVM_CDECL OH_JSVM_AllocateArrayBufferBackingStoreData(size_t byteLe * @brief This API release the memory of an array buffer backing store. * * @param data: pointer to the backing store memory. - * @return Only returns JSVM_OK, because this API will not trigger any exception. + * @return Returns JSVM funtions result code. + * Returns {@link JSVM_OK } if run succeed.\n + * Returns {@link JSVM_INVALID_ARG } if data is null pointer.\n * @since 12 */ JSVM_Status JSVM_CDECL OH_JSVM_FreeArrayBufferBackingStoreData(void *data); @@ -747,9 +750,9 @@ JSVM_Status JSVM_CDECL OH_JSVM_FreeArrayBufferBackingStoreData(void *data); * * @param env: The environment that the API is invoked under. * @param data: pointer to the backing store memory. - * @param backingStoreSize: size of backing store memory in byte. + * @param backingStoreSize: size of backing store memory. * @param offset: start position of the array buffer in the backing store memory. - * @param arrayBufferSize: size of the array buffer in byte. + * @param arrayBufferSize: size of the array buffer. * @param result: pointer that recieve the array buffer. * @return Returns JSVM funtions result code. * Returns {@link JSVM_OK } if creation succeed.\n @@ -3024,6 +3027,22 @@ JSVM_EXTERN JSVM_Status OH_JSVM_CreateWasmCache(JSVM_Env env, JSVM_Value wasmModule, const uint8_t** data, size_t* length); + +/** + * @brief Release cache data with specified cache type. + * + * @param env: The environment that the API is invoked under. + * @param cacheData: The cache data to be released, double free is undefined behaviors. + * @param cacheType: The type of cache data. + * @return Returns JSVM funtions result code. + * Returns {@link JSVM_OK } if the function executed successfully.\n + * Returns {@link JSVM_INVALID_ARG } if any of the pointer arguments is NULL or cacheType is illegal.\n + * + * @since 12 + */ +JSVM_EXTERN JSVM_Status OH_JSVM_ReleaseCache(JSVM_Env env, + const uint8_t* cacheData, + JSVM_CacheType cacheType); EXTERN_C_END /** @} */ #endif /* ARK_RUNTIME_JSVM_JSVM_H */ diff --git a/ark_runtime/jsvm/jsvm_types.h b/ark_runtime/jsvm/jsvm_types.h index b68d33d5a..1f4145245 100644 --- a/ark_runtime/jsvm/jsvm_types.h +++ b/ark_runtime/jsvm/jsvm_types.h @@ -758,5 +758,17 @@ typedef enum { /** high optimization level. */ JSVM_WASM_OPT_HIGH = 20, } JSVM_WasmOptLevel; + +/** + * @brief Cache data type + * + * @since 12 + */ +typedef enum { + /** js code cache, generated by OH_JSVM_CreateCodeCache */ + JSVM_CACHE_TYPE_JS, + /** WebAssembly cache, generated by OH_JSVM_CreateWasmCache */ + JSVM_CACHE_TYPE_WASM, +} JSVM_CacheType; /** @} */ #endif /* ARK_RUNTIME_JSVM_JSVM_TYPE_H */ -- Gitee From 80db6ff5b7232950b43eaced8bb65219ed6846e9 Mon Sep 17 00:00:00 2001 From: yanghaiming Date: Sat, 17 Aug 2024 20:25:02 +0800 Subject: [PATCH 093/359] standarlize interface name Signed-off-by: yanghaiming --- ark_runtime/jsvm/jsvm.h | 2 +- ark_runtime/jsvm/libjsvm.ndk.json | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ark_runtime/jsvm/jsvm.h b/ark_runtime/jsvm/jsvm.h index 606519bd1..0d9fa9ad1 100644 --- a/ark_runtime/jsvm/jsvm.h +++ b/ark_runtime/jsvm/jsvm.h @@ -762,7 +762,7 @@ JSVM_Status JSVM_CDECL OH_JSVM_FreeArrayBufferBackingStoreData(void *data); * 3. data or result is null pointer * @since 12 */ -JSVM_Status JSVM_CDECL OH_JSVM_CreateArraybufferFromBackingStoreData(JSVM_Env env, +JSVM_Status JSVM_CDECL OH_JSVM_CreateArrayBufferFromBackingStoreData(JSVM_Env env, void *data, size_t backingStoreSize, size_t offset, diff --git a/ark_runtime/jsvm/libjsvm.ndk.json b/ark_runtime/jsvm/libjsvm.ndk.json index deb7e9bca..a9a775724 100644 --- a/ark_runtime/jsvm/libjsvm.ndk.json +++ b/ark_runtime/jsvm/libjsvm.ndk.json @@ -709,11 +709,11 @@ }, { "first_introduced": "12", - "name": "OH_JSVM_FreeArrayBufferBackingData" + "name": "OH_JSVM_FreeArrayBufferBackingStoreData" }, { "first_introduced": "12", - "name": "OH_JSVM_CreateArraybufferFromBackingData" + "name": "OH_JSVM_CreateArrayBufferFromBackingStoreData" }, { "first_introduced": "12", -- Gitee From c988329755cfb15854c20ac4ac0e4a01873b14c5 Mon Sep 17 00:00:00 2001 From: caochuan Date: Sun, 18 Aug 2024 13:29:18 +0800 Subject: [PATCH 094/359] add media asset ndk Signed-off-by: caochuan --- multimedia/camera_framework/BUILD.gn | 2 + multimedia/camera_framework/camera.ndk.json | 36 ++++ multimedia/camera_framework/camera_manager.h | 14 ++ multimedia/camera_framework/photo_native.h | 89 +++++++++ multimedia/camera_framework/photo_output.h | 92 +++++++++ .../media_library/media_access_helper_capi.h | 68 +++++++ .../media_library/media_asset_base_capi.h | 184 +++++++++++++++++- multimedia/media_library/media_asset_capi.h | 170 ++++++++++++++++ .../media_asset_change_request_capi.h | 130 +++++++++++++ .../media_asset_manager/BUILD.gn | 6 + .../lib_media_asset_namager_capi.ndk.json | 60 ++++++ .../media_library/media_asset_manager_capi.h | 30 ++- 12 files changed, 871 insertions(+), 10 deletions(-) create mode 100644 multimedia/camera_framework/photo_native.h create mode 100644 multimedia/media_library/media_access_helper_capi.h create mode 100644 multimedia/media_library/media_asset_capi.h create mode 100644 multimedia/media_library/media_asset_change_request_capi.h diff --git a/multimedia/camera_framework/BUILD.gn b/multimedia/camera_framework/BUILD.gn index 5193d84e0..2773cb88b 100644 --- a/multimedia/camera_framework/BUILD.gn +++ b/multimedia/camera_framework/BUILD.gn @@ -23,6 +23,7 @@ ohos_ndk_headers("camera_ndk_header") { "./camera_manager.h", "./capture_session.h", "./metadata_output.h", + "./photo_native.h", "./photo_output.h", "./preview_output.h", "./video_output.h", @@ -44,5 +45,6 @@ ohos_ndk_library("libohcamera") { "ohcamera/photo_output.h", "ohcamera/preview_output.h", "ohcamera/video_output.h", + "ohcamera/photo_native.h", ] } diff --git a/multimedia/camera_framework/camera.ndk.json b/multimedia/camera_framework/camera.ndk.json index cfd6120d9..50cc20db4 100644 --- a/multimedia/camera_framework/camera.ndk.json +++ b/multimedia/camera_framework/camera.ndk.json @@ -91,6 +91,10 @@ "first_introduced": "12", "name": "OH_CameraManager_CreatePhotoOutputUsedInPreconfig" }, + { + "first_introduced": "12", + "name": "OH_CameraManager_CreatePhotoOutputWithoutSurface" + }, { "first_introduced": "11", "name": "OH_CameraManager_CreateVideoOutput" @@ -439,6 +443,22 @@ "first_introduced": "11", "name": "OH_PhotoOutput_Capture" }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_RegisterPhotoAvailableCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_UnregisterPhotoAvailableCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_RegisterPhotoAssetAvailableCallback" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback" + }, { "first_introduced": "11", "name": "OH_PhotoOutput_Capture_WithCaptureSetting" @@ -459,6 +479,14 @@ "first_introduced": "12", "name": "OH_PhotoOutput_DeleteProfile" }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_IsMovingPhotoSupported" + }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_EnableMovingPhoto" + }, { "first_introduced": "11", "name": "OH_PreviewOutput_RegisterCallback" @@ -550,5 +578,13 @@ { "first_introduced": "12", "name": "OH_CameraDevice_GetCameraOrientation" + }, + { + "first_introduced": "12", + "name": "OH_PhotoNative_GetMainImage" + }, + { + "first_introduced": "12", + "name": "OH_PhotoNative_Release" } ] diff --git a/multimedia/camera_framework/camera_manager.h b/multimedia/camera_framework/camera_manager.h index ed72fcff9..42bcc1aaa 100644 --- a/multimedia/camera_framework/camera_manager.h +++ b/multimedia/camera_framework/camera_manager.h @@ -315,6 +315,20 @@ Camera_ErrorCode OH_CameraManager_CreatePhotoOutput(Camera_Manager* cameraManage Camera_ErrorCode OH_CameraManager_CreatePhotoOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_PhotoOutput** photoOutput); +/** + * @brief Create a photo output instance without surfaceId. + * + * @param cameraManager the {@link Camera_Manager} instance. + * @param profile the {@link Camera_Profile} to create {@link Camera_PhotoOutput}. + * @param photoOutput the {@link Camera_PhotoOutput} will be created if the method call succeeds. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_CameraManager_CreatePhotoOutputWithoutSurface(Camera_Manager *cameraManager, + const Camera_Profile *profile, Camera_PhotoOutput **photoOutput); + /** * @brief Create a video output instance. * diff --git a/multimedia/camera_framework/photo_native.h b/multimedia/camera_framework/photo_native.h new file mode 100644 index 000000000..216883119 --- /dev/null +++ b/multimedia/camera_framework/photo_native.h @@ -0,0 +1,89 @@ +/* + * Copyright (c) 2024 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 OH_Camera + * @{ + * + * @brief Provide the definition of the C interface for the camera module. + * + * @syscap SystemCapability.Multimedia.Camera.Core + * + * @since 12 + * @version 1.0 + */ + +/** + * @file photo_native.h + * + * @brief Declare the camera photo concepts. + * + * @library libohcamera.so + * @syscap SystemCapability.Multimedia.Camera.Core + * @since 12 + * @version 1.0 + */ + +#ifndef NATIVE_INCLUDE_PHOTO_NATIVE_H +#define NATIVE_INCLUDE_PHOTO_NATIVE_H + +#include +#include +#include "camera.h" +#include "multimedia/image_framework/image/image_native.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Camera photo object + * + * A pointer can be created using {@link OH_PhotoNative} method. + * + * @since 12 + * @version 1.0 + */ +typedef struct OH_PhotoNative OH_PhotoNative; + +/** + * @brief Get main image. + * + * @param photo the {@link OH_PhotoNative} instance. + * @param main the {@link OH_ImageNative} which use to get main image. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + * @version 1.0 + */ +Camera_ErrorCode OH_PhotoNative_GetMainImage(OH_PhotoNative* photo, OH_ImageNative* mainImage); + +/** + * @brief Release camera photo. + * + * @param photo the {@link OH_PhotoNative} instance to released. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + * @version 1.0 + */ +Camera_ErrorCode OH_PhotoNative_Release(OH_PhotoNative* photo); + +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_INCLUDE_PHOTO_NATIVE_H +/** @} */ \ No newline at end of file diff --git a/multimedia/camera_framework/photo_output.h b/multimedia/camera_framework/photo_output.h index 941cef603..2ec0654fe 100644 --- a/multimedia/camera_framework/photo_output.h +++ b/multimedia/camera_framework/photo_output.h @@ -43,6 +43,8 @@ #include #include #include "camera.h" +#include "photo_native.h" +#include "multimedia/media_library/media_asset_base_capi.h" #ifdef __cplusplus extern "C" { @@ -139,6 +141,24 @@ typedef void (*OH_PhotoOutput_CaptureReady) (Camera_PhotoOutput* photoOutput); */ typedef void (*OH_PhotoOutput_EstimatedCaptureDuration) (Camera_PhotoOutput* photoOutput, int64_t duration); +/** + * @brief Photo output available high-resolution images callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} which deliver the callback. + * @param photo the {@link OH_PhotoNative} which delivered by the callback. + * @since 12 + */ +typedef void (*OH_PhotoOutput_PhotoAvailable)(Camera_PhotoOutput* photoOutput, OH_PhotoNative* photo); + +/** + * @brief Photo output photo asset available callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} which deliver the callback. + * @param photoAsset the {@link OH_MediaAsset} which delivered by the callback. + * @since 12 + */ +typedef void (*OH_PhotoOutput_PhotoAssetAvailable)(Camera_PhotoOutput* photoOutput, OH_MediaAsset* photoAsset); + /** * @brief A listener for photo output. * @@ -310,6 +330,54 @@ Camera_ErrorCode OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback(Camera_ Camera_ErrorCode OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_EstimatedCaptureDuration callback); +/** + * @brief Register photo output photo available callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_PhotoAvailable} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_RegisterPhotoAvailableCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_PhotoAvailable callback); + +/** + * @brief Unregister photo output photo available callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link PhotoOutput_Callbacks} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_UnregisterPhotoAvailableCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_PhotoAvailable callback); + +/** + * @brief Register photo output photo asset available callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_PhotoAssetAvailable} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_RegisterPhotoAssetAvailableCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_PhotoAssetAvailable callback); + +/** + * @brief Unregister photo output photo asset available callback. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance. + * @param callback the {@link OH_PhotoOutput_PhotoAssetAvailable} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback(Camera_PhotoOutput* photoOutput, + OH_PhotoOutput_PhotoAssetAvailable callback); + /** * @brief Capture photo. * @@ -381,6 +449,30 @@ Camera_ErrorCode OH_PhotoOutput_GetActiveProfile(Camera_PhotoOutput* photoOutput */ Camera_ErrorCode OH_PhotoOutput_DeleteProfile(Camera_Profile* profile); +/** + * @brief Check whether to support moving photo. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance which used to check whether moving photo supported. + * @param isSupported the result of whether moving photo supported. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_IsMovingPhotoSupported(Camera_PhotoOutput* photoOutput, bool* isSupported); + +/** + * @brief Enable moving photo or not. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance which used to enable moving photo or not. + * @param enabled the flag of enable moving photo or not. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_EnableMovingPhoto(Camera_PhotoOutput* photoOutput, bool enabled); + #ifdef __cplusplus } #endif diff --git a/multimedia/media_library/media_access_helper_capi.h b/multimedia/media_library/media_access_helper_capi.h new file mode 100644 index 000000000..776bc9e2c --- /dev/null +++ b/multimedia/media_library/media_access_helper_capi.h @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2024 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 MediaAccessHelper + * @{ + * + * @brief Provides APIs of request capability for Media Source. + * + * @since 12 + */ + +/** + * @file media_access_helper_capi.h + * + * @brief Defines APIs related to media assess helper. + * + * Provides the ability to create photo albums, as well as access and modify media data information in the albums. + * + * @kit MediaLibraryKit + * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core + * @library libmedia_asset_manager.so + * @since 12 + */ + +#ifndef MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ACCESS_HELPER_H +#define MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ACCESS_HELPER_H + +#include "media_asset_base_capi.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Apply the change request of asset or album. + * + * @permission ohos.permission.WRITE_IMAGEVIDEO + * @param changeRequest the {@link OH_MediaAssetChangeRequest} instance to be applied. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_PERMISSION_DENIED} Permission is denied. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAccessHelper_ApplyChanges(OH_MediaAssetChangeRequest* changeRequest); + +#ifdef __cplusplus +} +#endif + +#endif // MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ACCESS_HELPER_H +/** @} */ \ No newline at end of file diff --git a/multimedia/media_library/media_asset_base_capi.h b/multimedia/media_library/media_asset_base_capi.h index 164893324..a0caef2b3 100644 --- a/multimedia/media_library/media_asset_base_capi.h +++ b/multimedia/media_library/media_asset_base_capi.h @@ -38,7 +38,7 @@ * MediaLibrary_RequestOptions structure: This structure provides options for requesting media library resources. \n * * @kit MediaLibraryKit - * @Syscap SystemCapability.FileManagement.PhotoAccessHelper.Core + * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core * @library libmedia_asset_manager.so * @since 12 */ @@ -48,6 +48,8 @@ #include +#include "multimedia/image_framework/image/image_source_native.h" + #ifdef __cplusplus extern "C" { #endif @@ -71,6 +73,24 @@ static const int32_t UUID_STR_MAX_LENGTH = 37; */ typedef struct OH_MediaAssetManager OH_MediaAssetManager; +/** + * @brief Define Media Asset Change Request + * + * This structure provides the ability to handle a media asset change request. + * + * @since 12 + */ +typedef struct OH_MediaAssetChangeRequest OH_MediaAssetChangeRequest; + +/** + * @brief Define Media Asset + * + * This structure provides the ability to encapsulate file asset attributes. + * + * @since 12 + */ +typedef struct OH_MediaAsset OH_MediaAsset; + /** * @brief Define MediaLibrary_RequestId * @@ -85,6 +105,64 @@ typedef struct MediaLibrary_RequestId { char requestId[UUID_STR_MAX_LENGTH]; } MediaLibrary_RequestId; +/** + * @brief Enum for media library error code. + * + * @since 12 + */ +typedef enum MediaLibrary_ErrorCode { + /** + * @error Media library result is ok. + */ + MEDIA_LIBRARY_OK = 0, + + /** + * @error Permission is denied. + */ + MEDIA_LIBRARY_PERMISSION_DENIED = 201, + + /** + * @error Mandatory parameters are left unspecified + * or incorrect parameter types or parameter verification failed. + */ + MEDIA_LIBRARY_PARAMETER_ERROR = 401, + + /** + * @error File does not exist. + */ + MEDIA_LIBRARY_NO_SUCH_FILE = 23800101, + + /** + * @error Invalid display name. + */ + MEDIA_LIBRARY_INVALID_DISPLAY_NAME = 23800102, + + /** + * @error Invalid asset uri. + */ + MEDIA_LIBRARY_INVALID_ASSET_URI = 23800103, + + /** + * @error Member is not a valid PhotoKey. + */ + MEDIA_LIBRARY_INVALID_PHOTO_KEY = 23800104, + + /** + * @error Operation is not supported. + */ + MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED = 23800201, + + /** + * @error Internal system error. + * It is recommended to retry and check the logs. + * Possible causes: + * 1. Database corrupted. + * 2. The file system is abnormal. + * 3. The IPC request timed out. + */ + MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR = 23800301, +} MediaLibrary_ErrorCode; + /** * @brief Delivery Mode * @@ -102,6 +180,90 @@ typedef enum MediaLibrary_DeliveryMode { MEDIA_LIBRARY_BALANCED_MODE = 2 } MediaLibrary_DeliveryMode; +/** + * @brief Request Options + * + * This structure provides options for requesting media library resources. + * + * @since 12 + */ +typedef struct MediaLibrary_RequestOptions { + /*delivery mode*/ + MediaLibrary_DeliveryMode deliveryMode; +} MediaLibrary_RequestOptions; + +/** + * @brief Enum for media type. + * + * @since 12 + */ +typedef enum MediaLibrary_MediaType { + /*image asset*/ + MEDIA_LIBRARY_IMAGE = 1, + /*video asset*/ + MEDIA_LIBRARY_VIDEO = 2 +} MediaLibrary_MediaType; + +/** + * @brief Enum for media asset subtype. + * + * @since 12 + */ +typedef enum MediaLibrary_MediaSubType { + /*default Photo Type*/ + MEDIA_LIBRARY_DEFAULT = 0, + /*moving Photo Type*/ + MEDIA_LIBRARY_MOVING_PHOTO = 3, + /*burst Photo Type*/ + MEDIA_LIBRARY_BURST = 4 +} MediaLibrary_MediaSubType; + +/** + * @brief Enum for resource types. + * + * @since 12 + */ +typedef enum MediaLibrary_ResourceType { + /*image resource*/ + MEDIA_LIBRARY_IMAGE_RESOURCE = 1, + /*video resource*/ + MEDIA_LIBRARY_VIDEO_RESOURCE = 2 +} MediaLibrary_ResourceType; + +/** + * @brief Enum for image file Type. + * + * @since 12 + */ +typedef enum MediaLibrary_ImageFileType { + /*JPEG type*/ + MEDIA_LIBRARY_IMAGE_JPEG = 1 +} MediaLibrary_ImageFileType; + +/** + * @brief Enum for media quality. + * + * @since 12 + */ +typedef enum MediaLibrary_MediaQuality { + /*fast quality*/ + MEDIA_LIBRARY_QUALITY_FAST = 1, + /*full quality*/ + MEDIA_LIBRARY_QUALITY_FULL = 2 +} MediaLibrary_MediaQuality; + +/** + * @brief Enum for media content type. + * + * @since 12 + */ +typedef enum MediaLibrary_MediaContentType { + /*compressed media content type*/ + MEDIA_LIBRARY_COMPRESSED = 1, + /*picture object media content type*/ + MEDIA_LIBRARY_PICTURE_OBJECT = 2 +} MediaLibrary_MediaContentType; + /** * @brief Called when a requested source is prepared. * @@ -114,18 +276,24 @@ typedef enum MediaLibrary_DeliveryMode { typedef void (*OH_MediaLibrary_OnDataPrepared)(int32_t result, MediaLibrary_RequestId requestId); /** - * @brief Request Options + * @brief Called when a requested image source is prepared. * - * This structure provides options for requesting media library resources. + * This function is called when the requested image source is prepared. * + * @param result results {@link MediaLibrary_ErrorCode} of the processing of the requested resources. + * @param requestId indicates the {@link MediaLibrary_RequestId} of the request. + * @param mediaQuality the {@link MediaLibrary_MediaQuality} of the requested source. + * @param type the {@link MediaLibrary_MediaContentType} of the requested source. + * @param imageSourceNative it used to obtain {@link OH_ImageSourceNative} information when image source is prepared. * @since 12 */ -typedef struct MediaLibrary_RequestOptions { - /*delivery mode*/ - MediaLibrary_DeliveryMode deliveryMode; -} MediaLibrary_RequestOptions; +typedef void (*OH_MediaLibrary_OnImageDataPrepared)(MediaLibrary_ErrorCode result, + MediaLibrary_RequestId requestId, MediaLibrary_MediaQuality mediaQuality, MediaLibrary_MediaContentType type, + OH_ImageSourceNative* imageSourceNative); #ifdef __cplusplus } #endif -#endif // MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_BASE_H \ No newline at end of file + +#endif // MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_BASE_H +/** @} */ \ No newline at end of file diff --git a/multimedia/media_library/media_asset_capi.h b/multimedia/media_library/media_asset_capi.h new file mode 100644 index 000000000..772e4be5d --- /dev/null +++ b/multimedia/media_library/media_asset_capi.h @@ -0,0 +1,170 @@ +/* + * Copyright (C) 2024 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 MediaAsset + * @{ + * + * @brief Provides APIs of request capability for Media Source. + * + * @since 12 + */ + +/** + * @file media_asset_capi.h + * + * @brief Defines APIs related to media asset. + * + * Provides the ability to obtain image or video information. + * + * @kit MediaLibraryKit + * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core + * @library libmedia_asset_manager.so + * @since 12 + */ + +#ifndef MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_H +#define MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_H + +#include "media_asset_base_capi.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Get the uri of the media asset. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param uri the uri of the media asset. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetUri(OH_MediaAsset* mediaAsset, const char** uri); + +/** + * @brief Get the display name of the media asset. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param displayName the display name of the media asset. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetDisplayName(OH_MediaAsset* mediaAsset, const char** displayName); + +/** + * @brief Get the file size of the media asset + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param size the file size(in bytes) of the media asset. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetSize(OH_MediaAsset* mediaAsset, uint32_t* size); + +/** + * @brief Get the modified time of the asset in milliseconds. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param dateModifiedMs the modified time of the asset in milliseconds. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetDateModifiedMs(OH_MediaAsset* mediaAsset, uint32_t* dateModifiedMs); + +/** + * @brief Get the image width(in pixels) of the media asset. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param width the image width(in pixels) of the media asset. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetWidth(OH_MediaAsset* mediaAsset, uint32_t* width); + +/** + * @brief Get the image height(in pixels) of the media asset. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param height the image height(in pixels) of the media asset. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetHeight(OH_MediaAsset* mediaAsset, uint32_t* height); + +/** + * @brief Get the orientation of the image. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param orientation the orientation of the image. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetOrientation(OH_MediaAsset* mediaAsset, uint32_t* orientation); + +/** + * @brief Release the media asset + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_Release(OH_MediaAsset* mediaAsset); + +#ifdef __cplusplus +} +#endif + +#endif // MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_H +/** @} */ \ No newline at end of file diff --git a/multimedia/media_library/media_asset_change_request_capi.h b/multimedia/media_library/media_asset_change_request_capi.h new file mode 100644 index 000000000..d4bb6a772 --- /dev/null +++ b/multimedia/media_library/media_asset_change_request_capi.h @@ -0,0 +1,130 @@ +/* + * Copyright (C) 2024 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 MediaAssetChangeRequest + * @{ + * + * @brief Provides APIs of request capability for Media Source. + * + * @since 12 + */ + +/** + * @file media_asset_change_request_capi.h + * + * @brief Defines APIs related to media asset change request. + * + * Provides the ability to change assets. + * + * @kit MediaLibraryKit + * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core + * @library libmedia_asset_manager.so + * @since 12 + */ + +#ifndef MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_CHANGE_REQUEST_H +#define MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_CHANGE_REQUEST_H + +#include "media_asset_base_capi.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Create a {@link OH_MediaAssetChangeRequest} instance. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 12 +*/ +OH_MediaAssetChangeRequest* OH_MediaAssetChangeRequest_Create(OH_MediaAsset* mediaAsset); + +/** + * @brief Add resource of the asset using ArrayBuffer. + * + * @param changeRequest the {@link OH_MediaAssetChangeRequest} instance. + * @param resourceType the {@link MediaLibrary_ResourceType} of the resource to add. + * @param buffer the data buffer to add. + * @param length the length of the data buffer. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * {@link #MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED} if operation is not supported. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_AddResourceWithBuffer(OH_MediaAssetChangeRequest* changeRequest, + MediaLibrary_ResourceType resourceType, uint8_t* buffer, uint32_t length); + +/** + * @brief Save the photo asset captured by camera. + * + * @param changeRequest the {@link OH_MediaAssetChangeRequest} instance. + * @param imageFileType The {@link MediaLibrary_ImageFileType} of photo to be saved. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * {@link #MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED} if operation is not supported. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_SaveCameraPhoto(OH_MediaAssetChangeRequest* changeRequest, + MediaLibrary_ImageFileType imageFileType); + +/** + * @brief Discard the photo asset captured by camera. + * + * @param changeRequest the {@link OH_MediaAssetChangeRequest} instance. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * {@link #MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED} if operation is not supported. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_DiscardCameraPhoto(OH_MediaAssetChangeRequest* changeRequest); + +/** + * @brief Release the {@link OH_MediaAssetChangeRequest} instance. + * + * @param changeRequest the {@link OH_MediaAssetChangeRequest} instance. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_Release(OH_MediaAssetChangeRequest* changeRequest); + +#ifdef __cplusplus +} +#endif + +#endif // MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_CHANGE_REQUEST_H +/** @} */ diff --git a/multimedia/media_library/media_asset_manager/BUILD.gn b/multimedia/media_library/media_asset_manager/BUILD.gn index 57c7fb44c..a56329237 100644 --- a/multimedia/media_library/media_asset_manager/BUILD.gn +++ b/multimedia/media_library/media_asset_manager/BUILD.gn @@ -18,7 +18,10 @@ import("//foundation/multimedia/media_library/media_library.gni") ohos_ndk_headers("media_asset_manager_header") { dest_dir = "$ndk_headers_out_dir/multimedia/media_library" sources = [ + "../media_access_helper_capi.h", "../media_asset_base_capi.h", + "../media_asset_capi.h", + "../media_asset_change_request_capi.h", "../media_asset_manager_capi.h", ] } @@ -31,5 +34,8 @@ ohos_ndk_library("libmedia_asset_manager") { system_capability_headers = [ "multimedia/media_library/media_asset_manager_capi.h", "multimedia/media_library/media_asset_base_capi.h", + "multimedia/media_library/media_access_helper_capi.h", + "multimedia/media_library/media_asset_capi.h", + "multimedia/media_library/media_asset_change_request_capi.h", ] } diff --git a/multimedia/media_library/media_asset_manager/lib_media_asset_namager_capi.ndk.json b/multimedia/media_library/media_asset_manager/lib_media_asset_namager_capi.ndk.json index 7e910b968..6cc799cb7 100644 --- a/multimedia/media_library/media_asset_manager/lib_media_asset_namager_capi.ndk.json +++ b/multimedia/media_library/media_asset_manager/lib_media_asset_namager_capi.ndk.json @@ -14,5 +14,65 @@ { "first_introduced": "12", "name": "OH_MediaAssetManager_CancelRequest" + }, + { + "first_introduced": "12", + "name": "OH_MediaAssetManager_RequestImage" + }, + { + "first_introduced": "12", + "name": "OH_MediaAccessHelper_ApplyChanges" + }, + { + "first_introduced": "12", + "name": "OH_MediaAsset_GetUri" + }, + { + "first_introduced": "12", + "name": "OH_MediaAsset_GetDisplayName" + }, + { + "first_introduced": "12", + "name": "OH_MediaAsset_GetSize" + }, + { + "first_introduced": "12", + "name": "OH_MediaAsset_GetDateModifiedMs" + }, + { + "first_introduced": "12", + "name": "OH_MediaAsset_GetWidth" + }, + { + "first_introduced": "12", + "name": "OH_MediaAsset_GetHeight" + }, + { + "first_introduced": "12", + "name": "OH_MediaAsset_GetOrientation" + }, + { + "first_introduced": "12", + "name": "OH_MediaAsset_Release" + }, + { + "first_introduced": "12", + "name": "OH_MediaAssetChangeRequest_Create" + }, + { + "first_introduced": "12", + "name": "OH_MediaAssetChangeRequest_AddResourceWithBuffer" + }, + { + "first_introduced": "12", + "name": "OH_MediaAssetChangeRequest_SaveCameraPhoto" + }, + { + "first_introduced": "12", + "name": "OH_MediaAssetChangeRequest_DiscardCameraPhoto" + }, + { + "first_introduced": "12", + "name": "OH_MediaAssetChangeRequest_Release" } ] \ No newline at end of file diff --git a/multimedia/media_library/media_asset_manager_capi.h b/multimedia/media_library/media_asset_manager_capi.h index 4b465e05e..73612f5c8 100644 --- a/multimedia/media_library/media_asset_manager_capi.h +++ b/multimedia/media_library/media_asset_manager_capi.h @@ -31,7 +31,7 @@ * to reqeust media source. * * @kit MediaLibraryKit - * @Syscap SystemCapability.FileManagement.PhotoAccessHelper.Core + * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core * @library libmedia_asset_manager.so * @since 12 */ @@ -94,7 +94,33 @@ MediaLibrary_RequestId OH_MediaAssetManager_RequestVideoForPath(OH_MediaAssetMan */ bool OH_MediaAssetManager_CancelRequest(OH_MediaAssetManager* manager, const MediaLibrary_RequestId requestId); +/** + * @brief Request image resources based on different strategy modes. + * + * @permission ohos.permission.READ_IMAGEVIDEO + * @param manager the pointer to {@link OH_MediaAssetManager} instance. + * @param mediaAsset the {@link OH_MediaAsset} instance of media file object to be requested. + * @param requestOptions the {@link MediaLibrary_RequestOptions} for image request strategy mode. + * @param requestId indicates the {@link MediaLibrary_RequestId} of the request, which is an output parameter. + * @param callback the {@link OH_MediaLibrary_OnImageDataPrepared} that will be called + * when the requested source is prepared. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED} if operation is not supported. + * {@link #MEDIA_LIBRARY_PERMISSION_DENIED} if permission is denied. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 12 +*/ +MediaLibrary_ErrorCode OH_MediaAssetManager_RequestImage(OH_MediaAssetManager* manager, OH_MediaAsset* mediaAsset, + MediaLibrary_RequestOptions requestOptions, MediaLibrary_RequestId* requestId, + OH_MediaLibrary_OnImageDataPrepared callback); + #ifdef __cplusplus } #endif -#endif // MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_MANAGER_H \ No newline at end of file + +#endif // MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_MANAGER_H +/** @} */ \ No newline at end of file -- Gitee From 836beb3b2d73b986210c2555bf3a48b0fd159589 Mon Sep 17 00:00:00 2001 From: liyang Date: Mon, 19 Aug 2024 09:45:29 +0800 Subject: [PATCH 095/359] =?UTF-8?q?=E5=BD=95=E5=B1=8FNDK=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: liyang --- multimedia/player_framework/native_avscreen_capture.h | 1 + multimedia/player_framework/native_avscreen_capture_base.h | 1 + 2 files changed, 2 insertions(+) diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index e993b8ef2..77fcb27e3 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -35,6 +35,7 @@ #ifndef NATIVE_AVSCREEN_CAPTURE_H #define NATIVE_AVSCREEN_CAPTURE_H +#include #include #include #include "native_avscreen_capture_errors.h" diff --git a/multimedia/player_framework/native_avscreen_capture_base.h b/multimedia/player_framework/native_avscreen_capture_base.h index 0d5b35387..deed04f4c 100644 --- a/multimedia/player_framework/native_avscreen_capture_base.h +++ b/multimedia/player_framework/native_avscreen_capture_base.h @@ -35,6 +35,7 @@ #ifndef NATIVE_AVSCREEN_CAPTURE_BASE_H #define NATIVE_AVSCREEN_CAPTURE_BASE_H +#include #include #include "native_avbuffer.h" -- Gitee From 99e015314fc9d043df17bd932163c40076086361 Mon Sep 17 00:00:00 2001 From: duanhan Date: Mon, 19 Aug 2024 11:29:13 +0800 Subject: [PATCH 096/359] add ndk pixel format Signed-off-by: duanhan --- .../image_framework/include/image/pixelmap_native.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index 875bafe5b..128d8a89d 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -112,6 +112,18 @@ typedef enum { * NV12 format */ PIXEL_FORMAT_NV12 = 9, + /* + * RGBA_1010102 format + */ + PIXEL_FORMAT_RGBA_1010102 = 10, + /* + * YCBCR_P010 format + */ + PIXEL_FORMAT_YCBCR_P010 = 11, + /* + * YCRCB_P010 format + */ + PIXEL_FORMAT_YCRCB_P010 = 12, } PIXEL_FORMAT; /** -- Gitee From c4336d34080511de5608037f6ee1172f5d2bfbfe Mon Sep 17 00:00:00 2001 From: zhouyan Date: Mon, 19 Aug 2024 16:33:02 +0800 Subject: [PATCH 097/359] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E6=8E=A7=E5=88=B6ndk=E6=8E=A5=E5=8F=A3=E5=A3=B0=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhouyan Change-Id: Iec95adca938b87e9128b2771e1edab7c48553629 --- security/access_token/BUILD.gn | 29 +++++++++ .../access_token/ability_access_control.h | 61 +++++++++++++++++++ security/access_token/libaccesstoken.ndk.json | 5 ++ 3 files changed, 95 insertions(+) create mode 100644 security/access_token/BUILD.gn create mode 100644 security/access_token/ability_access_control.h create mode 100644 security/access_token/libaccesstoken.ndk.json diff --git a/security/access_token/BUILD.gn b/security/access_token/BUILD.gn new file mode 100644 index 000000000..4b211ad2b --- /dev/null +++ b/security/access_token/BUILD.gn @@ -0,0 +1,29 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") + +ohos_ndk_headers("accesstoken_header") { + dest_dir = "$ndk_headers_out_dir/accesstoken" + sources = [ "ability_access_control.h" ] +} + +ohos_ndk_library("libability_access_control") { + ndk_description_file = "./libaccesstoken.ndk.json" + min_compact_version = "12" + output_name = "ability_access_control" + output_extension = "so" + + system_capability = "SystemCapability.Security.AccessToken" + system_capability_headers = [ "accesstoken/ability_access_control.h" ] +} diff --git a/security/access_token/ability_access_control.h b/security/access_token/ability_access_control.h new file mode 100644 index 000000000..121e5b983 --- /dev/null +++ b/security/access_token/ability_access_control.h @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2024 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 AbilityAccessControl + * @{ + * + * @brief Provides the capability to manage access token. + * + * @since 12 + */ + +/** + * @file ability_access_control.h + * + * @brief Declares the APIs for managing access token. + * + * @library ability_access_control.so + * @kit AbilityKit + * @syscap SystemCapability.Security.AccessToken + * @since 12 + */ + +#ifndef ABILITY_ACCESS_CONTROL_H +#define ABILITY_ACCESS_CONTROL_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Checks whether this application has been granted the given permission. + * + * @param permission - Name of the permission to be granted. + * @return true - The permission has been granted to this application. + * false - The permission has not been granted to this application. + * @since 12 + */ +bool OH_AT_CheckSelfPermission(const char *permission); + +#ifdef __cplusplus +} +#endif + +/** @} */ +#endif /* ABILITY_ACCESS_CONTROL_H */ diff --git a/security/access_token/libaccesstoken.ndk.json b/security/access_token/libaccesstoken.ndk.json new file mode 100644 index 000000000..3f1d12c5e --- /dev/null +++ b/security/access_token/libaccesstoken.ndk.json @@ -0,0 +1,5 @@ +[ + { + "name": "OH_AT_CheckSelfPermission" + } +] \ No newline at end of file -- Gitee From 4c1c217fadf56d6f57f4b7460359df72bab90596 Mon Sep 17 00:00:00 2001 From: y00656910 Date: Wed, 14 Aug 2024 20:53:18 +0800 Subject: [PATCH 098/359] 0814bugFix Signed-off-by: y00656910 Change-Id: I6a637a7df8242a184cf40d9c05fdc6eae3311e0b Signed-off-by: y00656910 --- .../image_framework/include/image/image_common.h | 14 ++++++++++++++ .../include/image/pixelmap_native.h | 3 +++ 2 files changed, 17 insertions(+) diff --git a/multimedia/image_framework/include/image/image_common.h b/multimedia/image_framework/include/image/image_common.h index f44cf9b9a..b84bb8345 100644 --- a/multimedia/image_framework/include/image/image_common.h +++ b/multimedia/image_framework/include/image/image_common.h @@ -83,6 +83,7 @@ struct Image_Region { */ typedef struct Image_Region Image_Region; +#ifdef __cplusplus /** * @brief Defines the region of the image source to decode. * @@ -94,6 +95,19 @@ struct Image_String { /** data lenth for string type */ size_t size = 0; }; +#else +/** + * @brief Defines the region of the image source to decode. + * + * @since 12 + */ +struct Image_String { + /** data for string type */ + char *data; + /** data lenth for string type */ + size_t size; +}; +#endif /** * @brief Define a PictureMetadata struct type, used for picture metadata. diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index 875bafe5b..fa5443d5b 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -36,6 +36,9 @@ #ifndef INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_PIXELMAP_NATIVE_H_ #define INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_PIXELMAP_NATIVE_H_ + +#include + #include "image_common.h" #include "napi/native_api.h" -- Gitee From 476764a78b02309e0ec27316878fa7c5608062a9 Mon Sep 17 00:00:00 2001 From: PengKejie Date: Mon, 19 Aug 2024 19:34:19 +0800 Subject: [PATCH 099/359] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=A5=E5=8F=A3OH?= =?UTF-8?q?=5FDrawing=5FTypographyGetLongestLineWithIndent=EF=BC=8C=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=B8=A6=E6=9C=89=E7=BC=A9=E8=BF=9B=E7=9A=84?= =?UTF-8?q?=E6=9C=80=E9=95=BF=E8=A1=8C=E5=AE=BD=E5=BA=A6=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: PengKejie --- .../native_drawing/drawing_text_typography.h | 14 ++++++++++++++ .../native_drawing/libnative_drawing.ndk.json | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/graphic/graphic_2d/native_drawing/drawing_text_typography.h b/graphic/graphic_2d/native_drawing/drawing_text_typography.h index d821c3855..521534ee1 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_typography.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_typography.h @@ -1031,6 +1031,20 @@ double OH_Drawing_TypographyGetHeight(OH_Drawing_Typography*); */ double OH_Drawing_TypographyGetLongestLine(OH_Drawing_Typography*); + /** + * @brief Obtains the width of the longest line with indent. You are advised to round up the return value in actual use. + * When the text content is empty, the minimum float value, + * that is, -340282346638528859811704183484516925440.000000, is returned. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Typography Pointer to an OH_Drawing_Typography object, which is obtained by + * {@link OH_Drawing_CreateTypography}. + * @return Returns the width of the longest line with indent. + * @since 12 + * @version 1.1 + */ + double OH_Drawing_TypographyGetLongestLineWithIndent(OH_Drawing_Typography*); + /** * @brief Gets the min intrinsic width. * diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index f0d6835c1..492754ecc 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -699,6 +699,10 @@ { "name": "OH_Drawing_TypographyGetMaxWidth" }, { "name": "OH_Drawing_TypographyGetHeight" }, { "name": "OH_Drawing_TypographyGetLongestLine" }, + { + "first_introduced": "12", + "name": "OH_Drawing_TypographyGetLongestLineWithIndent" + }, { "name": "OH_Drawing_TypographyGetMinIntrinsicWidth" }, { "name": "OH_Drawing_TypographyGetMaxIntrinsicWidth" }, { "name": "OH_Drawing_TypographyGetAlphabeticBaseline" }, -- Gitee From 0063bb98f2fd653f776eddc79a9552dbd503cfea Mon Sep 17 00:00:00 2001 From: m00472246 Date: Mon, 19 Aug 2024 12:02:43 +0800 Subject: [PATCH 100/359] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=B8=80=E4=B8=AAOH?= =?UTF-8?q?=5FNativeImage=5FCreate=E4=BD=9C=E4=B8=BA=E7=BA=AF=E6=B6=88?= =?UTF-8?q?=E8=B4=B9=E7=AB=AF=20Signed-off-by:=20m00472246=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: m00472246 --- .../native_image/libnative_image.ndk.json | 4 ++++ graphic/graphic_2d/native_image/native_image.h | 13 +++++++++++++ 2 files changed, 17 insertions(+) diff --git a/graphic/graphic_2d/native_image/libnative_image.ndk.json b/graphic/graphic_2d/native_image/libnative_image.ndk.json index c591bf0fd..4d9f20d89 100644 --- a/graphic/graphic_2d/native_image/libnative_image.ndk.json +++ b/graphic/graphic_2d/native_image/libnative_image.ndk.json @@ -18,5 +18,9 @@ { "first_introduced": "12", "name": "OH_NativeImage_ReleaseNativeWindowBuffer" + }, + { + "first_introduced": "12", + "name": "OH_ConsumerSurface_Create" } ] \ No newline at end of file diff --git a/graphic/graphic_2d/native_image/native_image.h b/graphic/graphic_2d/native_image/native_image.h index a1bbf5122..56e10963d 100644 --- a/graphic/graphic_2d/native_image/native_image.h +++ b/graphic/graphic_2d/native_image/native_image.h @@ -266,6 +266,19 @@ int32_t OH_NativeImage_AcquireNativeWindowBuffer(OH_NativeImage* image, int32_t OH_NativeImage_ReleaseNativeWindowBuffer(OH_NativeImage* image, OHNativeWindowBuffer* nativeWindowBuffer, int fenceFd); +/** + * @brief Create a OH_NativeImage as a consumerSurface. \n + * This method can not be used at the same time with OH_NativeImage_UpdateSurfaceImage.\n + * This interface needs to be used in conjunction with OH_NativeImage_Destroy<\b>, + * otherwise memory leaks will occur.\n + * @syscap SystemCapability.Graphic.Graphic2D.NativeImage + * @return Returns the pointer to the OH_NativeImage instance created if the operation is successful, \n + * returns NULL otherwise. + * @since 12 + * @version 1.0 + */ +OH_NativeImage* OH_ConsumerSurface_Create(); + #ifdef __cplusplus } #endif -- Gitee From ac8bc7b2a077cebb3dde6477407dd6a83604f391 Mon Sep 17 00:00:00 2001 From: gaojianhao1 Date: Fri, 16 Aug 2024 20:12:18 +0800 Subject: [PATCH 101/359] sAdd CookieManager ndk interface. Signed-off-by: gaojianhao1 --- .../interfaces/native/arkweb_error_code.h | 6 ++ .../interfaces/native/arkweb_interface.h | 2 + web/webview/interfaces/native/arkweb_type.h | 66 +++++++++++++++++++ 3 files changed, 74 insertions(+) diff --git a/web/webview/interfaces/native/arkweb_error_code.h b/web/webview/interfaces/native/arkweb_error_code.h index 0ebf021f9..a445de2c7 100644 --- a/web/webview/interfaces/native/arkweb_error_code.h +++ b/web/webview/interfaces/native/arkweb_error_code.h @@ -47,6 +47,12 @@ ARKWEB_INVALID_PARAM = 17100101, /** @error Register custom schemes should be called before create any ArkWeb. */ ARKWEB_SCHEME_REGISTER_FAILED = 17100102, + +/** @error Invalid url. */ +ARKWEB_INVALID_URL = 17100103, + +/** @error Invalid cookie value. */ +ARKWEB_INVALID_COOKIE_VALUE = 17100104, } ArkWeb_ErrorCode; #endif // ARKWEB_ERROR_CODE_H diff --git a/web/webview/interfaces/native/arkweb_interface.h b/web/webview/interfaces/native/arkweb_interface.h index 7b60c5bcb..b610729ed 100644 --- a/web/webview/interfaces/native/arkweb_interface.h +++ b/web/webview/interfaces/native/arkweb_interface.h @@ -63,6 +63,8 @@ typedef enum { ARKWEB_NATIVE_WEB_MESSAGE_PORT, /** API type related to ArkWeb WebMessage. */ ARKWEB_NATIVE_WEB_MESSAGE, + /** API type related to ArkWeb cookie manager. */ + ARKWEB_NATIVE_COOKIE_MANAGER, } ArkWeb_NativeAPIVariantKind; /* diff --git a/web/webview/interfaces/native/arkweb_type.h b/web/webview/interfaces/native/arkweb_type.h index 2a1d56d64..d626371eb 100644 --- a/web/webview/interfaces/native/arkweb_type.h +++ b/web/webview/interfaces/native/arkweb_type.h @@ -333,6 +333,72 @@ typedef struct { void* (*getData)(ArkWeb_WebMessagePtr webMessage, size_t* dataLength); } ArkWeb_WebMessageAPI; +/** + * @brief Defines the native CookieManager API for ArkWeb. + * Before invoking an API, you are advised to use ARKWEB_MEMBER_MISSING to check + * whether the function structure has a corresponding function pointer to avoid crash + * caused by mismatch between the SDK and the device ROM. + * + * @since 12 + */ +typedef struct { + /** The ArkWeb_CookieManagerAPI struct size. */ + size_t size; + + /** + * @brief Obtains the cookie value corresponding to a specified URL. + * + * @param url URL to which the cookie to be obtained belongs. A complete URL is recommended. + * @param incognito True indicates that the memory cookies of the webview in privacy mode are obtained, + * and false indicates that cookies in non-privacy mode are obtained. + * @param includeHttpOnly If true HTTP-only cookies will also be included in the cookieValue. + * @param cookieValue Get the cookie value corresponding to the URL. + * @return Fetch cookie result code. + * {@link ARKWEB_SUCCESS} fetch cookie success. + * {@link ARKWEB_INVALID_URL} invalid url. + * {@link ARKWEB_INVALID_PARAM} cookieValue is nullptr. + */ + ArkWeb_ErrorCode (*fetchCookieSync)(const char* url, bool incognito, bool includeHttpOnly, char** cookieValue); + + /** + * @brief Sets the cookie value for a specified URL. + * + * @param url Specifies the URL to which the cookie belongs. A complete URL is recommended. + * @param cookieValue The value of the cookie to be set. + * @param incognito True indicates that cookies of the corresponding URL are set in privacy mode, + * and false indicates that cookies of the corresponding URL are set in non-privacy mode. + * @param includeHttpOnly If true, HTTP-only cookies can also be overwritten. + * @return Config cookie result code. + * {@link ARKWEB_SUCCESS} config cookie success. + * {@link ARKWEB_INVALID_URL} invalid url. + * {@link ARKWEB_INVALID_COOKIE_VALUE} invalid cookie value. + */ + ArkWeb_ErrorCode (*configCookieSync)(const char* url, + const char* cookieValue, bool incognito, bool includeHttpOnly); + + /** + * @brief Check whether cookies exist. + * + * @param incognito True indicates whether cookies exist in privacy mode, + * and false indicates whether cookies exist in non-privacy mode. + * @return True indicates that the cookie exists, and false indicates that the cookie does not exist. + */ + bool (*existCookies)(bool incognito); + + /** + * @brief Clear all cookies. + * + * @param incognito True indicates that all memory cookies of the webview are cleared in privacy mode, + * and false indicates that persistent cookies in non-privacy mode are cleared. + */ + void (*clearAllCookiesSync)(bool incognito); + + /** + * @brief Clear all session cookies. + */ + void (*clearSessionCookiesSync)(); +} ArkWeb_CookieManagerAPI; + /** * @brief Check whether the member variables of the current struct exist. * -- Gitee From 3c553440277361e356b1cd21ae258aec2dbb4e3c Mon Sep 17 00:00:00 2001 From: zhangqiang Date: Tue, 20 Aug 2024 10:53:17 +0800 Subject: [PATCH 102/359] =?UTF-8?q?20240820=20=20ScreenCapture=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=9A=84=E6=B3=A8=E9=87=8A=E9=94=99=E8=AF=AF=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangqiang --- multimedia/player_framework/native_avscreen_capture.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index 77fcb27e3..c260023c6 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -392,7 +392,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ContentFilter_AddWindowContent( * @param height Video frame height of avscreeencapture * @return Function result code. * {@link AV_SCREEN_CAPTURE_ERR_OK} if the execution is successful. - * {@link AV_SCREEN_CAPTURE_ERR_INVALID_VAL} input capture is nullptr or input filter is nullptr. + * {@link AV_SCREEN_CAPTURE_ERR_INVALID_VAL} input capture is nullptr. * {@link AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT} opertation not be permitted. * @since 12 * @version 1.0 -- Gitee From 6e8dc463b8d93350e9a37aa1e22c5bec0c763c05 Mon Sep 17 00:00:00 2001 From: renxinyao Date: Tue, 20 Aug 2024 11:50:34 +0800 Subject: [PATCH 103/359] =?UTF-8?q?=E6=9E=B6=E6=9E=84=E5=B9=B3=E5=8F=B0?= =?UTF-8?q?=E4=B8=8D=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: renxinyao --- multimodalinput/kits/c/input/oh_input_manager.h | 1 - 1 file changed, 1 deletion(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index f55c4f32a..4c3a94b31 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -263,7 +263,6 @@ typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent); /** * @brief Defines the structure for the interceptor of event callbacks, * including mouseCallback, touchCallback, and axisCallback. - * * @since 12 */ typedef struct Input_InterceptorEventCallback { -- Gitee From 6385b1dba428cf6e74ff7dd15bcd1a5d4134c66a Mon Sep 17 00:00:00 2001 From: li_junsong Date: Mon, 19 Aug 2024 20:27:35 +0800 Subject: [PATCH 104/359] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=97=B6=E5=8C=BA=E8=8E=B7=E5=8F=96=E6=97=B6=E5=8C=BA=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: li_junsong --- BasicServicesKit/BUILD.gn | 14 ++++ BasicServicesKit/libtime_service.ndk.json | 5 ++ BasicServicesKit/time_service.h | 79 +++++++++++++++++++++++ 3 files changed, 98 insertions(+) create mode 100644 BasicServicesKit/libtime_service.ndk.json create mode 100644 BasicServicesKit/time_service.h diff --git a/BasicServicesKit/BUILD.gn b/BasicServicesKit/BUILD.gn index f28da4fa8..d7cb6f57f 100644 --- a/BasicServicesKit/BUILD.gn +++ b/BasicServicesKit/BUILD.gn @@ -57,3 +57,17 @@ ohos_ndk_library("libohscan_ndk") { system_capability = "SystemCapability.Print.PrintFramework" system_capability_headers = [ "BasicServicesKit/ohscan.h" ] } + +ohos_ndk_headers("time_service_ndk_header") { + dest_dir = "$ndk_headers_out_dir/BasicServicesKit/" + sources = [ "./time_service.h" ] +} + +ohos_ndk_library("libtime_service_ndk") { + output_name = "time_service_ndk" + output_extension = "so" + ndk_description_file = "./libtime_service.ndk.json" + min_compact_version = "12" + system_capability = "SystemCapability.MiscServices.Time" + system_capability_headers = [ "BasicServicesKit/time_service.h" ] +} diff --git a/BasicServicesKit/libtime_service.ndk.json b/BasicServicesKit/libtime_service.ndk.json new file mode 100644 index 000000000..2e80130d8 --- /dev/null +++ b/BasicServicesKit/libtime_service.ndk.json @@ -0,0 +1,5 @@ +[ + { "first_introduced": "12", + "name":"OH_TimeService_GetTimeZone" + } +] \ No newline at end of file diff --git a/BasicServicesKit/time_service.h b/BasicServicesKit/time_service.h new file mode 100644 index 000000000..c7194a406 --- /dev/null +++ b/BasicServicesKit/time_service.h @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef TIME_SERVICE_H +#define TIME_SERVICE_H + +/** + * @addtogroup TimeService + * @{ + * + * @brief Declares the time zone capabilities provided by TimeService to an application. + * @since 12 + */ +/** + * @file time_service.h + * + * @brief Declares the APIs for obtaining the time zone information. + * @library libtime_service_ndk.so + * @syscap SystemCapability.MiscServices.Time + * @since 12 + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the error codes. + * + * @since 12 + */ +typedef enum TimeService_ErrCode { + /** @error Success.*/ + TIMESERVICE_ERR_OK = 0, + + /** @error Failed to obtain system parameters.*/ + TIMESERVICE_ERR_INTERNAL_ERROR = 13000001, + + /** @error Invalid parameter.*/ + TIMESERVICE_ERR_INVALID_PARAMETER = 13000002, +} TimeService_ErrCode; + +/** + * @brief Obtains the current system time zone. + * + * @param timeZone Pointer to an array of characters indicating the time zone ID. On success, the string indicates the + * current system time zone ID. On failure, the string is empty. The string is terminated using '\0'. + * @param len Size of the memory allocated for the time zone ID character array. There is no upper limit for the length + * of the time zone ID. It is recommended to allocate sufficient memory, at least not less than 31 bytes. + * @return Returns {@link TIMESERVICE_ERR_OK} if the operation is successful. + * Returns {@link TIMESERVICE_ERR_INTERNAL_ERROR} if obtaining the system parameters fails. + * Returns {@link TIMESERVICE_ERR_INVALID_PARAMETER} if timeZone is a null pointer or the length of the + * time zone ID (excluding the terminating character ('\0')) is greater than or equal to len. + * @syscap SystemCapability.MiscServices.Time + * @since 12 + */ +TimeService_ErrCode OH_TimeService_GetTimeZone(char *timeZone, uint32_t len); + +#ifdef __cplusplus +} +#endif + +/** @} */ + +#endif /* TIME_SERVICE_H */ \ No newline at end of file -- Gitee From 8ddcb056970cb9e02e9af10b779c36595e505be9 Mon Sep 17 00:00:00 2001 From: zhangwuf Date: Tue, 20 Aug 2024 14:33:59 +0800 Subject: [PATCH 105/359] =?UTF-8?q?check=E5=B7=A5=E5=85=B7=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=AF=B9=E9=9D=9E=E5=85=BC=E5=AE=B9=E6=80=A7=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E6=A3=80=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangwuf --- .../capi_parser/src/coreImpl/check/check.py | 11 +- .../src/coreImpl/check/check_compatibility.py | 49 +++++ .../src/coreImpl/check/check_doc.py | 2 +- .../src/coreImpl/diff/diff_file.py | 19 +- .../src/coreImpl/diff/diff_processor_node.py | 91 +++++---- .../diff/diff_processor_permission.py | 4 +- .../capi_parser/src/coreImpl/parser/parser.py | 3 +- .../src/typedef/check/check_compatibility.py | 177 ++++++++++++++++++ .../capi_parser/src/typedef/diff/diff.py | 36 ++-- 9 files changed, 334 insertions(+), 58 deletions(-) create mode 100644 build-tools/capi_parser/src/coreImpl/check/check_compatibility.py create mode 100644 build-tools/capi_parser/src/typedef/check/check_compatibility.py diff --git a/build-tools/capi_parser/src/coreImpl/check/check.py b/build-tools/capi_parser/src/coreImpl/check/check.py index db91aeb04..02c062c63 100644 --- a/build-tools/capi_parser/src/coreImpl/check/check.py +++ b/build-tools/capi_parser/src/coreImpl/check/check.py @@ -18,9 +18,11 @@ import os.path import openpyxl as op from pathlib import Path from typedef.check.check import FileDocInfo, check_command_message, CheckErrorMessage +from typedef.check.check_compatibility import check_compatibility_command_message from coreImpl.check.check_doc import process_comment, process_file_doc_info from coreImpl.check.check_name import check_file_name, check_api_name from coreImpl.parser.parser import parser_include_ast +from coreImpl.check.check_compatibility import check_compatibility_entrance def process_api_json(api_info, file_doc_info, api_result_info_list, parent_kind, command_list): @@ -112,7 +114,7 @@ def write_in_txt(check_result, output_path): def result_to_json(check_result): - return json.dumps(check_result, default=lambda obj: obj.__dict__, indent=4) + return json.dumps(check_result, default=lambda obj: obj.__dict__, indent=4, ensure_ascii=False) def get_file_path(txt_file): # 路径装在txt文件用的--获取.h文件路径 @@ -134,8 +136,10 @@ def curr_entry(files_path, command: str, output): return if command == 'all': command_list = check_command_message + command_of_compatibility_list = check_compatibility_command_message else: command_list = command.split(',') + command_of_compatibility_list = command_list check_result_list = [] if len(file_list) > 0: check_result_list = get_check_result_list(file_list, root_path, command_list) @@ -146,6 +150,11 @@ def curr_entry(files_path, command: str, output): result_list.append(result) else: result_list = check_result_list + old_dir = r'' + new_dir = r'' + if old_dir and new_dir: + compatibility_data = check_compatibility_entrance(old_dir, new_dir, command_of_compatibility_list) + result_list.extend(compatibility_data) write_in_txt(result_list, output) diff --git a/build-tools/capi_parser/src/coreImpl/check/check_compatibility.py b/build-tools/capi_parser/src/coreImpl/check/check_compatibility.py new file mode 100644 index 000000000..fb9e70f7b --- /dev/null +++ b/build-tools/capi_parser/src/coreImpl/check/check_compatibility.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (c) 2024 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. + + +from coreImpl.diff.diff_file import check_diff_entrance +from typedef.check.check import CheckOutPut +from typedef.check.check_compatibility import match_diff_and_check_scene_dict, CheckCompatibilityErrorMessage + + +def process_each_diff_data(diff_data: list, compatibility_rule: list): + check_compatibility_result_list = [] + for element in diff_data: + diff_type_message = element.diff_type.name + match_check_rule = match_diff_and_check_scene_dict.get(diff_type_message) + if (not element.is_compatible) and match_check_rule and match_check_rule in compatibility_rule: + old_different_content = str(element.old_differ_content) + new_different_content = str(element.new_differ_content) + match_check_message = (CheckCompatibilityErrorMessage.get_rule_message(match_check_rule) + .replace('$$', old_different_content).replace('&&', new_different_content)) + old_declara = element.old_api_declara + new_declara = element.new_api_declara + content_line = element.api_line + if element.file_doc_line != 0: + content_line = element.file_doc_line + main_buggy_code = 'Old since:{}\nNew since:{}'.format(old_declara, new_declara) + result_obj = CheckOutPut(element.api_file_path, content_line, match_check_rule, match_check_message, + main_buggy_code, content_line) + check_compatibility_result_list.append(result_obj) + + return check_compatibility_result_list + + +def check_compatibility_entrance(old_dir, new_dir, compatibility_rule: list): + diff_data = check_diff_entrance(old_dir, new_dir) + check_compatibility_data_list = process_each_diff_data(diff_data, compatibility_rule) + + return check_compatibility_data_list diff --git a/build-tools/capi_parser/src/coreImpl/check/check_doc.py b/build-tools/capi_parser/src/coreImpl/check/check_doc.py index 99fbee693..cf966259f 100644 --- a/build-tools/capi_parser/src/coreImpl/check/check_doc.py +++ b/build-tools/capi_parser/src/coreImpl/check/check_doc.py @@ -447,7 +447,7 @@ def process_comment(comment: str, file_doc_info: FileDocInfo, api_info) -> list: comment_start_line = api_info['location']['location_line'] - comment.count('\n') - 1 for index, item in enumerate(result_json): if api_info['kind'] == CursorKind.TRANSLATION_UNIT.name and len(item['tags']) > 0 and\ - item['tags'][0]['tag'] == '}' and index <= len(api_info['line_list']) - 1: + item['tags'][0]['tag'] == '}' and 'line_list' in api_info and index <= len(api_info['line_list']) - 1: comment_start_line = api_info['line_list'][index] api_result_info_list.extend(process_each_comment(item, file_doc_info, api_info, comment_start_line)) if index == len(result_json) - 1: diff --git a/build-tools/capi_parser/src/coreImpl/diff/diff_file.py b/build-tools/capi_parser/src/coreImpl/diff/diff_file.py index 2c4c0fb16..202841f38 100644 --- a/build-tools/capi_parser/src/coreImpl/diff/diff_file.py +++ b/build-tools/capi_parser/src/coreImpl/diff/diff_file.py @@ -17,6 +17,7 @@ import filecmp import json import os import stat +import re from collections import OrderedDict import openpyxl as op from coreImpl.parser.parser import diff_parser_include_ast @@ -175,6 +176,12 @@ def start_diff_file(old_dir, new_dir, output_path): write_in_txt(result_json, output_path_txt) +def check_diff_entrance(old_dir, new_dir): + result_info_list = global_assignment(old_dir, new_dir) + + return result_info_list + + def disposal_result_data(result_info_list): data = [] for diff_info in result_info_list: @@ -252,10 +259,14 @@ def get_file_ext(file_name): def filter_ignore_file(file_path): - ignore_dict = IgnoreFileDirectory.ignore_file_dict - for key in ignore_dict.keys(): - if key in file_path: - return False + norm_file_path = os.path.normpath(file_path) + if os.name == 'nt': # Windows + pattern = re.compile(IgnoreFileDirectory.IGNORE_FILE_DIR_wd.value) + else: # Linux / macOS + pattern = re.compile(IgnoreFileDirectory.IGNORE_FILE_DIR_lx.value) + # 检查匹配 + if pattern.search(norm_file_path): + return False return True diff --git a/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py b/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py index c4c1b6a3a..8d48a2641 100644 --- a/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py +++ b/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py @@ -68,6 +68,8 @@ def wrap_diff_info(old_info, new_info, diff_info: DiffInfo): else: api_declare = old_info['name'] + if old_info['kind'] != 'TRANSLATION_UNIT': + diff_info.set_old_api_declara(api_declare) old_content = '类名:{};\nAPI声明:{};\n差异内容:{}\n'.format(diff_info.class_name, api_declare, diff_info.old_differ_content) diff_info.set_old_api_full_text(old_content) @@ -87,6 +89,8 @@ def wrap_diff_info(old_info, new_info, diff_info: DiffInfo): api_declare = new_info['node_content']['content'] else: api_declare = new_info['name'] + if new_info['kind'] != 'TRANSLATION_UNIT': + diff_info.set_new_api_declara(api_declare) new_content = '类名:{};\nAPI声明:{};\n差异内容:{}\n'.format(diff_info.class_name, api_declare, diff_info.new_differ_content) @@ -423,7 +427,7 @@ def process_union_name(old, new, diff_union_list): if old['name'] != new['name']: old_union_name = old['name'] new_union_name = new['name'] - result_message_obj = get_initial_result_obj(DiffType.STRUCT_MEMBER_NAME_CHANGE, + result_message_obj = get_initial_result_obj(DiffType.UNION_NAME_CHANGE, old_union_name, new_union_name) diff_info = wrap_diff_info(old, new, result_message_obj) diff_union_list.append(diff_info) @@ -437,7 +441,7 @@ def process_union_member(old, new, diff_union_list): if old_member_result.get(key) is None: old_member_content = 'NA' new_member_content = new_member_result.get(key)['node_content']['content'] - result_message_obj = get_initial_result_obj(DiffType.STRUCT_MEMBER_NAME_CHANGE, + result_message_obj = get_initial_result_obj(DiffType.UNION_MEMBER_ADD, old_member_content, new_member_content) diff_info = wrap_diff_info(old_member_result.get(key), new_member_result.get(key), @@ -446,7 +450,7 @@ def process_union_member(old, new, diff_union_list): elif new_member_result.get(key) is None: old_member_content = old_member_result.get(key)['node_content']['content'] new_member_content = 'NA' - result_message_obj = get_initial_result_obj(DiffType.STRUCT_MEMBER_NAME_CHANGE, + result_message_obj = get_initial_result_obj(DiffType.UNION_MEMBER_REDUCE, old_member_content, new_member_content) diff_info = wrap_diff_info(old_member_result.get(key), new_member_result.get(key), @@ -978,17 +982,19 @@ def process_tag_file(old_tag, new_tag, old_info, new_info): def process_tag_library(old_tag, new_tag, old_info, new_info): diff_info_list = [] if old_tag is None: - diff_info_list.append( - wrap_diff_info(old_info, new_info, DiffInfo(DiffType.DOC_TAG_LIBRARY_NA_TO_HAVE, 'NA', new_tag['name']))) + library_result_obj = DiffInfo(DiffType.DOC_TAG_LIBRARY_NA_TO_HAVE, 'NA', new_tag['name']) + set_file_doc_content_snippet(old_tag, new_tag, library_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, library_result_obj)) return diff_info_list if new_tag is None: - diff_info_list.append( - wrap_diff_info(old_info, new_info, DiffInfo(DiffType.DOC_TAG_LIBRARY_HAVE_TO_NA, old_tag['name'], "NA"))) + library_result_obj = DiffInfo(DiffType.DOC_TAG_LIBRARY_HAVE_TO_NA, old_tag['name'], "NA") + set_file_doc_content_snippet(old_tag, new_tag, library_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, library_result_obj)) return diff_info_list if old_tag['name'] != new_tag['name']: - diff_info_list.append(wrap_diff_info(old_info, new_info, - DiffInfo(DiffType.DOC_TAG_LIBRARY_A_TO_B, old_tag['name'], - new_tag['name']))) + library_result_obj = DiffInfo(DiffType.DOC_TAG_LIBRARY_A_TO_B, old_tag['name'], new_tag['name']) + set_file_doc_content_snippet(old_tag, new_tag, library_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, library_result_obj)) return diff_info_list @@ -1013,35 +1019,47 @@ def process_tag_param(old_tag, new_tag, old_info, new_info): return diff_info_list +def set_file_doc_content_snippet(old_tag, new_tag, diff_obj): + if old_tag is not None: + if old_tag.get('source'): + diff_obj.set_file_doc_line(old_tag.get('source')[0].get('number')) + diff_obj.set_old_api_declara(old_tag.get('source')[0].get('source')) + if new_tag is not None: + if new_tag.get('source'): + diff_obj.set_file_doc_line(new_tag.get('source')[0].get('number')) + diff_obj.set_new_api_declara(new_tag.get('source')[0].get('source')) + + def process_tag_permission(old_tag, new_tag, old_info, new_info): diff_info_list = [] if old_tag is None: - diff_info_list.append(wrap_diff_info(old_info, new_info, DiffInfo(DiffType.DOC_TAG_PERMISSION_NA_TO_HAVE, - 'NA', - f'{new_tag["name"]} ' - f'{new_tag["description"]}'))) + permission_result_obj = DiffInfo(DiffType.DOC_TAG_PERMISSION_NA_TO_HAVE, 'NA', f'{new_tag["name"]} ' + f'{new_tag["description"]}') + set_file_doc_content_snippet(old_tag, new_tag, permission_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, permission_result_obj)) return diff_info_list if new_tag is None: - diff_info_list.append(wrap_diff_info(old_info, new_info, DiffInfo(DiffType.DOC_TAG_PERMISSION_HAVE_TO_NA, - f'{old_tag["name"]} ' - f'{old_tag["description"]}', - 'NA'))) + permission_result_obj = DiffInfo(DiffType.DOC_TAG_PERMISSION_HAVE_TO_NA, f'{old_tag["name"]} ' + f'{old_tag["description"]}', 'NA') + set_file_doc_content_snippet(old_tag, new_tag, permission_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, permission_result_obj)) return diff_info_list old_permission = f'{old_tag["name"]} {old_tag["description"]}' new_permission = f'{new_tag["name"]} {new_tag["description"]}' if old_permission != new_permission: compare_value = compare_permission(old_permission, new_permission) if compare_value.state_range == RangeChange.DOWN.value: - diff_info_list.append(wrap_diff_info(old_info, new_info, - DiffInfo(DiffType.DOC_TAG_PERMISSION_RANGE_SMALLER, old_permission, - new_permission))) + permission_result_obj = DiffInfo(DiffType.DOC_TAG_PERMISSION_RANGE_SMALLER, old_permission, new_permission) + set_file_doc_content_snippet(old_tag, new_tag, permission_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, permission_result_obj)) elif compare_value.state_range == RangeChange.UP.value: - diff_info_list.append(wrap_diff_info(old_info, new_info, DiffInfo( - DiffType.DOC_TAG_PERMISSION_RANGE_BIGGER, old_permission, new_permission))) + permission_result_obj = DiffInfo(DiffType.DOC_TAG_PERMISSION_RANGE_BIGGER, old_permission, new_permission) + set_file_doc_content_snippet(old_tag, new_tag, permission_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, permission_result_obj)) elif compare_value.state_range == RangeChange.CHANGE.value: - diff_info_list.append(wrap_diff_info(old_info, new_info, - DiffInfo(DiffType.DOC_TAG_PERMISSION_RANGE_CHANGE, old_permission, - new_permission))) + permission_result_obj = DiffInfo(DiffType.DOC_TAG_PERMISSION_RANGE_CHANGE, old_permission, new_permission) + set_file_doc_content_snippet(old_tag, new_tag, permission_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, permission_result_obj)) return diff_info_list @@ -1075,22 +1093,23 @@ def process_tag_since(old_tag, new_tag, old_info, new_info): def process_tag_syscap(old_tag, new_tag, old_info, new_info): diff_info_list = [] if old_tag is None: - diff_info_list.append(wrap_diff_info(old_info, new_info, DiffInfo(DiffType.DOC_TAG_SYSCAP_NA_TO_HAVE, - 'NA', - f'{new_tag["name"]} ' - f'{new_tag["description"]}'))) + syscap_result_obj = DiffInfo(DiffType.DOC_TAG_SYSCAP_NA_TO_HAVE, 'NA', f'{new_tag["name"]} ' + f'{new_tag["description"]}') + set_file_doc_content_snippet(old_tag, new_tag, syscap_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, syscap_result_obj)) return diff_info_list if new_tag is None: - diff_info_list.append(wrap_diff_info(old_info, new_info, DiffInfo(DiffType.DOC_TAG_SYSCAP_HAVE_TO_NA, - f'{old_tag["name"]} ' - f'{old_tag["description"]}', - 'NA'))) + syscap_result_obj = DiffInfo(DiffType.DOC_TAG_SYSCAP_HAVE_TO_NA, f'{old_tag["name"]} ' + f'{old_tag["description"]}', 'NA') + set_file_doc_content_snippet(old_tag, new_tag, syscap_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, syscap_result_obj)) return diff_info_list old_syscap = f'{old_tag["name"]} {old_tag["description"]}' new_syscap = f'{new_tag["name"]} {new_tag["description"]}' if old_syscap != new_syscap: - diff_info_list.append( - wrap_diff_info(old_info, new_info, DiffInfo(DiffType.DOC_TAG_SYSCAP_A_TO_B, old_syscap, new_syscap))) + syscap_result_obj = DiffInfo(DiffType.DOC_TAG_SYSCAP_A_TO_B, old_syscap, new_syscap) + set_file_doc_content_snippet(old_tag, new_tag, syscap_result_obj) + diff_info_list.append(wrap_diff_info(old_info, new_info, syscap_result_obj)) return diff_info_list diff --git a/build-tools/capi_parser/src/coreImpl/diff/diff_processor_permission.py b/build-tools/capi_parser/src/coreImpl/diff/diff_processor_permission.py index b30825902..8b7c2f852 100644 --- a/build-tools/capi_parser/src/coreImpl/diff/diff_processor_permission.py +++ b/build-tools/capi_parser/src/coreImpl/diff/diff_processor_permission.py @@ -49,7 +49,7 @@ class DiffProcessorPermission: variable_list = [] # 命题集合 @staticmethod - def get_bool_in_list(self, number_list, bin_len): + def get_bool_in_list(number_list, bin_len): state_list = [bin(i) for i in number_list] state_list = [x[2:] for x in state_list] state_list = ['0' * (bin_len - len(x)) + x for x in state_list] @@ -57,7 +57,7 @@ class DiffProcessorPermission: return tuple(state_list) @staticmethod - def process_value(self, state_value): + def process_value(state_value): calculate = CalculateValue() for state in state_value: if state_value[state]: diff --git a/build-tools/capi_parser/src/coreImpl/parser/parser.py b/build-tools/capi_parser/src/coreImpl/parser/parser.py index a0ecee8d2..a7a04019e 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/parser.py +++ b/build-tools/capi_parser/src/coreImpl/parser/parser.py @@ -295,7 +295,6 @@ def parser(directory_path): # 目录路径 def parser_include_ast(dire_file_path, include_path: list): # 对于单独的.h解析接口 correct_include_path = [] link_include_path = [dire_file_path] - copy_std_lib(link_include_path, dire_file_path) copy_self_include(link_include_path, dire_file_path) for item in include_path: split_path = os.path.splitext(item) @@ -333,7 +332,7 @@ def get_dir_file_path(dir_path): link_include_path.append(dir_path) for file in filenames: if 'build-tools' not in dir_path and 'sysroot_myself' not in dir_path and file.endswith('.h'): - file_path_list.append(os.path.join(dir_path, file)) + file_path_list.append(os.path.normpath(os.path.join(dir_path, file))) return file_path_list, link_include_path diff --git a/build-tools/capi_parser/src/typedef/check/check_compatibility.py b/build-tools/capi_parser/src/typedef/check/check_compatibility.py new file mode 100644 index 000000000..9b06a9a12 --- /dev/null +++ b/build-tools/capi_parser/src/typedef/check/check_compatibility.py @@ -0,0 +1,177 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright (c) 2024 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. + + +import enum +from typedef.diff.diff import DiffType + + +class CheckCompatibilityErrorMessage(enum.Enum): + API_CHANGE_INCOMPATIBLE_01 = ('API check error of [api compatibility errors]:Deleting [$$] API is prohibited.' + 'Please resolve it.') + API_CHANGE_INCOMPATIBLE_02 = ('API check error of [api compatibility errors]:Changing API name [$$] to API name ' + '[&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_03 = ('API check error of [api compatibility errors]:Deleting [$$] file is prohibited.' + 'Please resolve it.') + API_CHANGE_INCOMPATIBLE_04 = ('API check error of [api compatibility errors]:Changing [$$] file path is prohibited.' + 'Please resolve it.') + API_CHANGE_INCOMPATIBLE_05 = ('API check error of [api compatibility errors]:Changing function name [$$] to ' + 'function name [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_06 = ('API check error of [api compatibility errors]:Changing function return type [$$] ' + 'to function return type [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_07 = ('API check error of [api compatibility errors]:Changing function param location [$$] ' + 'to function param location [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_08 = ('API check error of [api compatibility errors]:Adding new function param [&&] is ' + 'prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_09 = ('API check error of [api compatibility errors]:Deleting function param [$$] is ' + 'prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_10 = ('API check error of [api compatibility errors]:Changing function param type [$$] ' + 'to function param type [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_11 = ('API check error of [api compatibility errors]:Changing variable name [$$] to ' + 'variable name [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_12 = ('API check error of [api compatibility errors]:Changing const name [$$] to const ' + 'name [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_13 = ('API check error of [api compatibility errors]:Changing variable type [$$] to ' + 'variable type [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_14 = ('API check error of [api compatibility errors]:Changing const type [$$] to const ' + 'type [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_15 = ('API check error of [api compatibility errors]:Changing variable [$$] to const [&&] ' + 'is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_16 = ('API check error of [api compatibility errors]:Changing const [$$] to variable [&&] ' + 'is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_17 = ('API check error of [api compatibility errors]:Changing variable value [$$] to ' + 'variable value [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_18 = ('API check error of [api compatibility errors]:Changing const value [$$] to const ' + 'value [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_19 = ('API check error of [api compatibility errors]:Deleting variable [$$] is prohibited.' + 'Please resolve it.') + API_CHANGE_INCOMPATIBLE_20 = ('API check error of [api compatibility errors]:Deleting const [$$] is prohibited.' + 'Please resolve it.') + API_CHANGE_INCOMPATIBLE_21 = ('API check error of [api compatibility errors]:Changing macro name [$$] to macro ' + 'name [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_22 = ('API check error of [api compatibility errors]:Changing macro value [$$] to macro ' + 'value [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_23 = ('API check error of [api compatibility errors]:Deleting macro define [$$] is ' + 'prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_24 = ('API check error of [api compatibility errors]:Changing enum name [$$] to enum name ' + '[&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_25 = ('API check error of [api compatibility errors]:Changing enum member name [$$] to ' + 'enum member name [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_26 = ('API check error of [api compatibility errors]:Changing enum member value [$$] to ' + 'enum member name [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_27 = ('API check error of [api compatibility errors]:Deleting enum [$$] is prohibited.' + 'Please resolve it.') + API_CHANGE_INCOMPATIBLE_28 = ('API check error of [api compatibility errors]:Deleting enum member [$$] is ' + 'prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_29 = ('API check error of [api compatibility errors]:Changing struct name [$$] to struct ' + 'name [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_30 = ('API check error of [api compatibility errors]:Adding struct member [&&] is ' + 'prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_31 = ('API check error of [api compatibility errors]:Deleting struct member [$$] is ' + 'prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_32 = ('API check error of [api compatibility errors]:Changing struct member type [$$] to ' + 'struct member type [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_33 = ('API check error of [api compatibility errors]:Changing struct member name [$$] to ' + 'struct member name [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_34 = ('API check error of [api compatibility errors]:Deleting struct [$$] is prohibited.' + 'Please resolve it.') + API_CHANGE_INCOMPATIBLE_35 = ('API check error of [api compatibility errors]:Changing struct since [$$] to ' + 'struct since [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_36 = ('API check error of [api compatibility errors]:Changing union name [$$] to ' + 'union name [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_37 = ('API check error of [api compatibility errors]:Adding union member [&&] is ' + 'prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_38 = ('API check error of [api compatibility errors]:Deleting union member [$$] is ' + 'prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_39 = ('API check error of [api compatibility errors]:Changing union member type [$$] to ' + 'union member type [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_40 = ('API check error of [api compatibility errors]:Changing union member name [$$] to ' + 'union member name [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_41 = ('API check error of [api compatibility errors]:Deleting union [$$] is prohibited.' + 'Please resolve it.') + API_CHANGE_INCOMPATIBLE_42 = ('API check error of [api compatibility errors]:Changing union since [$$] to union ' + 'since [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_43 = ('API check error of [api compatibility errors]:Changing the @library in comments ' + 'from no to [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_44 = ('API check error of [api compatibility errors]:Changing the @library in comments ' + 'from [$$] to no is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_45 = ('API check error of [api compatibility errors]:Changing the @library in comments ' + 'from [$$] to [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_46 = ('API check error of [api compatibility errors]:Changing the @permission in comments ' + 'is prohibited.Add and relation permission.Please resolve it.') + API_CHANGE_INCOMPATIBLE_47 = ('API check error of [api compatibility errors]:Changing the @permission in comments ' + 'is prohibited.Reduce or relation permission.Please resolve it.') + API_CHANGE_INCOMPATIBLE_48 = ('API check error of [api compatibility errors]:Changing the @permission in comments ' + 'is prohibited.Permission value change.Please resolve it.') + API_CHANGE_INCOMPATIBLE_49 = ('API check error of [api compatibility errors]:Changing the @syscap in comments ' + 'from no to [&&] is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_50 = ('API check error of [api compatibility errors]:Changing the @syscap in comments ' + 'from [$$] to no is prohibited.Please resolve it.') + API_CHANGE_INCOMPATIBLE_51 = ('API check error of [api compatibility errors]:Changing the @syscap in comments ' + 'from [$$] to [&&] is prohibited.Please resolve it.') + + @classmethod + def get_rule_message(cls, rule): + return cls[rule].value if rule in cls.__members__ else 'None' + + +check_compatibility_command_message = [ + member.name for name_compatibility_tool, + member in CheckCompatibilityErrorMessage.__members__.items() +] + + +match_diff_and_check_scene_dict = { + DiffType.REDUCE_API.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_01.name, + DiffType.REDUCE_FILE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_03.name, + DiffType.FUNCTION_NAME_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_05.name, + DiffType.FUNCTION_RETURN_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_06.name, + DiffType.FUNCTION_PARAM_POS_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_07.name, + DiffType.FUNCTION_PARAM_ADD.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_08.name, + DiffType.FUNCTION_PARAM_REDUCE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_09.name, + DiffType.FUNCTION_PARAM_TYPE_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_10.name, + DiffType.VARIABLE_NAME_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_11.name, + DiffType.CONSTANT_NAME_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_12.name, + DiffType.VARIABLE_TYPE_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_13.name, + DiffType.CONSTANT_TYPE_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_14.name, + DiffType.VARIABLE_CHANGE_TO_CONSTANT.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_15.name, + DiffType.CONSTANT_CHANGE_TO_VARIABLE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_16.name, + DiffType.VARIABLE_VALUE_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_17.name, + DiffType.CONSTANT_VALUE_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_18.name, + DiffType.DEFINE_NAME_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_21.name, + DiffType.DEFINE_TEXT_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_22.name, + DiffType.ENUM_NAME_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_24.name, + DiffType.ENUM_MEMBER_NAME_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_25.name, + DiffType.ENUM_MEMBER_VALUE_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_26.name, + DiffType.ENUM_MEMBER_REDUCE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_28.name, + DiffType.STRUCT_NAME_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_29.name, + DiffType.STRUCT_MEMBER_ADD.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_30.name, + DiffType.STRUCT_MEMBER_REDUCE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_31.name, + DiffType.STRUCT_MEMBER_TYPE_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_32.name, + DiffType.STRUCT_MEMBER_NAME_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_33.name, + DiffType.UNION_NAME_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_36.name, + DiffType.UNION_MEMBER_ADD.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_37.name, + DiffType.UNION_MEMBER_REDUCE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_38.name, + DiffType.UNION_MEMBER_TYPE_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_39.name, + DiffType.UNION_MEMBER_NAME_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_40.name, + DiffType.DOC_TAG_LIBRARY_NA_TO_HAVE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_43.name, + DiffType.DOC_TAG_LIBRARY_HAVE_TO_NA.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_44.name, + DiffType.DOC_TAG_LIBRARY_A_TO_B.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_45.name, + DiffType.DOC_TAG_PERMISSION_RANGE_SMALLER: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_47.name, + DiffType.DOC_TAG_PERMISSION_RANGE_CHANGE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_48.name, + DiffType.DOC_TAG_SYSCAP_NA_TO_HAVE.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_49.name, + DiffType.DOC_TAG_SYSCAP_HAVE_TO_NA.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_50.name, + DiffType.DOC_TAG_SYSCAP_A_TO_B.name: CheckCompatibilityErrorMessage.API_CHANGE_INCOMPATIBLE_51.name, +} diff --git a/build-tools/capi_parser/src/typedef/diff/diff.py b/build-tools/capi_parser/src/typedef/diff/diff.py index d9a7b4b3d..adb97275c 100644 --- a/build-tools/capi_parser/src/typedef/diff/diff.py +++ b/build-tools/capi_parser/src/typedef/diff/diff.py @@ -391,6 +391,9 @@ class DiffInfo: open_close_api: str = '' is_third_party_api = False current_api_type: str = '' + old_api_declara: str = '' + new_api_declara: str = '' + file_doc_line: int = 0 def __init__(self, diff_type: DiffType, old_differ_content, new_differ_content): self.diff_type = diff_type @@ -563,6 +566,24 @@ class DiffInfo: def get_current_api_type(self): return self.current_api_type + def set_old_api_declara(self, old_api_declara): + self.old_api_declara = old_api_declara + + def get_old_api_declara(self): + return self.old_api_declara + + def set_new_api_declara(self, new_api_declara): + self.new_api_declara = new_api_declara + + def get_new_api_declara(self): + return self.new_api_declara + + def set_file_doc_line(self, file_doc_line): + self.file_doc_line = file_doc_line + + def get_file_doc_line(self): + return self.file_doc_line + class OutputJson: api_name: str = '' @@ -732,15 +753,6 @@ class ApiChangeData: return self.current_api_type -class IgnoreFileDirectory: - ignore_file_dict = { - 'arm-linux-ohos': '', - 'aarch64-linux-ohos': '', - 'x86_64-linux-ohos': '', - 'i686-linux-ohos': '', - 'tee': '', - 'linux': '' - } - - def get_ignore_file_dict(self): - return self.ignore_file_dict +class IgnoreFileDirectory(enum.Enum): + IGNORE_FILE_DIR_lx = r'/(arm-linux-ohos|aarch64-linux-ohos|x86_64-linux-ohos|i686-linux-ohos|linux|tee|)(/|$)' + IGNORE_FILE_DIR_wd = r'\\(arm-linux-ohos|aarch64-linux-ohos|x86_64-linux-ohos|i686-linux-ohos|linux|tee|)(\\|$)' -- Gitee From 0775c53e26afd84ca14b71537cfac7085fe0ea4a Mon Sep 17 00:00:00 2001 From: jiang-qunchao Date: Wed, 21 Aug 2024 09:32:02 +0800 Subject: [PATCH 106/359] add libjsvm.ndk.json Signed-off-by: jiang-qunchao --- ark_runtime/jsvm/libjsvm.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ark_runtime/jsvm/libjsvm.ndk.json b/ark_runtime/jsvm/libjsvm.ndk.json index a9a775724..e0157b772 100644 --- a/ark_runtime/jsvm/libjsvm.ndk.json +++ b/ark_runtime/jsvm/libjsvm.ndk.json @@ -730,5 +730,9 @@ { "first_introduced": "12", "name": "OH_JSVM_CreateWasmCache" + }, + { + "first_introduced": "12", + "name": "OH_JSVM_ReleaseCache" } ] -- Gitee From e7195ff15d14922af10a2ea6e6516740cf6d441a Mon Sep 17 00:00:00 2001 From: yangxuguang-huawei Date: Sun, 18 Aug 2024 15:16:06 +0800 Subject: [PATCH 107/359] feat: add StartNativeChildProcess Signed-off-by: yangxuguang-huawei --- .../child_process/libchild_process.ndk.json | 9 +- .../child_process/native_child_process.h | 99 +++++++++++++++++++ .../coreImpl/check/rules/perssion_rule.json | 9 ++ 3 files changed, 116 insertions(+), 1 deletion(-) diff --git a/ability/ability_runtime/child_process/libchild_process.ndk.json b/ability/ability_runtime/child_process/libchild_process.ndk.json index 6206b6310..e42bbbc44 100644 --- a/ability/ability_runtime/child_process/libchild_process.ndk.json +++ b/ability/ability_runtime/child_process/libchild_process.ndk.json @@ -1,3 +1,10 @@ [ - { "name": "OH_Ability_CreateNativeChildProcess" } + { + "first_introduced": "12", + "name": "OH_Ability_CreateNativeChildProcess" + }, + { + "first_introduced": "12", + "name": "OH_Ability_StartNativeChildProcess" + } ] \ No newline at end of file diff --git a/ability/ability_runtime/child_process/native_child_process.h b/ability/ability_runtime/child_process/native_child_process.h index 5cce2512a..821456513 100644 --- a/ability/ability_runtime/child_process/native_child_process.h +++ b/ability/ability_runtime/child_process/native_child_process.h @@ -54,6 +54,11 @@ typedef enum Ability_NativeChildProcess_ErrCode { */ NCP_NO_ERROR = 0, + /** + * @error Operation not permitted. + */ + NCP_ERR_NO_PERMISSION = 201, + /** * @error Invalid parameter. */ @@ -173,6 +178,100 @@ typedef void (*OH_Ability_OnNativeChildProcessStarted)(int errCode, OHIPCRemoteP int OH_Ability_CreateNativeChildProcess(const char* libName, OH_Ability_OnNativeChildProcessStarted onProcessStarted); +/** + * @brief The info of the file descriptors passed to child process. + * @since 12 + */ +typedef struct NativeChildProcess_Fd { + /** the key of the file descriptor. */ + char* fdName; + + /** the value of the file descriptor. */ + int32_t fd; + + /** the next pointer of the linked list. */ + struct NativeChildProcess_Fd* next; +} NativeChildProcess_Fd; + +/** + * @brief The list of the info of the file descriptors passed to child process. + * @since 12 + */ +typedef struct NativeChildProcess_FdList { + /** the head of the list. + * For details, see {@link NativeChildProcess_Fd}. + */ + struct NativeChildProcess_Fd* head; +} NativeChildProcess_FdList; + +/** + * @brief Enumerates the isolation modes used by the native child process module. + * @since 12 + */ +typedef enum NativeChildProcess_IsolationMode { + /** + * Normal isolation mode, parent process shares the same sandbox or internet with the child process. + */ + NCP_ISOLATION_MODE_NORMAL = 0, + + /** + * Isolated mode, parent process does not share the same sandbox or internet with the child process. + */ + NCP_ISOLATION_MODE_ISOLATED = 1, +} NativeChildProcess_IsolationMode; + +/** + * @brief The options used by the child process. + * @since 12 + */ +typedef struct NativeChildProcess_Options { + /** the isolation mode used by the child process. + * For details, see {@link NativeChildProcess_IsolationMode}. + */ + NativeChildProcess_IsolationMode isolationMode; + + /** reserved field for future extension purposes */ + int64_t reserved; +} NativeChildProcess_Options; + +/** + * @brief The arguments passed to the child process. + * @since 12 + */ +typedef struct NativeChildProcess_Args { + /** the entry parameter. */ + char* entryParams; + + /** the list of the info of the file descriptors passed to child process. + * For details, see {@link NativeChildProcess_FdList}. + */ + struct NativeChildProcess_FdList fdList; +} NativeChildProcess_Args; + +/** + * @brief Starts a child process, loads the specified dynamic library file. + * + * @permission {@code ohos.permission.START_NATIVE_CHILD_PROCESS} + * @param entry Name of the entry of the dynamic library file loaded in the child process. The value cannot be nullptr. + * @param args The arguments passed to the child process. + * For details, see {@link NativeChildProcess_Args}. + * @param options The child process options. + * For details, see {@link NativeChildProcess_Options}. + * @param pid The started child process id. + * @return Returns {@link NCP_NO_ERROR} if the call is successful.\n + * Returns {@link NCP_ERR_NO_PERMISSION} if the operation is not permitted. + * The permission {@code ohos.permission.START_NATIVE_CHILD_PROCESS} is needed.\n + * Returns {@link NCP_ERR_INVALID_PARAM} if the dynamic library name or callback function pointer is invalid.\n + * Returns {@link NCP_ERR_NOT_SUPPORTED} if the device does not support the creation of native child processes.\n + * Returns {@link NCP_ERR_ALREADY_IN_CHILD} if it is not allowed to create another child process in the child process.\n + * Returns {@link NCP_ERR_MAX_CHILD_PROCESSES_REACHED} if the maximum number of native child processes is reached.\n + * For details, see {@link Ability_NativeChildProcess_ErrCode}. + * @see OH_Ability_OnNativeChildProcessStarted + * @since 12 + */ +Ability_NativeChildProcess_ErrCode OH_Ability_StartNativeChildProcess( + const char* entry, NativeChildProcess_Args args, + NativeChildProcess_Options options, int32_t *pid); #ifdef __cplusplus } // extern "C" diff --git a/build-tools/capi_parser/src/coreImpl/check/rules/perssion_rule.json b/build-tools/capi_parser/src/coreImpl/check/rules/perssion_rule.json index 86ddddeac..1f24bce79 100644 --- a/build-tools/capi_parser/src/coreImpl/check/rules/perssion_rule.json +++ b/build-tools/capi_parser/src/coreImpl/check/rules/perssion_rule.json @@ -2581,6 +2581,15 @@ "availableLevel": "system_basic", "provisionEnable": true, "distributedSceneEnable": false + }, + { + "name": "ohos.permission.START_NATIVE_CHILD_PROCESS", + "grantMode": "system_grant", + "since": 12, + "deprecated": "", + "availableLevel": "system_basic", + "provisionEnable": true, + "distributedSceneEnable": false } ] } -- Gitee From 19dc8e50b88db0b52dcab385831775e7d3119006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E5=8D=9A=E6=98=8E?= Date: Wed, 21 Aug 2024 08:16:46 +0000 Subject: [PATCH 108/359] restore h dep MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 罗博明 --- third_party/icu4c/ndk_headers/unicode/ubrk.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/third_party/icu4c/ndk_headers/unicode/ubrk.h b/third_party/icu4c/ndk_headers/unicode/ubrk.h index f8454beb9..9724bcf56 100644 --- a/third_party/icu4c/ndk_headers/unicode/ubrk.h +++ b/third_party/icu4c/ndk_headers/unicode/ubrk.h @@ -30,6 +30,8 @@ typedef struct UBreakIterator UBreakIterator; #endif +#include "unicode/parseerr.h" + #if !UCONFIG_NO_BREAK_ITERATION /** * \file -- Gitee From 30373ab1873f258528e833637d453c0e3f89d142 Mon Sep 17 00:00:00 2001 From: wuchengwen Date: Wed, 21 Aug 2024 16:23:23 +0800 Subject: [PATCH 109/359] add inputmethod capi Signed-off-by: wuchengwen --- inputmethod/BUILD.gn | 48 ++ .../include/inputmethod_attach_options_capi.h | 62 ++ .../include/inputmethod_controller_capi.h | 82 +++ .../include/inputmethod_cursor_info_capi.h | 86 +++ .../inputmethod_inputmethod_proxy_capi.h | 136 ++++ .../inputmethod_private_command_capi.h | 170 +++++ .../inputmethod_text_avoid_info_capi.h | 98 +++ .../include/inputmethod_text_config_capi.h | 207 ++++++ .../inputmethod_text_editor_proxy_capi.h | 680 ++++++++++++++++++ inputmethod/include/inputmethod_types_capi.h | 283 ++++++++ inputmethod/libohinputmethodndk.json | 80 +++ 11 files changed, 1932 insertions(+) create mode 100644 inputmethod/BUILD.gn create mode 100644 inputmethod/include/inputmethod_attach_options_capi.h create mode 100644 inputmethod/include/inputmethod_controller_capi.h create mode 100644 inputmethod/include/inputmethod_cursor_info_capi.h create mode 100644 inputmethod/include/inputmethod_inputmethod_proxy_capi.h create mode 100644 inputmethod/include/inputmethod_private_command_capi.h create mode 100644 inputmethod/include/inputmethod_text_avoid_info_capi.h create mode 100644 inputmethod/include/inputmethod_text_config_capi.h create mode 100644 inputmethod/include/inputmethod_text_editor_proxy_capi.h create mode 100644 inputmethod/include/inputmethod_types_capi.h create mode 100644 inputmethod/libohinputmethodndk.json diff --git a/inputmethod/BUILD.gn b/inputmethod/BUILD.gn new file mode 100644 index 000000000..ab36bb5c3 --- /dev/null +++ b/inputmethod/BUILD.gn @@ -0,0 +1,48 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") + +ohos_ndk_library("libohinputmethod") { + output_name = "ohinputmethod" + output_extension = "so" + ndk_description_file = "./libohinputmethodndk.json" + min_compact_version = "12" + system_capability = "SystemCapability.MiscServices.InputMethodFramework" + system_capability_headers = [ + "./include/inputmethod_controller_capi.h", + "./include/inputmethod_attach_options_capi.h", + "./include/inputmethod_cursor_info_capi.h", + "./include/inputmethod_inputmethod_proxy_capi.h", + "./include/inputmethod_private_command_capi.h", + "./include/inputmethod_text_avoid_info_capi.h", + "./include/inputmethod_text_config_capi.h", + "./include/inputmethod_text_editor_proxy_capi.h", + "./include/inputmethod_types_capi.h", + ] +} + +ohos_ndk_headers("libohinputmethod_header") { + dest_dir = "$ndk_headers_out_dir/inputmethod" + sources = [ + "./include/inputmethod_attach_options_capi.h", + "./include/inputmethod_controller_capi.h", + "./include/inputmethod_cursor_info_capi.h", + "./include/inputmethod_inputmethod_proxy_capi.h", + "./include/inputmethod_private_command_capi.h", + "./include/inputmethod_text_avoid_info_capi.h", + "./include/inputmethod_text_config_capi.h", + "./include/inputmethod_text_editor_proxy_capi.h", + "./include/inputmethod_types_capi.h", + ] +} diff --git a/inputmethod/include/inputmethod_attach_options_capi.h b/inputmethod/include/inputmethod_attach_options_capi.h new file mode 100644 index 000000000..0519caa3c --- /dev/null +++ b/inputmethod/include/inputmethod_attach_options_capi.h @@ -0,0 +1,62 @@ +/* + * Copyright (c) 2024 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. + */ +#ifndef OHOS_INPUTMETHOD_ATTACH_OPTIONS_CAPI_H +#define OHOS_INPUTMETHOD_ATTACH_OPTIONS_CAPI_H +#include "inputmethod_types_capi.h" +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ +/** + * @brief Define the InputMethod_AttachOptions structure type. + * + * The options when attaching input method. + * + * @since 12 + */ +typedef struct InputMethod_AttachOptions InputMethod_AttachOptions; + +/** + * @brief Create a new {@link InputMethod_AttachOptions} instance. + * + * @param showKeyboard Represents whether to show the keyboard. + * @return Returns a pointer to the newly created {@link InputMethod_AttachOptions} instance. + * @since 12 + */ +InputMethod_AttachOptions *OH_AttachOptions_New(bool showKeyboard); +/** + * @brief Delete a {@link InputMethod_AttachOptions} instance. + * + * @param options Represents a pointer to an {@link InputMethod_AttachOptions} instance which will be deleted. + * @since 12 + */ +void OH_AttachOptions_Delete(InputMethod_AttachOptions *options); +/** + * @brief Get showKeyboard value from {@link InputMethod_AttachOptions}. + * + * @param options Represents a pointer to an {@link InputMethod_AttachOptions} instance which will be get value from. + * @param showKeyboard Represents showKeyboard value. + * true - need to show keyboard. + * false - no need to show keyboard. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_AttachOptions_IsShowKeyboard(InputMethod_AttachOptions *options, bool *showKeyboard); +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif // OHOS_INPUTMETHOD_ATTACH_OPTIONS_CAPI_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_controller_capi.h b/inputmethod/include/inputmethod_controller_capi.h new file mode 100644 index 000000000..230c7ffd4 --- /dev/null +++ b/inputmethod/include/inputmethod_controller_capi.h @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef OHOS_INPUTMETHOD_CONTROLLER_CAPI_H +#define OHOS_INPUTMETHOD_CONTROLLER_CAPI_H +/** + * @addtogroup InputMethod + * @{ + * + * @brief InputMethod provides functions to use input methods and develop input methods. + * + * @since 12 + */ + +/** + * @file inputmethod_controller_capi.h + * + * @brief Provides the functions for using input method. + * + * @library libohinputmethod.so + * @kit IMEKit + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 12 + * @version 1.0 + */ + +#include +#include + +#include "inputmethod_text_editor_proxy_capi.h" +#include "inputmethod_inputmethod_proxy_capi.h" +#include "inputmethod_attach_options_capi.h" +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ +/** + * @brief Attach application to the input method service. + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance. + * The caller needs to manage the lifecycle of textEditorProxy. + * If the call succeeds, caller cannot release textEditorProxy until the next attach or detach call. + * @param options Represents a pointer to an {@link InputMethod_AttachOptions} instance. + * The options when attaching input method. + * @param inputMethodProxy Represents a pointer to an {@link OH_InputMethod_InputMethodProxy} instance. + * Lifecycle is mantianed until the next attach or detach call. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_PARAMCHECK} - The error code for common invalid args. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_InputMethodController_Attach(InputMethod_TextEditorProxy *textEditorProxy, + InputMethod_AttachOptions *options, InputMethod_InputMethodProxy **inputMethodProxy); + +/** + * @brief Detach application from the input method service. + * + * @param inputMethodProxy Represents a pointer to an {@link OH_InputMethod_InputMethodProxy} instance. + * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_PARAMCHECK} - The error code for common invalid args. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_InputMethodController_Detach(InputMethod_InputMethodProxy *inputMethodProxy); +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif // OHOS_INPUTMETHOD_CONTROLLER_CAPI_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_cursor_info_capi.h b/inputmethod/include/inputmethod_cursor_info_capi.h new file mode 100644 index 000000000..b456c5d0f --- /dev/null +++ b/inputmethod/include/inputmethod_cursor_info_capi.h @@ -0,0 +1,86 @@ +/* +* Copyright (c) 2024 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. +*/ +#ifndef OHOS_INPUTMETHOD_CURSOR_INFO_CAPI_H +#define OHOS_INPUTMETHOD_CURSOR_INFO_CAPI_H +#include "inputmethod_types_capi.h" +#ifdef __cplusplus +extern "C"{ +#endif /* __cplusplus */ +/** + * @brief Define the InputMethod_CursorInfo structure type. + * + * The coordinates and width and height information of the cursor. + * + * @since 12 + */ +typedef struct InputMethod_CursorInfo InputMethod_CursorInfo; + +/** + * @brief Create a new {@link InputMethod_CursorInfo} instance. + * + * @param left The left point of the cursor and must be absolute coordinate of the physical screen. + * @param top The top point of the cursor and must be absolute coordinate of the physical screen. + * @param width The width of the cursor. + * @param height The height of the cursor. + * @return Returns a pointer to the newly created {@link InputMethod_CursorInfo} instance. + * @since 12 + */ +InputMethod_CursorInfo *OH_CursorInfo_New(double left, double top, double width, double height); + +/** + * @brief Delete a {@link InputMethod_CursorInfo} instance. + * + * @param cursorInfo Represents a pointer to an {@link InputMethod_CursorInfo} instance which will be deleted. + * @since 12 + */ +void OH_CursorInfo_Delete(InputMethod_CursorInfo *cursorInfo); + +/** + * @brief Set cursor info. + * + * @param cursorInfo Represents a pointer to an {@link InputMethod_CursorInfo} instance. + * @param left The left point of the cursor and must be absolute coordinate of the physical screen. + * @param top The top point of the cursor and must be absolute coordinate of the physical screen. + * @param width The width of the cursor. + * @param height The height of the cursor. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_CursorInfo_SetRect( + InputMethod_CursorInfo *cursorInfo, double left, double top, double width, double height); + +/** + * @brief Get cursor info. + * + * @param cursorInfo Represents a pointer to an {@link InputMethod_CursorInfo} instance. + * @param left The left point of the cursor and must be absolute coordinate of the physical screen. + * @param top The top point of the cursor and must be absolute coordinate of the physical screen. + * @param width The width of the cursor. + * @param height The height of the cursor. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_CursorInfo_GetRect( + InputMethod_CursorInfo *cursorInfo, double *left, double *top, double *width, double *height); +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif // OHOS_INPUTMETHOD_CURSOR_INFO_CAPI_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h new file mode 100644 index 000000000..2a2e85ba9 --- /dev/null +++ b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h @@ -0,0 +1,136 @@ +/* +* Copyright (c) 2024 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. +*/ +#ifndef OHOS_INPUTMETHOD_INPUTMETHOD_PROXY_CAPI_H +#define OHOS_INPUTMETHOD_INPUTMETHOD_PROXY_CAPI_H +#include + +#include "inputmethod_types_capi.h" +#include "inputmethod_cursor_info_capi.h" +#include "inputmethod_private_command_capi.h" +#ifdef __cplusplus +extern "C"{ +#endif /* __cplusplus */ +/** + * @brief Define the InputMethod_InputMethodProxy structure type. + * + * Provides methods for controlling input method. + * + * @since 12 + */ +typedef struct InputMethod_InputMethodProxy InputMethod_InputMethodProxy; + +/** + * @brief Show keyboard. + * + * @param inputMethodProxy Represents a pointer to an {@link InputMethod_InputMethodProxy} instance. + * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_InputMethodProxy_ShowKeyboard(InputMethod_InputMethodProxy *inputMethodProxy); + +/** + * @brief Hide keyboard. + * + * @param inputMethodProxy Represents a pointer to an {@link InputMethod_InputMethodProxy} instance. + * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_InputMethodProxy_HideKeyboard(InputMethod_InputMethodProxy *inputMethodProxy); + +/** + * @brief Notify selection change. + * + * Notify selection change when text or cursor position or selected text changed. + * + * @param inputMethodProxy Represents a pointer to an {@link InputMethod_InputMethodProxy} instance. + * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. + * @param text The whole input text. + * @param length The length of text. Max 8K bytes. + * @param start The start position of selected text. + * @param end The end position of selected text. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_InputMethodProxy_NotifySelectionChange( + InputMethod_InputMethodProxy *inputMethodProxy, char16_t text[], size_t length, int start, int end); + +/** + * @brief Notify text editor configuration change. + * + * @param inputMethodProxy Represents a pointer to an {@link InputMethod_InputMethodProxy} instance. + * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. + * @param enterKey The enter key type. + * @param textType The text input type. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_InputMethodProxy_NotifyConfigurationChange(InputMethod_InputMethodProxy *inputMethodProxy, + InputMethod_EnterKeyType enterKey, InputMethod_TextInputType textType); + +/** + * @brief Notify cursor update. + * + * @param inputMethodProxy Represents a pointer to an {@link InputMethod_InputMethodProxy} instance. + * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. + * @param cursorInfo Represents a pointer to an {@link InputMethod_CursorInfo} instance. + * The cursor information. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_InputMethodProxy_NotifyCursorUpdate( + InputMethod_InputMethodProxy *inputMethodProxy, InputMethod_CursorInfo *cursorInfo); + +/** + * @brief Send private command. + * + * @param inputMethodProxy Represents a pointer to an {@link OH_InputMethod_InputMethodProxy} instance. + * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. + * @param privateCommand The private commands, which is defined in {@link InputMethod_PrivateCommand}. Max size 32KB. + * @param size The size of privateCommand. Max is 5. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_PARAMCHECK} - parameter check failed. + * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_InputMethodProxy_SendPrivateCommand(InputMethod_PrivateCommand *privateCommand[], size_t size); +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif // INPUTMETHOD_INPUTMETHOD_PROXY_CAP_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_private_command_capi.h b/inputmethod/include/inputmethod_private_command_capi.h new file mode 100644 index 000000000..c056589c7 --- /dev/null +++ b/inputmethod/include/inputmethod_private_command_capi.h @@ -0,0 +1,170 @@ +/* + * Copyright (c) 2024 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. + */ +#ifndef OHOS_INPUTMETHOD_PRIVATE_COMMAND_CAPI_H +#define OHOS_INPUTMETHOD_PRIVATE_COMMAND_CAPI_H +#include +#include + +#include "inputmethod_types_capi.h" +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ +/** + * @brief Define the InputMethod_PrivateCommand structure type. + * + * The private command between text editor and input method. + * + * @since 12 + */ +typedef struct InputMethod_PrivateCommand InputMethod_PrivateCommand; + +/** + * @brief Create a new {@link InputMethod_PrivateCommand} instance. + * + * @param key The key of the private command. + * @param keyLength The length of the key. + * @return Returns a pointer to the newly created {@link InputMethod_PrivateCommand} instance. + * @since 12 + */ +InputMethod_PrivateCommand *OH_PrivateCommand_New(char key[], size_t keyLength); +/** + * @brief Delete a {@link InputMethod_PrivateCommand} instance. + * + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be deleted. + * @since 12 + */ +void OH_PrivateCommand_Delete(InputMethod_PrivateCommand *command); +/** + * @brief Set key value into {@link InputMethod_PrivateCommand}. + * + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be set value. + * @param key Represents key value. + * @param keyLength Represents key length. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_PrivateCommand_SetKey(InputMethod_PrivateCommand *command, char key[], size_t keyLength); +/** + * @brief Set bool data value into {@link InputMethod_PrivateCommand}. + * + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be set value. + * @param value Represents bool data value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_PrivateCommand_SetBoolValue(InputMethod_PrivateCommand *command, bool value); +/** + * @brief Set integer data value into {@link InputMethod_PrivateCommand}. + * + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be set value. + * @param value Represents integer data value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_PrivateCommand_SetIntValue(InputMethod_PrivateCommand *command, int32_t value); +/** + * @brief Set string data value into {@link InputMethod_PrivateCommand}. + * + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be set value. + * @param value Represents string data value. + * @param valueLength Represents the length of string data value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_PrivateCommand_SetStrValue( + InputMethod_PrivateCommand *command, char value[], size_t valueLength); + +/** + * @brief Get key value from {@link InputMethod_PrivateCommand}. + * + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be get value from. + * @param key Represents key value. + * @param keyLength Represents key length. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_PrivateCommand_GetKey( + InputMethod_PrivateCommand *command, const char **key, size_t *keyLength); +/** + * @brief Get value type from {@link InputMethod_PrivateCommand}. + * + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be get value from. + * @param type Represents a pointer to a {@link InputMethod_CommandValueType} instance. Indicates the data type of the + * value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_PrivateCommand_GetValueType( + InputMethod_PrivateCommand *command, InputMethod_CommandValueType *type); +/** + * @brief Get bool data value from {@link InputMethod_PrivateCommand}. + * + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be get value from. + * @param value Represents bool data value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_PrivateCommand_GetBoolValue(InputMethod_PrivateCommand *command, bool *value); +/** + * @brief Get integer data value from {@link InputMethod_PrivateCommand}. + * + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be get value from. + * @param value Represents integer data value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_PrivateCommand_GetIntValue(InputMethod_PrivateCommand *command, int32_t *value); +/** + * @brief Get string data value from {@link InputMethod_PrivateCommand}. + * + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be get value from. + * @param value Represents string data value. + * @param valueLength Represents the length of string data value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_PrivateCommand_GetStrValue( + InputMethod_PrivateCommand *command, const char **value, size_t *valueLength); +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif // OHOS_INPUTMETHOD_PRIVATE_COMMAND_CAPI_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_text_avoid_info_capi.h b/inputmethod/include/inputmethod_text_avoid_info_capi.h new file mode 100644 index 000000000..02b451626 --- /dev/null +++ b/inputmethod/include/inputmethod_text_avoid_info_capi.h @@ -0,0 +1,98 @@ +/* + * Copyright (c) 2024 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. + */ +#ifndef OHOS_INPUTMETHOD_TEXT_AVOID_INFO_CAPI_H +#define OHOS_INPUTMETHOD_TEXT_AVOID_INFO_CAPI_H +#include "inputmethod_types_capi.h" +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +/** + * @brief Define the InputMethod_TextAvoidInfo structure type. + * + * Information for text editor to avoid the keyboard. + * + * @since 12 + */ +typedef struct InputMethod_TextAvoidInfo InputMethod_TextAvoidInfo; + +/** + * @brief Create a new {@link InputMethod_TextAvoidInfo} instance. + * + * @param positionY The y-coordinate of the avoid area. + * @param height The height of the avoid area. + * @return Returns a pointer to the newly created {@link InputMethod_TextAvoidInfo} instance. + * @since 12 + */ +InputMethod_TextAvoidInfo *OH_TextAvoidInfo_New(double positionY, double height); +/** + * @brief Delete a {@link InputMethod_TextAvoidInfo} instance. + * + * @param options Represents a pointer to an {@link InputMethod_TextAvoidInfo} instance which will be deleted. + * @since 12 + */ +void OH_TextAvoidInfo_Delete(InputMethod_TextAvoidInfo *info); +/** + * @brief Set positionY value into {@link InputMethod_TextAvoidInfo}. + * + * @param info Represents a pointer to an {@link InputMethod_TextAvoidInfo} instance which will be set value. + * @param positionY Represents positionY value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextAvoidInfo_SetPositionY(InputMethod_TextAvoidInfo *info, double positionY); +/** + * @brief Set height value into {@link InputMethod_TextAvoidInfo}. + * + * @param info Represents a pointer to an {@link InputMethod_TextAvoidInfo} instance which will be set value. + * @param height Represents height value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextAvoidInfo_SetHeight(InputMethod_TextAvoidInfo *info, double height); +/** + * @brief Get positionY value from {@link InputMethod_TextAvoidInfo}. + * + * @param info Represents a pointer to an {@link InputMethod_TextAvoidInfo} instance which will be get value from. + * @param positionY Represents positionY value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextAvoidInfo_GetPositionY(InputMethod_TextAvoidInfo *info, double *positionY); +/** + * @brief Get height value into {@link InputMethod_TextAvoidInfo}. + * + * @param info Represents a pointer to an {@link InputMethod_TextAvoidInfo} instance which will be get value from. + * @param height Represents height value. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextAvoidInfo_GetHeight(InputMethod_TextAvoidInfo *info, double *height); +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif // OHOS_INPUTMETHOD_TEXT_AVOID_INFO_CAP_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_text_config_capi.h b/inputmethod/include/inputmethod_text_config_capi.h new file mode 100644 index 000000000..8a6bfbf9d --- /dev/null +++ b/inputmethod/include/inputmethod_text_config_capi.h @@ -0,0 +1,207 @@ +/* + * Copyright (c) 2024 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. + */ +#ifndef OHOS_INPUTMETHOD_TEXT_CONFIG_CAPI_H +#define OHOS_INPUTMETHOD_TEXT_CONFIG_CAPI_H +#include + +#include "inputmethod_cursor_info_capi.h" +#include "inputmethod_text_avoid_info_capi.h" +#include "inputmethod_types_capi.h" + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ +/** + * @brief Define the InputMethod_TextConfig structure type. + * + * The configuration of the text editor. + * + * @since 12 + */ +typedef struct InputMethod_TextConfig InputMethod_TextConfig; + +/** + * @brief Create a new {@link InputMethod_TextConfig} instance. + * + * @return Returns a pointer to the newly created {@link InputMethod_TextConfig} instance. + * @since 12 + */ +InputMethod_TextConfig *OH_TextConfig_New(); +/** + * @brief Delete a {@link InputMethod_TextConfig} instance. + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be deleted. + * @since 12 + */ +void OH_TextConfig_Delete(InputMethod_TextConfig *config); + +/** + * @brief Set input type into TextConfig. + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be set. + * @param inputType The text input type of text Editor, which is defined in {@link InputMethod_TextInputType}. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_SetInputType(InputMethod_TextConfig *config, InputMethod_TextInputType inputType); +/** + * @brief Set enter key type into TextConfig. + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be set. + * @param enterKeyType The enter key type of text Editor, which is defined in {@link InputMethod_EnterKeyType}. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_SetEnterKeyType( + InputMethod_TextConfig *config, InputMethod_EnterKeyType enterKeyType); +/** + * @brief Set is preview text supported into TextConfig. + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be set. + * @param supported Indicates whether the preview text is supported. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_SetIsPreviewTextSupported(InputMethod_TextConfig *config, bool supported); +/** + * @brief Set selection into TextConfig. + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be set. + * @param start The start position of selection. + * @param end The end position of selection. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_SetSelection(InputMethod_TextConfig *config, int32_t start, int32_t end); +/** + * @brief Set window id into TextConfig. + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be set. + * @param windowId The window ID of the application currently bound to the input method. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_SetWindowId(InputMethod_TextConfig *config, int32_t windowId); + +/** + * @brief Get input type from TextConfig + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be get from. + * @param inputType Represents a pointer to an {@link InputMethod_TextInputType} instance. + * The text input type of text Editor + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_GetInputType(InputMethod_TextConfig *config, InputMethod_TextInputType *inputType); +/** + * @brief Get enter key type from TextConfig + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be get from. + * @param enterKeyType Represents a pointer to an {@link InputMethod_EnterKeyType} instance. + * Indicates the enter key type of text Editor + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_GetEnterKeyType( + InputMethod_TextConfig *config, InputMethod_EnterKeyType *enterKeyType); +/** + * @brief Get is preview text supported from TextConfig. + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be get from. + * @param supported Indicates whether the preview text is supported. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_IsPreviewTextSupported(InputMethod_TextConfig *config, bool *supported); +/** + * @brief Get cursor info from TextConfig. + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be get from. + * @param cursorInfo Represents a pointer to an {@link InputMethod_CursorInfo} instance. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_GetCursorInfo(InputMethod_TextConfig *config, InputMethod_CursorInfo **cursorInfo); + +/** + * @brief Get text avoid information from text configuration. + * + * @param config Indicates the text configuration. + * @param avoidInfo Indicates the text avoid information. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + *@since 12 + */ +InputMethod_ErrorCode OH_TextConfig_GetTextAvoidInfo( + InputMethod_TextConfig *config, InputMethod_TextAvoidInfo **avoidInfo); + +/** + * @brief Get selection from TextConfig. + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be get from. + * @param start Represents selection start position. + * @param end Represents selection end position. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_GetSelection(InputMethod_TextConfig *config, int32_t *start, int32_t *end); +/** + * @brief Get window id from TextConfig. + * + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be get from. + * @param windowId The window ID of the application currently bound to the input method. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextConfig_GetWindowId(InputMethod_TextConfig *config, int32_t *windowId); +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif // OHOS_INPUTMETHOD_TEXT_CONFIG_CAPI_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_text_editor_proxy_capi.h b/inputmethod/include/inputmethod_text_editor_proxy_capi.h new file mode 100644 index 000000000..e76116940 --- /dev/null +++ b/inputmethod/include/inputmethod_text_editor_proxy_capi.h @@ -0,0 +1,680 @@ +/* + * Copyright (c) 2024 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. + */ +#ifndef OHOS_INPUTMETHOD_TEXT_EDITOR_PROXY_CAPI_H +#define OHOS_INPUTMETHOD_TEXT_EDITOR_PROXY_CAPI_H +#include + +#include "inputmethod_private_command_capi.h" +#include "inputmethod_text_config_capi.h" +#include "inputmethod_types_capi.h" +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ +/** + * @brief Define the InputMethod_TextEditorProxy structure type. + * + * Provides methods for getting requests and notifications from input method.\n + * When input method sends request or notification to editor, the methods will be called.\n + * + * @since 12 + */ +typedef struct InputMethod_TextEditorProxy InputMethod_TextEditorProxy; + +/** + * @brief Defines the function called when input method getting text config. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetGetTextConfigFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance. + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_GetTextConfigFunc)( + InputMethod_TextEditorProxy *textEditorProxy, InputMethod_TextConfig *config); +/** + * @brief Defines the function called when input method inserting text. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetInsertTextFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to the {@link InputMethod_TextEditorProxy} instance which will be set + * in. + * @param text Represents a pointer to the text to be inserted. + * @param length Represents the length of the text to be inserted. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_InsertTextFunc)( + InputMethod_TextEditorProxy *textEditorProxy, const char16_t *text, size_t length); +/** + * @brief Defines the function called when input method deleting text forward. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetDeleteForwardFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to the {@link InputMethod_TextEditorProxy} instance which will be set + * in. + * @param length Represents the length of the text to be deleted. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_DeleteForwardFunc)(InputMethod_TextEditorProxy *textEditorProxy, int32_t length); +/** + * @brief Defines the function called when input method deleting text backward. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetDeleteForwardFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to the {@link InputMethod_TextEditorProxy} instance which will be set + * in. + * @param length Represents the length of the text to be deleted. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_DeleteBackwardFunc)(InputMethod_TextEditorProxy *textEditorProxy, int32_t length); +/** + * @brief Called when input method notifying keyboard status. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetSendKeyboardStatusFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @param keyboardStatus Keyboard status, which is defined in {@link InputMethod_KeyboardStatus}. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_SendKeyboardStatusFunc)( + InputMethod_TextEditorProxy *textEditorProxy, InputMethod_KeyboardStatus keyboardStatus); +/** + * @brief Called when input method sending enter key. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetSendEnterKeyFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @param enterKeyType Enter key type, which is defined in {@link InputMethod_EnterKeyType}. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_SendEnterKeyFunc)( + InputMethod_TextEditorProxy *textEditorProxy, InputMethod_EnterKeyType enterKeyType); +/** + * @brief Called when input method requesting to move cursor. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetMoveCursorFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @param direction Represents the direction of the cursor movement, which is defined in {@link InputMethod_Direction}. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_MoveCursorFunc)( + InputMethod_TextEditorProxy *textEditorProxy, InputMethod_Direction direction); +/** + * @brief Called when input method requesting to set selection. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetHandleSetSelectionFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @param start Represents the start position of the selection. + * @param end Represents the end position of the selection. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_HandleSetSelectionFunc)( + InputMethod_TextEditorProxy *textEditorProxy, int32_t start, int32_t end); +/** + * @brief Called when input method sending extend action. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetHandleExtendActionFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @param action Represents the extend action, which is defined in {@link InputMethod_ExtendAction}. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_HandleExtendActionFunc)( + InputMethod_TextEditorProxy *textEditorProxy, InputMethod_ExtendAction action); +/** + * @brief Called when input method requesting to get left text of cursor. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetGetLeftTextOfCursorFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @param number Represents the number of characters to be get. + * @param text Represents the left text of cursor, you need to assing this parameter. + * @param length Represents the length of the left text of cursor, you need to assing this parameter. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_GetLeftTextOfCursorFunc)( + InputMethod_TextEditorProxy *textEditorProxy, int32_t number, char16_t text[], size_t *length); +/** + * @brief Called when input method requesting to get right text of cursor. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetGetRightTextOfCursorFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @param number Represents the number of characters to be get. + * @param text Represents the right text of cursor, you need to assing this parameter. + * @param length Represents the length of the right text of cursor. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_GetRightTextOfCursorFunc)( + InputMethod_TextEditorProxy *textEditorProxy, int32_t number, char16_t text[], size_t *length); +/** + * @brief Called when input method requesting to get text index at cursor. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetGetTextIndexAtCursorFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @return Returns the index of text at cursor. + * @since 12 + */ +typedef int32_t (*OH_TextEditorProxy_GetTextIndexAtCursorFunc)(InputMethod_TextEditorProxy *textEditorProxy); +/** + * @brief Called when input method sending private command. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetReceivePrivateCommandFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @param privateCommand Private command from input method. + * @param size Size of private command. + * @return Returns the result of handling private command. + * @since 12 + */ +typedef int32_t (*OH_TextEditorProxy_ReceivePrivateCommandFunc)( + InputMethod_TextEditorProxy *textEditorProxy, InputMethod_PrivateCommand *privateCommand[], size_t size); +/** + * @brief Called when input method setting preview text. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetReceivePrivateCommandFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @param text Represents text to be previewd. + * @param length Length of preview text. + * @param start Start position of preview text. + * @param end End position of preview text. + * @return Returns the result of setting preview text. + * @since 12 + */ +typedef int32_t (*OH_TextEditorProxy_SetPreviewTextFunc)( + InputMethod_TextEditorProxy *textEditorProxy, const char16_t text[], size_t length, int32_t start, int32_t end); +/** + * @brief Called when input method finishing preview text. + * + * You need to implement this function, set it to {@link InputMethod_TextEditorProxy} through {@link + * OH_TextEditorProxy_SetReceivePrivateCommandFunc}, and use {@link OH_InputMethodController_Attach} to complete the + * registration.\n + * + * @param textEditorProxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set in. + * @since 12 + */ +typedef void (*OH_TextEditorProxy_FinishTextPreviewFunc)(InputMethod_TextEditorProxy *textEditorProxy); + +/** + * @brief Create a new {@link InputMethod_TextEditorProxy} instance. + * + * @return Returns a pointer to the newly created {@link InputMethod_TextEditorProxy} instance. + * @since 12 + */ +InputMethod_TextEditorProxy *OH_TextEditorProxy_New(); +/** + * @brief Delete a {@link InputMethod_TextEditorProxy} instance. + * + * @param proxy The {@link InputMethod_TextEditorProxy} instance to be deleted. + * @since 12 + */ +void OH_TextEditorProxy_Delete(InputMethod_TextEditorProxy *proxy); +/** + * @brief Set function {@link OH_TextEditorProxy_GetTextConfigFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param getTextConfigFunc Represents function {@link OH_TextEditorProxy_GetTextConfigFunc} which will be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetGetTextConfigFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_GetTextConfigFunc getTextConfigFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_InsertTextFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param insertTextFunc Represents function {@link OH_TextEditorProxy_InsertTextFunc} which will be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetInsertTextFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_InsertTextFunc insertTextFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_SetDeleteForwardFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param deleteForwardFunc Represents function {@link OH_TextEditorProxy_DeleteForwardFunc} which will be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetDeleteForwardFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_DeleteForwardFunc deleteForwardFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_DeleteBackwardFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param deleteBackwardFunc Represents function {@link OH_TextEditorProxy_DeleteBackwardFunc} which will be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetDeleteBackwardFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_DeleteBackwardFunc deleteBackwardFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_SendKeyboardStatusFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param sendKeyboardStatusFunc Represents function {@link OH_TextEditorProxy_SendKeyboardStatusFunc} which will be + * set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetSendKeyboardStatusFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_SendKeyboardStatusFunc sendKeyboardStatusFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_SendEnterKeyFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param sendEnterKeyFunc Represents function {@link OH_TextEditorProxy_SendEnterKeyFunc} which will be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetSendEnterKeyFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_SendEnterKeyFunc sendEnterKeyFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_MoveCursorFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param moveCursorFunc Represents function {@link OH_TextEditorProxy_MoveCursorFunc} which will be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetMoveCursorFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_MoveCursorFunc moveCursorFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_HandleSetSelectionFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param handleSetSelectionFunc Represents function {@link OH_TextEditorProxy_HandleSetSelectionFunc} which will be + * set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetHandleSetSelectionFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_HandleSetSelectionFunc handleSetSelectionFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_HandleExtendActionFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param handleExtendActionFunc Represents function {@link OH_TextEditorProxy_HandleExtendActionFunc} which will be + * set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetHandleExtendActionFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_HandleExtendActionFunc handleExtendActionFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_GetLeftTextOfCursorFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param getLeftTextOfCursorFunc Represents function {@link OH_TextEditorProxy_GetLeftTextOfCursorFunc} which will + * be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetGetLeftTextOfCursorFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_GetLeftTextOfCursorFunc getLeftTextOfCursorFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_GetRightTextOfCursorFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param getRightTextOfCursorFunc Represents function {@link OH_TextEditorProxy_GetRightTextOfCursorFunc} which + * will be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetGetRightTextOfCursorFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_GetRightTextOfCursorFunc getRightTextOfCursorFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_GetTextIndexAtCursorFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param getTextIndexAtCursorFunc Represents function {@link OH_TextEditorProxy_GetTextIndexAtCursorFunc} which + * will be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetGetTextIndexAtCursorFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_GetTextIndexAtCursorFunc getTextIndexAtCursorFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_ReceivePrivateCommandFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param receivePrivateCommandFunc Represents function {@link OH_TextEditorProxy_ReceivePrivateCommandFunc} which + * will be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetReceivePrivateCommandFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_ReceivePrivateCommandFunc receivePrivateCommandFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_SetPreviewTextFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param setPreviewTextFunc Represents function {@link OH_TextEditorProxy_SetPreviewTextFunc} which will be set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetSetPreviewTextFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_SetPreviewTextFunc setPreviewTextFunc); +/** + * @brief Set function {@link OH_TextEditorProxy_FinishTextPreviewFunc} into {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be set function in. + * @param finishTextPreviewFunc Represents function {@link OH_TextEditorProxy_FinishTextPreviewFunc} which will be + * set. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_SetFinishTextPreviewFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_FinishTextPreviewFunc finishTextPreviewFunc); + +/** + * @brief Get function {@link OH_TextEditorProxy_GetTextConfigFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param getTextConfigFunc Represents function {@link OH_TextEditorProxy_GetTextConfigFunc} which will be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetGetTextConfigFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_GetTextConfigFunc *getTextConfigFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_InsertTextFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param insertTextFunc Represents function {@link OH_TextEditorProxy_InsertTextFunc} which will be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetInsertTextFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_InsertTextFunc *insertTextFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_DeleteForwardFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param deleteForwardFunc Represents function {@link OH_TextEditorProxy_DeleteForwardFunc} which will be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetDeleteForwardFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_DeleteForwardFunc *deleteForwardFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_DeleteBackwardFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param deleteBackwardFunc Represents function {@link OH_TextEditorProxy_DeleteBackwardFunc} which will be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetDeleteBackwardFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_DeleteBackwardFunc *deleteBackwardFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_SendKeyboardStatusFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param sendKeyboardStatusFunc Represents function {@link OH_TextEditorProxy_SendKeyboardStatusFunc} which will be + * get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetSendKeyboardStatusFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_SendKeyboardStatusFunc *sendKeyboardStatusFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_SendEnterKeyFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param sendEnterKeyFunc Represents function {@link OH_TextEditorProxy_SendEnterKeyFunc} which will be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetSendEnterKeyFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_SendEnterKeyFunc *sendEnterKeyFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_MoveCursorFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param moveCursorFunc Represents function {@link OH_TextEditorProxy_MoveCursorFunc} which will be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetMoveCursorFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_MoveCursorFunc *moveCursorFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_HandleSetSelectionFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param handleSetSelectionFunc Represents function {@link OH_TextEditorProxy_HandleSetSelectionFunc} which will be + * get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetHandleSetSelectionFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_HandleSetSelectionFunc *handleSetSelectionFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_HandleExtendActionFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param handleExtendActionFunc Represents function {@link OH_TextEditorProxy_HandleExtendActionFunc} which will be + * get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetHandleExtendActionFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_HandleExtendActionFunc *handleExtendActionFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_GetLeftTextOfCursorFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param getLeftTextOfCursorFunc Represents function {@link OH_TextEditorProxy_GetLeftTextOfCursorFunc} which will + * be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetGetLeftTextOfCursorFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_GetLeftTextOfCursorFunc *getLeftTextOfCursorFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_GetRightTextOfCursorFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param getRightTextOfCursorFunc Represents function {@link OH_TextEditorProxy_GetRightTextOfCursorFunc} which + * will be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetGetRightTextOfCursorFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_GetRightTextOfCursorFunc *getRightTextOfCursorFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_GetTextIndexAtCursorFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param getTextIndexAtCursorFunc Represents function {@link OH_TextEditorProxy_GetTextIndexAtCursorFunc} which + * will be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetGetTextIndexAtCursorFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_GetTextIndexAtCursorFunc *getTextIndexAtCursorFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_ReceivePrivateCommandFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param receivePrivateCommandFunc Represents function {@link OH_TextEditorProxy_ReceivePrivateCommandFunc} which + * will be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetReceivePrivateCommandFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_ReceivePrivateCommandFunc *receivePrivateCommandFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_SetPreviewTextFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param setPreviewTextFunc Represents function {@link OH_TextEditorProxy_SetPreviewTextFunc} which will be get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetSetPreviewTextFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_SetPreviewTextFunc *setPreviewTextFunc); +/** + * @brief Get function {@link OH_TextEditorProxy_FinishTextPreviewFunc} from {@link InputMethod_TextEditorProxy}. + * + * @param proxy Represents a pointer to an {@link InputMethod_TextEditorProxy} instance which will be get function + * from. + * @param finishTextPreviewFunc Represents function {@link OH_TextEditorProxy_FinishTextPreviewFunc} which will be + * get. + * @return Returns a specific error code. + * {@link IME_ERR_OK} - success. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * Specific error codes can be referenced {@link InputMethod_ErrorCode}. + * @since 12 + */ +InputMethod_ErrorCode OH_TextEditorProxy_GetFinishTextPreviewFunc( + InputMethod_TextEditorProxy *proxy, OH_TextEditorProxy_FinishTextPreviewFunc *finishTextPreviewFunc); +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif // OHOS_INPUTMETHOD_TEXT_EDITOR_PROXY_CAP_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_types_capi.h b/inputmethod/include/inputmethod_types_capi.h new file mode 100644 index 000000000..2cd71d846 --- /dev/null +++ b/inputmethod/include/inputmethod_types_capi.h @@ -0,0 +1,283 @@ +/* +* Copyright (c) 2024 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. +*/ +#ifndef OHOS_INPUTMETHOD_TYPES_CAPI_H +#define OHOS_INPUTMETHOD_TYPES_CAPI_H +#ifdef __cplusplus +extern "C"{ +#endif /* __cplusplus */ +/** + * @brief Keyboard status. + * + * @since 12 + */ +typedef enum { + /** + * The keyboard status is none. + */ + IME_KEYBOARD_STATUS_NONE = 0, + /** + * The keyboard status is hide. + */ + IME_KEYBOARD_STATUS_HIDE = 1, + /** + * The keyboard status is show. + */ + IME_KEYBOARD_STATUS_SHOW = 2, +} InputMethod_KeyboardStatus; + +/** + * @brief Enter key type. + * + * @since 12 + */ +typedef enum { + /** + * The enter key type is UNSPECIFIED. + */ + IME_ENTER_KEY_UNSPECIFIED = 0, + /** + * The enter key type is NONE. + */ + IME_ENTER_KEY_NONE = 1, + /** + * The enter key type is GO. + */ + IME_ENTER_KEY_GO = 2, + /** + * The enter key type is SEARCH. + */ + IME_ENTER_KEY_SEARCH = 3, + /** + * The enter key type is SEND. + */ + IME_ENTER_KEY_SEND = 4, + /** + * The enter key type is NEXT. + */ + IME_ENTER_KEY_NEXT = 5, + /** + * The enter key type is DONE. + */ + IME_ENTER_KEY_DONE = 6, + /** + * The enter key type is PREVIOUS. + */ + IME_ENTER_KEY_PREVIOUS = 7, + /** + * The enter key type is NEWLINE. + */ + IME_ENTER_KEY_NEWLINE = 8, +} InputMethod_EnterKeyType; + +/** + * @brief Direction. + * + * @since 12 + */ +typedef enum { + /** + * The direction is NONE. + */ + IME_DIRECTION_NONE = 0, + /** + * The direction is UP. + */ + IME_DIRECTION_UP = 1, + /** + * The direction is DOWN. + */ + IME_DIRECTION_DOWN = 2, + /** + * The direction is LEFT. + */ + IME_DIRECTION_LEFT = 3, + /** + * The direction is RIGHT. + */ + IME_DIRECTION_RIGHT = 4, +} InputMethod_Direction; + +/** + * @brief The extend action. + * + * @since 12 + */ +typedef enum { + /** + * Select all text. + */ + IME_EXTEND_ACTION_SELECT_ALL = 0, + /** + * Cut selected text. + */ + IME_EXTEND_ACTION_CUT = 3, + /** + * Copy selected text. + */ + IME_EXTEND_ACTION_COPY = 4, + /** + * Paste from paste board. + */ + IME_EXTEND_ACTION_PASTE = 5, +} InputMethod_ExtendAction; + +/** + * @brief The text input type. + * + * @since 12 + */ +typedef enum { + /** + * The text input type is NONE. + */ + IME_TEXT_INPUT_TYPE_NONE = -1, + /** + * The text input type is TEXT. + */ + IME_TEXT_INPUT_TYPE_TEXT = 0, + /** + * The text input type is MULTILINE. + */ + IME_TEXT_INPUT_TYPE_MULTILINE = 1, + /** + * The text input type is NUMBER. + */ + IME_TEXT_INPUT_TYPE_NUMBER = 2, + /** + * The text input type is PHONE. + */ + IME_TEXT_INPUT_TYPE_PHONE = 3, + /** + * The text input type is DATETIME. + */ + IME_TEXT_INPUT_TYPE_DATETIME = 4, + /** + * The text input type is EMAIL ADDRESS. + */ + IME_TEXT_INPUT_TYPE_EMAIL_ADDRESS = 5, + /** + * The text input type is URL. + */ + IME_TEXT_INPUT_TYPE_URL = 6, + /** + * The text input type is VISIBLE PASSWORD. + */ + IME_TEXT_INPUT_TYPE_VISIBLE_PASSWORD = 7, + /** + * The text input type is NUMBER PASSWORD. + */ + IME_TEXT_INPUT_TYPE_NUMBER_PASSWORD = 8, + /** + * The text input type is SCREEN LOCK PASSWORD. + */ + IME_TEXT_INPUT_TYPE_SCREEN_LOCK_PASSWORD = 9, + /** + * The text input type is USER NAME. + */ + IME_TEXT_INPUT_TYPE_USER_NAME = 10, + /** + * The text input type is NEW PASSWORD. + */ + IME_TEXT_INPUT_TYPE_NEW_PASSWORD = 11, + /** + * The text input type is NUMBER DECIMAL. + */ + IME_TEXT_INPUT_TYPE_NUMBER_DECIMAL = 12, +} InputMethod_TextInputType; + +/** + * @brief The value type of command data. + * + * @since 12 + */ +typedef enum { + /** + * Value type is NONE. + */ + IME_COMMAND_VALUE_TYPE_NONE = 0, + /** + * Value type is STRING. + */ + IME_COMMAND_VALUE_TYPE_STRING = 1, + /** + * Value type is BOOL. + */ + IME_COMMAND_VALUE_TYPE_BOOL = 2, + /** + * Value type is INT32. + */ + IME_COMMAND_VALUE_TYPE_INT32 = 3, +} InputMethod_CommandValueType; + +/** + * @brief The value type of command data. + * + * @since 12 + */ +typedef enum { + /** + * The error code in the correct case. + */ + IME_ERR_OK = 0, + + /** + * The error code when query failed. + */ + IME_ERR_QUERY_FAILED = 1, + /** + * The error code when parameter check failed. + */ + IME_ERR_PARAMCHECK = 401, + /** + * The error code when the package manager error. + */ + IME_ERR_PACKAGEMANAGER = 12800001, + /** + * The error code when input method engine error. + */ + IME_ERR_IMENGINE = 12800002, + /** + * The error code when input method client error. + */ + IME_ERR_IMCLIENT = 12800003, + /** + * The error code when configuration persisting error. + */ + IME_ERR_CONFIG_PERSIST = 12800005, + /** + * The error code when input method controller error. + */ + IME_ERR_CONTROLLER = 12800006, + /** + * The error code when input method setting error. + */ + IME_ERR_SETTINGS = 12800007, + /** + * The error code when input method manager service error. + */ + IME_ERR_IMMS = 12800008, + /** + * The error code when input method client is detached. + */ + IME_ERR_DETACHED = 12800009, + /** + * The error code when unexpected null pointer. + */ + IME_ERR_NULL_POINTER = 12800010, +} InputMethod_ErrorCode; +#ifdef __cplusplus +} +#endif /* __cplusplus */ +#endif // OHOS_INPUTMETHOD_TYPES_CAPI_H \ No newline at end of file diff --git a/inputmethod/libohinputmethodndk.json b/inputmethod/libohinputmethodndk.json new file mode 100644 index 000000000..a20dda473 --- /dev/null +++ b/inputmethod/libohinputmethodndk.json @@ -0,0 +1,80 @@ +[ + { "name": "OH_InputMethodController_Attach" }, + { "name": "OH_InputMethodController_Detach" }, + { "name": "OH_InputMethodProxy_ShowKeyboard" }, + { "name": "OH_InputMethodProxy_HideKeyboard" }, + { "name": "OH_InputMethodProxy_NotifySelectionChange" }, + { "name": "OH_InputMethodProxy_NotifyConfigurationChange" }, + { "name": "OH_InputMethodProxy_NotifyCursorUpdate" }, + { "name": "OH_InputMethodProxy_SendPrivateCommand" }, + { "name": "OH_CursorInfo_New" }, + { "name": "OH_CursorInfo_Delete" }, + { "name": "OH_CursorInfo_SetRect" }, + { "name": "OH_CursorInfo_GetRect" }, + { "name": "OH_TextConfig_New" }, + { "name": "OH_TextConfig_Delete" }, + { "name": "OH_TextConfig_SetInputType" }, + { "name": "OH_TextConfig_SetEnterKeyType" }, + { "name": "OH_TextConfig_SetIsPreviewTextSupported" }, + { "name": "OH_TextConfig_SetSelection" }, + { "name": "OH_TextConfig_SetWindowId" }, + { "name": "OH_TextConfig_GetInputType" }, + { "name": "OH_TextConfig_GetEnterKeyType" }, + { "name": "OH_TextConfig_IsPreviewTextSupported" }, + { "name": "OH_TextConfig_GetCursorInfo" }, + { "name": "OH_TextConfig_GetTextAvoidInfo" }, + { "name": "OH_TextConfig_GetSelection" }, + { "name": "OH_TextConfig_GetWindowId" }, + { "name": "OH_TextEditorProxy_New" }, + { "name": "OH_TextEditorProxy_Delete" }, + { "name": "OH_TextEditorProxy_SetGetTextConfigFunc" }, + { "name": "OH_TextEditorProxy_SetInsertTextFunc" }, + { "name": "OH_TextEditorProxy_SetDeleteForwardFunc" }, + { "name": "OH_TextEditorProxy_SetDeleteBackwardFunc" }, + { "name": "OH_TextEditorProxy_SetSendKeyboardStatusFunc" }, + { "name": "OH_TextEditorProxy_SetSendEnterKeyFunc" }, + { "name": "OH_TextEditorProxy_SetMoveCursorFunc" }, + { "name": "OH_TextEditorProxy_SetHandleSetSelectionFunc" }, + { "name": "OH_TextEditorProxy_SetHandleExtendActionFunc" }, + { "name": "OH_TextEditorProxy_SetGetLeftTextOfCursorFunc" }, + { "name": "OH_TextEditorProxy_SetGetRightTextOfCursorFunc" }, + { "name": "OH_TextEditorProxy_SetGetTextIndexAtCursorFunc" }, + { "name": "OH_TextEditorProxy_SetReceivePrivateCommandFunc" }, + { "name": "OH_TextEditorProxy_SetSetPreviewTextFunc" }, + { "name": "OH_TextEditorProxy_SetFinishTextPreviewFunc" }, + { "name": "OH_TextEditorProxy_GetGetTextConfigFunc" }, + { "name": "OH_TextEditorProxy_GetInsertTextFunc" }, + { "name": "OH_TextEditorProxy_GetDeleteForwardFunc" }, + { "name": "OH_TextEditorProxy_GetDeleteBackwardFunc" }, + { "name": "OH_TextEditorProxy_GetSendKeyboardStatusFunc" }, + { "name": "OH_TextEditorProxy_GetSendEnterKeyFunc" }, + { "name": "OH_TextEditorProxy_GetMoveCursorFunc" }, + { "name": "OH_TextEditorProxy_GetHandleSetSelectionFunc" }, + { "name": "OH_TextEditorProxy_GetHandleExtendActionFunc" }, + { "name": "OH_TextEditorProxy_GetGetLeftTextOfCursorFunc" }, + { "name": "OH_TextEditorProxy_GetGetRightTextOfCursorFunc" }, + { "name": "OH_TextEditorProxy_GetGetTextIndexAtCursorFunc" }, + { "name": "OH_TextEditorProxy_GetReceivePrivateCommandFunc" }, + { "name": "OH_TextEditorProxy_GetSetPreviewTextFunc" }, + { "name": "OH_TextEditorProxy_GetFinishTextPreviewFunc" }, + { "name": "OH_AttachOptions_New" }, + { "name": "OH_AttachOptions_Delete" }, + { "name": "OH_AttachOptions_IsShowKeyboard" }, + { "name": "OH_TextAvoidInfo_New" }, + { "name": "OH_TextAvoidInfo_Delete" }, + { "name": "OH_TextAvoidInfo_SetPositionY" }, + { "name": "OH_TextAvoidInfo_SetHeight" }, + { "name": "OH_TextAvoidInfo_GetPositionY" }, + { "name": "OH_TextAvoidInfo_GetHeight" }, + { "name": "OH_PrivateCommand_New" }, + { "name": "OH_PrivateCommand_Delete" }, + { "name": "OH_PrivateCommand_SetKey" }, + { "name": "OH_PrivateCommand_SetBoolValue" }, + { "name": "OH_PrivateCommand_SetIntValue" }, + { "name": "OH_PrivateCommand_SetStrValue" }, + { "name": "OH_PrivateCommand_GetKey" }, + { "name": "OH_PrivateCommand_GetValueType" }, + { "name": "OH_PrivateCommand_GetBoolValue" }, + { "name": "OH_PrivateCommand_GetIntValue" }, + { "name": "OH_PrivateCommand_GetStrValue" } +] \ No newline at end of file -- Gitee From 311a10153a18d12413dc136abb1194aff1a36a09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=B9=94=E5=BC=82?= Date: Wed, 21 Aug 2024 18:19:00 +0800 Subject: [PATCH 110/359] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20GetNativeBuffer=20?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈乔异 --- .../include/image/image_common.h | 2 ++ .../include/image/pixelmap_native.h | 22 +++++++++++++++++++ .../image_framework/libpixelmap.ndk.json | 4 ++++ 3 files changed, 28 insertions(+) diff --git a/multimedia/image_framework/include/image/image_common.h b/multimedia/image_framework/include/image/image_common.h index 590b69dac..a09b75f33 100644 --- a/multimedia/image_framework/include/image/image_common.h +++ b/multimedia/image_framework/include/image/image_common.h @@ -141,6 +141,8 @@ typedef enum { IMAGE_TOO_LARGE = 7600103, /** @error DMA memory does not exist */ IMAGE_DMA_NOT_EXIST = 7600173, + /** @error DMA operation failed */ + IMAGE_DMA_OPERATION_FAILED = 7600174, /** unsupported operations */ IMAGE_UNSUPPORTED_OPERATION = 7600201, /** unsupported metadata */ diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index 5b4f40317..fd631b98e 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -51,6 +51,14 @@ extern "C" { struct OH_PixelmapNative; typedef struct OH_PixelmapNative OH_PixelmapNative; +/** + * @brief Define a native buffer type, used for retrieving a native buffer. + * + * @since 12 + */ +struct OH_NativeBuffer; +typedef struct OH_NativeBuffer OH_NativeBuffer; + /** * @brief Define a pixelmap alpha type. * @@ -809,6 +817,20 @@ Image_ErrorCode OH_PixelmapNative_GetMetadata(OH_PixelmapNative *pixelmap, OH_Pi Image_ErrorCode OH_PixelmapNative_SetMetadata(OH_PixelmapNative *pixelmap, OH_Pixelmap_HdrMetadataKey key, OH_Pixelmap_HdrMetadataValue *value); +/** + * @brief Get the native buffer from the PixelMap. + * + * @param pixelmap The PixelMap to get the native buffer from. + * @param nativeBuffer The native buffer to retrieve. + * @return Returns {@link Image_ErrorCode} IMAGE_RESULT_SUCCESS - if the operation is successful. + * returns {@link Image_ErrorCode} IMAGE_BAD_PARAMETER - if invalid parameter, pixelmap or nativeBuffer is null. + * returns {@link Image_ErrorCode} IMAGE_DMA_NOT_EXIST - if DMA memory dose not exist. + * returns {@link Image_ErrorCode} IMAGE_DMA_OPERATION_FAILED - if operations related to DMA memory has failed. + * @see OH_PixelmapNative + * @since 12 + */ +Image_ErrorCode OH_PixelmapNative_GetNativeBuffer(OH_PixelmapNative *pixelmap, OH_NativeBuffer **nativeBuffer); + #ifdef __cplusplus }; #endif diff --git a/multimedia/image_framework/libpixelmap.ndk.json b/multimedia/image_framework/libpixelmap.ndk.json index 248078f3e..78c1a0235 100644 --- a/multimedia/image_framework/libpixelmap.ndk.json +++ b/multimedia/image_framework/libpixelmap.ndk.json @@ -155,6 +155,10 @@ "first_introduced": "12", "name": "OH_PixelmapNative_SetMetadata" }, + { + "first_introduced": "12", + "name": "OH_PixelmapNative_GetNativeBuffer" + }, { "first_introduced": "12", "name": "OH_PixelmapNative_ConvertPixelmapNativeToNapi" -- Gitee From ce6ff2276b13ed4545ff217406f7c5f077d6a411 Mon Sep 17 00:00:00 2001 From: xiyupeng Date: Thu, 22 Aug 2024 09:22:00 +0800 Subject: [PATCH 111/359] =?UTF-8?q?NDK=E8=AF=AD=E6=B3=95=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiyupeng --- web/webview/interfaces/native/arkweb_scheme_handler.h | 1 + web/webview/interfaces/native/native_interface_arkweb.h | 1 + 2 files changed, 2 insertions(+) diff --git a/web/webview/interfaces/native/arkweb_scheme_handler.h b/web/webview/interfaces/native/arkweb_scheme_handler.h index 1b3dd4bea..4ab4b8b94 100644 --- a/web/webview/interfaces/native/arkweb_scheme_handler.h +++ b/web/webview/interfaces/native/arkweb_scheme_handler.h @@ -32,6 +32,7 @@ #ifndef ARKWEB_SCHEME_HANDLER_H #define ARKWEB_SCHEME_HANDLER_H +#include #include "stdint.h" #include "arkweb_error_code.h" diff --git a/web/webview/interfaces/native/native_interface_arkweb.h b/web/webview/interfaces/native/native_interface_arkweb.h index 42a95a67e..48c114fce 100644 --- a/web/webview/interfaces/native/native_interface_arkweb.h +++ b/web/webview/interfaces/native/native_interface_arkweb.h @@ -32,6 +32,7 @@ #ifndef NATIVE_INTERFACE_ARKWEB_H #define NATIVE_INTERFACE_ARKWEB_H +#include #include #ifdef __cplusplus -- Gitee From af295c116e19c9372761ccebfa4566ba3f119a15 Mon Sep 17 00:00:00 2001 From: wangyongzhong2 Date: Tue, 20 Aug 2024 14:33:19 +0800 Subject: [PATCH 112/359] add ndk for dlp Signed-off-by: wangyongzhong2 --- DataProtectionKit/BUILD.gn | 28 ++++ DataProtectionKit/dlp_permission_api.h | 172 ++++++++++++++++++++ DataProtectionKit/libdlppermission.ndk.json | 26 +++ 3 files changed, 226 insertions(+) create mode 100644 DataProtectionKit/BUILD.gn create mode 100644 DataProtectionKit/dlp_permission_api.h create mode 100644 DataProtectionKit/libdlppermission.ndk.json diff --git a/DataProtectionKit/BUILD.gn b/DataProtectionKit/BUILD.gn new file mode 100644 index 000000000..b6f4d3b5e --- /dev/null +++ b/DataProtectionKit/BUILD.gn @@ -0,0 +1,28 @@ +# Copyright (C) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_headers("dlppermission_capi_header") { + dest_dir = "$ndk_headers_out_dir/DataProtectionKit" + sources = [ "./dlp_permission_api.h" ] +} + +ohos_ndk_library("libohdlp_permission") { + output_name = "ohdlp_permission" + output_extension = "so" + ndk_description_file = "./libdlppermission.ndk.json" + system_capability = "SystemCapability.Security.DataLossPrevention" + system_capability_headers = [ "DataProtectionKit/dlp_permission_api.h" ] +} diff --git a/DataProtectionKit/dlp_permission_api.h b/DataProtectionKit/dlp_permission_api.h new file mode 100644 index 000000000..057c0fd32 --- /dev/null +++ b/DataProtectionKit/dlp_permission_api.h @@ -0,0 +1,172 @@ +/* + * Copyright (c) 2024 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 DlpPermissionApi + * @{ + * + * @brief Provides the capability to access the data loss prevention (DLP) files. + * + * @since 13 + */ + +/** + * @file dlp_permission_api.h + * + * @brief Declares the APIs for accessing the data loss prevention (DLP) files. + * + * @library libohdlp_permission.so + * @kit DataProtectionKit + * @syscap SystemCapability.Security.DataLossPrevention + * @since 13 + */ + +#ifndef DLP_PERMISSION_API_H +#define DLP_PERMISSION_API_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the error codes. + * + * @since 13 + */ +typedef enum { + /** @error The operation is successful. */ + ERR_OH_SUCCESS = 0, + /** @error Invalid parameter value. */ + ERR_OH_INVALID_PARAMETER = 19100001, + /** @error No permission to call this API, which is available only for DLP sandbox applications. */ + ERR_OH_API_ONLY_FOR_SANDBOX = 19100006, + /** @error No permission to call this API, which is available only for non-DLP sandbox applications. */ + ERR_OH_API_NOT_FOR_SANDBOX = 19100007, + /** @error The system ability works abnormally. */ + ERR_OH_SYSTEM_SERVICE_EXCEPTION = 19100011, + /** @error Indicates the memory error. */ + ERR_OH_OUT_OF_MEMORY = 19100012, + /** @error DisplayName missing in want. */ + ERR_OH_APPLICATION_NOT_AUTHORIZED = 19100018 +} DLP_ErrCode; + +/** + * @brief Enumerates the access permissions for a DLP file. + * + * @since 13 + */ +typedef enum { + /** No permission. */ + NO_PERMISSION = 0, + /** Read-only. */ + READ_ONLY = 1, + /** Edit. */ + CONTENT_EDIT = 2, + /** Full control. */ + FULL_CONTROL = 3 +} DLP_FileAccess; + +/** + * @brief Obtains the permission info of this DLP file. + * + * @param dlpFileAccess - Indicates the access permission for the DLP file. + * @param flags - Indicates the actions allowed for the DLP file. + * @return {@link DLP_ErrCode#ERR_OH_SUCCESS} 0 - If the operation is successful. + * {@link DLP_ErrCode#ERR_OH_INVALID_PARAMETER} 19100001 - If the parameter value is invalid. + * {@link DLP_ErrCode#ERR_OH_API_ONLY_FOR_SANDBOX} 19100006 - If no permission to + * call this API, which is available only for DLP sandbox applications. + * {@link DLP_ErrCode#ERR_OH_SYSTEM_SERVICE_EXCEPTION} 19100011 - If the system ability + * works abnormally. + * {@link DLP_ErrCode#ERR_OH_OUT_OF_MEMORY} 19100012 - If the memory error. + * @since 13 + */ +DLP_ErrCode OH_DLP_GetDlpPermissionInfo(DLP_FileAccess *dlpFileAccess, uint32_t *flags); + +/** + * @brief Obtains the original file name from a DLP file name. + * This method removes the DLP file name extension from the DLP file name. + * + * @param fileName - Indicates the DLP file name. + * @param originalFileName - Indicates the original file name obtained. + * @return {@link DLP_ErrCode#ERR_OH_SUCCESS} 0 - If the operation is successful. + * {@link DLP_ErrCode#ERR_OH_INVALID_PARAMS} 19100001 - If the parameter value is invalid. + * {@link DLP_ErrCode#ERR_OH_OUT_OF_MEMORY} 19100012 - If the memory error. + * @since 13 + */ +DLP_ErrCode OH_DLP_GetOriginalFileName(const char *fileName, char **originalFileName); + +/** + * @brief Checks whether current application is in the DLP sandbox. + * + * @param isInSandbox - Indicates output parameter, + * {@code true} if current application is in a DLP sandbox, {@code false} otherwise. + * @return {@link DLP_ErrCode#ERR_OH_SUCCESS} 0 - If the operation is successful. + * {@link DLP_ErrCode#ERR_OH_SYSTEM_SERVICE_EXCEPTION} 19100011 - If the system ability + * works abnormally. + * {@link DLP_ErrCode#ERR_OH_OUT_OF_MEMORY} 19100012 - If the memory error. + * @since 13 + */ +DLP_ErrCode OH_DLP_IsInSandbox(bool *isInSandbox); + +/** + * @brief Sets sandbox application configuration. + * + * @param configInfo - Configuration of the sandbox application. + * @return {@link DLP_ErrCode#ERR_OH_SUCCESS} 0 - If the operation is successful. + * {@link DLP_ErrCode#ERR_OH_INVALID_PARAMETER} 19100001 - If the parameter value is invalid. + * {@link DLP_ErrCode#ERR_OH_API_NOT_FOR_SANDBOX} 19100007 - If no permission to + * call this API, which is available only for non-DLP sandbox applications. + * {@link DLP_ErrCode#ERR_OH_SYSTEM_SERVICE_EXCEPTION} 19100011 - If the system ability + * works abnormally. + * {@link DLP_ErrCode#ERR_OH_APPLICATION_NOT_AUTHORIZED} 19100018 - If not authorized application. + * @since 13 + */ +DLP_ErrCode OH_DLP_SetSandboxAppConfig(const char *configInfo); + +/** + * @brief Obtains sandbox application configuration. + * + * @param configInfo - Configuration of the sandbox application. + * @return {@link DLP_ErrCode#ERR_OH_SUCCESS} 0 - If the operation is successful. + * {@link DLP_ErrCode#ERR_OH_SYSTEM_SERVICE_EXCEPTION} 19100011 - If the system ability + * works abnormally. + * {@link DLP_ErrCode#ERR_OH_OUT_OF_MEMORY} 19100012 - If the memory error. + * {@link DLP_ErrCode#ERR_OH_APPLICATION_NOT_AUTHORIZED} 19100018 - If not authorized application. + * @since 13 + */ +DLP_ErrCode OH_DLP_GetSandboxAppConfig(char **configInfo); + +/** + * @brief Cleans sandbox application configuration. + * + * @return {@link DLP_ErrCode#ERR_OH_SUCCESS} 0 - If the operation is successful. + * {@link DLP_ErrCode#ERR_OH_API_NOT_FOR_SANDBOX} 19100007 - If no permission to + * call this API, which is available only for non-DLP sandbox applications. + * {@link DLP_ErrCode#ERR_OH_SYSTEM_SERVICE_EXCEPTION} 19100011 - If the system ability + * works abnormally. + * {@link DLP_ErrCode#ERR_OH_APPLICATION_NOT_AUTHORIZED} 19100018 - If not authorized application. + * @since 13 + */ +DLP_ErrCode OH_DLP_CleanSandboxAppConfig(); + +#ifdef __cplusplus +} +#endif + +/** @} */ +#endif /* DLP_PERMISSION_API_H */ \ No newline at end of file diff --git a/DataProtectionKit/libdlppermission.ndk.json b/DataProtectionKit/libdlppermission.ndk.json new file mode 100644 index 000000000..6de2fcd87 --- /dev/null +++ b/DataProtectionKit/libdlppermission.ndk.json @@ -0,0 +1,26 @@ +[ + { + "first_introduced": "13", + "name": "OH_DLP_GetDlpPermissionInfo" + }, + { + "first_introduced": "13", + "name": "OH_DLP_GetOriginalFileName" + }, + { + "first_introduced": "13", + "name": "OH_DLP_IsInSandbox" + }, + { + "first_introduced": "13", + "name": "OH_DLP_SetSandboxAppConfig" + }, + { + "first_introduced": "13", + "name": "OH_DLP_GetSandboxAppConfig" + }, + { + "first_introduced": "13", + "name": "OH_DLP_CleanSandboxAppConfig" + } +] \ No newline at end of file -- Gitee From 19ca6c7d268355d9421870216d1a9b4baba41131 Mon Sep 17 00:00:00 2001 From: wisdom Date: Thu, 22 Aug 2024 10:02:28 +0800 Subject: [PATCH 113/359] Description: Update interface JSON Signed-off-by: wisdom --- .../native_audio_session_manager.h | 1 + multimedia/audio_framework/ohaudio.ndk.json | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/multimedia/audio_framework/audio_manager/native_audio_session_manager.h b/multimedia/audio_framework/audio_manager/native_audio_session_manager.h index 34898557e..08ae35748 100644 --- a/multimedia/audio_framework/audio_manager/native_audio_session_manager.h +++ b/multimedia/audio_framework/audio_manager/native_audio_session_manager.h @@ -36,6 +36,7 @@ * * @library libohaudio.so * @syscap SystemCapability.Multimedia.Audio.Core + * @kit AudioKit * @since 12 * @version 1.0 */ diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index 165dc8631..a4c82abf9 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -322,5 +322,29 @@ { "first_introduced": "12", "name":"OH_AudioRenderer_GetSilentModeAndMixWithOthers" + }, + { + "first_introduced": "12", + "name":"OH_AudioManager_GetAudioSessionManager" + }, + { + "first_introduced": "12", + "name":"OH_AudioSessionManager_ActivateAudioSession" + }, + { + "first_introduced": "12", + "name":"OH_AudioSessionManager_DeactivateAudioSession" + }, + { + "first_introduced": "12", + "name":"OH_AudioSessionManager_IsAudioSessionActivated" + }, + { + "first_introduced": "12", + "name":"OH_AudioSessionManager_RegisterSessionDeactivatedCallback" + }, + { + "first_introduced": "12", + "name":"OH_AudioSessionManager_UnregisterSessionDeactivatedCallback" } ] -- Gitee From cb611d06d5fa538009e3474e7aeb3f49b585559f Mon Sep 17 00:00:00 2001 From: wangchuanxia Date: Thu, 22 Aug 2024 10:07:03 +0800 Subject: [PATCH 114/359] fix capi Signed-off-by: wangchuanxia --- ai/neural_network_runtime/neural_network_runtime_type.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ai/neural_network_runtime/neural_network_runtime_type.h b/ai/neural_network_runtime/neural_network_runtime_type.h index 26d4babc2..414fa872c 100644 --- a/ai/neural_network_runtime/neural_network_runtime_type.h +++ b/ai/neural_network_runtime/neural_network_runtime_type.h @@ -39,8 +39,13 @@ #ifndef NEURAL_NETWORK_RUNTIME_TYPE_H #define NEURAL_NETWORK_RUNTIME_TYPE_H +#ifdef __cplusplus #include #include +#else +#include +#include +#endif #ifdef __cplusplus extern "C" { -- Gitee From e9ba0522ac72bccbe390e6c04bad6ce65efdaba5 Mon Sep 17 00:00:00 2001 From: sqwlly Date: Thu, 22 Aug 2024 02:29:11 +0000 Subject: [PATCH 115/359] add hdi error code Signed-off-by: s30029175 Signed-off-by: sqwlly Change-Id: I658538eb487701a43b6f9694f0a1b40453af4e73 --- graphic/graphic_2d/native_window/graphic_error_code.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/graphic/graphic_2d/native_window/graphic_error_code.h b/graphic/graphic_2d/native_window/graphic_error_code.h index 8a2419681..1b5e9deb0 100644 --- a/graphic/graphic_2d/native_window/graphic_error_code.h +++ b/graphic/graphic_2d/native_window/graphic_error_code.h @@ -80,6 +80,8 @@ typedef enum OHNativeErrorCode { NATIVE_ERROR_UNSUPPORTED = 50102000, /** @error unknown error, please check log */ NATIVE_ERROR_UNKNOWN = 50002000, + /** @error hdi interface error */ + NATIVE_ERROR_HDI_ERROR = 50007000, /** @error ipc send failed */ NATIVE_ERROR_BINDER_ERROR = 50401000, /** @error the egl environment is abnormal */ -- Gitee From d675aae67602ca95ba877511636872a861a667ec Mon Sep 17 00:00:00 2001 From: Tiga Ultraman Date: Tue, 20 Aug 2024 15:41:22 +0800 Subject: [PATCH 116/359] add interface for new proxy ndk functions Signed-off-by: Tiga Ultraman --- network/netmanager/include/net_connection.h | 93 +++++++++++++++ .../netmanager/include/net_connection_type.h | 108 ++++++++++++++++++ network/netmanager/libnet_connection.ndk.json | 26 ++++- 3 files changed, 226 insertions(+), 1 deletion(-) diff --git a/network/netmanager/include/net_connection.h b/network/netmanager/include/net_connection.h index 9446b979f..76d12d406 100644 --- a/network/netmanager/include/net_connection.h +++ b/network/netmanager/include/net_connection.h @@ -219,6 +219,99 @@ int32_t OHOS_NetConn_UnregisterDnsResolver(void); */ int32_t OH_NetConn_BindSocket(int32_t socketFd, NetConn_NetHandle *netHandle); +/** + * @brief Sets http proxy information to current application. + * + * @param httpProxy Information about the proxy that needs to be set. + * @return 0 - Success. + * 401 - Parameter error. + * @syscap SystemCapability.Communication.NetManager.Core + * @since 12 + * @version 1.0 + */ +int32_t OH_NetConn_SetAppHttpProxy(NetConn_HttpProxy *httpProxy); + +/** + * @brief Registers callback to listen for changes to the application-level http proxy. + * + * @param appHttpProxyChange Callback that need to be registered to listen for changes to the http proxy. + * @param callbackId Callback id returned after registration, associated with a registered callback. + * @return 0 - Success. + * 401 - Parameter error. + * @syscap SystemCapability.Communication.NetManager.Core + * @since 12 + * @version 1.0 + */ +int32_t OH_NetConn_RegisterAppHttpProxyCallback(OH_NetConn_AppHttpProxyChange appHttpProxyChange, uint32_t *callbackId); + +/** + * @brief Unregisters a callback function that listens for application-level proxy changes. + * + * @param callbackId Id of the callback function that needs to be deregistered. + * @syscap SystemCapability.Communication.NetManager.Core + * @since 12 + * @version 1.0 + */ +void OH_NetConn_UnregisterAppHttpProxyCallback(uint32_t callbackId); + +/** + * @brief Registers callback, used to monitor specific network status. + * + * @param netSpecifier specifier information. + * @param callback The callback needed to be registered. + * @param timeout The timeout period in milliseconds. + * @param callbackId out param, corresponding to a registered callback. + * @return 0 - Success. + * 201 - Permission denied. + * 401 - Parameter error. + * 2100002 - Failed to connect to the service. + * 2100003 - System internal error. + * 2101008 - The callback already exists. + * 2101022 - The number of requests exceeded the maximum allowed. + * @permission ohos.permission.GET_NETWORK_INFO + * @syscap SystemCapability.Communication.NetManager.Core + * @since 12 + * @version 1.0 + */ +int32_t OH_NetConn_RegisterNetConnCallback(NetConn_NetSpecifier *specifier, NetConn_NetConnCallback *netConnCallback, + uint32_t timeout, uint32_t *callbackId); + +/** + * @brief Registers a callback to listen default network's status changed. + * + * @param callback The callback needed to be registered. + * @param callbackId out param, corresponding to a registered callback. + * @return 0 - Success. + * 201 - Permission denied. + * 401 - Parameter error. + * 2100002 - Failed to connect to the service. + * 2100003 - System internal error. + * 2101008 - The callback already exists. + * 2101022 - The number of requests exceeded the maximum allowed. + * @permission ohos.permission.GET_NETWORK_INFO + * @syscap SystemCapability.Communication.NetManager.Core + * @since 12 + * @version 1.0 + */ +int32_t OH_NetConn_RegisterDefaultNetConnCallback(NetConn_NetConnCallback *netConnCallback, uint32_t *callbackId); + +/** + * @brief Unregisters network status callback. + * + * @param callBackId the id corresponding to a registered callback. + * @return 0 - Success. + * 201 - Permission denied. + * 401 - Parameter error. + * 2100002 - Failed to connect to the service. + * 2100003 - System internal error. + * 2101007 - The callback does not exists. + * @permission ohos.permission.GET_NETWORK_INFO + * @syscap SystemCapability.Communication.NetManager.Core + * @since 12 + * @version 1.0 + */ +int32_t OH_NetConn_UnregisterNetConnCallback(uint32_t callBackId); + #ifdef __cplusplus } #endif diff --git a/network/netmanager/include/net_connection_type.h b/network/netmanager/include/net_connection_type.h index 36f68e874..436698c29 100644 --- a/network/netmanager/include/net_connection_type.h +++ b/network/netmanager/include/net_connection_type.h @@ -248,6 +248,114 @@ typedef struct NetConn_NetHandleList { */ typedef int (*OH_NetConn_CustomDnsResolver)(const char *host, const char *serv, const struct addrinfo *hint, struct addrinfo **res); + +/** + * @brief Callback for application’s http proxy information changed. + * + * @param proxy The changed proxy information, may be a null pointer. + * + * @since 12 + * @version 1.0 + */ +typedef void (*OH_NetConn_AppHttpProxyChange)(NetConn_HttpProxy *proxy); + +/** + * @brief Definition of network specifier. + * + * @since 12 + * @version 1.0 + */ +typedef struct NetConn_NetSpecifier { + /** Network capabilities. */ + NetConn_NetCapabilities caps; + /** Network identifier */ + char *bearerPrivateIdentifier; +} NetConn_NetSpecifier; + +/** + * @brief Callback for network available. + * + * @param netHandle The network handle. + * + * @since 12 + * @version 1.0 + */ +typedef void (*OH_NetConn_NetworkAvailable)(NetConn_NetHandle *netHandle); + +/** + * @brief Callback for network capabilities changed. + * + * @param netHandle The network handle. + * @param netCapabilities The network capabilities. + * + * @since 12 + * @version 1.0 + */ +typedef void (*OH_NetConn_NetCapabilitiesChange)(NetConn_NetHandle *netHandle, + NetConn_NetCapabilities *netCapabilities); + +/** + * @brief Callback for network connection properties changed. + * + * @param netHandle The network handle. + * @param connConnetionProperties The network connection properties. + * + * @since 12 + * @version 1.0 + */ +typedef void (*OH_NetConn_NetConnectionPropertiesChange)(NetConn_NetHandle *netHandle, + NetConn_ConnectionProperties *connConnetionProperties); + +/** + * @brief Callback for network lost. + * + * @param netHandle The network handle. + * + * @since 12 + * @version 1.0 + */ +typedef void (*OH_NetConn_NetLost)(NetConn_NetHandle *netHandle); + +/** + * @brief Callback for network unavailable, this function invoked while network can not be available in given timeout. + * + * @since 12 + * @version 1.0 + */ +typedef void (*OH_NetConn_NetUnavailable)(void); + +/** + * @brief Callback for network blocked status changed. + * + * @param netHandle The network handle. + * @param blocked The flag used to indicate whether the network will be blocked. + * + * @since 12 + * @version 1.0 + */ +typedef void (*OH_NetConn_NetBlockStatusChange)(NetConn_NetHandle *netHandle, bool blocked); + +/** + * @brief Defines the network connection callbacks. + * + * @since 12 + * @version 1.0 + */ +typedef struct NetConn_NetConnCallback { + /** Callback for network available */ + OH_NetConn_NetworkAvailable onNetworkAvailable; + /** Callback for network capabilities changed */ + OH_NetConn_NetCapabilitiesChange onNetCapabilitiesChange; + /** Callback for network connection properties changed */ + OH_NetConn_NetConnectionPropertiesChange onConnetionProperties; + /** Callback for network lost */ + OH_NetConn_NetLost onNetLost; + /** Callback for network unavailable, this function invoked while network can not be available in given timeout */ + OH_NetConn_NetUnavailable onNetUnavailable; + /** Callback for network blocked status changed */ + OH_NetConn_NetBlockStatusChange onNetBlockStatusChange; +} NetConn_NetConnCallback; + #ifdef __cplusplus } #endif diff --git a/network/netmanager/libnet_connection.ndk.json b/network/netmanager/libnet_connection.ndk.json index 67993dd38..792eff18e 100644 --- a/network/netmanager/libnet_connection.ndk.json +++ b/network/netmanager/libnet_connection.ndk.json @@ -46,5 +46,29 @@ { "first_introduced": "12", "name": "OH_NetConn_BindSocket" + }, + { + "first_introduced": "12", + "name": "OH_NetConn_SetAppHttpProxy" + }, + { + "first_introduced": "12", + "name": "OH_NetConn_RegisterAppHttpProxyCallback" + }, + { + "first_introduced": "12", + "name": "OH_NetConn_UnregisterAppHttpProxyCallback" + }, + { + "first_introduced": "12", + "name": "OH_NetConn_RegisterNetConnCallback" + }, + { + "first_introduced": "12", + "name": "OH_NetConn_RegisterDefaultNetConnCallback" + }, + { + "first_introduced": "12", + "name": "OH_NetConn_UnregisterNetConnCallback" } -] +] \ No newline at end of file -- Gitee From 633caf0e597339c5a6a922c493a3e04d07eb6d0f Mon Sep 17 00:00:00 2001 From: s00659936 <282229496@qq.com> Date: Tue, 20 Aug 2024 11:22:26 +0800 Subject: [PATCH 117/359] =?UTF-8?q?netstack=E6=B7=BB=E5=8A=A0=E8=AF=81?= =?UTF-8?q?=E4=B9=A6=E7=9B=B8=E5=85=B3=E7=9A=84NDK=E6=8E=A5=E5=8F=A3.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: SJH <282229496@qq.com> --- network/netssl/include/net_ssl_c.h | 39 +++++++++++++++++++ network/netssl/include/net_ssl_c_type.h | 52 +++++++++++++++++++++++++ network/netssl/libnet_ssl_c.json | 12 ++++++ 3 files changed, 103 insertions(+) diff --git a/network/netssl/include/net_ssl_c.h b/network/netssl/include/net_ssl_c.h index 43c46ca6c..779ccab79 100644 --- a/network/netssl/include/net_ssl_c.h +++ b/network/netssl/include/net_ssl_c.h @@ -70,6 +70,45 @@ extern "C" { * @version 1.0 */ uint32_t OH_NetStack_CertVerification(const struct NetStack_CertBlob *cert, const struct NetStack_CertBlob *caCert); + +/** + * @brief Gets pin set for hostname. + * + * @param hostname Hostname. + * @param pin Certificate lock information. + * @return 0 - Success. + * 401 - Parameter error. + * 2305999 - Out of memory. + * @syscap SystemCapability.Communication.NetStack + * @since 12 + * @version 1.0 + */ +int32_t OH_NetStack_GetPinSetForHostName(const char *hostname, NetStack_CertificatePinning *pin); + +/** + * @brief Gets certificates for hostname. + * + * @param hostname Hostname. + * @param certs Certificate Information. + * @return 0 - Success. + * 401 - Parameter error. + * 2305999 - Out of memory. + * @syscap SystemCapability.Communication.NetStack + * @since 12 + * @version 1.0 + */ +int32_t OH_NetStack_GetCertificatesForHostName(const char *hostname, NetStack_Certificates *certs); + +/** + * @brief Frees content of the certificates. + * + * @param certs Certificate. + * @syscap SystemCapability.Communication.NetStack + * @since 12 + * @version 1.0 + */ +void OH_Netstack_DestroyCertificatesContent(NetStack_Certificates *certs); + #ifdef __cplusplus } #endif diff --git a/network/netssl/include/net_ssl_c_type.h b/network/netssl/include/net_ssl_c_type.h index 2241bb54a..fcc9b6fd5 100644 --- a/network/netssl/include/net_ssl_c_type.h +++ b/network/netssl/include/net_ssl_c_type.h @@ -73,6 +73,58 @@ struct NetStack_CertBlob { uint8_t *data; }; +/** + * @brief Defines the certificate lock type. + * + * @since 12 + * @version 1.0 + */ +typedef enum NetStack_CertificatePinningKind { + /** Public key pinning */ + PUBLIC_KEY, +} NetStack_CertificatePinningKind; + +/** + * @brief Defines the hash algorithm. + * + * @since 12 + * @version 1.0 + */ +typedef enum NetStack_HashAlgorithm { + /** Sha256 */ + SHA_256, +} NetStack_HashAlgorithm; + +/** + * @brief Defines the certificate lock information. + * + * @since 12 + * @version 1.0 + */ +typedef struct NetStack_CertificatePinning { + /** Certificate lock type */ + NetStack_CertificatePinningKind kind; + /** Hash algorithm */ + NetStack_HashAlgorithm hashAlgorithm; + /** Hash value */ + union { + char *publicKeyHash; + }; +} NetStack_CertificatePinning; + +/** + * @brief Defines the certificate information. + * + * @since 12 + * @version 1.0 + */ +typedef struct NetStack_Certificates { + /** PEM content of the certificates */ + char **content; + /** Number of certificates */ + size_t length; +} NetStack_Certificates; + #ifdef __cplusplus } #endif diff --git a/network/netssl/libnet_ssl_c.json b/network/netssl/libnet_ssl_c.json index bd17ed3fb..af49f5a35 100644 --- a/network/netssl/libnet_ssl_c.json +++ b/network/netssl/libnet_ssl_c.json @@ -2,5 +2,17 @@ { "first_introduced":"11", "name": "OH_NetStack_CertVerification" + }, + { + "first_introduced":"12", + "name": "OH_NetStack_GetPinSetForHostName" + }, + { + "first_introduced":"12", + "name": "OH_NetStack_GetCertificatesForHostName" + }, + { + "first_introduced":"12", + "name": "OH_Netstack_DestroyCertificatesContent" } ] -- Gitee From df6baafd7a68bee5dfc19c87011c21d9862e9c03 Mon Sep 17 00:00:00 2001 From: wuchengwen Date: Thu, 22 Aug 2024 11:17:47 +0800 Subject: [PATCH 118/359] add addgroup and file Signed-off-by: wuchengwen --- .../include/inputmethod_attach_options_capi.h | 20 +++++++++++++++++++ .../include/inputmethod_cursor_info_capi.h | 20 +++++++++++++++++++ .../inputmethod_inputmethod_proxy_capi.h | 20 +++++++++++++++++++ .../inputmethod_private_command_capi.h | 20 +++++++++++++++++++ .../inputmethod_text_avoid_info_capi.h | 20 +++++++++++++++++++ .../include/inputmethod_text_config_capi.h | 20 +++++++++++++++++++ .../inputmethod_text_editor_proxy_capi.h | 20 +++++++++++++++++++ inputmethod/include/inputmethod_types_capi.h | 20 +++++++++++++++++++ 8 files changed, 160 insertions(+) diff --git a/inputmethod/include/inputmethod_attach_options_capi.h b/inputmethod/include/inputmethod_attach_options_capi.h index 0519caa3c..491174372 100644 --- a/inputmethod/include/inputmethod_attach_options_capi.h +++ b/inputmethod/include/inputmethod_attach_options_capi.h @@ -14,6 +14,26 @@ */ #ifndef OHOS_INPUTMETHOD_ATTACH_OPTIONS_CAPI_H #define OHOS_INPUTMETHOD_ATTACH_OPTIONS_CAPI_H +/** + * @addtogroup InputMethod + * @{ + * + * @brief InputMethod provides functions to use input methods and develop input methods. + * + * @since 12 + */ + +/** + * @file inputmethod_attach_options_capi.h + * + * @brief Provides the input method attach options. + * + * @library libohinputmethod.so + * @kit IMEKit + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 12 + * @version 1.0 + */ #include "inputmethod_types_capi.h" #ifdef __cplusplus extern "C" { diff --git a/inputmethod/include/inputmethod_cursor_info_capi.h b/inputmethod/include/inputmethod_cursor_info_capi.h index b456c5d0f..d081e38d1 100644 --- a/inputmethod/include/inputmethod_cursor_info_capi.h +++ b/inputmethod/include/inputmethod_cursor_info_capi.h @@ -14,6 +14,26 @@ */ #ifndef OHOS_INPUTMETHOD_CURSOR_INFO_CAPI_H #define OHOS_INPUTMETHOD_CURSOR_INFO_CAPI_H +/** + * @addtogroup InputMethod + * @{ + * + * @brief InputMethod provides functions to use input methods and develop input methods. + * + * @since 12 + */ + +/** + * @file inputmethod_cursor_info_capi.h + * + * @brief Provides interfaces to manage the cursor information. + * + * @library libohinputmethod.so + * @kit IMEKit + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 12 + * @version 1.0 + */ #include "inputmethod_types_capi.h" #ifdef __cplusplus extern "C"{ diff --git a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h index 2a2e85ba9..fc2dc3b3d 100644 --- a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h +++ b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h @@ -14,6 +14,26 @@ */ #ifndef OHOS_INPUTMETHOD_INPUTMETHOD_PROXY_CAPI_H #define OHOS_INPUTMETHOD_INPUTMETHOD_PROXY_CAPI_H +/** + * @addtogroup InputMethod + * @{ + * + * @brief InputMethod provides functions to use input methods and develop input methods. + * + * @since 12 + */ + +/** + * @file inputmethod_inputmethod_proxy_capi.h + * + * @brief Provides functions to use input methods. + * + * @library libohinputmethod.so + * @kit IMEKit + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 12 + * @version 1.0 + */ #include #include "inputmethod_types_capi.h" diff --git a/inputmethod/include/inputmethod_private_command_capi.h b/inputmethod/include/inputmethod_private_command_capi.h index c056589c7..df904f8a7 100644 --- a/inputmethod/include/inputmethod_private_command_capi.h +++ b/inputmethod/include/inputmethod_private_command_capi.h @@ -14,6 +14,26 @@ */ #ifndef OHOS_INPUTMETHOD_PRIVATE_COMMAND_CAPI_H #define OHOS_INPUTMETHOD_PRIVATE_COMMAND_CAPI_H +/** + * @addtogroup InputMethod + * @{ + * + * @brief InputMethod provides functions to use input methods and develop input methods. + * + * @since 12 + */ + +/** + * @file inputmethod_private_command_capi.h + * + * @brief Provides functions to manage private commands. + * + * @library libohinputmethod.so + * @kit IMEKit + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 12 + * @version 1.0 + */ #include #include diff --git a/inputmethod/include/inputmethod_text_avoid_info_capi.h b/inputmethod/include/inputmethod_text_avoid_info_capi.h index 02b451626..0e74eb350 100644 --- a/inputmethod/include/inputmethod_text_avoid_info_capi.h +++ b/inputmethod/include/inputmethod_text_avoid_info_capi.h @@ -14,6 +14,26 @@ */ #ifndef OHOS_INPUTMETHOD_TEXT_AVOID_INFO_CAPI_H #define OHOS_INPUTMETHOD_TEXT_AVOID_INFO_CAPI_H +/** + * @addtogroup InputMethod + * @{ + * + * @brief InputMethod provides functions to use input methods and develop input methods. + * + * @since 12 + */ + +/** + * @file inputmethod_text_avoid_info_capi.h + * + * @brief Provides functions to manage text editor to avoid the keyboard. + * + * @library libohinputmethod.so + * @kit IMEKit + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 12 + * @version 1.0 + */ #include "inputmethod_types_capi.h" #ifdef __cplusplus extern "C" { diff --git a/inputmethod/include/inputmethod_text_config_capi.h b/inputmethod/include/inputmethod_text_config_capi.h index 8a6bfbf9d..5d6feff67 100644 --- a/inputmethod/include/inputmethod_text_config_capi.h +++ b/inputmethod/include/inputmethod_text_config_capi.h @@ -14,6 +14,26 @@ */ #ifndef OHOS_INPUTMETHOD_TEXT_CONFIG_CAPI_H #define OHOS_INPUTMETHOD_TEXT_CONFIG_CAPI_H +/** + * @addtogroup InputMethod + * @{ + * + * @brief InputMethod provides functions to use input methods and develop input methods. + * + * @since 12 + */ + +/** + * @file inputmethod_text_config_capi.h + * + * @brief Provides functions to manage the text configuration. + * + * @library libohinputmethod.so + * @kit IMEKit + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 12 + * @version 1.0 + */ #include #include "inputmethod_cursor_info_capi.h" diff --git a/inputmethod/include/inputmethod_text_editor_proxy_capi.h b/inputmethod/include/inputmethod_text_editor_proxy_capi.h index e76116940..038cec2a0 100644 --- a/inputmethod/include/inputmethod_text_editor_proxy_capi.h +++ b/inputmethod/include/inputmethod_text_editor_proxy_capi.h @@ -14,6 +14,26 @@ */ #ifndef OHOS_INPUTMETHOD_TEXT_EDITOR_PROXY_CAPI_H #define OHOS_INPUTMETHOD_TEXT_EDITOR_PROXY_CAPI_H +/** + * @addtogroup InputMethod + * @{ + * + * @brief InputMethod provides functions to use input methods and develop input methods. + * + * @since 12 + */ + +/** + * @file inputmethod_text_editor_proxy_capi.h + * + * @brief Provides functions for getting requests and notifications from input method. + * + * @library libohinputmethod.so + * @kit IMEKit + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 12 + * @version 1.0 + */ #include #include "inputmethod_private_command_capi.h" diff --git a/inputmethod/include/inputmethod_types_capi.h b/inputmethod/include/inputmethod_types_capi.h index 2cd71d846..e88aa8837 100644 --- a/inputmethod/include/inputmethod_types_capi.h +++ b/inputmethod/include/inputmethod_types_capi.h @@ -14,6 +14,26 @@ */ #ifndef OHOS_INPUTMETHOD_TYPES_CAPI_H #define OHOS_INPUTMETHOD_TYPES_CAPI_H +/** + * @addtogroup InputMethod + * @{ + * + * @brief InputMethod provides functions to use input methods and develop input methods. + * + * @since 12 + */ + +/** + * @file inputmethod_types_capi.h + * + * @brief Provides the input method types. + * + * @library libohinputmethod.so + * @kit IMEKit + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 12 + * @version 1.0 + */ #ifdef __cplusplus extern "C"{ #endif /* __cplusplus */ -- Gitee From 0d16d73521780764a76bbedb87367956c91e0fc6 Mon Sep 17 00:00:00 2001 From: kerongfeng Date: Thu, 22 Aug 2024 11:50:15 +0800 Subject: [PATCH 119/359] modify image native parameter Signed-off-by: kerongfeng --- multimedia/camera_framework/photo_native.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/camera_framework/photo_native.h b/multimedia/camera_framework/photo_native.h index 216883119..bb42601a3 100644 --- a/multimedia/camera_framework/photo_native.h +++ b/multimedia/camera_framework/photo_native.h @@ -62,13 +62,13 @@ typedef struct OH_PhotoNative OH_PhotoNative; * @brief Get main image. * * @param photo the {@link OH_PhotoNative} instance. - * @param main the {@link OH_ImageNative} which use to get main image. + * @param mainImage the {@link OH_ImageNative} which use to get main image. * @return {@link #CAMERA_OK} if the method call succeeds. * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * @since 12 * @version 1.0 */ -Camera_ErrorCode OH_PhotoNative_GetMainImage(OH_PhotoNative* photo, OH_ImageNative* mainImage); +Camera_ErrorCode OH_PhotoNative_GetMainImage(OH_PhotoNative* photo, OH_ImageNative** mainImage); /** * @brief Release camera photo. -- Gitee From be21343d3ec9cca3806b09565d1bdff32f84ed97 Mon Sep 17 00:00:00 2001 From: zhaolinglan Date: Thu, 22 Aug 2024 15:10:46 +0800 Subject: [PATCH 120/359] modify capi Signed-off-by: zhaolinglan --- .../include/inputmethod_controller_capi.h | 9 +++++-- .../inputmethod_inputmethod_proxy_capi.h | 15 ++++++++++++ .../inputmethod_private_command_capi.h | 3 +++ inputmethod/include/inputmethod_types_capi.h | 24 +++++++++++-------- 4 files changed, 39 insertions(+), 12 deletions(-) diff --git a/inputmethod/include/inputmethod_controller_capi.h b/inputmethod/include/inputmethod_controller_capi.h index 230c7ffd4..b362e897e 100644 --- a/inputmethod/include/inputmethod_controller_capi.h +++ b/inputmethod/include/inputmethod_controller_capi.h @@ -57,7 +57,10 @@ extern "C" { * Lifecycle is mantianed until the next attach or detach call. * @return Returns a specific error code. * {@link IME_ERR_OK} - success. - * {@link IME_ERR_PARAMCHECK} - The error code for common invalid args. + * {@link IME_ERR_PARAMCHECK} - parameter check failed. + * {@link IME_ERR_IMCLIENT} - input method client error. + * {@link IME_ERR_IMMS} - input method manager service error. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 */ @@ -71,7 +74,9 @@ InputMethod_ErrorCode OH_InputMethodController_Attach(InputMethod_TextEditorProx * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. * @return Returns a specific error code. * {@link IME_ERR_OK} - success. - * {@link IME_ERR_PARAMCHECK} - The error code for common invalid args. + * {@link IME_ERR_IMCLIENT} - input method client error. + * {@link IME_ERR_IMMS} - input method manager service error. + * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 */ diff --git a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h index fc2dc3b3d..3660300b4 100644 --- a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h +++ b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h @@ -58,6 +58,8 @@ typedef struct InputMethod_InputMethodProxy InputMethod_InputMethodProxy; * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. * @return Returns a specific error code. * {@link IME_ERR_OK} - success. + * {@link IME_ERR_IMCLIENT} - input method client error. + * {@link IME_ERR_IMMS} - input method manager service error. * {@link IME_ERR_DETACHED} - input method client is detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. @@ -72,6 +74,8 @@ InputMethod_ErrorCode OH_InputMethodProxy_ShowKeyboard(InputMethod_InputMethodPr * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. * @return Returns a specific error code. * {@link IME_ERR_OK} - success. + * {@link IME_ERR_IMCLIENT} - input method client error. + * {@link IME_ERR_IMMS} - input method manager service error. * {@link IME_ERR_DETACHED} - input method client is detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. @@ -92,6 +96,9 @@ InputMethod_ErrorCode OH_InputMethodProxy_HideKeyboard(InputMethod_InputMethodPr * @param end The end position of selected text. * @return Returns a specific error code. * {@link IME_ERR_OK} - success. + * {@link IME_ERR_PARAMCHECK} - parameter check failed. + * {@link IME_ERR_IMCLIENT} - input method client error. + * {@link IME_ERR_IMMS} - input method manager service error. * {@link IME_ERR_DETACHED} - input method client is detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. @@ -109,6 +116,9 @@ InputMethod_ErrorCode OH_InputMethodProxy_NotifySelectionChange( * @param textType The text input type. * @return Returns a specific error code. * {@link IME_ERR_OK} - success. + * {@link IME_ERR_PARAMCHECK} - parameter check failed. + * {@link IME_ERR_IMCLIENT} - input method client error. + * {@link IME_ERR_IMMS} - input method manager service error. * {@link IME_ERR_DETACHED} - input method client is detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. @@ -126,6 +136,9 @@ InputMethod_ErrorCode OH_InputMethodProxy_NotifyConfigurationChange(InputMethod_ * The cursor information. * @return Returns a specific error code. * {@link IME_ERR_OK} - success. + * {@link IME_ERR_PARAMCHECK} - parameter check failed. + * {@link IME_ERR_IMCLIENT} - input method client error. + * {@link IME_ERR_IMMS} - input method manager service error. * {@link IME_ERR_DETACHED} - input method client is detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. @@ -144,6 +157,8 @@ InputMethod_ErrorCode OH_InputMethodProxy_NotifyCursorUpdate( * @return Returns a specific error code. * {@link IME_ERR_OK} - success. * {@link IME_ERR_PARAMCHECK} - parameter check failed. + * {@link IME_ERR_IMCLIENT} - input method client error. + * {@link IME_ERR_IMMS} - input method manager service error. * {@link IME_ERR_DETACHED} - input method client is detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. diff --git a/inputmethod/include/inputmethod_private_command_capi.h b/inputmethod/include/inputmethod_private_command_capi.h index df904f8a7..c3113aab7 100644 --- a/inputmethod/include/inputmethod_private_command_capi.h +++ b/inputmethod/include/inputmethod_private_command_capi.h @@ -154,6 +154,7 @@ InputMethod_ErrorCode OH_PrivateCommand_GetValueType( * @return Returns a specific error code. * {@link IME_ERR_OK} - success. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * {@link IME_ERR_QUERY_FAILED} - query failed, no bool value in command. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 */ @@ -166,6 +167,7 @@ InputMethod_ErrorCode OH_PrivateCommand_GetBoolValue(InputMethod_PrivateCommand * @return Returns a specific error code. * {@link IME_ERR_OK} - success. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * {@link IME_ERR_QUERY_FAILED} - query failed, no integer value in command. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 */ @@ -179,6 +181,7 @@ InputMethod_ErrorCode OH_PrivateCommand_GetIntValue(InputMethod_PrivateCommand * * @return Returns a specific error code. * {@link IME_ERR_OK} - success. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. + * {@link IME_ERR_QUERY_FAILED} - query failed, no string value in command. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 */ diff --git a/inputmethod/include/inputmethod_types_capi.h b/inputmethod/include/inputmethod_types_capi.h index e88aa8837..53844e2e0 100644 --- a/inputmethod/include/inputmethod_types_capi.h +++ b/inputmethod/include/inputmethod_types_capi.h @@ -42,7 +42,7 @@ extern "C"{ * * @since 12 */ -typedef enum { +typedef enum InputMethod_KeyboardStatus { /** * The keyboard status is none. */ @@ -62,7 +62,7 @@ typedef enum { * * @since 12 */ -typedef enum { +typedef enum InputMethod_EnterKeyType { /** * The enter key type is UNSPECIFIED. */ @@ -106,7 +106,7 @@ typedef enum { * * @since 12 */ -typedef enum { +typedef enum InputMethod_Direction { /** * The direction is NONE. */ @@ -134,7 +134,7 @@ typedef enum { * * @since 12 */ -typedef enum { +typedef enum InputMethod_ExtendAction { /** * Select all text. */ @@ -158,7 +158,7 @@ typedef enum { * * @since 12 */ -typedef enum { +typedef enum InputMethod_TextInputType { /** * The text input type is NONE. */ @@ -222,7 +222,7 @@ typedef enum { * * @since 12 */ -typedef enum { +typedef enum InputMethod_CommandValueType { /** * Value type is NONE. */ @@ -246,16 +246,16 @@ typedef enum { * * @since 12 */ -typedef enum { +typedef enum InputMethod_ErrorCode { /** * The error code in the correct case. */ IME_ERR_OK = 0, /** - * The error code when query failed. + * The error code when error is undefined. */ - IME_ERR_QUERY_FAILED = 1, + IME_ERR_UNDEFINED = 1, /** * The error code when parameter check failed. */ @@ -295,7 +295,11 @@ typedef enum { /** * The error code when unexpected null pointer. */ - IME_ERR_NULL_POINTER = 12800010, + IME_ERR_NULL_POINTER = 12802000, + /** + * The error code when query failed. + */ + IME_ERR_QUERY_FAILED = 12802001, } InputMethod_ErrorCode; #ifdef __cplusplus } -- Gitee From c8270c301efd7c744cc13c14017b86e1aea65251 Mon Sep 17 00:00:00 2001 From: PengKejie Date: Thu, 22 Aug 2024 15:57:54 +0800 Subject: [PATCH 121/359] code format Signed-off-by: PengKejie --- .../native_drawing/drawing_text_typography.h | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/graphic/graphic_2d/native_drawing/drawing_text_typography.h b/graphic/graphic_2d/native_drawing/drawing_text_typography.h index 521534ee1..66254efd5 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_typography.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_typography.h @@ -1031,19 +1031,19 @@ double OH_Drawing_TypographyGetHeight(OH_Drawing_Typography*); */ double OH_Drawing_TypographyGetLongestLine(OH_Drawing_Typography*); - /** - * @brief Obtains the width of the longest line with indent. You are advised to round up the return value in actual use. - * When the text content is empty, the minimum float value, - * that is, -340282346638528859811704183484516925440.000000, is returned. - * - * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Typography Pointer to an OH_Drawing_Typography object, which is obtained by - * {@link OH_Drawing_CreateTypography}. - * @return Returns the width of the longest line with indent. - * @since 12 - * @version 1.1 - */ - double OH_Drawing_TypographyGetLongestLineWithIndent(OH_Drawing_Typography*); +/** + * @brief Obtains the width of the longest line with indent. You are advised to + * round up the return value in actual use. When the text content is empty, the + * minimum float value, that is, 0.0, is returned. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Typography Pointer to an OH_Drawing_Typography object, which is obtained by + * {@link OH_Drawing_CreateTypography}. + * @return Returns the width of the longest line with indent. + * @since 12 + * @version 1.1 + */ +double OH_Drawing_TypographyGetLongestLineWithIndent(OH_Drawing_Typography*); /** * @brief Gets the min intrinsic width. -- Gitee From bbc34c41667c98aa036978569c434c9d20419485 Mon Sep 17 00:00:00 2001 From: GuoLi Date: Thu, 22 Aug 2024 16:26:12 +0800 Subject: [PATCH 122/359] =?UTF-8?q?=E7=BD=91=E7=BB=9C=E7=AE=A1=E7=90=86NDK?= =?UTF-8?q?=E8=AF=AD=E6=B3=95=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: GuoLi --- network/netmanager/include/net_connection_type.h | 1 + 1 file changed, 1 insertion(+) diff --git a/network/netmanager/include/net_connection_type.h b/network/netmanager/include/net_connection_type.h index 36f68e874..6e27fa214 100644 --- a/network/netmanager/include/net_connection_type.h +++ b/network/netmanager/include/net_connection_type.h @@ -39,6 +39,7 @@ */ #include +#include #ifdef __cplusplus extern "C" { -- Gitee From 5bba20352d79f80b825cdf9304dd0de6d67b8c39 Mon Sep 17 00:00:00 2001 From: huangji731 Date: Thu, 22 Aug 2024 10:08:40 +0800 Subject: [PATCH 123/359] https://gitee.com/openharmony/interface_sdk_c/issues/IALLYK Signed-off-by: huangji731 --- arkui/display_manager/BUILD.gn | 35 +++ arkui/display_manager/libdm.ndk.json | 82 ++++++ arkui/display_manager/oh_display_info.h | 204 +++++++++++++ arkui/display_manager/oh_display_manager.h | 318 +++++++++++++++++++++ 4 files changed, 639 insertions(+) create mode 100644 arkui/display_manager/BUILD.gn create mode 100644 arkui/display_manager/libdm.ndk.json create mode 100644 arkui/display_manager/oh_display_info.h create mode 100644 arkui/display_manager/oh_display_manager.h diff --git a/arkui/display_manager/BUILD.gn b/arkui/display_manager/BUILD.gn new file mode 100644 index 000000000..bfdc284ac --- /dev/null +++ b/arkui/display_manager/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_headers("display_manager_header") { + dest_dir = "$ndk_headers_out_dir/window_manager" + sources = [ + "oh_display_info.h", + "oh_display_manager.h", + ] +} + +ohos_ndk_library("native_display_manager") { + output_name = "native_display_manager" + output_extension = "so" + ndk_description_file = "./libdm.ndk.json" + system_capability = "SystemCapability.Window.SessionManager" + system_capability_headers = [ + "oh_display_info.h", + "oh_display_manager.h", + ] + min_compact_version = "12" +} diff --git a/arkui/display_manager/libdm.ndk.json b/arkui/display_manager/libdm.ndk.json new file mode 100644 index 000000000..5efd53561 --- /dev/null +++ b/arkui/display_manager/libdm.ndk.json @@ -0,0 +1,82 @@ +[ + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayId" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayWidth" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayHeight" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayRotation" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayOrientation" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayVirtualPixelRatio" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayRefreshRate" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayDensityDpi" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayDensityPixels" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayScaledDensity" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayDensityXdpi" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetDefaultDisplayDensityYdpi" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_CreateDefaultDisplayCutoutInfo" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_DestroyDefaultDisplayCutoutInfo" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_IsFoldable" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_GetFoldDisplayMode" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_RegisterFoldDisplayModeChangeListener" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_UnregisterFoldDisplayModeChangeListener" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_RegisterDisplayChangeListener" + }, + { + "first_instroduced":"12", + "name":"OH_NativeDisplayManager_UnregisterDisplayChangeListener" + } +] \ No newline at end of file diff --git a/arkui/display_manager/oh_display_info.h b/arkui/display_manager/oh_display_info.h new file mode 100644 index 000000000..3b6175884 --- /dev/null +++ b/arkui/display_manager/oh_display_info.h @@ -0,0 +1,204 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef OH_NATIVE_DISPLAY_INFO_H +#define OH_NATIVE_DISPLAY_INFO_H + +/** + * @addtogroup OH_DisplayInfo + * @{ + * + * @brief Defines the data structures for the C APIs of the display module. + * + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + * @version 1.0 + */ + +/** + * @file oh_display_info.h + * + * @brief Defines the data structures for the C APIs of the display module. + * + * @kit ArkUI + * @library libnative_display_manager.so + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + * @version 1.0 + */ + +#include "stdint.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates rotations. + * + * @since 12 + * @version 1.0 + */ +typedef enum { + /** device rotation 0 degree */ + DISPLAY_MANAGER_ROTATION_0, + + /** device rotation 90 degrees */ + DISPLAY_MANAGER_ROTATION_90, + + /** device rotation 180 degrees */ + DISPLAY_MANAGER_ROTATION_180, + + /** device rotation 270 degree */ + DISPLAY_MANAGER_ROTATION_270, +} NativeDisplayManager_Rotation; + +/** + * @brief Enumerates orientations. + * + * @since 12 + * @version 1.0 + */ +typedef enum { + /** device portrait show */ + DISPLAY_MANAGER_PORTRAIT = 0, + + /** device landscape show */ + DISPLAY_MANAGER_LANDSCAPE = 1, + + /** device portrait inverted show */ + DISPLAY_MANAGER_PORTRAIT_INVERTED = 2, + + /** device landscape inverted show */ + DISPLAY_MANAGER_LANDSCAPE_INVERTED = 3, + + /** device unknow show */ + DISPLAY_MANAGER_UNKNOWN, +} NativeDisplayManager_Orientation; + +/** + * @brief Enumerates the result types of the display manager interface. + * + * @since 12 + * @version 1.0 + */ +typedef enum { + /** @error Operation is successful */ + DISPLAY_MANAGER_OK = 0, + + /** @error Operation no permission */ + DISPLAY_MANAGER_ERROR_NO_PERMISSION = 201, + + /** @error Operation not system app */ + DISPLAY_MANAGER_ERROR_NOT_SYSTEM_APP = 202, + + /** @error Operation invalid param */ + DISPLAY_MANAGER_ERROR_INVALID_PARAM = 401, + + /** @error Operation device not supported */ + DISPLAY_MANAGER_ERROR_DEVICE_NOT_SUPPORTED = 801, + + /** @error Operation screen invalid */ + DISPLAY_MANAGER_ERROR_INVALID_SCREEN = 1400001, + + /** @error Operation invalid call */ + DISPLAY_MANAGER_ERROR_INVALID_CALL = 1400002, + + /** @error Operation system abnormal */ + DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL = 1400003, +} NativeDisplayManager_ErrorCode; + +/** + * @brief Enumerates the fold display mode. + * + * @since 12 + * @version 1.0 + */ +typedef enum { + /** display mode unknown */ + DISPLAY_MANAGER_FOLD_DISPLAY_MODE_UNKNOWN = 0, + + /** display mode full */ + DISPLAY_MANAGER_FOLD_DISPLAY_MODE_FULL = 1, + + /** display mode main */ + DISPLAY_MANAGER_FOLD_DISPLAY_MODE_MAIN = 2, + + /** display mode sub */ + DISPLAY_MANAGER_FOLD_DISPLAY_MODE_SUB = 3, + + /** display mode coordination */ + DISPLAY_MANAGER_FOLD_DISPLAY_MODE_COORDINATION = 4, +} NativeDisplayManager_FoldDisplayMode; + +/** + * @brief Defines the display rect data structure. + * + * @since 12 + * @version 1.0 + */ +typedef struct { + /* rect left */ + int32_t left; + /* rect top */ + int32_t top; + /* rect width */ + uint32_t width; + /* rect height */ + uint32_t height; +} NativeDisplayManager_Rect; + +/** + * @brief Defines the display waterfallDisplayAreaRects data structure. + * + * @since 12 + * @version 1.0 + */ +typedef struct { + /* waterfall left rect */ + NativeDisplayManager_Rect left; + + /* waterfall top rect */ + NativeDisplayManager_Rect top; + + /* waterfall right rect */ + NativeDisplayManager_Rect right; + + /* waterfall bottom rect */ + NativeDisplayManager_Rect bottom; +} NativeDisplayManager_WaterfallDisplayAreaRects; + +/** + * @brief Defines the display cutout info data structure. + * + * @since 12 + * @version 1.0 + */ +typedef struct { + /* boundingRects length */ + int32_t boundingRectsLength; + + /* boundingRects info pointer */ + NativeDisplayManager_Rect *boundingRects; + + /* waterfallDisplayAreaRects info */ + NativeDisplayManager_WaterfallDisplayAreaRects waterfallDisplayAreaRects; +} NativeDisplayManager_CutoutInfo; + +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // OH_NATIVE_DISPLAY_INFO_H \ No newline at end of file diff --git a/arkui/display_manager/oh_display_manager.h b/arkui/display_manager/oh_display_manager.h new file mode 100644 index 000000000..a3b9f3444 --- /dev/null +++ b/arkui/display_manager/oh_display_manager.h @@ -0,0 +1,318 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef OH_NATIVE_DISPLAY_MANAGER_H +#define OH_NATIVE_DISPLAY_MANAGER_H + +/** + * @addtogroup OH_DisplayManager + * @{ + * + * @brief Defines the data structures for the C APIs of the display module. + * + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + * @version 1.0 + */ + +/** + * @file oh_display_manager.h + * + * @brief Defines the data structures for the C APIs of the display module. + * + * @kit ArkUI + * @library libnative_display_manager.so. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + * @version 1.0 + */ + +#include "oh_display_info.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Obtain the default display Id. + * + * @param { *displayId } Indicates the pointer to an uint64_t object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayId(uint64_t *displayId); + +/** + * @brief Obtain the default display width. + * + * @param { *displayWidth } Indicates the pointer to an int32_t object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayWidth(int32_t *displayWidth); + +/** + * @brief Obtain the default display height. + * + * @param { *displayHeight } Indicates the pointer to an int32_t object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayHeight(int32_t *displayHeight); + +/** + * @brief Obtain the default display rotation. + * + * @param { *displayRotation } Indicates the pointer to an NativeDisplayManager_Rotation object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayRotation( + NativeDisplayManager_Rotation *displayRotation); + +/** + * @brief Obtain the default display orientation. + * + * @param { *displayOrientation } Indicates the pointer to an NativeDisplayManager_Orientation object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayOrientation( + NativeDisplayManager_Orientation *displayOrientation); + +/** + * @brief Obtain the default display virtualPixels. + * + * @param { *virtualPixels } Indicates the pointer to an float object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayVirtualPixelRatio(float *virtualPixels); + +/** + * @brief Obtain the default display refreshRate. + * + * @param { *refreshRate } Indicates the pointer to an uint32_t object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayRefreshRate(uint32_t *refreshRate); + +/** + * @brief Obtain the default display densityDpi. + * + * @param { *densityDpi } Indicates the pointer to an int32_t object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayDensityDpi(int32_t *densityDpi); + +/** + * @brief Obtain the default display densityPixels. + * + * @param { *densityPixels } Indicates the pointer to an float object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayDensityPixels(float *densityPixels); + +/** + * @brief Obtain the default display scaledDensity. + * + * @param { *scaledDensity } Indicates the pointer to an float object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayScaledDensity(float *scaledDensity); + +/** + * @brief Obtain the default display xDpi. + * + * @param { *xDpi } Indicates the pointer to an float object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayDensityXdpi(float *xDpi); + +/** + * @brief Obtain the default display yDpi. + * + * @param { *yDpi } Indicates the pointer to an float object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetDefaultDisplayDensityYdpi(float *yDpi); + +/** + * @brief Create the cutout info of the device. + * + * @param { **cutoutInfo } Indicates the pointer to an NativeDisplayManager_CutoutInfo object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_CreateDefaultDisplayCutoutInfo( + NativeDisplayManager_CutoutInfo **cutoutInfo); + +/** + * @brief Destroy an NativeDisplayManager_CutoutInfo object and reclaims the memory occupied by the object. + * + * @param { **cutoutInfo } Indicates the pointer to an NativeDisplayManager_CutoutInfo object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_DestroyDefaultDisplayCutoutInfo( + NativeDisplayManager_CutoutInfo *cutoutInfo); + +/** + * @brief Check whether the device is foldable. + * + * @return { bool } true means the device is foldable. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +bool OH_NativeDisplayManager_IsFoldable(); + +/** + * @brief Get the display mode of the foldable device. + * + * @param { *displayMode } Indicates the pointer to an NativeDisplayManager_FoldDisplayMode object. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_DEVICE_NOT_SUPPORTED } device not support. + * @syscap SystemCapability.Window.SessionManager + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_GetFoldDisplayMode( + NativeDisplayManager_FoldDisplayMode *displayMode); + +/** + * @brief the callback function type when display change. + * + * @param { *displayId } change display id. + * @syscap SystemCapability.Window.SessionManager + * @since 12 + */ +typedef void (*OH_NativeDisplayManager_DisplayChangeCallback)(uint64_t displayId); + +/** + * @brief Register the callback for display change listener. + * + * @param { displayChangeCallback } display change callback. + * @param { *listenerIndex } Indicates the pointer to an uint32_t object. used in unregister call. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_RegisterDisplayChangeListener( + OH_NativeDisplayManager_DisplayChangeCallback displayChangeCallback, uint32_t *listenerIndex); + +/** + * @brief Unregister the callback for display changes listener. + * + * @param { listenerIndex } display changed listener index. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_UnregisterDisplayChangeListener(uint32_t listenerIndex); + +/** + * @brief the callback function type when display fold change. + * + * @param { displayMode } current fold display mode. + * @syscap SystemCapability.Window.SessionManager + * @since 12 + */ +typedef void (*OH_NativeDisplayManager_FoldDisplayModeChangeCallback)( + NativeDisplayManager_FoldDisplayMode displayMode); + +/** + * @brief Register the callback for display mode change listener. + * + * @param { displayModeChangeCallback } display mode change callback. + * @param { *listenerIndex } Indicates the pointer to an uint32_t object. used in unregister call. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_DEVICE_NOT_SUPPORTED } device not support. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.Window.SessionManager + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_RegisterFoldDisplayModeChangeListener( + OH_NativeDisplayManager_FoldDisplayModeChangeCallback displayModeChangeCallback, uint32_t *listenerIndex); + +/** + * @brief Unregister the callback for display mode change listener. + * + * @param { listenerIndex } display mode change listener index. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_DEVICE_NOT_SUPPORTED } device not support. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.Window.SessionManager + * @since 12 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_UnregisterFoldDisplayModeChangeListener(uint32_t listenerIndex); + +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // OH_NATIVE_DISPLAY_MANAGER_H -- Gitee From 11852cfaed6bcf997e1f89e47c8e893384af357c Mon Sep 17 00:00:00 2001 From: wuchengwen Date: Thu, 22 Aug 2024 17:42:15 +0800 Subject: [PATCH 124/359] add param to OH_InputMethodProxy_SendPrivateCommand Signed-off-by: wuchengwen --- inputmethod/include/inputmethod_inputmethod_proxy_capi.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h index 3660300b4..f0b82f3d9 100644 --- a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h +++ b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h @@ -164,7 +164,8 @@ InputMethod_ErrorCode OH_InputMethodProxy_NotifyCursorUpdate( * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 */ -InputMethod_ErrorCode OH_InputMethodProxy_SendPrivateCommand(InputMethod_PrivateCommand *privateCommand[], size_t size); +InputMethod_ErrorCode OH_InputMethodProxy_SendPrivateCommand( + InputMethod_InputMethodProxy *inputMethodProxy, InputMethod_PrivateCommand *privateCommand[], size_t size); #ifdef __cplusplus } #endif /* __cplusplus */ -- Gitee From 4c1fb0ecd39f2aea931ee5f29ec0f0b295964334 Mon Sep 17 00:00:00 2001 From: yuhaoqiang Date: Fri, 19 Jul 2024 14:55:45 +0800 Subject: [PATCH 125/359] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=BA=94=E7=94=A8=E6=98=BE=E5=AD=98=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yuhaoqiang --- hiviewdfx/hidebug/include/hidebug/hidebug.h | 12 ++++++++++++ hiviewdfx/hidebug/libhidebug.ndk.json | 4 ++++ 2 files changed, 16 insertions(+) diff --git a/hiviewdfx/hidebug/include/hidebug/hidebug.h b/hiviewdfx/hidebug/include/hidebug/hidebug.h index a5bfec7b6..cd9eaa828 100644 --- a/hiviewdfx/hidebug/include/hidebug/hidebug.h +++ b/hiviewdfx/hidebug/include/hidebug/hidebug.h @@ -138,6 +138,18 @@ HiDebug_ErrorCode OH_HiDebug_StartAppTraceCapture(HiDebug_TraceFlag flag, */ HiDebug_ErrorCode OH_HiDebug_StopAppTraceCapture(); +/** + * @brief Get the graphics memory of application. + * + * @param value Indicates value of graphics memory, in kibibytes. + * @return Result code + * {@link HIDEBUG_SUCCESS} Get graphics memory success. + * {@link HIDEBUG_INVALID_ARGUMENT} Invalid argument,value is null. + * {@link HIDEBUG_TRACE_ABNORMAL} Failed to get the application memory due to a remote exception. + * @since 13 + */ +HiDebug_ErrorCode OH_HiDebug_GetGraphicsMemory(uint32_t *value); + #ifdef __cplusplus } #endif // __cplusplus diff --git a/hiviewdfx/hidebug/libhidebug.ndk.json b/hiviewdfx/hidebug/libhidebug.ndk.json index 5569c806d..45be9500b 100644 --- a/hiviewdfx/hidebug/libhidebug.ndk.json +++ b/hiviewdfx/hidebug/libhidebug.ndk.json @@ -34,5 +34,9 @@ { "first_introduced": "12", "name": "OH_HiDebug_StopAppTraceCapture" + }, + { + "first_introduced": "13", + "name": "OH_HiDebug_GetGraphicsMemory" } ] \ No newline at end of file -- Gitee From c34bdec912db2e05d10f93cecee8a574831a03d6 Mon Sep 17 00:00:00 2001 From: zhaolinglan Date: Thu, 22 Aug 2024 20:10:01 +0800 Subject: [PATCH 126/359] modify annotation Signed-off-by: zhaolinglan --- .../include/inputmethod_attach_options_capi.h | 11 ++++---- .../include/inputmethod_cursor_info_capi.h | 9 ++++--- .../inputmethod_private_command_capi.h | 11 ++++---- .../inputmethod_text_avoid_info_capi.h | 11 ++++---- .../include/inputmethod_text_config_capi.h | 11 ++++---- .../inputmethod_text_editor_proxy_capi.h | 11 ++++---- inputmethod/include/inputmethod_types_capi.h | 26 +++++++++---------- 7 files changed, 48 insertions(+), 42 deletions(-) diff --git a/inputmethod/include/inputmethod_attach_options_capi.h b/inputmethod/include/inputmethod_attach_options_capi.h index 491174372..3592ea3c5 100644 --- a/inputmethod/include/inputmethod_attach_options_capi.h +++ b/inputmethod/include/inputmethod_attach_options_capi.h @@ -51,17 +51,18 @@ typedef struct InputMethod_AttachOptions InputMethod_AttachOptions; * @brief Create a new {@link InputMethod_AttachOptions} instance. * * @param showKeyboard Represents whether to show the keyboard. - * @return Returns a pointer to the newly created {@link InputMethod_AttachOptions} instance. + * @return If the creation is successful, a pointer to the newly created {@link InputMethod_AttachOptions} instance is returned, + * otherwise, NULL is returned. * @since 12 */ -InputMethod_AttachOptions *OH_AttachOptions_New(bool showKeyboard); +InputMethod_AttachOptions *OH_AttachOptions_Create(bool showKeyboard); /** - * @brief Delete a {@link InputMethod_AttachOptions} instance. + * @brief Destroy a {@link InputMethod_AttachOptions} instance. * - * @param options Represents a pointer to an {@link InputMethod_AttachOptions} instance which will be deleted. + * @param options Represents a pointer to an {@link InputMethod_AttachOptions} instance which will be destroyed. * @since 12 */ -void OH_AttachOptions_Delete(InputMethod_AttachOptions *options); +void OH_AttachOptions_Destroy(InputMethod_AttachOptions *options); /** * @brief Get showKeyboard value from {@link InputMethod_AttachOptions}. * diff --git a/inputmethod/include/inputmethod_cursor_info_capi.h b/inputmethod/include/inputmethod_cursor_info_capi.h index d081e38d1..c9f272d2f 100644 --- a/inputmethod/include/inputmethod_cursor_info_capi.h +++ b/inputmethod/include/inputmethod_cursor_info_capi.h @@ -54,18 +54,19 @@ typedef struct InputMethod_CursorInfo InputMethod_CursorInfo; * @param top The top point of the cursor and must be absolute coordinate of the physical screen. * @param width The width of the cursor. * @param height The height of the cursor. - * @return Returns a pointer to the newly created {@link InputMethod_CursorInfo} instance. + * @return If the creation is successful, a pointer to the newly created {@link InputMethod_CursorInfo} instance is returned, + * otherwise, NULL is returned. * @since 12 */ -InputMethod_CursorInfo *OH_CursorInfo_New(double left, double top, double width, double height); +InputMethod_CursorInfo *OH_CursorInfo_Create(double left, double top, double width, double height); /** - * @brief Delete a {@link InputMethod_CursorInfo} instance. + * @brief Destroy a {@link InputMethod_CursorInfo} instance. * * @param cursorInfo Represents a pointer to an {@link InputMethod_CursorInfo} instance which will be deleted. * @since 12 */ -void OH_CursorInfo_Delete(InputMethod_CursorInfo *cursorInfo); +void OH_CursorInfo_Destroy(InputMethod_CursorInfo *cursorInfo); /** * @brief Set cursor info. diff --git a/inputmethod/include/inputmethod_private_command_capi.h b/inputmethod/include/inputmethod_private_command_capi.h index c3113aab7..bb3871f52 100644 --- a/inputmethod/include/inputmethod_private_command_capi.h +++ b/inputmethod/include/inputmethod_private_command_capi.h @@ -55,17 +55,18 @@ typedef struct InputMethod_PrivateCommand InputMethod_PrivateCommand; * * @param key The key of the private command. * @param keyLength The length of the key. - * @return Returns a pointer to the newly created {@link InputMethod_PrivateCommand} instance. + * @return If the creation is successful, a pointer to the newly created {@link InputMethod_PrivateCommand} instance is returned, + * otherwise, NULL is returned. * @since 12 */ -InputMethod_PrivateCommand *OH_PrivateCommand_New(char key[], size_t keyLength); +InputMethod_PrivateCommand *OH_PrivateCommand_Create(char key[], size_t keyLength); /** - * @brief Delete a {@link InputMethod_PrivateCommand} instance. + * @brief Destroy a {@link InputMethod_PrivateCommand} instance. * - * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be deleted. + * @param command Represents a pointer to an {@link InputMethod_PrivateCommand} instance which will be destroyed. * @since 12 */ -void OH_PrivateCommand_Delete(InputMethod_PrivateCommand *command); +void OH_PrivateCommand_Destroy(InputMethod_PrivateCommand *command); /** * @brief Set key value into {@link InputMethod_PrivateCommand}. * diff --git a/inputmethod/include/inputmethod_text_avoid_info_capi.h b/inputmethod/include/inputmethod_text_avoid_info_capi.h index 0e74eb350..dd7f5e944 100644 --- a/inputmethod/include/inputmethod_text_avoid_info_capi.h +++ b/inputmethod/include/inputmethod_text_avoid_info_capi.h @@ -53,17 +53,18 @@ typedef struct InputMethod_TextAvoidInfo InputMethod_TextAvoidInfo; * * @param positionY The y-coordinate of the avoid area. * @param height The height of the avoid area. - * @return Returns a pointer to the newly created {@link InputMethod_TextAvoidInfo} instance. + * @return If the creation is successful, a pointer to the newly created {@link InputMethod_TextAvoidInfo} instance is returned, + * otherwise, NULL is returned. * @since 12 */ -InputMethod_TextAvoidInfo *OH_TextAvoidInfo_New(double positionY, double height); +InputMethod_TextAvoidInfo *OH_TextAvoidInfo_Create(double positionY, double height); /** - * @brief Delete a {@link InputMethod_TextAvoidInfo} instance. + * @brief Destroy a {@link InputMethod_TextAvoidInfo} instance. * - * @param options Represents a pointer to an {@link InputMethod_TextAvoidInfo} instance which will be deleted. + * @param options Represents a pointer to an {@link InputMethod_TextAvoidInfo} instance which will be destroyed. * @since 12 */ -void OH_TextAvoidInfo_Delete(InputMethod_TextAvoidInfo *info); +void OH_TextAvoidInfo_Destroy(InputMethod_TextAvoidInfo *info); /** * @brief Set positionY value into {@link InputMethod_TextAvoidInfo}. * diff --git a/inputmethod/include/inputmethod_text_config_capi.h b/inputmethod/include/inputmethod_text_config_capi.h index 5d6feff67..29c7059b0 100644 --- a/inputmethod/include/inputmethod_text_config_capi.h +++ b/inputmethod/include/inputmethod_text_config_capi.h @@ -55,17 +55,18 @@ typedef struct InputMethod_TextConfig InputMethod_TextConfig; /** * @brief Create a new {@link InputMethod_TextConfig} instance. * - * @return Returns a pointer to the newly created {@link InputMethod_TextConfig} instance. + * @return If the creation is successful, a pointer to the newly created {@link InputMethod_TextConfig} instance is returned, + * otherwise, NULL is returned. * @since 12 */ -InputMethod_TextConfig *OH_TextConfig_New(); +InputMethod_TextConfig *OH_TextConfig_Create(); /** - * @brief Delete a {@link InputMethod_TextConfig} instance. + * @brief Destroy a {@link InputMethod_TextConfig} instance. * - * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be deleted. + * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be destroyed. * @since 12 */ -void OH_TextConfig_Delete(InputMethod_TextConfig *config); +void OH_TextConfig_Destroy(InputMethod_TextConfig *config); /** * @brief Set input type into TextConfig. diff --git a/inputmethod/include/inputmethod_text_editor_proxy_capi.h b/inputmethod/include/inputmethod_text_editor_proxy_capi.h index 038cec2a0..5d22bd37e 100644 --- a/inputmethod/include/inputmethod_text_editor_proxy_capi.h +++ b/inputmethod/include/inputmethod_text_editor_proxy_capi.h @@ -261,17 +261,18 @@ typedef void (*OH_TextEditorProxy_FinishTextPreviewFunc)(InputMethod_TextEditorP /** * @brief Create a new {@link InputMethod_TextEditorProxy} instance. * - * @return Returns a pointer to the newly created {@link InputMethod_TextEditorProxy} instance. + * @return If the creation is successful, a pointer to the newly created {@link InputMethod_TextEditorProxy} instance is returned, + * otherwise, NULL is returned. * @since 12 */ -InputMethod_TextEditorProxy *OH_TextEditorProxy_New(); +InputMethod_TextEditorProxy *OH_TextEditorProxy_Create(); /** - * @brief Delete a {@link InputMethod_TextEditorProxy} instance. + * @brief Destroy a {@link InputMethod_TextEditorProxy} instance. * - * @param proxy The {@link InputMethod_TextEditorProxy} instance to be deleted. + * @param proxy The {@link InputMethod_TextEditorProxy} instance to be destroyed. * @since 12 */ -void OH_TextEditorProxy_Delete(InputMethod_TextEditorProxy *proxy); +void OH_TextEditorProxy_Destroy(InputMethod_TextEditorProxy *proxy); /** * @brief Set function {@link OH_TextEditorProxy_GetTextConfigFunc} into {@link InputMethod_TextEditorProxy}. * diff --git a/inputmethod/include/inputmethod_types_capi.h b/inputmethod/include/inputmethod_types_capi.h index 53844e2e0..29abd4f41 100644 --- a/inputmethod/include/inputmethod_types_capi.h +++ b/inputmethod/include/inputmethod_types_capi.h @@ -248,56 +248,56 @@ typedef enum InputMethod_CommandValueType { */ typedef enum InputMethod_ErrorCode { /** - * The error code in the correct case. + * @error The error code in the correct case. */ IME_ERR_OK = 0, /** - * The error code when error is undefined. + * @error The error code when error is undefined. */ IME_ERR_UNDEFINED = 1, /** - * The error code when parameter check failed. + * @error The error code when parameter check failed. */ IME_ERR_PARAMCHECK = 401, /** - * The error code when the package manager error. + * @error The error code when the package manager error. */ IME_ERR_PACKAGEMANAGER = 12800001, /** - * The error code when input method engine error. + * @error The error code when input method engine error. */ IME_ERR_IMENGINE = 12800002, /** - * The error code when input method client error. + * @error The error code when input method client error. */ IME_ERR_IMCLIENT = 12800003, /** - * The error code when configuration persisting error. + * @error The error code when configuration persisting error. */ IME_ERR_CONFIG_PERSIST = 12800005, /** - * The error code when input method controller error. + * @error The error code when input method controller error. */ IME_ERR_CONTROLLER = 12800006, /** - * The error code when input method setting error. + * @error The error code when input method setting error. */ IME_ERR_SETTINGS = 12800007, /** - * The error code when input method manager service error. + * @error The error code when input method manager service error. */ IME_ERR_IMMS = 12800008, /** - * The error code when input method client is detached. + * @error The error code when input method client is detached. */ IME_ERR_DETACHED = 12800009, /** - * The error code when unexpected null pointer. + * @error The error code when unexpected null pointer. */ IME_ERR_NULL_POINTER = 12802000, /** - * The error code when query failed. + * @error The error code when query failed. */ IME_ERR_QUERY_FAILED = 12802001, } InputMethod_ErrorCode; -- Gitee From daa048af141e3ac1ae22905e5cd6109f3b648ef2 Mon Sep 17 00:00:00 2001 From: zhaolinglan Date: Thu, 22 Aug 2024 20:27:38 +0800 Subject: [PATCH 127/359] modify annotation Signed-off-by: zhaolinglan --- inputmethod/include/inputmethod_attach_options_capi.h | 4 ++-- inputmethod/include/inputmethod_cursor_info_capi.h | 4 ++-- inputmethod/include/inputmethod_private_command_capi.h | 4 ++-- inputmethod/include/inputmethod_text_avoid_info_capi.h | 4 ++-- inputmethod/include/inputmethod_text_config_capi.h | 4 ++-- inputmethod/include/inputmethod_text_editor_proxy_capi.h | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/inputmethod/include/inputmethod_attach_options_capi.h b/inputmethod/include/inputmethod_attach_options_capi.h index 3592ea3c5..7d6f13d0c 100644 --- a/inputmethod/include/inputmethod_attach_options_capi.h +++ b/inputmethod/include/inputmethod_attach_options_capi.h @@ -51,8 +51,8 @@ typedef struct InputMethod_AttachOptions InputMethod_AttachOptions; * @brief Create a new {@link InputMethod_AttachOptions} instance. * * @param showKeyboard Represents whether to show the keyboard. - * @return If the creation is successful, a pointer to the newly created {@link InputMethod_AttachOptions} instance is returned, - * otherwise, NULL is returned. + * @return If the creation is successful, a pointer to the newly created {@link InputMethod_AttachOptions} instance is returned. + * If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_AttachOptions *OH_AttachOptions_Create(bool showKeyboard); diff --git a/inputmethod/include/inputmethod_cursor_info_capi.h b/inputmethod/include/inputmethod_cursor_info_capi.h index c9f272d2f..6d1796398 100644 --- a/inputmethod/include/inputmethod_cursor_info_capi.h +++ b/inputmethod/include/inputmethod_cursor_info_capi.h @@ -54,8 +54,8 @@ typedef struct InputMethod_CursorInfo InputMethod_CursorInfo; * @param top The top point of the cursor and must be absolute coordinate of the physical screen. * @param width The width of the cursor. * @param height The height of the cursor. - * @return If the creation is successful, a pointer to the newly created {@link InputMethod_CursorInfo} instance is returned, - * otherwise, NULL is returned. + * @return If the creation is successful, a pointer to the newly created {@link InputMethod_CursorInfo} instance is returned. + * If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_CursorInfo *OH_CursorInfo_Create(double left, double top, double width, double height); diff --git a/inputmethod/include/inputmethod_private_command_capi.h b/inputmethod/include/inputmethod_private_command_capi.h index bb3871f52..189eaf2e1 100644 --- a/inputmethod/include/inputmethod_private_command_capi.h +++ b/inputmethod/include/inputmethod_private_command_capi.h @@ -55,8 +55,8 @@ typedef struct InputMethod_PrivateCommand InputMethod_PrivateCommand; * * @param key The key of the private command. * @param keyLength The length of the key. - * @return If the creation is successful, a pointer to the newly created {@link InputMethod_PrivateCommand} instance is returned, - * otherwise, NULL is returned. + * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_PrivateCommand} instance is returned. + * If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_PrivateCommand *OH_PrivateCommand_Create(char key[], size_t keyLength); diff --git a/inputmethod/include/inputmethod_text_avoid_info_capi.h b/inputmethod/include/inputmethod_text_avoid_info_capi.h index dd7f5e944..dc17894b6 100644 --- a/inputmethod/include/inputmethod_text_avoid_info_capi.h +++ b/inputmethod/include/inputmethod_text_avoid_info_capi.h @@ -53,8 +53,8 @@ typedef struct InputMethod_TextAvoidInfo InputMethod_TextAvoidInfo; * * @param positionY The y-coordinate of the avoid area. * @param height The height of the avoid area. - * @return If the creation is successful, a pointer to the newly created {@link InputMethod_TextAvoidInfo} instance is returned, - * otherwise, NULL is returned. + * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_TextAvoidInfo} instance is returned. + * If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_TextAvoidInfo *OH_TextAvoidInfo_Create(double positionY, double height); diff --git a/inputmethod/include/inputmethod_text_config_capi.h b/inputmethod/include/inputmethod_text_config_capi.h index 29c7059b0..7e9dc414e 100644 --- a/inputmethod/include/inputmethod_text_config_capi.h +++ b/inputmethod/include/inputmethod_text_config_capi.h @@ -55,8 +55,8 @@ typedef struct InputMethod_TextConfig InputMethod_TextConfig; /** * @brief Create a new {@link InputMethod_TextConfig} instance. * - * @return If the creation is successful, a pointer to the newly created {@link InputMethod_TextConfig} instance is returned, - * otherwise, NULL is returned. + * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_TextConfig} instance is returned. + * If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_TextConfig *OH_TextConfig_Create(); diff --git a/inputmethod/include/inputmethod_text_editor_proxy_capi.h b/inputmethod/include/inputmethod_text_editor_proxy_capi.h index 5d22bd37e..9f0db8b03 100644 --- a/inputmethod/include/inputmethod_text_editor_proxy_capi.h +++ b/inputmethod/include/inputmethod_text_editor_proxy_capi.h @@ -261,8 +261,8 @@ typedef void (*OH_TextEditorProxy_FinishTextPreviewFunc)(InputMethod_TextEditorP /** * @brief Create a new {@link InputMethod_TextEditorProxy} instance. * - * @return If the creation is successful, a pointer to the newly created {@link InputMethod_TextEditorProxy} instance is returned, - * otherwise, NULL is returned. + * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_TextEditorProxy} instance is returned. + * If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_TextEditorProxy *OH_TextEditorProxy_Create(); -- Gitee From fbebcf3b7642bd7bf325df87bdc93d010cfc0dcb Mon Sep 17 00:00:00 2001 From: huchang Date: Mon, 19 Aug 2024 11:47:34 +0800 Subject: [PATCH 128/359] add ndk interface of audiokit for web Signed-off-by: huchang Change-Id: I1aead9d26d78b9db7a8c9d3856a4c4e71ed27af1 --- multimedia/audio_framework/BUILD.gn | 2 + .../audio_manager/native_audio_manager.h | 83 +++++++++++++++++++ .../native_audio_routing_manager.h | 69 +++++++++++++++ .../common/native_audio_common.h | 35 ++++++++ .../common/native_audio_device_base.h | 49 +++++++++++ multimedia/audio_framework/ohaudio.ndk.json | 20 +++++ 6 files changed, 258 insertions(+) create mode 100644 multimedia/audio_framework/audio_manager/native_audio_manager.h diff --git a/multimedia/audio_framework/BUILD.gn b/multimedia/audio_framework/BUILD.gn index 2928db509..e3a53b3cf 100644 --- a/multimedia/audio_framework/BUILD.gn +++ b/multimedia/audio_framework/BUILD.gn @@ -18,6 +18,7 @@ ohos_ndk_headers("ohaudio_header") { dest_dir = "$ndk_headers_out_dir/ohaudio" sources = [ "audio_capturer/native_audiocapturer.h", + "audio_manager/native_audio_manager.h", "audio_manager/native_audio_routing_manager.h", "audio_manager/native_audio_session_manager.h", "audio_renderer/native_audiorenderer.h", @@ -38,6 +39,7 @@ ohos_ndk_library("libohaudio_ndk") { "ohaudio/native_audiostreambuilder.h", "ohaudio/native_audiorenderer.h", "ohaudio/native_audiocapturer.h", + "ohaudio/native_audio_manager.h", "ohaudio/native_audio_routing_manager.h", "ohaudio/native_audio_common.h", "ohaudio/native_audio_device_base.h", diff --git a/multimedia/audio_framework/audio_manager/native_audio_manager.h b/multimedia/audio_framework/audio_manager/native_audio_manager.h new file mode 100644 index 000000000..b25ae98d8 --- /dev/null +++ b/multimedia/audio_framework/audio_manager/native_audio_manager.h @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2024 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 OHAudio + * @{ + * + * @brief Provide the definition of the C interface for the audio module. + * + * @syscap SystemCapability.Multimedia.Audio.Core + * + * @since 12 + * @version 1.0 + */ + +/** + * @file native_audio_manager.h + * + * @brief Declare audio manager related interfaces. + * + * @library libohaudio.so + * @syscap SystemCapability.Multimedia.Audio.Core + * @since 12 + * @version 1.0 + */ +#ifndef NATIVE_AUDIO_MANAGER_H +#define NATIVE_AUDIO_MANAGER_H + +#include "native_audio_common.h" +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Declare the audio manager. + * The handle of audio manager is used for audio management related functions. + * + * @since 12 + */ +typedef struct OH_AudioManager OH_AudioManager; + +/** + * @brief Get audio manager handle. + * + * @param audioManager the {@link OH_AudioManager} handle received from this function. + * @return Function result code: + * {@link AUDIOCOMMON_RESULT_SUCCESS} If the execution is successful. + * {@link AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM}: + * 1.The param of audioManager is nullptr; + * @since 12 + */ +OH_AudioCommon_Result OH_GetAudioManager(OH_AudioManager **audioManager); + +/** + * @brief Get audio scene. + * @param audioManager the {@link OH_AudioManager} handle received from {@link OH_GetAudioManager}. + * @param scene the {@link OH_AudioScene} pointer to receive the result. + * @return Function result code: + * {@link AUDIOCOMMON_RESULT_SUCCESS} If the execution is successful. + * {@link AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM}: + * 1.The param of audioManager is nullptr; + * 2.The param of scene is nullptr. + * @since 12 + */ +OH_AudioCommon_Result OH_GetAudioScene(OH_AudioManager* manager, OH_AudioScene *scene); + +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // NATIVE_AUDIO_ROUTING_MANAGER_H \ No newline at end of file diff --git a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h index a34a8fbc0..153d37d39 100644 --- a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h +++ b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h @@ -113,6 +113,75 @@ OH_AudioCommon_Result OH_AudioRoutingManager_GetDevices( OH_AudioDevice_Flag deviceFlag, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray); +/** + * @brief Get available devices by device usage. + * + * @param audioRoutingManager the {@link OH_AudioRoutingManager} handle returned + * by {@link OH_AudioManager_GetAudioRoutingManager}. + * @param deviceUsage the {@link OH_AudioDevice_Usage}. + * @param audioDeviceDescriptorArray the {@link OH_AudioDeviceDescriptorArray} + * pointer variable which will be set the audio device descriptors value + * Do not release the audioDeviceDescriptorArray pointer separately + * instead call {@link OH_AudioRoutingManager_ReleaseDevices} to release the DeviceDescriptor array + * when it is no use anymore. + * @return Function result code: + * {@link AUDIOCOMMON_RESULT_SUCCESS} If the execution is successful. + * {@link AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM}: + * 1.The param of audioRoutingManager is nullptr; + * 2.The param of deviceUsage is invalid; + * 3.The param of audioDeviceDescriptorArray is nullptr. + * {@link AUDIOCOMMON_RESULT_ERROR_NO_MEMORY} No memory error. + * @since 12 + */ +OH_AudioCommon_Result OH_AudioRoutingManager_GetAvailableDevices( + OH_AudioRoutingManager *audioRoutingManager, + OH_AudioDevice_Usage deviceUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray); + +/** + * @brief Get preferred ouput devices by audio usage. + * + * @param audioRoutingManager the {@link OH_AudioRoutingManager} handle returned + * by {@link OH_AudioManager_GetAudioRoutingManager}. + * @param streamUsage the {@link OH_AudioStream_Usage}. + * @param audioDeviceDescriptorArray the {@link OH_AudioDeviceDescriptorArray} + * pointer variable which will be set the audio device descriptors value + * Do not release the audioDeviceDescriptorArray pointer separately + * instead call {@link OH_AudioRoutingManager_ReleaseDevices} to release the DeviceDescriptor array + * when it is no use anymore. + * @return Function result code: + * {@link AUDIOCOMMON_RESULT_SUCCESS} If the execution is successful. + * {@link AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM}: + * 1.The param of audioRoutingManager is nullptr; + * 2.The param of streamUsage is invalid; + * 3.The param of audioDeviceDescriptorArray is nullptr. + * {@link AUDIOCOMMON_RESULT_ERROR_NO_MEMORY} No memory error. + * @since 12 + */ +OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredOutputDevice( + OH_AudioRoutingManager *audioRoutingManager, + OH_AudioStream_Usage streamUsage, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray); + +/** + * @brief Get preferred input devices by audio source type. + * @param audioRoutingManager the {@link OH_AudioRoutingManager} handle returned + * by {@link OH_AudioManager_GetAudioRoutingManager}. + * @param sourceType the {@link OH_AudioStream_SourceType}. + * @param audioDeviceDescriptorArray the {@link OH_AudioDeviceDescriptorArray} + * pointer variable which will be set the audio device descriptors value + * Do not release the audioDeviceDescriptorArray pointer separately + * instead call {@link OH_AudioRoutingManager_ReleaseDevices} to release the DeviceDescriptor array + * when it is no use anymore. + * @return Function result code: + * {@link AUDIOCOMMON_RESULT_SUCCESS} If the execution is successful. + * {@link AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM}: + * 1.The param of audioRoutingManager is nullptr; + * 2.The param of sourceType is invalid; + * 3.The param of audioDeviceDescriptorArray is nullptr. + * {@link AUDIOCOMMON_RESULT_ERROR_NO_MEMORY} No memory error. + * @since 12 + */ +OH_AudioCommon_Result OH_AudioRoutingManager_GetPreferredInputDevice(OH_AudioRoutingManager *audioRoutingManager, + OH_AudioStream_SourceType sourceType, OH_AudioDeviceDescriptorArray **audioDeviceDescriptorArray); /** * @brief Register the device change callback of the audio routing manager. * diff --git a/multimedia/audio_framework/common/native_audio_common.h b/multimedia/audio_framework/common/native_audio_common.h index c0051b877..6a50df302 100644 --- a/multimedia/audio_framework/common/native_audio_common.h +++ b/multimedia/audio_framework/common/native_audio_common.h @@ -95,6 +95,41 @@ typedef enum { AUDIOCOMMON_RESULT_ERROR_SYSTEM = 6800301, } OH_AudioCommon_Result; +/** + * @brief Defines the audio scene. + * + * @since 12 + */ +typedef enum { + /** + * Default audio scene. + * + * @since 12 + */ + AUDIO_SCENE_DEFAULT = 0, + + /** + * Ringing scene. + * + * @since 12 + */ + AUDIO_SCENE_RINGING = 1, + + /** + * Phone call scene. + * + * @since 12 + */ + AUDIO_SCENE_PHONE_CALL = 2, + + /** + * Voice chat scene. + * + * @since 12 + */ + AUDIO_SCENE_VOICE_CHAT = 3, +} OH_AudioScene; + #ifdef __cplusplus } #endif diff --git a/multimedia/audio_framework/common/native_audio_device_base.h b/multimedia/audio_framework/common/native_audio_device_base.h index 6d7a6cef5..436fc6683 100644 --- a/multimedia/audio_framework/common/native_audio_device_base.h +++ b/multimedia/audio_framework/common/native_audio_device_base.h @@ -176,6 +176,55 @@ typedef enum { AUDIO_DEVICE_FLAG_ALL = 3, } OH_AudioDevice_Flag; +/** + * @brief Defines the audio device usage. + * + * @since 12 + */ +typedef enum { + /** + * @brief Device used for media ouput. + * + * @since 12 + */ + AUDIO_DEVICE_USAGE_MEDIA_OUTPUT = 1, + + /** + * @brief Device used for media input. + * + * @since 12 + */ + AUDIO_DEVICE_USAGE_MEDIA_INPUT = 2, + + /** + * @brief Device used for media, including input and output. + * + * @since 12 + */ + AUDIO_DEVICE_USAGE_MEDIA_ALL = 3, + + /** + * @brief Device used for call output. + * + * @since 12 + */ + AUDIO_DEVICE_USAGE_CALL_OUTPUT = 4, + + /** + * @brief Device used for call input. + * + * @since 12 + */ + AUDIO_DEVICE_USAGE_CALL_INPUT = 8, + + /** + * @brief Device used for call, including input and output. + * + * @since 12 + */ + AUDIO_DEVICE_USAGE_CALL_ALL = 12, +} OH_AudioDevice_Usage; + /** * @brief Declaring the audio device descriptor. * The instance is used to get more audio device detail attributes. diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index a4c82abf9..58b9ad34e 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -346,5 +346,25 @@ { "first_introduced": "12", "name":"OH_AudioSessionManager_UnregisterSessionDeactivatedCallback" + }, + { + "first_introduced": "12", + "name": "OH_GetAudioManager" + }, + { + "first_introduced": "12", + "name": "OH_GetAudioScene" + }, + { + "first_introduced": "12", + "name": "OH_AudioRoutingManager_GetAvailableDevices" + }, + { + "first_introduced": "12", + "name": "OH_AudioRoutingManager_GetPreferredOutputDevice" + }, + { + "first_introduced": "12", + "name": "OH_AudioRoutingManager_GetPreferredInputDevice" } ] -- Gitee From 1ad87e3e3d6cfd8c3b90a2effe9715a303be28fc Mon Sep 17 00:00:00 2001 From: wuchengwen Date: Thu, 22 Aug 2024 22:07:35 +0800 Subject: [PATCH 129/359] change new to create, delete to destory Signed-off-by: wuchengwen --- .../include/inputmethod_cursor_info_capi.h | 2 +- .../include/inputmethod_text_config_capi.h | 2 +- inputmethod/libohinputmethodndk.json | 26 +++++++++---------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/inputmethod/include/inputmethod_cursor_info_capi.h b/inputmethod/include/inputmethod_cursor_info_capi.h index 6d1796398..407142cf2 100644 --- a/inputmethod/include/inputmethod_cursor_info_capi.h +++ b/inputmethod/include/inputmethod_cursor_info_capi.h @@ -63,7 +63,7 @@ InputMethod_CursorInfo *OH_CursorInfo_Create(double left, double top, double wid /** * @brief Destroy a {@link InputMethod_CursorInfo} instance. * - * @param cursorInfo Represents a pointer to an {@link InputMethod_CursorInfo} instance which will be deleted. + * @param cursorInfo Represents a pointer to an {@link InputMethod_CursorInfo} instance which will be destroyed. * @since 12 */ void OH_CursorInfo_Destroy(InputMethod_CursorInfo *cursorInfo); diff --git a/inputmethod/include/inputmethod_text_config_capi.h b/inputmethod/include/inputmethod_text_config_capi.h index 7e9dc414e..f2a707e02 100644 --- a/inputmethod/include/inputmethod_text_config_capi.h +++ b/inputmethod/include/inputmethod_text_config_capi.h @@ -104,7 +104,7 @@ InputMethod_ErrorCode OH_TextConfig_SetEnterKeyType( * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 */ -InputMethod_ErrorCode OH_TextConfig_SetIsPreviewTextSupported(InputMethod_TextConfig *config, bool supported); +InputMethod_ErrorCode OH_TextConfig_SetPreviewTextSupport(InputMethod_TextConfig *config, bool supported); /** * @brief Set selection into TextConfig. * diff --git a/inputmethod/libohinputmethodndk.json b/inputmethod/libohinputmethodndk.json index a20dda473..683c0a355 100644 --- a/inputmethod/libohinputmethodndk.json +++ b/inputmethod/libohinputmethodndk.json @@ -7,15 +7,15 @@ { "name": "OH_InputMethodProxy_NotifyConfigurationChange" }, { "name": "OH_InputMethodProxy_NotifyCursorUpdate" }, { "name": "OH_InputMethodProxy_SendPrivateCommand" }, - { "name": "OH_CursorInfo_New" }, - { "name": "OH_CursorInfo_Delete" }, + { "name": "OH_CursorInfo_Create" }, + { "name": "OH_CursorInfo_Destroy" }, { "name": "OH_CursorInfo_SetRect" }, { "name": "OH_CursorInfo_GetRect" }, - { "name": "OH_TextConfig_New" }, - { "name": "OH_TextConfig_Delete" }, + { "name": "OH_TextConfig_Create" }, + { "name": "OH_TextConfig_Destroy" }, { "name": "OH_TextConfig_SetInputType" }, { "name": "OH_TextConfig_SetEnterKeyType" }, - { "name": "OH_TextConfig_SetIsPreviewTextSupported" }, + { "name": "OH_TextConfig_SetPreviewTextSupport" }, { "name": "OH_TextConfig_SetSelection" }, { "name": "OH_TextConfig_SetWindowId" }, { "name": "OH_TextConfig_GetInputType" }, @@ -25,8 +25,8 @@ { "name": "OH_TextConfig_GetTextAvoidInfo" }, { "name": "OH_TextConfig_GetSelection" }, { "name": "OH_TextConfig_GetWindowId" }, - { "name": "OH_TextEditorProxy_New" }, - { "name": "OH_TextEditorProxy_Delete" }, + { "name": "OH_TextEditorProxy_Create" }, + { "name": "OH_TextEditorProxy_Destroy" }, { "name": "OH_TextEditorProxy_SetGetTextConfigFunc" }, { "name": "OH_TextEditorProxy_SetInsertTextFunc" }, { "name": "OH_TextEditorProxy_SetDeleteForwardFunc" }, @@ -57,17 +57,17 @@ { "name": "OH_TextEditorProxy_GetReceivePrivateCommandFunc" }, { "name": "OH_TextEditorProxy_GetSetPreviewTextFunc" }, { "name": "OH_TextEditorProxy_GetFinishTextPreviewFunc" }, - { "name": "OH_AttachOptions_New" }, - { "name": "OH_AttachOptions_Delete" }, + { "name": "OH_AttachOptions_Create" }, + { "name": "OH_AttachOptions_Destroy" }, { "name": "OH_AttachOptions_IsShowKeyboard" }, - { "name": "OH_TextAvoidInfo_New" }, - { "name": "OH_TextAvoidInfo_Delete" }, + { "name": "OH_TextAvoidInfo_Create" }, + { "name": "OH_TextAvoidInfo_Destroy" }, { "name": "OH_TextAvoidInfo_SetPositionY" }, { "name": "OH_TextAvoidInfo_SetHeight" }, { "name": "OH_TextAvoidInfo_GetPositionY" }, { "name": "OH_TextAvoidInfo_GetHeight" }, - { "name": "OH_PrivateCommand_New" }, - { "name": "OH_PrivateCommand_Delete" }, + { "name": "OH_PrivateCommand_Create" }, + { "name": "OH_PrivateCommand_Destroy" }, { "name": "OH_PrivateCommand_SetKey" }, { "name": "OH_PrivateCommand_SetBoolValue" }, { "name": "OH_PrivateCommand_SetIntValue" }, -- Gitee From ee99d1ed3dac108b800daed4253182545bc4efcd Mon Sep 17 00:00:00 2001 From: m00472246 Date: Thu, 22 Aug 2024 20:42:46 +0800 Subject: [PATCH 130/359] =?UTF-8?q?NDK=E5=AF=B9=E5=A4=96=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=A7=84=E6=A0=BC=E8=A1=A5=E5=85=85=20Signed-off-by:=20m004722?= =?UTF-8?q?46=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: m00472246 --- .../graphic_2d/native_buffer/native_buffer.h | 46 ++++--- .../graphic_2d/native_image/native_image.h | 41 +++++-- .../native_window/external_window.h | 113 +++++++++++++----- 3 files changed, 145 insertions(+), 55 deletions(-) diff --git a/graphic/graphic_2d/native_buffer/native_buffer.h b/graphic/graphic_2d/native_buffer/native_buffer.h index fca0fc9a2..aee47ec3f 100644 --- a/graphic/graphic_2d/native_buffer/native_buffer.h +++ b/graphic/graphic_2d/native_buffer/native_buffer.h @@ -287,7 +287,10 @@ typedef struct { /** * @brief Alloc a OH_NativeBuffer that matches the passed BufferRequestConfig. \n - * A new OH_NativeBuffer instance is created each time this function is called. + * A new OH_NativeBuffer instance is created each time this function is called.\n + * This interface needs to be used in conjunction with OH_NativeBuffer_Unreference<\b>, + * otherwise memory leaks will occur.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param config Indicates the pointer to a BufferRequestConfig instance. @@ -299,7 +302,10 @@ typedef struct { OH_NativeBuffer* OH_NativeBuffer_Alloc(const OH_NativeBuffer_Config* config); /** - * @brief Adds the reference count of a OH_NativeBuffer. + * @brief Adds the reference count of a OH_NativeBuffer.\n + * This interface needs to be used in conjunction with OH_NativeBuffer_Unreference<\b>, + * otherwise memory leaks will occur.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -310,8 +316,9 @@ OH_NativeBuffer* OH_NativeBuffer_Alloc(const OH_NativeBuffer_Config* config); int32_t OH_NativeBuffer_Reference(OH_NativeBuffer *buffer); /** - * @brief Decreases the reference count of a OH_NativeBuffer and, when the reference count reaches 0, \n - * destroys this OH_NativeBuffer. + * @brief Decreases the reference count of a OH_NativeBuffer and, when the reference count reaches 0, + * destroys this OH_NativeBuffer.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -322,7 +329,8 @@ int32_t OH_NativeBuffer_Reference(OH_NativeBuffer *buffer); int32_t OH_NativeBuffer_Unreference(OH_NativeBuffer *buffer); /** - * @brief Return a config of the OH_NativeBuffer in the passed OHNativeBufferConfig struct. + * @brief Return a config of the OH_NativeBuffer in the passed OHNativeBufferConfig struct.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -334,7 +342,9 @@ int32_t OH_NativeBuffer_Unreference(OH_NativeBuffer *buffer); void OH_NativeBuffer_GetConfig(OH_NativeBuffer *buffer, OH_NativeBuffer_Config* config); /** - * @brief Provide direct cpu access to the OH_NativeBuffer in the process's address space. + * @brief Provide direct cpu access to the OH_NativeBuffer in the process's address space.\n + * This interface needs to be used in conjunction with OH_NativeBuffer_Unmap<\b>.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -347,7 +357,8 @@ void OH_NativeBuffer_GetConfig(OH_NativeBuffer *buffer, OH_NativeBuffer_Config* int32_t OH_NativeBuffer_Map(OH_NativeBuffer *buffer, void **virAddr); /** - * @brief Remove direct cpu access ability of the OH_NativeBuffer in the process's address space. + * @brief Remove direct cpu access ability of the OH_NativeBuffer in the process's address space.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -358,7 +369,8 @@ int32_t OH_NativeBuffer_Map(OH_NativeBuffer *buffer, void **virAddr); int32_t OH_NativeBuffer_Unmap(OH_NativeBuffer *buffer); /** - * @brief Get the systen wide unique sequence number of the OH_NativeBuffer. + * @brief Get the systen wide unique sequence number of the OH_NativeBuffer.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -369,7 +381,8 @@ int32_t OH_NativeBuffer_Unmap(OH_NativeBuffer *buffer); uint32_t OH_NativeBuffer_GetSeqNum(OH_NativeBuffer *buffer); /** - * @brief Provide direct cpu access to the potentially multi-plannar OH_NativeBuffer in the process's address space. + * @brief Provide direct cpu access to the potentially multi-plannar OH_NativeBuffer in the process's address space.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -382,7 +395,8 @@ uint32_t OH_NativeBuffer_GetSeqNum(OH_NativeBuffer *buffer); int32_t OH_NativeBuffer_MapPlanes(OH_NativeBuffer *buffer, void **virAddr, OH_NativeBuffer_Planes *outPlanes); /** - * @brief Converts an OHNativeWindowBuffer instance to an OH_NativeBuffer. + * @brief Converts an OHNativeWindowBuffer instance to an OH_NativeBuffer.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param nativeWindowBuffer Indicates the pointer to a OHNativeWindowBuffer instance. @@ -394,7 +408,8 @@ int32_t OH_NativeBuffer_MapPlanes(OH_NativeBuffer *buffer, void **virAddr, OH_Na int32_t OH_NativeBuffer_FromNativeWindowBuffer(OHNativeWindowBuffer *nativeWindowBuffer, OH_NativeBuffer **buffer); /** - * @brief Set the color space of the OH_NativeBuffer. + * @brief Set the color space of the OH_NativeBuffer.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -406,7 +421,8 @@ int32_t OH_NativeBuffer_FromNativeWindowBuffer(OHNativeWindowBuffer *nativeWindo int32_t OH_NativeBuffer_SetColorSpace(OH_NativeBuffer *buffer, OH_NativeBuffer_ColorSpace colorSpace); /** - * @brief Get the color space of the OH_NativeBuffer. + * @brief Get the color space of the OH_NativeBuffer.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -420,7 +436,8 @@ int32_t OH_NativeBuffer_SetColorSpace(OH_NativeBuffer *buffer, OH_NativeBuffer_C int32_t OH_NativeBuffer_GetColorSpace(OH_NativeBuffer *buffer, OH_NativeBuffer_ColorSpace *colorSpace); /** - * @brief Set the metadata type of the OH_NativeBuffer. + * @brief Set the metadata type of the OH_NativeBuffer.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -438,7 +455,8 @@ int32_t OH_NativeBuffer_SetMetadataValue(OH_NativeBuffer *buffer, OH_NativeBuffe int32_t size, uint8_t *metadata); /** - * @brief Set the metadata type of the OH_NativeBuffer. + * @brief Set the metadata type of the OH_NativeBuffer.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. diff --git a/graphic/graphic_2d/native_image/native_image.h b/graphic/graphic_2d/native_image/native_image.h index 56e10963d..0a12a14dc 100644 --- a/graphic/graphic_2d/native_image/native_image.h +++ b/graphic/graphic_2d/native_image/native_image.h @@ -79,6 +79,9 @@ typedef struct OH_OnFrameAvailableListener { /** * @brief Create a OH_NativeImage related to an Opengl ES texture and target. \n + * This interface needs to be used in conjunction with OH_NativeImage_Destroy<\b>, + * otherwise memory leaks will occur.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param textureId Indicates the id of the Opengl ES texture which the native image attached to. @@ -91,7 +94,8 @@ typedef struct OH_OnFrameAvailableListener { OH_NativeImage* OH_NativeImage_Create(uint32_t textureId, uint32_t textureTarget); /** - * @brief Acquire the OHNativeWindow for the OH_NativeImage. + * @brief Acquire the OHNativeWindow for the OH_NativeImage.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -103,7 +107,8 @@ OHNativeWindow* OH_NativeImage_AcquireNativeWindow(OH_NativeImage* image); /** * @brief Attach the OH_NativeImage to Opengl ES context, and the Opengl ES texture is bound to the \n - * GL_TEXTURE_EXTERNAL_OES, which will update by the OH_NativeImage. + * GL_TEXTURE_EXTERNAL_OES, which will update by the OH_NativeImage.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -115,7 +120,8 @@ OHNativeWindow* OH_NativeImage_AcquireNativeWindow(OH_NativeImage* image); int32_t OH_NativeImage_AttachContext(OH_NativeImage* image, uint32_t textureId); /** - * @brief Detach the OH_NativeImage from the Opengl ES context. + * @brief Detach the OH_NativeImage from the Opengl ES context.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -127,7 +133,10 @@ int32_t OH_NativeImage_AttachContext(OH_NativeImage* image, uint32_t textureId); int32_t OH_NativeImage_DetachContext(OH_NativeImage* image); /** - * @brief Update the related Opengl ES texture with the OH_NativeImage acquired buffer. + * @brief Update the related Opengl ES texture with the OH_NativeImage acquired buffer.\n + * This interface needs to be called in the Opengl ES context thread.\n + * This interface needs to be called after receiving the OH_OnFrameAvailableListener<\b> callback.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -138,7 +147,8 @@ int32_t OH_NativeImage_DetachContext(OH_NativeImage* image); int32_t OH_NativeImage_UpdateSurfaceImage(OH_NativeImage* image); /** - * @brief Get the timestamp of the texture image set by the most recent call to OH_NativeImage_UpdateSurfaceImage. + * @brief Get the timestamp of the texture image set by the most recent call to OH_NativeImage_UpdateSurfaceImage.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -164,7 +174,8 @@ int64_t OH_NativeImage_GetTimestamp(OH_NativeImage* image); int32_t OH_NativeImage_GetTransformMatrix(OH_NativeImage* image, float matrix[16]); /** - * @brief Return the native image's surface id. + * @brief Return the native image's surface id.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -176,7 +187,9 @@ int32_t OH_NativeImage_GetTransformMatrix(OH_NativeImage* image, float matrix[16 int32_t OH_NativeImage_GetSurfaceId(OH_NativeImage* image, uint64_t* surfaceId); /** - * @brief Set the frame available callback. + * @brief Set the frame available callback.\n + * Not allow calling other interfaces in the callback function.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -188,7 +201,8 @@ int32_t OH_NativeImage_GetSurfaceId(OH_NativeImage* image, uint64_t* surfaceId); int32_t OH_NativeImage_SetOnFrameAvailableListener(OH_NativeImage* image, OH_OnFrameAvailableListener listener); /** - * @brief Unset the frame available callback. + * @brief Unset the frame available callback.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -199,8 +213,9 @@ int32_t OH_NativeImage_SetOnFrameAvailableListener(OH_NativeImage* image, OH_OnF int32_t OH_NativeImage_UnsetOnFrameAvailableListener(OH_NativeImage* image); /** - * @brief Destroy the OH_NativeImage created by OH_NativeImage_Create, and the pointer to \n - * OH_NativeImage will be null after this operation. + * @brief Destroy the OH_NativeImage created by OH_NativeImage_Create, and the pointer to + * OH_NativeImage will be null after this operation.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage pointer. @@ -211,6 +226,8 @@ void OH_NativeImage_Destroy(OH_NativeImage** image); /** * @brief Obtains the transform matrix of the texture image by producer transform type.\n + * The matrix will not be update until OH_NativeImage_UpdateSurfaceImage<\b> is called.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -233,6 +250,7 @@ int32_t OH_NativeImage_GetTransformMatrixV2(OH_NativeImage* image, float matrix[ * This interface needs to be used in conjunction with OH_NativeImage_ReleaseNativeWindowBuffer<\b>, * otherwise memory leaks will occur.\n * When the fenceFd is used up, you need to close it.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -251,6 +269,7 @@ int32_t OH_NativeImage_AcquireNativeWindowBuffer(OH_NativeImage* image, * @brief Release the OHNativeWindowBuffer to the buffer queue through an * OH_NativeImage instance for reuse.\n * The fenceFd will be close by system.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -271,6 +290,8 @@ int32_t OH_NativeImage_ReleaseNativeWindowBuffer(OH_NativeImage* image, * This method can not be used at the same time with OH_NativeImage_UpdateSurfaceImage.\n * This interface needs to be used in conjunction with OH_NativeImage_Destroy<\b>, * otherwise memory leaks will occur.\n + * This interface dose not support concurrency.\n + * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @return Returns the pointer to the OH_NativeImage instance created if the operation is successful, \n * returns NULL otherwise. diff --git a/graphic/graphic_2d/native_window/external_window.h b/graphic/graphic_2d/native_window/external_window.h index 767e8c8ac..b8717daf2 100644 --- a/graphic/graphic_2d/native_window/external_window.h +++ b/graphic/graphic_2d/native_window/external_window.h @@ -399,7 +399,9 @@ typedef enum { OHNativeWindow* OH_NativeWindow_CreateNativeWindow(void* pSurface); /** - * @brief Decreases the reference count of a OHNativeWindow instance by 1, and when the reference count reaches 0, destroys the instance. + * @brief Decreases the reference count of a OHNativeWindow instance by 1, + * and when the reference count reaches 0, destroys the instance.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -422,8 +424,11 @@ void OH_NativeWindow_DestroyNativeWindow(OHNativeWindow* window); OHNativeWindowBuffer* OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer(void* pSurfaceBuffer); /** - * @brief Creates a OHNativeWindowBuffer instance. - A new OHNativeWindowBuffer instance is created each time this function is called. + * @brief Creates a OHNativeWindowBuffer instance.\n + * A new OHNativeWindowBuffer instance is created each time this function is called.\n + * This interface needs to be used in conjunction with OH_NativeWindow_DestroyNativeWindowBuffer<\b>, + * otherwise memory leaks will occur.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param nativeBuffer Indicates the pointer to a native buffer. The type is OH_NativeBuffer*. @@ -434,7 +439,9 @@ OHNativeWindowBuffer* OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer( OHNativeWindowBuffer* OH_NativeWindow_CreateNativeWindowBufferFromNativeBuffer(OH_NativeBuffer* nativeBuffer); /** - * @brief Decreases the reference count of a OHNativeWindowBuffer instance by 1 and, when the reference count reaches 0, destroys the instance. + * @brief Decreases the reference count of a OHNativeWindowBuffer instance by 1 and, + * when the reference count reaches 0, destroys the instance.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param buffer Indicates the pointer to a OHNativeWindowBuffer instance. @@ -444,7 +451,13 @@ OHNativeWindowBuffer* OH_NativeWindow_CreateNativeWindowBufferFromNativeBuffer(O void OH_NativeWindow_DestroyNativeWindowBuffer(OHNativeWindowBuffer* buffer); /** - * @brief Requests a OHNativeWindowBuffer through a OHNativeWindow instance for content production. + * @brief Requests a OHNativeWindowBuffer through a OHNativeWindow instance for content production.\n + * Before calling this interface, you need to set the width and height of + * OHNativeWindow through SET_BUFFER_GEOMETRY.\n + * This interface needs to be used in conjunction with OH_NativeWindow_NativeWindowFlushBuffer<\b>, + * otherwise buffer will be exhausted.\n + * When the fenceFd is used up, you need to close it.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -458,7 +471,10 @@ int32_t OH_NativeWindow_NativeWindowRequestBuffer(OHNativeWindow *window, OHNativeWindowBuffer **buffer, int *fenceFd); /** - * @brief Flushes the OHNativeWindowBuffer filled with the content to the buffer queue through a OHNativeWindow instance for content consumption. + * @brief Flushes the OHNativeWindowBuffer filled with the content to the buffer queue + * through a OHNativeWindow instance for content consumption.\n + * The fenceFd will be close by system.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -490,7 +506,9 @@ int32_t OH_NativeWindow_GetLastFlushedBuffer(OHNativeWindow *window, OHNativeWin int *fenceFd, float matrix[16]); /** - * @brief Returns the OHNativeWindowBuffer to the buffer queue through a OHNativeWindow instance, without filling in any content. The OHNativeWindowBuffer can be used for another request. + * @brief Returns the OHNativeWindowBuffer to the buffer queue through a OHNativeWindow instance, + * without filling in any content. The OHNativeWindowBuffer can be used for another request.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -502,7 +520,8 @@ int32_t OH_NativeWindow_GetLastFlushedBuffer(OHNativeWindow *window, OHNativeWin int32_t OH_NativeWindow_NativeWindowAbortBuffer(OHNativeWindow *window, OHNativeWindowBuffer *buffer); /** - * @brief Sets or obtains the attributes of a native window, including the width, height, and content format. + * @brief Sets or obtains the attributes of a native window, including the width, height, and content format.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -515,7 +534,8 @@ int32_t OH_NativeWindow_NativeWindowAbortBuffer(OHNativeWindow *window, OHNative int32_t OH_NativeWindow_NativeWindowHandleOpt(OHNativeWindow *window, int code, ...); /** - * @brief Obtains the pointer to a BufferHandle of a OHNativeWindowBuffer instance. + * @brief Obtains the pointer to a BufferHandle of a OHNativeWindowBuffer instance.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param buffer Indicates the pointer to a OHNativeWindowBuffer instance. @@ -526,7 +546,10 @@ int32_t OH_NativeWindow_NativeWindowHandleOpt(OHNativeWindow *window, int code, BufferHandle *OH_NativeWindow_GetBufferHandleFromNative(OHNativeWindowBuffer *buffer); /** - * @brief Adds the reference count of a native object. + * @brief Adds the reference count of a native object.\n + * This interface needs to be used in conjunction with OH_NativeWindow_NativeObjectUnreference<\b>, + * otherwise memory leaks will occur.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param obj Indicates the pointer to a OHNativeWindow or OHNativeWindowBuffer instance. @@ -537,7 +560,9 @@ BufferHandle *OH_NativeWindow_GetBufferHandleFromNative(OHNativeWindowBuffer *bu int32_t OH_NativeWindow_NativeObjectReference(void *obj); /** - * @brief Decreases the reference count of a native object and, when the reference count reaches 0, destroys this object. + * @brief Decreases the reference count of a native object and, + * when the reference count reaches 0, destroys this object.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param obj Indicates the pointer to a OHNativeWindow or OHNativeWindowBuffer instance. @@ -548,7 +573,8 @@ int32_t OH_NativeWindow_NativeObjectReference(void *obj); int32_t OH_NativeWindow_NativeObjectUnreference(void *obj); /** - * @brief Obtains the magic ID of a native object. + * @brief Obtains the magic ID of a native object.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param obj Indicates the pointer to a OHNativeWindow or OHNativeWindowBuffer instance. @@ -620,7 +646,10 @@ int32_t OH_NativeWindow_NativeWindowSetMetaDataSet(OHNativeWindow *window, uint3 int32_t OH_NativeWindow_NativeWindowSetTunnelHandle(OHNativeWindow *window, const OHExtDataHandle *handle); /** - * @brief Attach a buffer to an OHNativeWindow instance. + * @brief Attach a buffer to an OHNativeWindow instance.\n + * This interface needs to be used in conjunction with OH_NativeWindow_NativeWindowDetachBuffer<\b>, + * otherwise buffer management will be chaotic.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. @@ -632,7 +661,8 @@ int32_t OH_NativeWindow_NativeWindowSetTunnelHandle(OHNativeWindow *window, cons int32_t OH_NativeWindow_NativeWindowAttachBuffer(OHNativeWindow *window, OHNativeWindowBuffer *buffer); /** - * @brief Detach a buffer from an OHNativeWindow instance. + * @brief Detach a buffer from an OHNativeWindow instance.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. @@ -644,7 +674,8 @@ int32_t OH_NativeWindow_NativeWindowAttachBuffer(OHNativeWindow *window, OHNativ int32_t OH_NativeWindow_NativeWindowDetachBuffer(OHNativeWindow *window, OHNativeWindowBuffer *buffer); /** - * @brief Get surfaceId from native window. + * @brief Get surfaceId from native window.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. @@ -657,6 +688,14 @@ int32_t OH_NativeWindow_GetSurfaceId(OHNativeWindow *window, uint64_t *surfaceId /** * @brief Creates an OHNativeWindow instance.\n + * This interface needs to be used in conjunction with OH_NativeWindow_DestroyNativeWindow<\b>, + * otherwise memory leaks will occur.\n + * If there is a concurrent destroy OHNativeWindow, you need to add once and decrement once to the + * OHNativeWindow reference count through OH_NativeWindow_NativeObjectReference<\b> and + * OH_NativeWindow_NativeObjectUnreference<\b>.\n + * If the surface obtained through surfaceId is created in this process, the surface cannot be obtained + * across processes.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param surfaceId Indicates the surfaceId to a surface. @@ -668,7 +707,8 @@ int32_t OH_NativeWindow_GetSurfaceId(OHNativeWindow *window, uint64_t *surfaceId int32_t OH_NativeWindow_CreateNativeWindowFromSurfaceId(uint64_t surfaceId, OHNativeWindow **window); /** - * @brief Sets scalingMode of a native window. + * @brief Sets scalingMode of a native window.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window indicates the pointer to an OHNativeWindow instance. @@ -680,7 +720,8 @@ int32_t OH_NativeWindow_CreateNativeWindowFromSurfaceId(uint64_t surfaceId, OHNa int32_t OH_NativeWindow_NativeWindowSetScalingModeV2(OHNativeWindow *window, OHScalingModeV2 scalingMode); /** - * @brief Set native window buffer hold. + * @brief Set native window buffer hold.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. @@ -690,42 +731,48 @@ int32_t OH_NativeWindow_NativeWindowSetScalingModeV2(OHNativeWindow *window, OHS void OH_NativeWindow_SetBufferHold(OHNativeWindow *window); /** - * @brief Write an OHNativeWindow to an OHIPCParcel. + * @brief Write an OHNativeWindow to an OHIPCParcel.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. * @param parcel Indicates the pointer to an OHIPCParcel instance. - * @return 0 - Success. - * 40001000 - parcel is NULL or window is NULL. + * @return {@link NATIVE_ERROR_OK} 0 - Success. + * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - parcel is NULL or window is NULL. * @since 12 * @version 1.0 */ int32_t OH_NativeWindow_WriteToParcel(OHNativeWindow *window, OHIPCParcel *parcel); /** - * @brief Read an OHNativeWindow from an OHIPCParcel. + * @brief Read an OHNativeWindow from an OHIPCParcel.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param parcel Indicates the pointer to an OHIPCParcel instance. * @param window Indicates the pointer to an OHNativeWindow instance. - * @return 0 - Success. - * 40001000 - parcel is NULL or parcel does not contain the window. + * @return {@link NATIVE_ERROR_OK} 0 - Success. + * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - parcel is NULL or parcel does not contain the window. * @since 12 * @version 1.0 */ int32_t OH_NativeWindow_ReadFromParcel(OHIPCParcel *parcel, OHNativeWindow **window); /** - * @brief Get the last flushed OHNativeWindowBuffer from an OHNativeWindow instance. + * @brief Get the last flushed OHNativeWindowBuffer from an OHNativeWindow instance.\n + * When the fenceFd is used up, you need to close it.\n + * This interface needs to be used in conjunction with OH_NativeWindow_NativeObjectUnreference<\b>, + * otherwise memory leaks will occur.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. * @param buffer Indicates the pointer to an OHNativeWindowBuffer pointer. * @param fenceFd Indicates the pointer to a file descriptor handle. * @param matrix Indicates the retrieved 4*4 transform matrix. - * @return 0 - Success. - * 40001000 - window is NULL or buffer is NULL or fenceFd is NULL. - * 41207000 - buffer state is wrong. + * @return {@link NATIVE_ERROR_OK} 0 - Success. + * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - window is NULL or buffer is NULL or fenceFd is NULL. + * {@link NATIVE_ERROR_BUFFER_STATE_INVALID} 41207000 - buffer state is wrong. * @since 12 * @version 1.0 */ @@ -733,7 +780,8 @@ int32_t OH_NativeWindow_ReadFromParcel(OHIPCParcel *parcel, OHNativeWindow **win int32_t OH_NativeWindow_GetLastFlushedBufferV2(OHNativeWindow *window, OHNativeWindowBuffer **buffer, int *fenceFd, float matrix[16]); /** - * @brief Set the color space of the native window. + * @brief Set the color space of the native window.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -747,7 +795,8 @@ int32_t OH_NativeWindow_GetLastFlushedBufferV2(OHNativeWindow *window, OHNativeW int32_t OH_NativeWindow_SetColorSpace(OHNativeWindow *window, OH_NativeBuffer_ColorSpace colorSpace); /** - * @brief Get the color space of the native window. + * @brief Get the color space of the native window.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -761,7 +810,8 @@ int32_t OH_NativeWindow_SetColorSpace(OHNativeWindow *window, OH_NativeBuffer_Co int32_t OH_NativeWindow_GetColorSpace(OHNativeWindow *window, OH_NativeBuffer_ColorSpace *colorSpace); /** - * @brief Set the metadata type of the native window. + * @brief Set the metadata type of the native window.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -779,7 +829,8 @@ int32_t OH_NativeWindow_SetMetadataValue(OHNativeWindow *window, OH_NativeBuffer int32_t size, uint8_t *metadata); /** - * @brief Set the metadata type of the native window. + * @brief Set the metadata type of the native window.\n + * This interface dose not support concurrency.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. -- Gitee From 25017a376449eaf40886a793e152c6a4ff0ba075 Mon Sep 17 00:00:00 2001 From: zhaolinglan Date: Fri, 23 Aug 2024 10:21:33 +0800 Subject: [PATCH 131/359] modify annotation Signed-off-by: zhaolinglan --- inputmethod/include/inputmethod_attach_options_capi.h | 4 ++-- inputmethod/include/inputmethod_cursor_info_capi.h | 4 ++-- inputmethod/include/inputmethod_private_command_capi.h | 4 ++-- inputmethod/include/inputmethod_text_avoid_info_capi.h | 4 ++-- inputmethod/include/inputmethod_text_config_capi.h | 4 ++-- inputmethod/include/inputmethod_text_editor_proxy_capi.h | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/inputmethod/include/inputmethod_attach_options_capi.h b/inputmethod/include/inputmethod_attach_options_capi.h index 7d6f13d0c..d4ec119a7 100644 --- a/inputmethod/include/inputmethod_attach_options_capi.h +++ b/inputmethod/include/inputmethod_attach_options_capi.h @@ -51,8 +51,8 @@ typedef struct InputMethod_AttachOptions InputMethod_AttachOptions; * @brief Create a new {@link InputMethod_AttachOptions} instance. * * @param showKeyboard Represents whether to show the keyboard. - * @return If the creation is successful, a pointer to the newly created {@link InputMethod_AttachOptions} instance is returned. - * If the creation fails, NULL is returned, possible cause is insufficient memory. + * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_AttachOptions} + * instance is returned. If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_AttachOptions *OH_AttachOptions_Create(bool showKeyboard); diff --git a/inputmethod/include/inputmethod_cursor_info_capi.h b/inputmethod/include/inputmethod_cursor_info_capi.h index 6d1796398..c199cee53 100644 --- a/inputmethod/include/inputmethod_cursor_info_capi.h +++ b/inputmethod/include/inputmethod_cursor_info_capi.h @@ -54,8 +54,8 @@ typedef struct InputMethod_CursorInfo InputMethod_CursorInfo; * @param top The top point of the cursor and must be absolute coordinate of the physical screen. * @param width The width of the cursor. * @param height The height of the cursor. - * @return If the creation is successful, a pointer to the newly created {@link InputMethod_CursorInfo} instance is returned. - * If the creation fails, NULL is returned, possible cause is insufficient memory. + * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_CursorInfo} + * instance is returned. If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_CursorInfo *OH_CursorInfo_Create(double left, double top, double width, double height); diff --git a/inputmethod/include/inputmethod_private_command_capi.h b/inputmethod/include/inputmethod_private_command_capi.h index 189eaf2e1..6871a76bc 100644 --- a/inputmethod/include/inputmethod_private_command_capi.h +++ b/inputmethod/include/inputmethod_private_command_capi.h @@ -55,8 +55,8 @@ typedef struct InputMethod_PrivateCommand InputMethod_PrivateCommand; * * @param key The key of the private command. * @param keyLength The length of the key. - * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_PrivateCommand} instance is returned. - * If the creation fails, NULL is returned, possible cause is insufficient memory. + * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_PrivateCommand} + * instance is returned. If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_PrivateCommand *OH_PrivateCommand_Create(char key[], size_t keyLength); diff --git a/inputmethod/include/inputmethod_text_avoid_info_capi.h b/inputmethod/include/inputmethod_text_avoid_info_capi.h index dc17894b6..9a707549b 100644 --- a/inputmethod/include/inputmethod_text_avoid_info_capi.h +++ b/inputmethod/include/inputmethod_text_avoid_info_capi.h @@ -53,8 +53,8 @@ typedef struct InputMethod_TextAvoidInfo InputMethod_TextAvoidInfo; * * @param positionY The y-coordinate of the avoid area. * @param height The height of the avoid area. - * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_TextAvoidInfo} instance is returned. - * If the creation fails, NULL is returned, possible cause is insufficient memory. + * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_TextAvoidInfo} + * instance is returned. If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_TextAvoidInfo *OH_TextAvoidInfo_Create(double positionY, double height); diff --git a/inputmethod/include/inputmethod_text_config_capi.h b/inputmethod/include/inputmethod_text_config_capi.h index 7e9dc414e..d0b406159 100644 --- a/inputmethod/include/inputmethod_text_config_capi.h +++ b/inputmethod/include/inputmethod_text_config_capi.h @@ -55,8 +55,8 @@ typedef struct InputMethod_TextConfig InputMethod_TextConfig; /** * @brief Create a new {@link InputMethod_TextConfig} instance. * - * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_TextConfig} instance is returned. - * If the creation fails, NULL is returned, possible cause is insufficient memory. + * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_TextConfig} + * instance is returned. If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_TextConfig *OH_TextConfig_Create(); diff --git a/inputmethod/include/inputmethod_text_editor_proxy_capi.h b/inputmethod/include/inputmethod_text_editor_proxy_capi.h index 9f0db8b03..64ebd4c04 100644 --- a/inputmethod/include/inputmethod_text_editor_proxy_capi.h +++ b/inputmethod/include/inputmethod_text_editor_proxy_capi.h @@ -261,8 +261,8 @@ typedef void (*OH_TextEditorProxy_FinishTextPreviewFunc)(InputMethod_TextEditorP /** * @brief Create a new {@link InputMethod_TextEditorProxy} instance. * - * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_TextEditorProxy} instance is returned. - * If the creation fails, NULL is returned, possible cause is insufficient memory. + * @return If the creation succeeds, a pointer to the newly created {@link InputMethod_TextEditorProxy} + * instance is returned. If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ InputMethod_TextEditorProxy *OH_TextEditorProxy_Create(); -- Gitee From f972c8305465113fd39706e331dd0268032f5fd6 Mon Sep 17 00:00:00 2001 From: lvshiqi Date: Fri, 23 Aug 2024 10:40:44 +0800 Subject: [PATCH 132/359] =?UTF-8?q?=E5=BC=82=E6=AD=A5=E7=BB=98=E5=88=B6ndk?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lvshiqi Change-Id: I454ccb8857b31df951d20579c6ca869d8e5f5fcc --- .../native_drawing/drawing_canvas.h | 13 ++ .../native_drawing/drawing_record_cmd.h | 121 ++++++++++++++++++ .../graphic_2d/native_drawing/drawing_types.h | 15 +++ .../native_drawing/libnative_drawing.ndk.json | 24 ++++ 4 files changed, 173 insertions(+) create mode 100644 graphic/graphic_2d/native_drawing/drawing_record_cmd.h diff --git a/graphic/graphic_2d/native_drawing/drawing_canvas.h b/graphic/graphic_2d/native_drawing/drawing_canvas.h index 4d1e8a0fa..783230ec9 100644 --- a/graphic/graphic_2d/native_drawing/drawing_canvas.h +++ b/graphic/graphic_2d/native_drawing/drawing_canvas.h @@ -828,6 +828,19 @@ OH_Drawing_ErrorCode OH_Drawing_CanvasIsClipEmpty(OH_Drawing_Canvas* canvas, boo */ OH_Drawing_ErrorCode OH_Drawing_CanvasGetImageInfo(OH_Drawing_Canvas* canvas, OH_Drawing_Image_Info* imageInfo); +/** + * @brief Replay drawing command. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param canvas Indicates the pointer to an OH_Drawing_Canvas object. + * @param recordCmd Indicates the pointer to an OH_Drawing_RecordCmd object. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if canvas or recordCmd is nullptr. + * @since 13 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_Drawing_CanvasDrawRecordCmd(OH_Drawing_Canvas* canvas, OH_Drawing_RecordCmd* recordCmd); #ifdef __cplusplus } #endif diff --git a/graphic/graphic_2d/native_drawing/drawing_record_cmd.h b/graphic/graphic_2d/native_drawing/drawing_record_cmd.h new file mode 100644 index 000000000..c5728f209 --- /dev/null +++ b/graphic/graphic_2d/native_drawing/drawing_record_cmd.h @@ -0,0 +1,121 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef C_INCLUDE_DRAWING_RECORD_CMD_H +#define C_INCLUDE_DRAWING_RECORD_CMD_H + +/** + * @addtogroup Drawing + * @{ + * + * @brief Provides functions such as 2D graphics rendering, text drawing, and image display. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * + * @since 13 + * @version 1.0 + */ + +/** + * @file drawing_record_cmd.h + * + * @brief Declares functions related to the RecordCmd object in the drawing module. + * + * @library libnative_drawing.so + * @since 13 + * @version 1.0 + */ + +#include "drawing_types.h" +#include "drawing_error_code.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Creates an OH_Drawing_RecordCmdUtils object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @return Returns the pointer to the OH_Drawing_RecordCmdUtils object created. + * @since 13 + * @version 1.0 + */ +OH_Drawing_RecordCmdUtils* OH_Drawing_RecordCmdUtilsCreate(void); + +/** + * @brief Destroys an OH_Drawing_RecordCmdUtils object and reclaims the memory occupied by the object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param recordCmdUtils Indicates the pointer to an OH_Drawing_RecordCmdUtils object. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if recordCmdUtils is nullptr. + * @since 13 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsDestroy(OH_Drawing_RecordCmdUtils* recordCmdUtils); + +/** + * @brief Get the canvas that records the drawing command. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param recordCmdUtils Indicates the pointer to an OH_Drawing_RecordCmdUtils object. + * @param width Width of canvas object. + * @param height Height of canvas object. + * @param canvas Indicates a secondary pointer to an OH_Srawing_Canvasobject. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if recordCmdUtils or canvas is nullptr, + * width less than or equal to 0 or height less than or equal to 0. + * @since 13 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsBeginRecording(OH_Drawing_RecordCmdUtils* recordCmdUtils, + int32_t width, int32_t height, OH_Drawing_Canvas** canvas); + +/** + * @brief Finish the recording and get the recording command object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param recordCmdUtils Indicates the pointer to an OH_Drawing_RecordCmdUtils object. + * @param recordCmd Indicates a secondary pointer to an OH_Drawing_RecordCmd object. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if recordCmdUtils or recordCmd is nullptr. + * @since 13 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsFinishingRecording(OH_Drawing_RecordCmdUtils* recordCmdUtils, + OH_Drawing_RecordCmd** recordCmd); + +/** + * @brief Destroys an OH_Drawing_RecordCmd object and reclaims the memory occupied by the object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param recordCmd Indicates the pointer to an OH_Drawing_RecordCmd object. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if recordCmd is nullptr. + * @since 13 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_RecordCmdDestroy(OH_Drawing_RecordCmd* recordCmd); + +#ifdef __cplusplus +} +#endif +/** @} */ +#endif \ No newline at end of file diff --git a/graphic/graphic_2d/native_drawing/drawing_types.h b/graphic/graphic_2d/native_drawing/drawing_types.h index edcc71cb8..0755375b7 100644 --- a/graphic/graphic_2d/native_drawing/drawing_types.h +++ b/graphic/graphic_2d/native_drawing/drawing_types.h @@ -502,6 +502,21 @@ typedef struct OH_Drawing_FontMgr OH_Drawing_FontMgr; */ typedef struct OH_Drawing_FontStyleSet OH_Drawing_FontStyleSet; +/** + * @brief Define OH_Drawing_RecordCmdUtils, which is used to generate drawing commands tool. + * + * @since 13 + * @version 1.0 + */ +typedef struct OH_Drawing_RecordCmdUtils OH_Drawing_RecordCmdUtils; + +/** + * @brief Define OH_Drawing_RecordCmd, which is used to replay drawing commands. + * + * @since 13 + * @version 1.0 + */ +typedef struct OH_Drawing_RecordCmd OH_Drawing_RecordCmd; #ifdef __cplusplus } #endif diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index f0d6835c1..5625ddbb0 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -1441,5 +1441,29 @@ { "first_introduced": "12", "name":"OH_Drawing_SetTextShadow" + }, + { + "first_introduced": "13", + "name":"OH_Drawing_Drawing_CanvasDrawRecordCmd" + }, + { + "first_introduced": "13", + "name":"OH_Drawing_RecordCmdUtilsCreate" + }, + { + "first_introduced": "13", + "name":"OH_Drawing_RecordCmdUtilsDestroy" + }, + { + "first_introduced": "13", + "name":"OH_Drawing_RecordCmdUtilsBeginRecording" + }, + { + "first_introduced": "13", + "name":"OH_Drawing_RecordCmdUtilsFinishingRecording" + }, + { + "first_introduced": "13", + "name":"OH_Drawing_RecordCmdDestroy" } ] \ No newline at end of file -- Gitee From ccbc0b993420f3c41d3424b7404758f6bba9c0f3 Mon Sep 17 00:00:00 2001 From: zhuguoyang Date: Fri, 23 Aug 2024 10:44:26 +0800 Subject: [PATCH 133/359] attr Signed-off-by: zhuguoyang --- resourceschedule/ffrt/ffrt.ndk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resourceschedule/ffrt/ffrt.ndk.json b/resourceschedule/ffrt/ffrt.ndk.json index ed52dcc3b..e0e760ce7 100644 --- a/resourceschedule/ffrt/ffrt.ndk.json +++ b/resourceschedule/ffrt/ffrt.ndk.json @@ -82,7 +82,7 @@ { "name": "ffrt_loop_timer_start" }, { "name": "ffrt_loop_timer_stop" }, { "name": "ffrt_queue_attr_set_max_concurrency" }, - { "name": "ffrt_queue_atte_get_max_concurrency" }, + { "name": "ffrt_queue_attr_get_max_concurrency" }, { "name": "ffrt_get_main_queue" }, { "name": "ffrt_get_current_queue" }, { "name": "ffrt_task_attr_set_queue_priority" }, -- Gitee From a6df8ce6988fa5ca83e581698c5e3dd81c7ffe2c Mon Sep 17 00:00:00 2001 From: lvshiqi Date: Fri, 23 Aug 2024 14:14:15 +0800 Subject: [PATCH 134/359] =?UTF-8?q?=E6=B7=BB=E5=8A=A0errorcode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lvshiqi Change-Id: If29b52399e8a8cff713409261f6dcaef85d09655 --- graphic/graphic_2d/native_drawing/drawing_error_code.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/graphic/graphic_2d/native_drawing/drawing_error_code.h b/graphic/graphic_2d/native_drawing/drawing_error_code.h index b9d52fc51..3943f64fb 100644 --- a/graphic/graphic_2d/native_drawing/drawing_error_code.h +++ b/graphic/graphic_2d/native_drawing/drawing_error_code.h @@ -65,6 +65,10 @@ typedef enum { * @error The parameter is not in the valid range. */ OH_DRAWING_ERROR_PARAMETER_OUT_OF_RANGE = 26200001, + /** + * @error mem allocate failed. + */ + OH_DRAWING_ERROR_ALLOCATION_FAILED = 26200002, } OH_Drawing_ErrorCode; /** -- Gitee From f59974562888723ee8a08ff3f3534d7e3172c686 Mon Sep 17 00:00:00 2001 From: wuchengwen Date: Fri, 23 Aug 2024 11:43:18 +0800 Subject: [PATCH 135/359] add } Signed-off-by: wuchengwen --- inputmethod/include/inputmethod_attach_options_capi.h | 3 ++- inputmethod/include/inputmethod_controller_capi.h | 1 + inputmethod/include/inputmethod_cursor_info_capi.h | 1 + inputmethod/include/inputmethod_inputmethod_proxy_capi.h | 1 + inputmethod/include/inputmethod_private_command_capi.h | 1 + inputmethod/include/inputmethod_text_avoid_info_capi.h | 1 + inputmethod/include/inputmethod_text_config_capi.h | 3 ++- inputmethod/include/inputmethod_text_editor_proxy_capi.h | 1 + inputmethod/include/inputmethod_types_capi.h | 1 + 9 files changed, 11 insertions(+), 2 deletions(-) diff --git a/inputmethod/include/inputmethod_attach_options_capi.h b/inputmethod/include/inputmethod_attach_options_capi.h index d4ec119a7..316bafd0b 100644 --- a/inputmethod/include/inputmethod_attach_options_capi.h +++ b/inputmethod/include/inputmethod_attach_options_capi.h @@ -57,7 +57,7 @@ typedef struct InputMethod_AttachOptions InputMethod_AttachOptions; */ InputMethod_AttachOptions *OH_AttachOptions_Create(bool showKeyboard); /** - * @brief Destroy a {@link InputMethod_AttachOptions} instance. + * @brief Delete a {@link InputMethod_AttachOptions} instance. * * @param options Represents a pointer to an {@link InputMethod_AttachOptions} instance which will be destroyed. * @since 12 @@ -80,4 +80,5 @@ InputMethod_ErrorCode OH_AttachOptions_IsShowKeyboard(InputMethod_AttachOptions #ifdef __cplusplus } #endif /* __cplusplus */ +/** @} */ #endif // OHOS_INPUTMETHOD_ATTACH_OPTIONS_CAPI_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_controller_capi.h b/inputmethod/include/inputmethod_controller_capi.h index b362e897e..7eb8be5c9 100644 --- a/inputmethod/include/inputmethod_controller_capi.h +++ b/inputmethod/include/inputmethod_controller_capi.h @@ -84,4 +84,5 @@ InputMethod_ErrorCode OH_InputMethodController_Detach(InputMethod_InputMethodPro #ifdef __cplusplus } #endif /* __cplusplus */ +/** @} */ #endif // OHOS_INPUTMETHOD_CONTROLLER_CAPI_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_cursor_info_capi.h b/inputmethod/include/inputmethod_cursor_info_capi.h index 7645e15ba..a3d7dc341 100644 --- a/inputmethod/include/inputmethod_cursor_info_capi.h +++ b/inputmethod/include/inputmethod_cursor_info_capi.h @@ -104,4 +104,5 @@ InputMethod_ErrorCode OH_CursorInfo_GetRect( #ifdef __cplusplus } #endif /* __cplusplus */ +/** @} */ #endif // OHOS_INPUTMETHOD_CURSOR_INFO_CAPI_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h index f0b82f3d9..1e0ff4871 100644 --- a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h +++ b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h @@ -169,4 +169,5 @@ InputMethod_ErrorCode OH_InputMethodProxy_SendPrivateCommand( #ifdef __cplusplus } #endif /* __cplusplus */ +/** @} */ #endif // INPUTMETHOD_INPUTMETHOD_PROXY_CAP_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_private_command_capi.h b/inputmethod/include/inputmethod_private_command_capi.h index 6871a76bc..2e1f4206e 100644 --- a/inputmethod/include/inputmethod_private_command_capi.h +++ b/inputmethod/include/inputmethod_private_command_capi.h @@ -191,4 +191,5 @@ InputMethod_ErrorCode OH_PrivateCommand_GetStrValue( #ifdef __cplusplus } #endif /* __cplusplus */ +/** @} */ #endif // OHOS_INPUTMETHOD_PRIVATE_COMMAND_CAPI_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_text_avoid_info_capi.h b/inputmethod/include/inputmethod_text_avoid_info_capi.h index 9a707549b..3166d10e0 100644 --- a/inputmethod/include/inputmethod_text_avoid_info_capi.h +++ b/inputmethod/include/inputmethod_text_avoid_info_capi.h @@ -116,4 +116,5 @@ InputMethod_ErrorCode OH_TextAvoidInfo_GetHeight(InputMethod_TextAvoidInfo *info #ifdef __cplusplus } #endif /* __cplusplus */ +/** @} */ #endif // OHOS_INPUTMETHOD_TEXT_AVOID_INFO_CAP_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_text_config_capi.h b/inputmethod/include/inputmethod_text_config_capi.h index 707794081..863e37c5b 100644 --- a/inputmethod/include/inputmethod_text_config_capi.h +++ b/inputmethod/include/inputmethod_text_config_capi.h @@ -94,7 +94,7 @@ InputMethod_ErrorCode OH_TextConfig_SetInputType(InputMethod_TextConfig *config, InputMethod_ErrorCode OH_TextConfig_SetEnterKeyType( InputMethod_TextConfig *config, InputMethod_EnterKeyType enterKeyType); /** - * @brief Set is preview text supported into TextConfig. + * @brief Set preview text support into TextConfig. * * @param config Represents a pointer to an {@link InputMethod_TextConfig} instance which will be set. * @param supported Indicates whether the preview text is supported. @@ -225,4 +225,5 @@ InputMethod_ErrorCode OH_TextConfig_GetWindowId(InputMethod_TextConfig *config, #ifdef __cplusplus } #endif /* __cplusplus */ +/** @} */ #endif // OHOS_INPUTMETHOD_TEXT_CONFIG_CAPI_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_text_editor_proxy_capi.h b/inputmethod/include/inputmethod_text_editor_proxy_capi.h index 64ebd4c04..f4b06cccc 100644 --- a/inputmethod/include/inputmethod_text_editor_proxy_capi.h +++ b/inputmethod/include/inputmethod_text_editor_proxy_capi.h @@ -698,4 +698,5 @@ InputMethod_ErrorCode OH_TextEditorProxy_GetFinishTextPreviewFunc( #ifdef __cplusplus } #endif /* __cplusplus */ +/** @} */ #endif // OHOS_INPUTMETHOD_TEXT_EDITOR_PROXY_CAP_H \ No newline at end of file diff --git a/inputmethod/include/inputmethod_types_capi.h b/inputmethod/include/inputmethod_types_capi.h index 29abd4f41..4ab1f57ff 100644 --- a/inputmethod/include/inputmethod_types_capi.h +++ b/inputmethod/include/inputmethod_types_capi.h @@ -304,4 +304,5 @@ typedef enum InputMethod_ErrorCode { #ifdef __cplusplus } #endif /* __cplusplus */ +/** @} */ #endif // OHOS_INPUTMETHOD_TYPES_CAPI_H \ No newline at end of file -- Gitee From 8a9a4548bb23d5b3b973f9ef316f1122fc471077 Mon Sep 17 00:00:00 2001 From: wuchengwen Date: Fri, 23 Aug 2024 14:45:11 +0800 Subject: [PATCH 136/359] max length is 8k Signed-off-by: wuchengwen --- inputmethod/include/inputmethod_inputmethod_proxy_capi.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h index 1e0ff4871..94c54f275 100644 --- a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h +++ b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h @@ -91,7 +91,7 @@ InputMethod_ErrorCode OH_InputMethodProxy_HideKeyboard(InputMethod_InputMethodPr * @param inputMethodProxy Represents a pointer to an {@link InputMethod_InputMethodProxy} instance. * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. * @param text The whole input text. - * @param length The length of text. Max 8K bytes. + * @param length The length of text. Max length is 8K. * @param start The start position of selected text. * @param end The end position of selected text. * @return Returns a specific error code. -- Gitee From 82402274f8ff8a855c4f1a4671baa66dce4e13e5 Mon Sep 17 00:00:00 2001 From: lvshiqi Date: Fri, 23 Aug 2024 15:46:42 +0800 Subject: [PATCH 137/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9codecheck?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lvshiqi Change-Id: I91f4fb46c1d182d34d81d51b2914d58ee58b51b3 --- graphic/graphic_2d/native_drawing/drawing_record_cmd.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/graphic/graphic_2d/native_drawing/drawing_record_cmd.h b/graphic/graphic_2d/native_drawing/drawing_record_cmd.h index c5728f209..ee83dc6e6 100644 --- a/graphic/graphic_2d/native_drawing/drawing_record_cmd.h +++ b/graphic/graphic_2d/native_drawing/drawing_record_cmd.h @@ -75,11 +75,12 @@ OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsDestroy(OH_Drawing_RecordCmdUtils* * @param recordCmdUtils Indicates the pointer to an OH_Drawing_RecordCmdUtils object. * @param width Width of canvas object. * @param height Height of canvas object. - * @param canvas Indicates a secondary pointer to an OH_Srawing_Canvasobject. + * @param canvas Indicates a secondary pointer to an OH_Drawing_Canvasobject. * @return Returns the error code. * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if recordCmdUtils or canvas is nullptr, * width less than or equal to 0 or height less than or equal to 0. + * Returns {@link OH_DRAWING_ERROR_ALLOCATION_FAILED} if the memory is out. * @since 13 * @version 1.0 */ @@ -95,6 +96,7 @@ OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsBeginRecording(OH_Drawing_RecordCm * @return Returns the error code. * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if recordCmdUtils or recordCmd is nullptr. + * Returns {@link OH_DRAWING_ERROR_ALLOCATION_FAILED} if the memory is out. * @since 13 * @version 1.0 */ -- Gitee From 145146ccb05ac5606061c0e1445c73d4aa971905 Mon Sep 17 00:00:00 2001 From: lvshiqi Date: Fri, 23 Aug 2024 16:02:38 +0800 Subject: [PATCH 138/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lvshiqi Change-Id: Idf8de3345ae13597b810555f83ba67866db642f6 --- graphic/graphic_2d/native_drawing/drawing_record_cmd.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/graphic/graphic_2d/native_drawing/drawing_record_cmd.h b/graphic/graphic_2d/native_drawing/drawing_record_cmd.h index ee83dc6e6..84c987645 100644 --- a/graphic/graphic_2d/native_drawing/drawing_record_cmd.h +++ b/graphic/graphic_2d/native_drawing/drawing_record_cmd.h @@ -80,7 +80,7 @@ OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsDestroy(OH_Drawing_RecordCmdUtils* * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if recordCmdUtils or canvas is nullptr, * width less than or equal to 0 or height less than or equal to 0. - * Returns {@link OH_DRAWING_ERROR_ALLOCATION_FAILED} if the memory is out. + * Returns {@link OH_DRAWING_ERROR_ALLOCATION_FAILED} if no memory. * @since 13 * @version 1.0 */ @@ -96,7 +96,7 @@ OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsBeginRecording(OH_Drawing_RecordCm * @return Returns the error code. * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if recordCmdUtils or recordCmd is nullptr. - * Returns {@link OH_DRAWING_ERROR_ALLOCATION_FAILED} if the memory is out. + * Returns {@link OH_DRAWING_ERROR_ALLOCATION_FAILED} if no memory. * @since 13 * @version 1.0 */ -- Gitee From 859e03f5cc1b1b59c5b6bff622c67faa8546254e Mon Sep 17 00:00:00 2001 From: lvshiqi Date: Fri, 23 Aug 2024 17:25:19 +0800 Subject: [PATCH 139/359] =?UTF-8?q?=E6=B7=BB=E5=8A=A0gn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lvshiqi Change-Id: I0a068f9ec406df08998fef17ac231d4d79a5d477 --- graphic/graphic_2d/native_drawing/BUILD.gn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/graphic/graphic_2d/native_drawing/BUILD.gn b/graphic/graphic_2d/native_drawing/BUILD.gn index fa8656ce6..aea6e1dc4 100644 --- a/graphic/graphic_2d/native_drawing/BUILD.gn +++ b/graphic/graphic_2d/native_drawing/BUILD.gn @@ -39,6 +39,7 @@ ohos_ndk_headers("native_drawing_header") { "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_pen.h", "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_pixel_map.h", "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_point.h", + "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_record_cmd.h", "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_rect.h", "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_region.h", "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_register_font.h", @@ -81,6 +82,7 @@ ohos_ndk_library("libnative_drawing_ndk") { "native_drawing/drawing_pen.h", "native_drawing/drawing_pixel_map.h", "native_drawing/drawing_point.h", + "native_drawing/drawing_record_cmd.h", "native_drawing/drawing_rect.h", "native_drawing/drawing_region.h", "native_drawing/drawing_register_font.h", -- Gitee From f8e15b39a53c828d0fb927ef1049b4d7ff9b725d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E4=BC=9F?= Date: Fri, 23 Aug 2024 09:06:24 +0000 Subject: [PATCH 140/359] update graphic/graphic_2d/native_drawing/drawing_error_code.h. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 刘伟 --- graphic/graphic_2d/native_drawing/drawing_error_code.h | 1 + 1 file changed, 1 insertion(+) diff --git a/graphic/graphic_2d/native_drawing/drawing_error_code.h b/graphic/graphic_2d/native_drawing/drawing_error_code.h index 3943f64fb..817c8c614 100644 --- a/graphic/graphic_2d/native_drawing/drawing_error_code.h +++ b/graphic/graphic_2d/native_drawing/drawing_error_code.h @@ -67,6 +67,7 @@ typedef enum { OH_DRAWING_ERROR_PARAMETER_OUT_OF_RANGE = 26200001, /** * @error mem allocate failed. + * @since 13 */ OH_DRAWING_ERROR_ALLOCATION_FAILED = 26200002, } OH_Drawing_ErrorCode; -- Gitee From 9808babe9915b14d613a6715a3433c3c7e813de8 Mon Sep 17 00:00:00 2001 From: lvshiqi Date: Fri, 23 Aug 2024 17:49:41 +0800 Subject: [PATCH 141/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9finish?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lvshiqi Change-Id: Ibdf2359a163c704ae96148acabf5df297b654ec0 --- graphic/graphic_2d/native_drawing/drawing_record_cmd.h | 2 +- graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/graphic/graphic_2d/native_drawing/drawing_record_cmd.h b/graphic/graphic_2d/native_drawing/drawing_record_cmd.h index 84c987645..63c03f03b 100644 --- a/graphic/graphic_2d/native_drawing/drawing_record_cmd.h +++ b/graphic/graphic_2d/native_drawing/drawing_record_cmd.h @@ -100,7 +100,7 @@ OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsBeginRecording(OH_Drawing_RecordCm * @since 13 * @version 1.0 */ -OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsFinishingRecording(OH_Drawing_RecordCmdUtils* recordCmdUtils, +OH_Drawing_ErrorCode OH_Drawing_RecordCmdUtilsFinishRecording(OH_Drawing_RecordCmdUtils* recordCmdUtils, OH_Drawing_RecordCmd** recordCmd); /** diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index 5625ddbb0..e6b537d68 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -1460,7 +1460,7 @@ }, { "first_introduced": "13", - "name":"OH_Drawing_RecordCmdUtilsFinishingRecording" + "name":"OH_Drawing_RecordCmdUtilsFinishRecording" }, { "first_introduced": "13", -- Gitee From 5f2616c4492eaa822c7295cfa24cbfb2a8d6e324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=88=90=E6=96=87?= Date: Sat, 24 Aug 2024 11:16:51 +0800 Subject: [PATCH 142/359] fix:inputmethod capi review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 吴成文 --- inputmethod/BUILD.gn | 18 +- .../include/inputmethod_attach_options_capi.h | 4 +- .../include/inputmethod_controller_capi.h | 6 +- .../include/inputmethod_cursor_info_capi.h | 4 +- .../inputmethod_inputmethod_proxy_capi.h | 4 +- .../inputmethod_private_command_capi.h | 4 +- .../inputmethod_text_avoid_info_capi.h | 4 +- .../include/inputmethod_text_config_capi.h | 4 +- .../inputmethod_text_editor_proxy_capi.h | 4 +- inputmethod/include/inputmethod_types_capi.h | 4 +- inputmethod/libohinputmethodndk.json | 390 ++++++++++++++---- 11 files changed, 339 insertions(+), 107 deletions(-) diff --git a/inputmethod/BUILD.gn b/inputmethod/BUILD.gn index ab36bb5c3..cc1480cdb 100644 --- a/inputmethod/BUILD.gn +++ b/inputmethod/BUILD.gn @@ -20,15 +20,15 @@ ohos_ndk_library("libohinputmethod") { min_compact_version = "12" system_capability = "SystemCapability.MiscServices.InputMethodFramework" system_capability_headers = [ - "./include/inputmethod_controller_capi.h", - "./include/inputmethod_attach_options_capi.h", - "./include/inputmethod_cursor_info_capi.h", - "./include/inputmethod_inputmethod_proxy_capi.h", - "./include/inputmethod_private_command_capi.h", - "./include/inputmethod_text_avoid_info_capi.h", - "./include/inputmethod_text_config_capi.h", - "./include/inputmethod_text_editor_proxy_capi.h", - "./include/inputmethod_types_capi.h", + "./inputmethod/inputmethod_controller_capi.h", + "./inputmethod/inputmethod_attach_options_capi.h", + "./inputmethod/inputmethod_cursor_info_capi.h", + "./inputmethod/inputmethod_inputmethod_proxy_capi.h", + "./inputmethod/inputmethod_private_command_capi.h", + "./inputmethod/inputmethod_text_avoid_info_capi.h", + "./inputmethod/inputmethod_text_config_capi.h", + "./inputmethod/inputmethod_text_editor_proxy_capi.h", + "./inputmethod/inputmethod_types_capi.h", ] } diff --git a/inputmethod/include/inputmethod_attach_options_capi.h b/inputmethod/include/inputmethod_attach_options_capi.h index 316bafd0b..3a12eaba6 100644 --- a/inputmethod/include/inputmethod_attach_options_capi.h +++ b/inputmethod/include/inputmethod_attach_options_capi.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef OHOS_INPUTMETHOD_ATTACH_OPTIONS_CAPI_H -#define OHOS_INPUTMETHOD_ATTACH_OPTIONS_CAPI_H /** * @addtogroup InputMethod * @{ @@ -34,6 +32,8 @@ * @since 12 * @version 1.0 */ +#ifndef OHOS_INPUTMETHOD_ATTACH_OPTIONS_CAPI_H +#define OHOS_INPUTMETHOD_ATTACH_OPTIONS_CAPI_H #include "inputmethod_types_capi.h" #ifdef __cplusplus extern "C" { diff --git a/inputmethod/include/inputmethod_controller_capi.h b/inputmethod/include/inputmethod_controller_capi.h index 7eb8be5c9..0816e69f8 100644 --- a/inputmethod/include/inputmethod_controller_capi.h +++ b/inputmethod/include/inputmethod_controller_capi.h @@ -12,9 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - -#ifndef OHOS_INPUTMETHOD_CONTROLLER_CAPI_H -#define OHOS_INPUTMETHOD_CONTROLLER_CAPI_H /** * @addtogroup InputMethod * @{ @@ -35,7 +32,8 @@ * @since 12 * @version 1.0 */ - +#ifndef OHOS_INPUTMETHOD_CONTROLLER_CAPI_H +#define OHOS_INPUTMETHOD_CONTROLLER_CAPI_H #include #include diff --git a/inputmethod/include/inputmethod_cursor_info_capi.h b/inputmethod/include/inputmethod_cursor_info_capi.h index a3d7dc341..5810219f7 100644 --- a/inputmethod/include/inputmethod_cursor_info_capi.h +++ b/inputmethod/include/inputmethod_cursor_info_capi.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef OHOS_INPUTMETHOD_CURSOR_INFO_CAPI_H -#define OHOS_INPUTMETHOD_CURSOR_INFO_CAPI_H /** * @addtogroup InputMethod * @{ @@ -34,6 +32,8 @@ * @since 12 * @version 1.0 */ +#ifndef OHOS_INPUTMETHOD_CURSOR_INFO_CAPI_H +#define OHOS_INPUTMETHOD_CURSOR_INFO_CAPI_H #include "inputmethod_types_capi.h" #ifdef __cplusplus extern "C"{ diff --git a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h index 94c54f275..e542d96da 100644 --- a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h +++ b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef OHOS_INPUTMETHOD_INPUTMETHOD_PROXY_CAPI_H -#define OHOS_INPUTMETHOD_INPUTMETHOD_PROXY_CAPI_H /** * @addtogroup InputMethod * @{ @@ -34,6 +32,8 @@ * @since 12 * @version 1.0 */ +#ifndef OHOS_INPUTMETHOD_INPUTMETHOD_PROXY_CAPI_H +#define OHOS_INPUTMETHOD_INPUTMETHOD_PROXY_CAPI_H #include #include "inputmethod_types_capi.h" diff --git a/inputmethod/include/inputmethod_private_command_capi.h b/inputmethod/include/inputmethod_private_command_capi.h index 2e1f4206e..2821b2e75 100644 --- a/inputmethod/include/inputmethod_private_command_capi.h +++ b/inputmethod/include/inputmethod_private_command_capi.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef OHOS_INPUTMETHOD_PRIVATE_COMMAND_CAPI_H -#define OHOS_INPUTMETHOD_PRIVATE_COMMAND_CAPI_H /** * @addtogroup InputMethod * @{ @@ -34,6 +32,8 @@ * @since 12 * @version 1.0 */ +#ifndef OHOS_INPUTMETHOD_PRIVATE_COMMAND_CAPI_H +#define OHOS_INPUTMETHOD_PRIVATE_COMMAND_CAPI_H #include #include diff --git a/inputmethod/include/inputmethod_text_avoid_info_capi.h b/inputmethod/include/inputmethod_text_avoid_info_capi.h index 3166d10e0..a22590f6a 100644 --- a/inputmethod/include/inputmethod_text_avoid_info_capi.h +++ b/inputmethod/include/inputmethod_text_avoid_info_capi.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef OHOS_INPUTMETHOD_TEXT_AVOID_INFO_CAPI_H -#define OHOS_INPUTMETHOD_TEXT_AVOID_INFO_CAPI_H /** * @addtogroup InputMethod * @{ @@ -34,6 +32,8 @@ * @since 12 * @version 1.0 */ +#ifndef OHOS_INPUTMETHOD_TEXT_AVOID_INFO_CAPI_H +#define OHOS_INPUTMETHOD_TEXT_AVOID_INFO_CAPI_H #include "inputmethod_types_capi.h" #ifdef __cplusplus extern "C" { diff --git a/inputmethod/include/inputmethod_text_config_capi.h b/inputmethod/include/inputmethod_text_config_capi.h index 863e37c5b..1a625eb08 100644 --- a/inputmethod/include/inputmethod_text_config_capi.h +++ b/inputmethod/include/inputmethod_text_config_capi.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef OHOS_INPUTMETHOD_TEXT_CONFIG_CAPI_H -#define OHOS_INPUTMETHOD_TEXT_CONFIG_CAPI_H /** * @addtogroup InputMethod * @{ @@ -34,6 +32,8 @@ * @since 12 * @version 1.0 */ +#ifndef OHOS_INPUTMETHOD_TEXT_CONFIG_CAPI_H +#define OHOS_INPUTMETHOD_TEXT_CONFIG_CAPI_H #include #include "inputmethod_cursor_info_capi.h" diff --git a/inputmethod/include/inputmethod_text_editor_proxy_capi.h b/inputmethod/include/inputmethod_text_editor_proxy_capi.h index f4b06cccc..05d56b643 100644 --- a/inputmethod/include/inputmethod_text_editor_proxy_capi.h +++ b/inputmethod/include/inputmethod_text_editor_proxy_capi.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef OHOS_INPUTMETHOD_TEXT_EDITOR_PROXY_CAPI_H -#define OHOS_INPUTMETHOD_TEXT_EDITOR_PROXY_CAPI_H /** * @addtogroup InputMethod * @{ @@ -34,6 +32,8 @@ * @since 12 * @version 1.0 */ +#ifndef OHOS_INPUTMETHOD_TEXT_EDITOR_PROXY_CAPI_H +#define OHOS_INPUTMETHOD_TEXT_EDITOR_PROXY_CAPI_H #include #include "inputmethod_private_command_capi.h" diff --git a/inputmethod/include/inputmethod_types_capi.h b/inputmethod/include/inputmethod_types_capi.h index 4ab1f57ff..2e1481335 100644 --- a/inputmethod/include/inputmethod_types_capi.h +++ b/inputmethod/include/inputmethod_types_capi.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef OHOS_INPUTMETHOD_TYPES_CAPI_H -#define OHOS_INPUTMETHOD_TYPES_CAPI_H /** * @addtogroup InputMethod * @{ @@ -34,6 +32,8 @@ * @since 12 * @version 1.0 */ +#ifndef OHOS_INPUTMETHOD_TYPES_CAPI_H +#define OHOS_INPUTMETHOD_TYPES_CAPI_H #ifdef __cplusplus extern "C"{ #endif /* __cplusplus */ diff --git a/inputmethod/libohinputmethodndk.json b/inputmethod/libohinputmethodndk.json index 683c0a355..0c026b2e6 100644 --- a/inputmethod/libohinputmethodndk.json +++ b/inputmethod/libohinputmethodndk.json @@ -1,80 +1,314 @@ [ - { "name": "OH_InputMethodController_Attach" }, - { "name": "OH_InputMethodController_Detach" }, - { "name": "OH_InputMethodProxy_ShowKeyboard" }, - { "name": "OH_InputMethodProxy_HideKeyboard" }, - { "name": "OH_InputMethodProxy_NotifySelectionChange" }, - { "name": "OH_InputMethodProxy_NotifyConfigurationChange" }, - { "name": "OH_InputMethodProxy_NotifyCursorUpdate" }, - { "name": "OH_InputMethodProxy_SendPrivateCommand" }, - { "name": "OH_CursorInfo_Create" }, - { "name": "OH_CursorInfo_Destroy" }, - { "name": "OH_CursorInfo_SetRect" }, - { "name": "OH_CursorInfo_GetRect" }, - { "name": "OH_TextConfig_Create" }, - { "name": "OH_TextConfig_Destroy" }, - { "name": "OH_TextConfig_SetInputType" }, - { "name": "OH_TextConfig_SetEnterKeyType" }, - { "name": "OH_TextConfig_SetPreviewTextSupport" }, - { "name": "OH_TextConfig_SetSelection" }, - { "name": "OH_TextConfig_SetWindowId" }, - { "name": "OH_TextConfig_GetInputType" }, - { "name": "OH_TextConfig_GetEnterKeyType" }, - { "name": "OH_TextConfig_IsPreviewTextSupported" }, - { "name": "OH_TextConfig_GetCursorInfo" }, - { "name": "OH_TextConfig_GetTextAvoidInfo" }, - { "name": "OH_TextConfig_GetSelection" }, - { "name": "OH_TextConfig_GetWindowId" }, - { "name": "OH_TextEditorProxy_Create" }, - { "name": "OH_TextEditorProxy_Destroy" }, - { "name": "OH_TextEditorProxy_SetGetTextConfigFunc" }, - { "name": "OH_TextEditorProxy_SetInsertTextFunc" }, - { "name": "OH_TextEditorProxy_SetDeleteForwardFunc" }, - { "name": "OH_TextEditorProxy_SetDeleteBackwardFunc" }, - { "name": "OH_TextEditorProxy_SetSendKeyboardStatusFunc" }, - { "name": "OH_TextEditorProxy_SetSendEnterKeyFunc" }, - { "name": "OH_TextEditorProxy_SetMoveCursorFunc" }, - { "name": "OH_TextEditorProxy_SetHandleSetSelectionFunc" }, - { "name": "OH_TextEditorProxy_SetHandleExtendActionFunc" }, - { "name": "OH_TextEditorProxy_SetGetLeftTextOfCursorFunc" }, - { "name": "OH_TextEditorProxy_SetGetRightTextOfCursorFunc" }, - { "name": "OH_TextEditorProxy_SetGetTextIndexAtCursorFunc" }, - { "name": "OH_TextEditorProxy_SetReceivePrivateCommandFunc" }, - { "name": "OH_TextEditorProxy_SetSetPreviewTextFunc" }, - { "name": "OH_TextEditorProxy_SetFinishTextPreviewFunc" }, - { "name": "OH_TextEditorProxy_GetGetTextConfigFunc" }, - { "name": "OH_TextEditorProxy_GetInsertTextFunc" }, - { "name": "OH_TextEditorProxy_GetDeleteForwardFunc" }, - { "name": "OH_TextEditorProxy_GetDeleteBackwardFunc" }, - { "name": "OH_TextEditorProxy_GetSendKeyboardStatusFunc" }, - { "name": "OH_TextEditorProxy_GetSendEnterKeyFunc" }, - { "name": "OH_TextEditorProxy_GetMoveCursorFunc" }, - { "name": "OH_TextEditorProxy_GetHandleSetSelectionFunc" }, - { "name": "OH_TextEditorProxy_GetHandleExtendActionFunc" }, - { "name": "OH_TextEditorProxy_GetGetLeftTextOfCursorFunc" }, - { "name": "OH_TextEditorProxy_GetGetRightTextOfCursorFunc" }, - { "name": "OH_TextEditorProxy_GetGetTextIndexAtCursorFunc" }, - { "name": "OH_TextEditorProxy_GetReceivePrivateCommandFunc" }, - { "name": "OH_TextEditorProxy_GetSetPreviewTextFunc" }, - { "name": "OH_TextEditorProxy_GetFinishTextPreviewFunc" }, - { "name": "OH_AttachOptions_Create" }, - { "name": "OH_AttachOptions_Destroy" }, - { "name": "OH_AttachOptions_IsShowKeyboard" }, - { "name": "OH_TextAvoidInfo_Create" }, - { "name": "OH_TextAvoidInfo_Destroy" }, - { "name": "OH_TextAvoidInfo_SetPositionY" }, - { "name": "OH_TextAvoidInfo_SetHeight" }, - { "name": "OH_TextAvoidInfo_GetPositionY" }, - { "name": "OH_TextAvoidInfo_GetHeight" }, - { "name": "OH_PrivateCommand_Create" }, - { "name": "OH_PrivateCommand_Destroy" }, - { "name": "OH_PrivateCommand_SetKey" }, - { "name": "OH_PrivateCommand_SetBoolValue" }, - { "name": "OH_PrivateCommand_SetIntValue" }, - { "name": "OH_PrivateCommand_SetStrValue" }, - { "name": "OH_PrivateCommand_GetKey" }, - { "name": "OH_PrivateCommand_GetValueType" }, - { "name": "OH_PrivateCommand_GetBoolValue" }, - { "name": "OH_PrivateCommand_GetIntValue" }, - { "name": "OH_PrivateCommand_GetStrValue" } + { + "first_introduced": "12", + "name": "OH_InputMethodController_Attach" + }, + { + "first_introduced": "12", + "name": "OH_InputMethodController_Detach" + }, + { + "first_introduced": "12", + "name": "OH_InputMethodProxy_ShowKeyboard" + }, + { + "first_introduced": "12", + "name": "OH_InputMethodProxy_HideKeyboard" + }, + { + "first_introduced": "12", + "name": "OH_InputMethodProxy_NotifySelectionChange" + }, + { + "first_introduced": "12", + "name": "OH_InputMethodProxy_NotifyConfigurationChange" + }, + { + "first_introduced": "12", + "name": "OH_InputMethodProxy_NotifyCursorUpdate" + }, + { + "first_introduced": "12", + "name": "OH_InputMethodProxy_SendPrivateCommand" + }, + { + "first_introduced": "12", + "name": "OH_CursorInfo_Create" + }, + { + "first_introduced": "12", + "name": "OH_CursorInfo_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_CursorInfo_SetRect" + }, + { + "first_introduced": "12", + "name": "OH_CursorInfo_GetRect" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_Create" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_SetInputType" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_SetEnterKeyType" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_SetPreviewTextSupport" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_SetSelection" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_SetWindowId" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_GetInputType" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_GetEnterKeyType" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_IsPreviewTextSupported" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_GetCursorInfo" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_GetTextAvoidInfo" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_GetSelection" + }, + { + "first_introduced": "12", + "name": "OH_TextConfig_GetWindowId" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_Create" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetGetTextConfigFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetInsertTextFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetDeleteForwardFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetDeleteBackwardFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetSendKeyboardStatusFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetSendEnterKeyFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetMoveCursorFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetHandleSetSelectionFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetHandleExtendActionFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetGetLeftTextOfCursorFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetGetRightTextOfCursorFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetGetTextIndexAtCursorFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetReceivePrivateCommandFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetSetPreviewTextFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_SetFinishTextPreviewFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetGetTextConfigFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetInsertTextFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetDeleteForwardFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetDeleteBackwardFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetSendKeyboardStatusFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetSendEnterKeyFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetMoveCursorFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetHandleSetSelectionFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetHandleExtendActionFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetGetLeftTextOfCursorFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetGetRightTextOfCursorFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetGetTextIndexAtCursorFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetReceivePrivateCommandFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetSetPreviewTextFunc" + }, + { + "first_introduced": "12", + "name": "OH_TextEditorProxy_GetFinishTextPreviewFunc" + }, + { + "first_introduced": "12", + "name": "OH_AttachOptions_Create" + }, + { + "first_introduced": "12", + "name": "OH_AttachOptions_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_AttachOptions_IsShowKeyboard" + }, + { + "first_introduced": "12", + "name": "OH_TextAvoidInfo_Create" + }, + { + "first_introduced": "12", + "name": "OH_TextAvoidInfo_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_TextAvoidInfo_SetPositionY" + }, + { + "first_introduced": "12", + "name": "OH_TextAvoidInfo_SetHeight" + }, + { + "first_introduced": "12", + "name": "OH_TextAvoidInfo_GetPositionY" + }, + { + "first_introduced": "12", + "name": "OH_TextAvoidInfo_GetHeight" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_Create" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_SetKey" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_SetBoolValue" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_SetIntValue" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_SetStrValue" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_GetKey" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_GetValueType" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_GetBoolValue" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_GetIntValue" + }, + { + "first_introduced": "12", + "name": "OH_PrivateCommand_GetStrValue" + } ] \ No newline at end of file -- Gitee From 4cfe86f5b9f7108368d2eb2d5404068ea762f28b Mon Sep 17 00:00:00 2001 From: zhangkai Date: Wed, 21 Aug 2024 16:23:48 +0800 Subject: [PATCH 143/359] =?UTF-8?q?audio=20=E8=93=9D=E9=BB=84=E4=B8=80?= =?UTF-8?q?=E8=87=B4=E6=80=A7=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangkai --- multimedia/audio_framework/common/native_audiostream_base.h | 2 +- multimedia/audio_framework/ohaudio.ndk.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/audio_framework/common/native_audiostream_base.h b/multimedia/audio_framework/common/native_audiostream_base.h index 6c1b362a4..84015d364 100644 --- a/multimedia/audio_framework/common/native_audiostream_base.h +++ b/multimedia/audio_framework/common/native_audiostream_base.h @@ -443,7 +443,7 @@ typedef enum { } OH_AudioStream_SourceType; /** - * Defines the audio interrupt mode. + * @brief Defines the audio interrupt mode. * * @since 12 */ diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index 165dc8631..66bf9872f 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -317,7 +317,7 @@ }, { "first_introduced": "12", - "name":"OH_AudioRenderer_SetSilentModeAndMixWithOthers" + "name":"OH_AudioRenderer_SetSilentModeAndMixWithOthers" }, { "first_introduced": "12", -- Gitee From f206049985a0eae8bfde1cb3c79d069cf7903100 Mon Sep 17 00:00:00 2001 From: wangsen1994 Date: Tue, 20 Aug 2024 16:50:23 +0800 Subject: [PATCH 144/359] =?UTF-8?q?=E6=96=B0=E5=A2=9Ecse=20ndk=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangsen1994 --- BasicServicesKit/BUILD.gn | 20 + .../commonevent/libcommonevent.ndk.json | 98 ++++ BasicServicesKit/commonevent/oh_commonevent.h | 370 ++++++++++++ .../commonevent/oh_commonevent_support.h | 528 ++++++++++++++++++ 4 files changed, 1016 insertions(+) create mode 100644 BasicServicesKit/commonevent/libcommonevent.ndk.json create mode 100644 BasicServicesKit/commonevent/oh_commonevent.h create mode 100644 BasicServicesKit/commonevent/oh_commonevent_support.h diff --git a/BasicServicesKit/BUILD.gn b/BasicServicesKit/BUILD.gn index d7cb6f57f..ea12f5495 100644 --- a/BasicServicesKit/BUILD.gn +++ b/BasicServicesKit/BUILD.gn @@ -71,3 +71,23 @@ ohos_ndk_library("libtime_service_ndk") { system_capability = "SystemCapability.MiscServices.Time" system_capability_headers = [ "BasicServicesKit/time_service.h" ] } + +ohos_ndk_headers("ohcommonevent_header") { + dest_dir = "$ndk_headers_out_dir/BasicServicesKit/" + sources = [ + "./commonevent/oh_commonevent.h", + "./commonevent/oh_commonevent_support.h", + ] +} + +ohos_ndk_library("libcommonevent_ndk") { + output_name = "ohcommonevent" + output_extension = "so" + ndk_description_file = "./commonevent/libcommonevent.ndk.json" + min_compact_version = "12" + system_capability = "SystemCapability.Notification.CommonEvent" + system_capability_headers = [ + "BasicServicesKit/commonevent/oh_commonevent.h", + "BasicServicesKit/commonevent/oh_commonevent_support.h", + ] +} diff --git a/BasicServicesKit/commonevent/libcommonevent.ndk.json b/BasicServicesKit/commonevent/libcommonevent.ndk.json new file mode 100644 index 000000000..40ddccdfe --- /dev/null +++ b/BasicServicesKit/commonevent/libcommonevent.ndk.json @@ -0,0 +1,98 @@ +[ + { + "first_introduced": "12", + "name":"OH_CommonEvent_CreateSubscribeInfo" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_SetPublisherPermission" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_SetPublisherBundleName" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_DestroySubscribeInfo" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_CreateSubscriber" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_DestroySubscriber" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_Subscribe" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_UnSubscribe" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetEventFromRcvData" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetCodeFromRcvData" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetDataStrFromRcvData" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetBundleNameFromRcvData" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetParametersFromRcvData" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_HasKeyInParameters" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetIntFromParameters" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetIntArrayFromParameters" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetLongFromParameters" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetLongArrayFromParameters" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetBoolFromParameters" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetBoolArrayFromParameters" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetCharFromParameters" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetCharArrayFromParameters" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetDoubleFromParameters" + }, + { + "first_introduced": "12", + "name":"OH_CommonEvent_GetDoubleArrayFromParameters" + } +] diff --git a/BasicServicesKit/commonevent/oh_commonevent.h b/BasicServicesKit/commonevent/oh_commonevent.h new file mode 100644 index 000000000..695328b66 --- /dev/null +++ b/BasicServicesKit/commonevent/oh_commonevent.h @@ -0,0 +1,370 @@ +/* + * Copyright (c) 2024 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 OH_CommonEvent + * @{ + * + * @brief Provides the APIs of common event service. + * + * @since 12 + */ +/** + * @file oh_commonevent.h + * + * @brief Declares the APIs to subscribe and unsubscribe common event, and so on. + * + * @library libohcommonevent.so + * @kit BasicServicesKit + * @syscap SystemCapability.Notification.CommonEvent + * @since 12 + * @version 1.0 + */ + +#ifndef OH_COMMONEVENT_H +#define OH_COMMONEVENT_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Defines error codes. + * + * @since 12 + * @version 1.0 + */ +typedef enum CommonEvent_ErrCode { + /** @error Execution successful. */ + COMMONEVENT_ERR_OK = 0, + + /** @error permission verification failed. */ + COMMONEVENT_ERR_PERMISSION_ERROR = 201, + + /** @error invalid input parameter. */ + COMMONEVENT_ERR_INVALID_PARAMETER = 401, + + /** @error IPC request failed to send. */ + COMMONEVENT_ERR_SENDING_REQUEST_FAILED = 1500007, + + /** @error Common event service not init. */ + COMMONEVENT_ERR_INIT_UNDONE = 1500008, + + /** @error The subscriber number exceed system specification */ + COMMONEVENT_ERR_SUBSCRIBER_NUM_EXCEEDED = 1500010, + + /** @error A memory allocation error occurs. */ + COMMONEVENT_ERR_ALLOC_MEMORY_FAILED = 1500011, +} CommonEvent_ErrCode; + +/** + * @brief the information of the subscriber + * + * @since 12 + */ +typedef struct CommonEvent_SubscribeInfo CommonEvent_SubscribeInfo; + +/** + * @brief the subscriber of common event + * + * @since 12 + */ +typedef void CommonEvent_Subscriber; + +/** + * @brief the data of the commonEvent callback + * + * @since 12 + */ +typedef struct CommonEvent_RcvData CommonEvent_RcvData; + +/** + * @brief The description of the parameters in a common event callback data. + * + * @since 12 + */ +typedef void CommonEvent_Parameters; + +/** + * @brief Common event callback. + * + * @param data common event callback data. + * @since 12 + */ +typedef void (*CommonEvent_ReceiveCallback)(const CommonEvent_RcvData *data); + +/** + * @brief Create subscribe information. + * + * @param events Indicates the subscribed events. + * @param eventsNum Indicates the subscribed events of number. + * @return Returns the CommonEvent_SubscribeInfo, if allocate memory failed, returns null. + * @since 12 + */ +CommonEvent_SubscribeInfo* OH_CommonEvent_CreateSubscribeInfo(const char* events[], int32_t eventsNum); + +/** + * @brief Set the subscribe information of permission. + * + * @param info Indicates the subscribed events. + * @param permission Indicates the subscribed events of number. + * @return Returns the error code. + * Returns {@link COMMONEVENT_ERR_OK} if the operation is successful. + * Returns {@link COMMONEVENT_ERR_INVALID_PARAMETER} if a parameter error occurs. + * @since 12 + */ +CommonEvent_ErrCode OH_CommonEvent_SetPublisherPermission(CommonEvent_SubscribeInfo* info, const char* permission); + +/** + * @brief Set the subscribe information of bundleName. + * + * @param info Indicates the subscribed events. + * @param bundleName Indicates the subscribed events of number. + * @return Returns the error code. + * Returns {@link COMMONEVENT_ERR_OK} if the operation is successful. + * Returns {@link COMMONEVENT_ERR_INVALID_PARAMETER} if a parameter error occurs. + * @since 12 + */ +CommonEvent_ErrCode OH_CommonEvent_SetPublisherBundleName(CommonEvent_SubscribeInfo* info, const char* bundleName); + +/** + * @brief Destroy the subscribe information. + * + * @param info Indicates the subscribe info. + * @since 12 + */ +void OH_CommonEvent_DestroySubscribeInfo(CommonEvent_SubscribeInfo* info); + +/** + * @brief Create a subscriber. + * + * @param info Indicates the created subscribe Info. + * @param callback Indicates the received common event callback. + * @return Returns the CommonEvent_Subscriber, if allocate memory failed, returns null. + * @since 12 + */ +CommonEvent_Subscriber* OH_CommonEvent_CreateSubscriber(const CommonEvent_SubscribeInfo* info, + CommonEvent_ReceiveCallback callback); + +/** + * @brief Destory the subscriber. + * + * @param subscriber Indicates the created subscriber. + * @since 12 + */ +void OH_CommonEvent_DestroySubscriber(CommonEvent_Subscriber* subscriber); + +/** + * @brief Subscribe event by a subscriber. + * + * @param subscriber Indicates the subscriber. + * @return Returns the error code. + * Returns {@link COMMONEVENT_ERR_OK} if the operation is successful. + * Returns {@link COMMONEVENT_ERR_INVALID_PARAMETER } if the input parameter is invalid. + * Returns {@link COMMONEVENT_ERR_SENDING_REQUEST_FAILED } if IPC request failed to send. + * Returns {@link COMMONEVENT_ERR_INIT_UNDONE } if ces not init done. + * Returns {@link COMMONEVENT_ERR_SUBSCRIBER_NUM_EXCEEDED } if the subscriber number is exceeded. + * Returns {@link COMMONEVENT_ERR_ALLOC_MEMORY_FAILED } if a memory allocation error occurs. + * @since 12 + */ +CommonEvent_ErrCode OH_CommonEvent_Subscribe(const CommonEvent_Subscriber* subscriber); + +/** + * @brief Unsubscribe event by a subscriber. + * + * @param subscriber Indicates the subscriber. + * @return Returns the error code. + * Returns {@link COMMONEVENT_ERR_OK} if the operation is successful. + * Returns {@link COMMONEVENT_ERR_INVALID_PARAMETER } if the input parameter is invalid. + * Returns {@link COMMONEVENT_ERR_SENDING_REQUEST_FAILED } if IPC request failed to send. + * Returns {@link COMMONEVENT_ERR_INIT_UNDONE } if ces not init done. + * @since 12 + */ +CommonEvent_ErrCode OH_CommonEvent_UnSubscribe(const CommonEvent_Subscriber* subscriber); + +/** + * @brief Get event name from callback data. + * + * @param rcvData Indicates the event of callback data. + * @return Returns the event name. + * @since 12 + */ +const char* OH_CommonEvent_GetEventFromRcvData(const CommonEvent_RcvData* rcvData); + +/** + * @brief Get event result code from callback data. + * + * @param rcvData Indicates the event of callback data. + * @return Returns the event of result code, default is 0. + * @since 12 + */ +int32_t OH_CommonEvent_GetCodeFromRcvData(const CommonEvent_RcvData* rcvData); + +/** + * @brief Get event result data from callback data. + * + * @param rcvData Indicates the event of callback data. + * @return Returns the event of result data, default is null. + * @since 12 + */ +const char* OH_CommonEvent_GetDataStrFromRcvData(const CommonEvent_RcvData* rcvData); + +/** + * @brief Get event bundlename from callback data. + * + * @param rcvData Indicates the event of callback data. + * @return Returns the event of bundlename, default is null. + * @since 12 + */ +const char* OH_CommonEvent_GetBundleNameFromRcvData(const CommonEvent_RcvData* rcvData); + +/** + * @brief Get event parameters data from callback data. + * + * @param rcvData Indicates the event of callback data. + * @return Returns the event of parameters data, default is null. + * @since 12 + */ +const CommonEvent_Parameters* OH_CommonEvent_GetParametersFromRcvData(const CommonEvent_RcvData* rcvData); + +/** + * @brief Check whether the parameters contains a key. + * + * @param rcvData Indicates the event of callback data. + * @param key Indicates the key of parameter. + * @return Returns the result of check, true means it contains. + * @since 12 + */ +bool OH_CommonEvent_HasKeyInParameters(const CommonEvent_Parameters* para, const char* key); + +/** + * @brief Get int data from parameters data by key. + * + * @param rcvData Indicates the event of parameters data. + * @param key Indicates the key of parameters data. + * @param defaultValue Indicates default return value. + * @return Returns the int data of the key in the parameters. + * @since 12 + */ +int OH_CommonEvent_GetIntFromParameters(const CommonEvent_Parameters* para, const char* key, const int defaultValue); + +/** + * @brief Get int array data from parameters data by key. + * + * @param rcvData Indicates the event of parameters data. + * @param key Indicates the key of parameters data. + * @param array Indicates the int array. + * @return Returns the length of the array. + * @since 12 + */ +int32_t OH_CommonEvent_GetIntArrayFromParameters(const CommonEvent_Parameters* para, const char* key, int** array); + +/** + * @brief Get long data from parameters data by key. + * + * @param rcvData Indicates the event of parameters data. + * @param key Indicates the key of parameters data. + * @param defaultValue Indicates default return value. + * @return Returns the long data of the key in the parameters. + * @since 12 + */ +long OH_CommonEvent_GetLongFromParameters(const CommonEvent_Parameters* para, const char* key, const long defaultValue); + +/** + * @brief Get long array data from parameters data by key. + * + * @param rcvData Indicates the event of parameters data. + * @param key Indicates the key of parameters data. + * @param array Indicates the long array. + * @return Returns the length of the array. + * @since 12 + */ +int32_t OH_CommonEvent_GetLongArrayFromParameters(const CommonEvent_Parameters* para, const char* key, long** array); + +/** + * @brief Get bool data from parameters data by key. + * + * @param rcvData Indicates the event of parameters data. + * @param key Indicates the key of parameters data. + * @param defaultValue Indicates default return value. + * @return Returns the bool data of the key in the parameters. + * @since 12 + */ +bool OH_CommonEvent_GetBoolFromParameters(const CommonEvent_Parameters* para, const char* key, const bool defaultValue); + +/** + * @brief Get bool array data from parameters data by key. + * + * @param rcvData Indicates the event of parameters data. + * @param key Indicates the key of parameters data. + * @param array Indicates the bool array. + * @return Returns the length of the array. + * @since 12 + */ +int32_t OH_CommonEvent_GetBoolArrayFromParameters(const CommonEvent_Parameters* para, const char* key, bool** array); + +/** + * @brief Get char data from parameters data by key. + * + * @param rcvData Indicates the event of parameters data. + * @param key Indicates the key of parameters data. + * @param defaultValue Indicates default return value. + * @return Returns the char data of the key in the parameters. + * @since 12 + */ +char OH_CommonEvent_GetCharFromParameters(const CommonEvent_Parameters* para, const char* key, const char defaultValue); + +/** + * @brief Get char array data from parameters data by key. + * + * @param rcvData Indicates the event of parameters data. + * @param key Indicates the key of parameters data. + * @param array Indicates the char array. + * @return Returns the length of the array. + * @since 12 + */ +int32_t OH_CommonEvent_GetCharArrayFromParameters(const CommonEvent_Parameters* para, const char* key, char** array); + +/** + * @brief Get double data from parameters data by key. + * + * @param rcvData Indicates the event of parameters data. + * @param key Indicates the key of parameters data. + * @param defaultValue Indicates default return value. + * @return Returns the double data of the key in the parameters. + * @since 12 + */ +double OH_CommonEvent_GetDoubleFromParameters(const CommonEvent_Parameters* para, const char* key, + const double defaultValue); + +/** + * @brief Get double array data from parameters data by key. + * + * @param rcvData Indicates the event of parameters data. + * @param key Indicates the key of parameters data. + * @param array Indicates the double array. + * @return Returns the length of the array, default is 0. + * @since 12 + */ +int32_t OH_CommonEvent_GetDoubleArrayFromParameters(const CommonEvent_Parameters* para, const char* key, + double** array); + +#ifdef __cplusplus +} +#endif +#endif // OH_COMMONEVENT_H +/** @} */ diff --git a/BasicServicesKit/commonevent/oh_commonevent_support.h b/BasicServicesKit/commonevent/oh_commonevent_support.h new file mode 100644 index 000000000..2f4b77898 --- /dev/null +++ b/BasicServicesKit/commonevent/oh_commonevent_support.h @@ -0,0 +1,528 @@ +/* + * Copyright (c) 2024 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 OH_CommonEvent + * @{ + * + * @brief Provides the APIs of common event service. + * + * @since 12 + */ +/** + * @file oh_commonevent_support.h + * + * @brief Declares the constants of system-defined common event. + * + * @library libohcommonevent.so + * @kit BasicServicesKit + * @syscap SystemCapability.Notification.CommonEvent + * @since 12 + * @version 1.0 + */ + +#ifndef OH_COMMONEVENT_SUPPORT_H +#define OH_COMMONEVENT_SUPPORT_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief This commonEvent means when the device is shutting down, note: turn off, not sleeping. + * + * @since 12 + */ +static const char* const COMMON_EVENT_SHUTDOWN = "usual.event.SHUTDOWN"; + +/** + * @brief This commonEvent means when the charging state, level and so on about the battery. + * + * @since 12 + */ +static const char* const COMMON_EVENT_BATTERY_CHANGED = "usual.event.BATTERY_CHANGED"; + +/** + * @brief This commonEvent means when the device in low battery state.. + * + * @since 12 + */ +static const char* const COMMON_EVENT_BATTERY_LOW = "usual.event.BATTERY_LOW"; + +/** + * @brief This commonEvent means when the battery level is an ok state. + * + * @since 12 + */ +static const char* const COMMON_EVENT_BATTERY_OKAY = "usual.event.BATTERY_OKAY"; + +/** + * @brief This commonEvent means when the other power is connected to the device. + * + * @since 12 + */ +static const char* const COMMON_EVENT_POWER_CONNECTED = "usual.event.POWER_CONNECTED"; + +/** + * @brief This commonEvent means when the other power is removed from the device. + * + * @since 12 + */ +static const char* const COMMON_EVENT_POWER_DISCONNECTED = "usual.event.POWER_DISCONNECTED"; + +/** + * @brief This commonEvent means when the screen is turned off. + * + * @since 12 + */ +static const char* const COMMON_EVENT_SCREEN_OFF = "usual.event.SCREEN_OFF"; + +/** + * @brief This commonEvent means when the device is awakened and interactive. + * + * @since 12 + */ +static const char* const COMMON_EVENT_SCREEN_ON = "usual.event.SCREEN_ON"; + +/** + * @brief This commonEvent means when the thermal state level change + * + * @since 12 + */ +static const char* const COMMON_EVENT_THERMAL_LEVEL_CHANGED = "usual.event.THERMAL_LEVEL_CHANGED"; + +/** + * @brief This commonEvent means when the current time is changed. + * + * @since 12 + */ +static const char* const COMMON_EVENT_TIME_TICK = "usual.event.TIME_TICK"; + +/** + * @brief This commonEvent means when the time is set. + * + * @since 12 + */ +static const char* const COMMON_EVENT_TIME_CHANGED = "usual.event.TIME_CHANGED"; + +/** + * @brief This commonEvent means when the time zone is changed. + * + * @since 12 + */ +static const char* const COMMON_EVENT_TIMEZONE_CHANGED = "usual.event.TIMEZONE_CHANGED"; + +/** + * @brief This commonEvent means when a new application package is installed on the device. + * + * @since 12 + */ +static const char* const COMMON_EVENT_PACKAGE_ADDED = "usual.event.PACKAGE_ADDED"; + +/** + * @brief This commonEvent means when an existing application package is removed from the device. + * + * @since 12 + */ +static const char* const COMMON_EVENT_PACKAGE_REMOVED = "usual.event.PACKAGE_REMOVED"; + +/** + * @brief This commonEvent means when an existing application package is removed from the device. + * + * @since 12 + */ +static const char* const COMMON_EVENT_BUNDLE_REMOVED = "usual.event.BUNDLE_REMOVED"; + +/** + * @brief This commonEvent means when an existing application package is completely removed from the device. + * + * @since 12 + */ +static const char* const COMMON_EVENT_PACKAGE_FULLY_REMOVED = "usual.event.PACKAGE_FULLY_REMOVED"; + +/** + * @brief This commonEvent means when an existing application package has been changed. + * + * @since 12 + */ +static const char* const COMMON_EVENT_PACKAGE_CHANGED = "usual.event.PACKAGE_CHANGED"; + +/** + * @brief This commonEvent means the user has restarted a package, and all of its processes have been killed. + * + * @since 12 + */ +static const char* const COMMON_EVENT_PACKAGE_RESTARTED = "usual.event.PACKAGE_RESTARTED"; + +/** + * @brief This commonEvent means the user has cleared the package data. + * + * @since 12 + */ +static const char* const COMMON_EVENT_PACKAGE_DATA_CLEARED = "usual.event.PACKAGE_DATA_CLEARED"; + +/** + * @brief This commonEvent means the user has cleared the package cache. + * + * @since 12 + */ +static const char* const COMMON_EVENT_PACKAGE_CACHE_CLEARED = "usual.event.PACKAGE_CACHE_CLEARED"; + +/** + * @brief This commonEvent means the packages have been suspended. + * + * @since 12 + */ +static const char* const COMMON_EVENT_PACKAGES_SUSPENDED = "usual.event.PACKAGES_SUSPENDED"; + +/** + * @brief This commonEvent Sent to a package that has been suspended by the system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_MY_PACKAGE_SUSPENDED = "usual.event.MY_PACKAGE_SUSPENDED"; + +/** + * @brief Sent to a package that has been un-suspended. + * + * @since 12 + */ +static const char* const COMMON_EVENT_MY_PACKAGE_UNSUSPENDED = "usual.event.MY_PACKAGE_UNSUSPENDED"; + +/** + * @brief The current device's locale has changed. + * + * @since 12 + */ +static const char* const COMMON_EVENT_LOCALE_CHANGED = "usual.event.LOCALE_CHANGED"; + +/** + * @brief Indicates low memory condition notification acknowledged by user and package + * management should be started. + * + * @since 12 + */ +static const char* const COMMON_EVENT_MANAGE_PACKAGE_STORAGE = "usual.event.MANAGE_PACKAGE_STORAGE"; + +/** + * @brief Remind new user of that the service has been unlocked. + * + * @since 12 + */ +static const char* const COMMON_EVENT_USER_UNLOCKED = "usual.event.USER_UNLOCKED"; + +/** + * @brief Distributed account logout successfully. + * + * @since 12 + */ +static const char* const COMMON_EVENT_DISTRIBUTED_ACCOUNT_LOGOUT = "common.event.DISTRIBUTED_ACCOUNT_LOGOUT"; + +/** + * @brief Distributed account is invalid. + * + * @since 12 + */ +static const char* const COMMON_EVENT_DISTRIBUTED_ACCOUNT_TOKEN_INVALID = + "common.event.DISTRIBUTED_ACCOUNT_TOKEN_INVALID"; + +/** + * @brief Distributed account logs off. + * + * @since 12 + */ +static const char* const COMMON_EVENT_DISTRIBUTED_ACCOUNT_LOGOFF = "common.event.DISTRIBUTED_ACCOUNT_LOGOFF"; + +/** + * @brief WIFI state. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_POWER_STATE = "usual.event.wifi.POWER_STATE"; + +/** + * @brief WIFI scan results. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_SCAN_FINISHED = "usual.event.wifi.SCAN_FINISHED"; + +/** + * @brief WIFI RSSI change. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_RSSI_VALUE = "usual.event.wifi.RSSI_VALUE"; + +/** + * @brief WIFI connect state. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_CONN_STATE = "usual.event.wifi.CONN_STATE"; + +/** + * @brief WIFI hotspot state. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_HOTSPOT_STATE = "usual.event.wifi.HOTSPOT_STATE"; + +/** + * @brief WIFI ap sta join. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_AP_STA_JOIN = "usual.event.wifi.WIFI_HS_STA_JOIN"; + +/** + * @brief WIFI ap sta join. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_AP_STA_LEAVE = "usual.event.wifi.WIFI_HS_STA_LEAVE"; + +/** + * @brief Indicates Wi-Fi MpLink state notification acknowledged by binding or unbinding MpLink. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_MPLINK_STATE_CHANGE = "usual.event.wifi.mplink.STATE_CHANGE"; + +/** + * @brief Indicates Wi-Fi P2P connection state notification acknowledged by connecting or disconnected P2P. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_P2P_CONN_STATE = "usual.event.wifi.p2p.CONN_STATE_CHANGE"; + +/** + * @brief Indicates that the Wi-Fi P2P state change. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_P2P_STATE_CHANGED = "usual.event.wifi.p2p.STATE_CHANGE"; + +/** + * @brief Indicates that the Wi-Fi P2P peers state change. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_P2P_PEERS_STATE_CHANGED = "usual.event.wifi.p2p.DEVICES_CHANGE"; + +/** + * @brief Indicates that the Wi-Fi P2P discovery state change. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_P2P_PEERS_DISCOVERY_STATE_CHANGED = + "usual.event.wifi.p2p.PEER_DISCOVERY_STATE_CHANGE"; + +/** + * @brief Indicates that the Wi-Fi P2P current device state change. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_P2P_CURRENT_DEVICE_STATE_CHANGED = + "usual.event.wifi.p2p.CURRENT_DEVICE_CHANGE"; + +/** + * @brief Indicates that the Wi-Fi P2P group info is changed. + * + * @since 12 + */ +static const char* const COMMON_EVENT_WIFI_P2P_GROUP_STATE_CHANGED = "usual.event.wifi.p2p.GROUP_STATE_CHANGED"; + +/** + * @brief Nfc state change. + * + * @since 12 + */ +static const char* const COMMON_EVENT_NFC_ACTION_ADAPTER_STATE_CHANGED = "usual.event.nfc.action.ADAPTER_STATE_CHANGED"; + +/** + * @brief Nfc field on detected. + * + * @since 12 + */ +static const char* const COMMON_EVENT_NFC_ACTION_RF_FIELD_ON_DETECTED = "usual.event.nfc.action.RF_FIELD_ON_DETECTED"; + +/** + * @brief Nfc field off detected. + * + * @since 12 + */ +static const char* const COMMON_EVENT_NFC_ACTION_RF_FIELD_OFF_DETECTED = "usual.event.nfc.action.RF_FIELD_OFF_DETECTED"; + +/** + * @brief Sent when stop charging battery. + * + * @since 12 + */ +static const char* const COMMON_EVENT_DISCHARGING = "usual.event.DISCHARGING"; + +/** + * @brief Sent when start charging battery. + * + * @since 12 + */ +static const char* const COMMON_EVENT_CHARGING = "usual.event.CHARGING"; + +/** + * @brief Sent when device's idle mode changed + * + * @since 12 + */ +static const char* const COMMON_EVENT_DEVICE_IDLE_MODE_CHANGED = "usual.event.DEVICE_IDLE_MODE_CHANGED"; + +/** + * @brief Sent when device's charge idle mode changed. + * + * @since 12 + */ +static const char* const COMMON_EVENT_CHARGE_IDLE_MODE_CHANGED = "usual.event.CHARGE_IDLE_MODE_CHANGED"; + +/** + * @brief Sent when device's power save mode changed + * + * @since 12 + */ +static const char* const COMMON_EVENT_POWER_SAVE_MODE_CHANGED = "usual.event.POWER_SAVE_MODE_CHANGED"; + +/** + * @brief The usb state change events. + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_USB_STATE = "usual.event.hardware.usb.action.USB_STATE"; + +/** + * @brief The usb port changed. + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_USB_PORT_CHANGED = "usual.event.hardware.usb.action.USB_PORT_CHANGED"; + +/** + * @brief The usb device attached. + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_USB_DEVICE_ATTACHED = "usual.event.hardware.usb.action.USB_DEVICE_ATTACHED"; + +/** + * @brief The usb device detached. + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_USB_DEVICE_DETACHED = "usual.event.hardware.usb.action.USB_DEVICE_DETACHED"; + +/** + * @brief Indicates the common event Action indicating that the airplane mode status of the device changes. + * Users can register this event to listen to the change of the airplane mode status of the device. + * + * @since 12 + */ +static const char* const COMMON_EVENT_AIRPLANE_MODE_CHANGED = "usual.event.AIRPLANE_MODE"; + +/** + * @brief sent by the window manager service when the window mode is split. + * + * @since 12 + */ +static const char* const COMMON_EVENT_SPLIT_SCREEN = "common.event.SPLIT_SCREEN"; + +/** + * @brief Indicate the result of quick fix apply. + * This common event can be triggered only by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_QUICK_FIX_APPLY_RESULT = "usual.event.QUICK_FIX_APPLY_RESULT"; + +/** + * @brief Indicate the result of quick fix revoke. + * This common event can be triggered only by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_QUICK_FIX_REVOKE_RESULT = "usual.event.QUICK_FIX_REVOKE_RESULT"; + +/** + * @brief Indicate the action of a common event that the user information has been updated. + * This common event can be triggered only by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_USER_INFO_UPDATED = "usual.event.USER_INFO_UPDATED"; + +/** + * @brief Indicates the action of a common event that the phone SIM card state has changed. + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_SIM_STATE_CHANGED = "usual.event.SIM_STATE_CHANGED"; + +/** + * @brief Indicates the action of a common event that the call state has been changed. + * To subscribe to this protected common event, your application must have the ohos.permission.GET_TELEPHONY_STATE + * permission. + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_CALL_STATE_CHANGED = "usual.event.CALL_STATE_CHANGED"; + +/** + * @brief Indicates the action of a common event that the network state has been changed. + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_NETWORK_STATE_CHANGED = "usual.event.NETWORK_STATE_CHANGED"; + +/** + * @brief Indicates the action of a common event that the signal info has been changed. + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_SIGNAL_INFO_CHANGED = "usual.event.SIGNAL_INFO_CHANGED"; + +/** + * @brief This commonEvent means when the screen is unlocked. + * + * @since 12 + */ +static const char* const COMMON_EVENT_SCREEN_UNLOCKED = "usual.event.SCREEN_UNLOCKED"; + +/** + * @brief This commonEvent means when the screen is locked. + * + * @since 12 + */ +static const char* const COMMON_EVENT_SCREEN_LOCKED = "usual.event.SCREEN_LOCKED"; +#ifdef __cplusplus +} +#endif +#endif // OH_COMMONEVENT_SUPPORT_H +/** @} */ -- Gitee From baf79b25bc6e5d620c0f8f86774caee67b92041e Mon Sep 17 00:00:00 2001 From: fandongyu Date: Sat, 24 Aug 2024 16:46:21 +0800 Subject: [PATCH 145/359] Signed-off-by:fandongyu Signed-off-by: fandongyu --- multimedia/image_framework/BUILD.gn | 4 +- .../include/image/image_packer_native.h | 32 ++++---- .../include/image/image_source_native.h | 14 ++-- .../include/image/picture_native.h | 74 +++++++++---------- .../image_framework/libimage_common.ndk.json | 10 +-- .../image_framework/libimage_packer.ndk.json | 28 +++---- .../image_framework/libimage_source.ndk.json | 10 +-- .../image_framework/libpicture.ndk.json | 56 +++++++------- 8 files changed, 114 insertions(+), 114 deletions(-) diff --git a/multimedia/image_framework/BUILD.gn b/multimedia/image_framework/BUILD.gn index 9b5e9895a..f28533e28 100644 --- a/multimedia/image_framework/BUILD.gn +++ b/multimedia/image_framework/BUILD.gn @@ -48,7 +48,7 @@ ohos_ndk_library("libpicture") { ndk_description_file = "./libpicture.ndk.json" output_name = "picture" output_extension = "so" - min_compact_version = "12" + min_compact_version = "13" system_capability = "SystemCapability.Multimedia.Image.Core" system_capability_headers = [ "multimedia/image_framework/image/picture_native.h", @@ -65,7 +65,7 @@ ohos_ndk_library("libimage_common") { ndk_description_file = "./libimage_common.ndk.json" output_name = "image_common" output_extension = "so" - min_compact_version = "12" + min_compact_version = "13" system_capability = "SystemCapability.Multimedia.Image.Core" system_capability_headers = [ "multimedia/image_framework/image/image_common.h" ] diff --git a/multimedia/image_framework/include/image/image_packer_native.h b/multimedia/image_framework/include/image/image_packer_native.h index ef2081b02..b80688711 100644 --- a/multimedia/image_framework/include/image/image_packer_native.h +++ b/multimedia/image_framework/include/image/image_packer_native.h @@ -62,14 +62,14 @@ typedef struct OH_PackingOptions OH_PackingOptions; /** * @brief Defines the image sequence packing options. * - * @since 12 + * @since 13 */ struct OH_PackingOptionsForSequence; /** * @brief Defines the image sequence packing options. * - * @since 12 + * @since 13 */ typedef struct OH_PackingOptionsForSequence OH_PackingOptionsForSequence; @@ -203,7 +203,7 @@ Image_ErrorCode OH_PackingOptions_Release(OH_PackingOptions *options); * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PackingOptionsForSequence_Create(OH_PackingOptionsForSequence **options); @@ -215,7 +215,7 @@ Image_ErrorCode OH_PackingOptionsForSequence_Create(OH_PackingOptionsForSequence * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PackingOptionsForSequence_SetFrameCount(OH_PackingOptionsForSequence *options, uint32_t frameCount); @@ -228,7 +228,7 @@ Image_ErrorCode OH_PackingOptionsForSequence_SetFrameCount(OH_PackingOptionsForS * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options or frameCount is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PackingOptionsForSequence_GetFrameCount(OH_PackingOptionsForSequence *options, uint32_t *frameCount); @@ -242,7 +242,7 @@ Image_ErrorCode OH_PackingOptionsForSequence_GetFrameCount(OH_PackingOptionsForS * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options or delayTimeList is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PackingOptionsForSequence_SetDelayTimeList(OH_PackingOptionsForSequence *options, int32_t *delayTimeList, size_t delayTimeListLength); @@ -256,7 +256,7 @@ Image_ErrorCode OH_PackingOptionsForSequence_SetDelayTimeList(OH_PackingOptionsF * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options or delayTimeList is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PackingOptionsForSequence_GetDelayTimeList(OH_PackingOptionsForSequence *options, int32_t *delayTimeList, size_t delayTimeListLength); @@ -270,7 +270,7 @@ Image_ErrorCode OH_PackingOptionsForSequence_GetDelayTimeList(OH_PackingOptionsF * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options or disposalTypes is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PackingOptionsForSequence_SetDisposalTypes(OH_PackingOptionsForSequence *options, uint32_t *disposalTypes, size_t disposalTypesLength); @@ -284,7 +284,7 @@ Image_ErrorCode OH_PackingOptionsForSequence_SetDisposalTypes(OH_PackingOptionsF * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options or disposalTypes is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PackingOptionsForSequence_GetDisposalTypes(OH_PackingOptionsForSequence *options, uint32_t *disposalTypes, size_t disposalTypesLength); @@ -297,7 +297,7 @@ Image_ErrorCode OH_PackingOptionsForSequence_GetDisposalTypes(OH_PackingOptionsF * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PackingOptionsForSequence_SetLoopCount(OH_PackingOptionsForSequence *options, uint32_t loopCount); @@ -309,7 +309,7 @@ Image_ErrorCode OH_PackingOptionsForSequence_SetLoopCount(OH_PackingOptionsForSe * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options or loopCount is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PackingOptionsForSequence_GetLoopCount(OH_PackingOptionsForSequence *options, uint32_t *loopCount); @@ -320,7 +320,7 @@ Image_ErrorCode OH_PackingOptionsForSequence_GetLoopCount(OH_PackingOptionsForSe * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PackingOptionsForSequence_Release(OH_PackingOptionsForSequence *options); @@ -374,7 +374,7 @@ Image_ErrorCode OH_ImagePackerNative_PackToDataFromPixelmap(OH_ImagePackerNative * {@link IMAGE_BAD_PARAMETER} imagePacker is nullptr, or picture is nullptr, or outData is nullptr, * or size is invalid. * {@link IMAGE_ENCODE_FAILED} encode failed. - * @since 12 + * @since 13 */ Image_ErrorCode OH_ImagePackerNative_PackToDataFromPicture(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_PictureNative *picture, uint8_t *outData, size_t *size); @@ -392,7 +392,7 @@ Image_ErrorCode OH_ImagePackerNative_PackToDataFromPicture(OH_ImagePackerNative * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} one of the pointer type parameters is nullptr, or size/length is invalid * {@link IMAGE_ENCODE_FAILED} encode failed. - * @since 12 + * @since 13 */ Image_ErrorCode OH_ImagePackerNative_PackToDataFromPixelmapSequence(OH_ImagePackerNative *imagePacker, OH_PackingOptionsForSequence *options, OH_PixelmapNative **pixelmapSequence, @@ -435,7 +435,7 @@ Image_ErrorCode OH_ImagePackerNative_PackToFileFromPixelmap(OH_ImagePackerNative * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} imagePacker is nullptr, or picture is nullptr, or fd is invalid. * {@link IMAGE_ENCODE_FAILED} encode failed. - * @since 12 + * @since 13 */ Image_ErrorCode OH_ImagePackerNative_PackToFileFromPicture(OH_ImagePackerNative *imagePacker, OH_PackingOptions *options, OH_PictureNative *picture, int32_t fd); @@ -452,7 +452,7 @@ Image_ErrorCode OH_ImagePackerNative_PackToFileFromPicture(OH_ImagePackerNative * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} one of the pointer type parameters is nullptr, or length is invalid * {@link IMAGE_ENCODE_FAILED} encode failed. - * @since 12 + * @since 13 */ Image_ErrorCode OH_ImagePackerNative_PackToFileFromPixelmapSequence(OH_ImagePackerNative *imagePacker, OH_PackingOptionsForSequence *options, OH_PixelmapNative **pixelmapSequence, size_t sequenceLength, int32_t fd); diff --git a/multimedia/image_framework/include/image/image_source_native.h b/multimedia/image_framework/include/image/image_source_native.h index 803fe4928..7e54b94ef 100644 --- a/multimedia/image_framework/include/image/image_source_native.h +++ b/multimedia/image_framework/include/image/image_source_native.h @@ -66,7 +66,7 @@ typedef struct OH_ImageSource_Info OH_ImageSource_Info; * @brief Defines decoding options for picture * {@link OH_DecodingOptionsForPicture_Create}. * - * @since 12 + * @since 13 */ struct OH_DecodingOptionsForPicture; @@ -74,7 +74,7 @@ struct OH_DecodingOptionsForPicture; * @brief Defines decoding options for picture * {@link OH_DecodingOptionsForPicture_Create}. * - * @since 12 + * @since 13 */ typedef struct OH_DecodingOptionsForPicture OH_DecodingOptionsForPicture; @@ -389,7 +389,7 @@ Image_ErrorCode OH_ImageSourceNative_CreatePixelmapList(OH_ImageSourceNative *so * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} source is nullptr, or picture is nullptr. * {@link IMAGE_DECODE_FAILED} decode failed. - * @since 12 + * @since 13 */ Image_ErrorCode OH_ImageSourceNative_CreatePicture(OH_ImageSourceNative *source, OH_DecodingOptionsForPicture *options, OH_PictureNative **picture); @@ -470,7 +470,7 @@ Image_ErrorCode OH_ImageSourceNative_Release(OH_ImageSourceNative *source); * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_DecodingOptionsForPicture_Create(OH_DecodingOptionsForPicture **options); @@ -484,7 +484,7 @@ Image_ErrorCode OH_DecodingOptionsForPicture_Create(OH_DecodingOptionsForPicture * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options is nullptr, desiredAuxiliaryPictures is nullptr, * or length is invalid. - * @since 12 + * @since 13 */ Image_ErrorCode OH_DecodingOptionsForPicture_GetDesiredAuxiliaryPictures(OH_DecodingOptionsForPicture *options, Image_AuxiliaryPictureType **desiredAuxiliaryPictures, size_t *length); @@ -499,7 +499,7 @@ Image_ErrorCode OH_DecodingOptionsForPicture_GetDesiredAuxiliaryPictures(OH_Deco * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options is nullptr, desiredAuxiliaryPictures is nullptr, * or length is invalid. - * @since 12 + * @since 13 */ Image_ErrorCode OH_DecodingOptionsForPicture_SetDesiredAuxiliaryPictures(OH_DecodingOptionsForPicture *options, Image_AuxiliaryPictureType *desiredAuxiliaryPictures, size_t length); @@ -511,7 +511,7 @@ Image_ErrorCode OH_DecodingOptionsForPicture_SetDesiredAuxiliaryPictures(OH_Deco * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} options is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_DecodingOptionsForPicture_Release(OH_DecodingOptionsForPicture *options); #ifdef __cplusplus diff --git a/multimedia/image_framework/include/image/picture_native.h b/multimedia/image_framework/include/image/picture_native.h index ddc402513..42eed5065 100644 --- a/multimedia/image_framework/include/image/picture_native.h +++ b/multimedia/image_framework/include/image/picture_native.h @@ -20,7 +20,7 @@ * @brief Provides APIs for obtaining picture data and information. * * @Syscap SystemCapability.Multimedia.Image.Core - * @since 12 + * @since 13 */ /** @@ -31,7 +31,7 @@ * @library libpicture.so * @kit ImageKit * @Syscap SystemCapability.Multimedia.Image.Core - * @since 12 + * @since 13 */ #ifndef INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_PICTURE_NATIVE_H_ #define INTERFACES_KITS_NATIVE_INCLUDE_IMAGE_PICTURE_NATIVE_H_ @@ -45,14 +45,14 @@ extern "C" { /** * @brief Define a Picture struct type, used for picture pointer controls. * - * @since 12 + * @since 13 */ struct OH_PictureNative; /** * @brief Define a Picture struct type, used for picture pointer controls. * - * @since 12 + * @since 13 */ typedef struct OH_PictureNative OH_PictureNative; @@ -60,7 +60,7 @@ typedef struct OH_PictureNative OH_PictureNative; * @brief Define a AuxiliaryPicture struct type, used for auxiliary * picture pointer controls. * - * @since 12 + * @since 13 */ struct OH_AuxiliaryPictureNative; @@ -68,7 +68,7 @@ struct OH_AuxiliaryPictureNative; * @brief Define a AuxiliaryPicture struct type, used for auxiliary * picture pointer controls. * - * @since 12 + * @since 13 */ typedef struct OH_AuxiliaryPictureNative OH_AuxiliaryPictureNative; @@ -76,7 +76,7 @@ typedef struct OH_AuxiliaryPictureNative OH_AuxiliaryPictureNative; * @brief Define a AuxiliaryPictureInfo struct type, used for auxiliary * picture info controls. * - * @since 12 + * @since 13 */ struct OH_AuxiliaryPictureInfo; @@ -84,14 +84,14 @@ struct OH_AuxiliaryPictureInfo; * @brief Define a AuxiliaryPictureInfo struct type, used for auxiliary * picture info controls. * - * @since 12 + * @since 13 */ typedef struct OH_AuxiliaryPictureInfo OH_AuxiliaryPictureInfo; /** * @brief Define a auxiliary picture type. * - * @since 12 + * @since 13 */ typedef enum { /* @@ -124,7 +124,7 @@ typedef enum { * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} mainPixelmap is nullptr, or picture is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureNative_CreatePicture(OH_PixelmapNative *mainPixelmap, OH_PictureNative **picture); @@ -136,7 +136,7 @@ Image_ErrorCode OH_PictureNative_CreatePicture(OH_PixelmapNative *mainPixelmap, * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or mainPixelmap is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureNative_GetMainPixelmap(OH_PictureNative *picture, OH_PixelmapNative **mainPixelmap); @@ -149,7 +149,7 @@ Image_ErrorCode OH_PictureNative_GetMainPixelmap(OH_PictureNative *picture, OH_P * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or hdrPixelmap is nullptr. * {@link IMAGE_UNSUPPORTED_OPERATION} Unsupported operation, e.g. the picture does not has a gainmap - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureNative_GetHdrComposedPixelmap(OH_PictureNative *picture, OH_PixelmapNative **hdrPixelmap); @@ -161,7 +161,7 @@ Image_ErrorCode OH_PictureNative_GetHdrComposedPixelmap(OH_PictureNative *pictur * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or gainmapPixelmap is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureNative_GetGainmapPixelmap(OH_PictureNative *picture, OH_PixelmapNative **gainmapPixelmap); @@ -174,7 +174,7 @@ Image_ErrorCode OH_PictureNative_GetGainmapPixelmap(OH_PictureNative *picture, O * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or auxiliaryPicture is nullptr, or the type is invalid. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureNative_SetAuxiliaryPicture(OH_PictureNative *picture, Image_AuxiliaryPictureType type, OH_AuxiliaryPictureNative *auxiliaryPicture); @@ -188,7 +188,7 @@ Image_ErrorCode OH_PictureNative_SetAuxiliaryPicture(OH_PictureNative *picture, * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or auxiliaryPicture is nullptr, or the type is invalid. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureNative_GetAuxiliaryPicture(OH_PictureNative *picture, Image_AuxiliaryPictureType type, OH_AuxiliaryPictureNative **auxiliaryPicture); @@ -203,7 +203,7 @@ Image_ErrorCode OH_PictureNative_GetAuxiliaryPicture(OH_PictureNative *picture, * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or metadata is nullptr. * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureNative_GetMetadata(OH_PictureNative *picture, Image_MetadataType metadataType, OH_PictureMetadata **metadata); @@ -218,7 +218,7 @@ Image_ErrorCode OH_PictureNative_GetMetadata(OH_PictureNative *picture, Image_Me * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} picture is nullptr, or metadata is nullptr. * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureNative_SetMetadata(OH_PictureNative *picture, Image_MetadataType metadataType, OH_PictureMetadata *metadata); @@ -230,7 +230,7 @@ Image_ErrorCode OH_PictureNative_SetMetadata(OH_PictureNative *picture, Image_Me * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} picture is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureNative_Release(OH_PictureNative *picture); @@ -246,7 +246,7 @@ Image_ErrorCode OH_PictureNative_Release(OH_PictureNative *picture); * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} data is nullptr, or dataLength is invalid, or size is nullptr, or the type * is invalid, or auxiliaryPicture is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureNative_Create(uint8_t *data, size_t dataLength, Image_Size *size, Image_AuxiliaryPictureType type, OH_AuxiliaryPictureNative **auxiliaryPicture); @@ -262,7 +262,7 @@ Image_ErrorCode OH_AuxiliaryPictureNative_Create(uint8_t *data, size_t dataLengt * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or source is nullptr, or the bufferSize is invalid. * {@link IMAGE_ALLOC_FAILED} memory alloc failed. * {@link IMAGE_COPY_FAILED} memory copy failed. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureNative_WritePixels(OH_AuxiliaryPictureNative *auxiliaryPicture, uint8_t *source, size_t bufferSize); @@ -279,7 +279,7 @@ Image_ErrorCode OH_AuxiliaryPictureNative_WritePixels(OH_AuxiliaryPictureNative * or the bufferSize is invalid. * {@link IMAGE_ALLOC_FAILED} memory alloc failed. * {@link IMAGE_COPY_FAILED} memory copy failed. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureNative_ReadPixels(OH_AuxiliaryPictureNative *auxiliaryPicture, uint8_t *destination, size_t *bufferSize); @@ -292,7 +292,7 @@ Image_ErrorCode OH_AuxiliaryPictureNative_ReadPixels(OH_AuxiliaryPictureNative * * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or type is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureNative_GetType(OH_AuxiliaryPictureNative *auxiliaryPicture, Image_AuxiliaryPictureType *type); @@ -305,7 +305,7 @@ Image_ErrorCode OH_AuxiliaryPictureNative_GetType(OH_AuxiliaryPictureNative *aux * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or info is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureNative_GetInfo(OH_AuxiliaryPictureNative *auxiliaryPicture, OH_AuxiliaryPictureInfo **info); @@ -318,7 +318,7 @@ Image_ErrorCode OH_AuxiliaryPictureNative_GetInfo(OH_AuxiliaryPictureNative *aux * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or info is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureNative_SetInfo(OH_AuxiliaryPictureNative *auxiliaryPicture, OH_AuxiliaryPictureInfo *info); @@ -334,7 +334,7 @@ Image_ErrorCode OH_AuxiliaryPictureNative_SetInfo(OH_AuxiliaryPictureNative *aux * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or metadata is nullptr. * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the * auxiliary picture type. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureNative_GetMetadata(OH_AuxiliaryPictureNative *auxiliaryPicture, Image_MetadataType metadataType, OH_PictureMetadata **metadata); @@ -350,7 +350,7 @@ Image_ErrorCode OH_AuxiliaryPictureNative_GetMetadata(OH_AuxiliaryPictureNative * {@link IMAGE_BAD_PARAMETER} auxiliaryPicture is nullptr, or metadata is nullptr. * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the * auxiliary picture type. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureNative_SetMetadata(OH_AuxiliaryPictureNative *auxiliaryPicture, Image_MetadataType metadataType, OH_PictureMetadata *metadata); @@ -362,7 +362,7 @@ Image_ErrorCode OH_AuxiliaryPictureNative_SetMetadata(OH_AuxiliaryPictureNative * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} picture is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureNative_Release(OH_AuxiliaryPictureNative *picture); @@ -373,7 +373,7 @@ Image_ErrorCode OH_AuxiliaryPictureNative_Release(OH_AuxiliaryPictureNative *pic * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} info is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureInfo_Create(OH_AuxiliaryPictureInfo **info); @@ -385,7 +385,7 @@ Image_ErrorCode OH_AuxiliaryPictureInfo_Create(OH_AuxiliaryPictureInfo **info); * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} info is nullptr, or type is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureInfo_GetType(OH_AuxiliaryPictureInfo *info, Image_AuxiliaryPictureType *type); @@ -397,7 +397,7 @@ Image_ErrorCode OH_AuxiliaryPictureInfo_GetType(OH_AuxiliaryPictureInfo *info, I * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} info is nullptr, or type is invalid. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureInfo_SetType(OH_AuxiliaryPictureInfo *info, Image_AuxiliaryPictureType type); @@ -409,7 +409,7 @@ Image_ErrorCode OH_AuxiliaryPictureInfo_SetType(OH_AuxiliaryPictureInfo *info, I * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} info is nullptr, or size is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureInfo_GetSize(OH_AuxiliaryPictureInfo *info, Image_Size *size); @@ -421,7 +421,7 @@ Image_ErrorCode OH_AuxiliaryPictureInfo_GetSize(OH_AuxiliaryPictureInfo *info, I * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} info is nullptr, or size is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureInfo_SetSize(OH_AuxiliaryPictureInfo *info, Image_Size *size); @@ -433,7 +433,7 @@ Image_ErrorCode OH_AuxiliaryPictureInfo_SetSize(OH_AuxiliaryPictureInfo *info, I * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} info is nullptr, or rowStride is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureInfo_GetRowStride(OH_AuxiliaryPictureInfo *info, uint32_t *rowStride); @@ -445,7 +445,7 @@ Image_ErrorCode OH_AuxiliaryPictureInfo_GetRowStride(OH_AuxiliaryPictureInfo *in * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} info is nullptr, or rowStride is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureInfo_SetRowStride(OH_AuxiliaryPictureInfo *info, uint32_t rowStride); @@ -457,7 +457,7 @@ Image_ErrorCode OH_AuxiliaryPictureInfo_SetRowStride(OH_AuxiliaryPictureInfo *in * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} info is nullptr, or pixelFormat is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureInfo_GetPixelFormat(OH_AuxiliaryPictureInfo *info, PIXEL_FORMAT *pixelFormat); @@ -469,7 +469,7 @@ Image_ErrorCode OH_AuxiliaryPictureInfo_GetPixelFormat(OH_AuxiliaryPictureInfo * * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} info is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureInfo_SetPixelFormat(OH_AuxiliaryPictureInfo *info, PIXEL_FORMAT pixelFormat); @@ -480,7 +480,7 @@ Image_ErrorCode OH_AuxiliaryPictureInfo_SetPixelFormat(OH_AuxiliaryPictureInfo * * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} info is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_AuxiliaryPictureInfo_Release(OH_AuxiliaryPictureInfo *info); diff --git a/multimedia/image_framework/libimage_common.ndk.json b/multimedia/image_framework/libimage_common.ndk.json index 9faa63b59..63d2820cc 100644 --- a/multimedia/image_framework/libimage_common.ndk.json +++ b/multimedia/image_framework/libimage_common.ndk.json @@ -1,22 +1,22 @@ [ { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureMetadata_Create" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureMetadata_GetProperty" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureMetadata_SetProperty" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureMetadata_Release" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureMetadata_Clone" } ] \ No newline at end of file diff --git a/multimedia/image_framework/libimage_packer.ndk.json b/multimedia/image_framework/libimage_packer.ndk.json index 694b6e2b8..c6f243504 100644 --- a/multimedia/image_framework/libimage_packer.ndk.json +++ b/multimedia/image_framework/libimage_packer.ndk.json @@ -40,43 +40,43 @@ "name": "OH_PackingOptions_Release" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PackingOptionsForSequence_Create" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PackingOptionsForSequence_SetFrameCount" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PackingOptionsForSequence_GetFrameCount" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PackingOptionsForSequence_SetDelayTimeList" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PackingOptionsForSequence_GetDelayTimeList" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PackingOptionsForSequence_SetDisposalTypes" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PackingOptionsForSequence_GetDisposalTypes" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PackingOptionsForSequence_SetLoopCount" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PackingOptionsForSequence_GetLoopCount" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PackingOptionsForSequence_Release" }, { @@ -92,11 +92,11 @@ "name": "OH_ImagePackerNative_PackToDataFromPixelmap" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImagePackerNative_PackToDataFromPicture" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImagePackerNative_PackToDataFromPixelmapSequence" }, { @@ -108,11 +108,11 @@ "name": "OH_ImagePackerNative_PackToFileFromPixelmap" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImagePackerNative_PackToFileFromPicture" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImagePackerNative_PackToFileFromPixelmapSequence" }, { diff --git a/multimedia/image_framework/libimage_source.ndk.json b/multimedia/image_framework/libimage_source.ndk.json index 133bba8ec..37312763e 100644 --- a/multimedia/image_framework/libimage_source.ndk.json +++ b/multimedia/image_framework/libimage_source.ndk.json @@ -100,7 +100,7 @@ "name": "OH_ImageSourceNative_CreatePixelmapList" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageSourceNative_CreatePicture" }, { @@ -128,19 +128,19 @@ "name": "OH_ImageSourceNative_Release" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_DecodingOptionsForPicture_Create" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_DecodingOptionsForPicture_GetDesiredAuxiliaryPictures" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_DecodingOptionsForPicture_SetDesiredAuxiliaryPictures" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_DecodingOptionsForPicture_Release" } ] \ No newline at end of file diff --git a/multimedia/image_framework/libpicture.ndk.json b/multimedia/image_framework/libpicture.ndk.json index d74f9c0f2..e236c17a4 100644 --- a/multimedia/image_framework/libpicture.ndk.json +++ b/multimedia/image_framework/libpicture.ndk.json @@ -1,114 +1,114 @@ [ { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureNative_CreatePicture" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureNative_GetMainPixelmap" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureNative_GetHdrComposedPixelmap" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureNative_GetGainmapPixelmap" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureNative_SetAuxiliaryPicture" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureNative_GetAuxiliaryPicture" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureNative_GetMetadata" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureNative_SetMetadata" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_PictureNative_Release" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureNative_Create" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureNative_WritePixels" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureNative_ReadPixels" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureNative_GetType" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureNative_GetInfo" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureNative_SetInfo" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureNative_GetMetadata" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureNative_SetMetadata" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureNative_Release" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureInfo_Create" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureInfo_GetType" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureInfo_SetType" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureInfo_GetSize" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureInfo_SetSize" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureInfo_GetRowStride" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureInfo_SetRowStride" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureInfo_GetPixelFormat" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureInfo_SetPixelFormat" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_AuxiliaryPictureInfo_Release" } ] \ No newline at end of file -- Gitee From 85e0969cc41236a0d332e6608dd22f2e315843f2 Mon Sep 17 00:00:00 2001 From: z30049243 Date: Sat, 24 Aug 2024 17:45:36 +0800 Subject: [PATCH 146/359] =?UTF-8?q?=E6=97=8B=E8=BD=AC=E9=9C=80=E6=B1=82?= =?UTF-8?q?=E7=9A=84d.ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: z30049243 --- multimedia/camera_framework/photo_output.h | 14 ++++++++++ multimedia/camera_framework/preview_output.h | 28 ++++++++++++++++++++ multimedia/camera_framework/video_output.h | 14 ++++++++++ 3 files changed, 56 insertions(+) diff --git a/multimedia/camera_framework/photo_output.h b/multimedia/camera_framework/photo_output.h index 2ec0654fe..e9ced68e3 100644 --- a/multimedia/camera_framework/photo_output.h +++ b/multimedia/camera_framework/photo_output.h @@ -222,6 +222,20 @@ Camera_ErrorCode OH_PhotoOutput_UnregisterCallback(Camera_PhotoOutput* photoOutp Camera_ErrorCode OH_PhotoOutput_RegisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureStartWithInfo callback); +/** + * @brief Get the photo rotation angle. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance which used to get the photo rotation angle. + * @param deviceDegree the current device rotation degree. + * @param imageRotation the {@link Camera_ImageRotation} result of photo rotation angle. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_PhotoOutput_GetPhotoRotation(Camera_PhotoOutput* photoOutput, int deviceDegree, + Camera_ImageRotation* imageRotation); + /** * @brief Unregister capture start event callback. * diff --git a/multimedia/camera_framework/preview_output.h b/multimedia/camera_framework/preview_output.h index e59214707..015cd2882 100644 --- a/multimedia/camera_framework/preview_output.h +++ b/multimedia/camera_framework/preview_output.h @@ -190,6 +190,34 @@ Camera_ErrorCode OH_PreviewOutput_GetActiveProfile(Camera_PreviewOutput* preview */ Camera_ErrorCode OH_PreviewOutput_DeleteProfile(Camera_Profile* profile); +/** + * @brief Gets the preview rotation angle. + * + * @param previewOutput the {@link Camera_PreviewOutput} instance which used to get the preview rotation angle. + * @param displayRotation the current display rotation angle. + * @param imageRotation the {@link Camera_ImageRotation} result of preview rotation angle. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_PreviewOutput_GetPreviewRotation(Camera_PreviewOutput* previewOutput, int displayRotation, + Camera_ImageRotation* imageRotation); + +/** + * @brief Sets the preview rotation angle. + * + * @param previewOutput the {@link Camera_PreviewOutput} instance which used to get the preview rotation angle. + * @param previewRotation the {@link Camera_ImageRotation} result of preview rotation angle. + * @param isDisplayLocked True means the display is locked. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_PreviewOutput_SetPreviewRotation(Camera_PreviewOutput* previewOutput, + Camera_ImageRotation previewRotation, bool isDisplayLocked); + /** * @brief Get supported preview output frame rate list. * diff --git a/multimedia/camera_framework/video_output.h b/multimedia/camera_framework/video_output.h index 3f993c82e..9ff07d45a 100644 --- a/multimedia/camera_framework/video_output.h +++ b/multimedia/camera_framework/video_output.h @@ -188,6 +188,20 @@ Camera_ErrorCode OH_VideoOutput_GetActiveProfile(Camera_VideoOutput* videoOutput */ Camera_ErrorCode OH_VideoOutput_DeleteProfile(Camera_VideoProfile* profile); +/** + * @brief Get the video rotation angle. + * + * @param videoOutput the {@link Camera_VideoOutput} instance which used to get the video rotation angle. + * @param deviceDegree the current device rotation degree. + * @param imageRotation the {@link Camera_ImageRotation} result of video rotation angle. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 12 + */ +Camera_ErrorCode OH_VideoOutput_GetVideoRotation(Camera_VideoOutput* videoOutput, int deviceDegree, + Camera_ImageRotation* imageRotation); + /** * @brief Get supported video output frame rate list. * -- Gitee From 5ba28f7d74d45d769ff9d373f7f6d8bf356ab346 Mon Sep 17 00:00:00 2001 From: z30049243 Date: Sat, 24 Aug 2024 18:37:52 +0800 Subject: [PATCH 147/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: z30049243 --- multimedia/camera_framework/photo_output.h | 2 +- multimedia/camera_framework/preview_output.h | 4 ++-- multimedia/camera_framework/video_output.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/multimedia/camera_framework/photo_output.h b/multimedia/camera_framework/photo_output.h index e9ced68e3..91ac87547 100644 --- a/multimedia/camera_framework/photo_output.h +++ b/multimedia/camera_framework/photo_output.h @@ -229,7 +229,7 @@ Camera_ErrorCode OH_PhotoOutput_RegisterCaptureStartWithInfoCallback(Camera_Phot * @param deviceDegree the current device rotation degree. * @param imageRotation the {@link Camera_ImageRotation} result of photo rotation angle. * @return {@link #CAMERA_OK} if the method call succeeds. - * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ diff --git a/multimedia/camera_framework/preview_output.h b/multimedia/camera_framework/preview_output.h index 015cd2882..509198fd4 100644 --- a/multimedia/camera_framework/preview_output.h +++ b/multimedia/camera_framework/preview_output.h @@ -197,7 +197,7 @@ Camera_ErrorCode OH_PreviewOutput_DeleteProfile(Camera_Profile* profile); * @param displayRotation the current display rotation angle. * @param imageRotation the {@link Camera_ImageRotation} result of preview rotation angle. * @return {@link #CAMERA_OK} if the method call succeeds. - * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ @@ -211,7 +211,7 @@ Camera_ErrorCode OH_PreviewOutput_GetPreviewRotation(Camera_PreviewOutput* previ * @param previewRotation the {@link Camera_ImageRotation} result of preview rotation angle. * @param isDisplayLocked True means the display is locked. * @return {@link #CAMERA_OK} if the method call succeeds. - * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ diff --git a/multimedia/camera_framework/video_output.h b/multimedia/camera_framework/video_output.h index 9ff07d45a..8a79f7968 100644 --- a/multimedia/camera_framework/video_output.h +++ b/multimedia/camera_framework/video_output.h @@ -195,7 +195,7 @@ Camera_ErrorCode OH_VideoOutput_DeleteProfile(Camera_VideoProfile* profile); * @param deviceDegree the current device rotation degree. * @param imageRotation the {@link Camera_ImageRotation} result of video rotation angle. * @return {@link #CAMERA_OK} if the method call succeeds. - * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ -- Gitee From bef5d38d06bf166307c61b82f05ca5a42e9d71b5 Mon Sep 17 00:00:00 2001 From: z30049243 Date: Sat, 24 Aug 2024 18:56:32 +0800 Subject: [PATCH 148/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=AD=A3=E7=A1=AE?= =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: z30049243 --- multimedia/camera_framework/photo_output.h | 4 ++-- multimedia/camera_framework/preview_output.h | 8 ++++---- multimedia/camera_framework/video_output.h | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/multimedia/camera_framework/photo_output.h b/multimedia/camera_framework/photo_output.h index 91ac87547..70f909bcf 100644 --- a/multimedia/camera_framework/photo_output.h +++ b/multimedia/camera_framework/photo_output.h @@ -223,13 +223,13 @@ Camera_ErrorCode OH_PhotoOutput_RegisterCaptureStartWithInfoCallback(Camera_Phot OH_PhotoOutput_CaptureStartWithInfo callback); /** - * @brief Get the photo rotation angle. + * @brief Gets the photo rotation angle. * * @param photoOutput the {@link Camera_PhotoOutput} instance which used to get the photo rotation angle. * @param deviceDegree the current device rotation degree. * @param imageRotation the {@link Camera_ImageRotation} result of photo rotation angle. * @return {@link #CAMERA_OK} if the method call succeeds. - * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ diff --git a/multimedia/camera_framework/preview_output.h b/multimedia/camera_framework/preview_output.h index 509198fd4..6ae228ba2 100644 --- a/multimedia/camera_framework/preview_output.h +++ b/multimedia/camera_framework/preview_output.h @@ -197,7 +197,7 @@ Camera_ErrorCode OH_PreviewOutput_DeleteProfile(Camera_Profile* profile); * @param displayRotation the current display rotation angle. * @param imageRotation the {@link Camera_ImageRotation} result of preview rotation angle. * @return {@link #CAMERA_OK} if the method call succeeds. - * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ @@ -208,10 +208,10 @@ Camera_ErrorCode OH_PreviewOutput_GetPreviewRotation(Camera_PreviewOutput* previ * @brief Sets the preview rotation angle. * * @param previewOutput the {@link Camera_PreviewOutput} instance which used to get the preview rotation angle. - * @param previewRotation the {@link Camera_ImageRotation} result of preview rotation angle. - * @param isDisplayLocked True means the display is locked. + * @param previewRotation the {@link Camera_ImageRotation} of preview display rotation angle. + * @param isDisplayLocked TRUE means the display is locked. * @return {@link #CAMERA_OK} if the method call succeeds. - * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ diff --git a/multimedia/camera_framework/video_output.h b/multimedia/camera_framework/video_output.h index 8a79f7968..d0228d3e7 100644 --- a/multimedia/camera_framework/video_output.h +++ b/multimedia/camera_framework/video_output.h @@ -189,13 +189,13 @@ Camera_ErrorCode OH_VideoOutput_GetActiveProfile(Camera_VideoOutput* videoOutput Camera_ErrorCode OH_VideoOutput_DeleteProfile(Camera_VideoProfile* profile); /** - * @brief Get the video rotation angle. + * @brief Gets the video rotation angle. * * @param videoOutput the {@link Camera_VideoOutput} instance which used to get the video rotation angle. * @param deviceDegree the current device rotation degree. * @param imageRotation the {@link Camera_ImageRotation} result of video rotation angle. * @return {@link #CAMERA_OK} if the method call succeeds. - * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. * @since 12 */ -- Gitee From f79d12d0c6ee335f1b32ea36eeef62002155d0d4 Mon Sep 17 00:00:00 2001 From: z30049243 Date: Sat, 24 Aug 2024 18:59:36 +0800 Subject: [PATCH 149/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: z30049243 --- multimedia/camera_framework/preview_output.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/camera_framework/preview_output.h b/multimedia/camera_framework/preview_output.h index 6ae228ba2..15e67085d 100644 --- a/multimedia/camera_framework/preview_output.h +++ b/multimedia/camera_framework/preview_output.h @@ -207,7 +207,7 @@ Camera_ErrorCode OH_PreviewOutput_GetPreviewRotation(Camera_PreviewOutput* previ /** * @brief Sets the preview rotation angle. * - * @param previewOutput the {@link Camera_PreviewOutput} instance which used to get the preview rotation angle. + * @param previewOutput the {@link Camera_PreviewOutput} instance which used to set the preview rotation angle. * @param previewRotation the {@link Camera_ImageRotation} of preview display rotation angle. * @param isDisplayLocked TRUE means the display is locked. * @return {@link #CAMERA_OK} if the method call succeeds. -- Gitee From 5c4b0bf58c1df125d4558b8145645ae743daac6e Mon Sep 17 00:00:00 2001 From: huchang Date: Sat, 24 Aug 2024 20:03:02 +0800 Subject: [PATCH 150/359] add audiokit tag Signed-off-by: huchang Change-Id: I0196d57bc6cfa16b7dbb620efbcf1c1043fa761c --- multimedia/audio_framework/audio_manager/native_audio_manager.h | 1 + 1 file changed, 1 insertion(+) diff --git a/multimedia/audio_framework/audio_manager/native_audio_manager.h b/multimedia/audio_framework/audio_manager/native_audio_manager.h index b25ae98d8..24c37f94b 100644 --- a/multimedia/audio_framework/audio_manager/native_audio_manager.h +++ b/multimedia/audio_framework/audio_manager/native_audio_manager.h @@ -32,6 +32,7 @@ * * @library libohaudio.so * @syscap SystemCapability.Multimedia.Audio.Core + * @kit AudioKit * @since 12 * @version 1.0 */ -- Gitee From 269a5d9d2c75ff325c6cf1b14aa18bcd9a5b1cbc Mon Sep 17 00:00:00 2001 From: rchdlee Date: Sat, 24 Aug 2024 23:41:10 +0800 Subject: [PATCH 151/359] =?UTF-8?q?avcodec=E6=8E=A5=E5=8F=A3=E6=B3=A8?= =?UTF-8?q?=E9=87=8A=E5=A2=9E=E5=8A=A0=E5=B7=B2=E6=9C=89=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: rchdlee --- multimedia/av_codec/native_avcodec_videodecoder.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/multimedia/av_codec/native_avcodec_videodecoder.h b/multimedia/av_codec/native_avcodec_videodecoder.h index 7cb92a41c..a6c2ebfe8 100644 --- a/multimedia/av_codec/native_avcodec_videodecoder.h +++ b/multimedia/av_codec/native_avcodec_videodecoder.h @@ -164,6 +164,7 @@ OH_AVErrCode OH_VideoDecoder_Configure(OH_AVCodec *codec, OH_AVFormat *format); * {@link AV_ERR_UNKNOWN}, unknown error. * {@link AV_ERR_SERVICE_DIED}, avcodec service is died. * {@link AV_ERR_INVALID_STATE}, this interface was called in invalid state. + * {@link AV_ERR_OPERATE_NOT_PERMIT}, if {@link OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE} is correctly configured, but decoder's output surface is not set, the operation is not permitted. * @since 9 */ OH_AVErrCode OH_VideoDecoder_Prepare(OH_AVCodec *codec); @@ -458,4 +459,4 @@ OH_AVErrCode OH_VideoDecoder_SetDecryptionConfig(OH_AVCodec *codec, MediaKeySess } #endif -#endif // NATIVE_AVCODEC_VIDEODECODER_H \ No newline at end of file +#endif // NATIVE_AVCODEC_VIDEODECODER_H -- Gitee From a66c9d91d5b5aadef527edfea18f76ab8618c53d Mon Sep 17 00:00:00 2001 From: wangsen1994 Date: Sat, 24 Aug 2024 19:29:35 +0800 Subject: [PATCH 152/359] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E5=B8=B8=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangsen1994 --- .../commonevent/oh_commonevent_support.h | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/BasicServicesKit/commonevent/oh_commonevent_support.h b/BasicServicesKit/commonevent/oh_commonevent_support.h index 2f4b77898..67f77687b 100644 --- a/BasicServicesKit/commonevent/oh_commonevent_support.h +++ b/BasicServicesKit/commonevent/oh_commonevent_support.h @@ -521,6 +521,40 @@ static const char* const COMMON_EVENT_SCREEN_UNLOCKED = "usual.event.SCREEN_UNLO * @since 12 */ static const char* const COMMON_EVENT_SCREEN_LOCKED = "usual.event.SCREEN_LOCKED"; + +/** + * @brief This commonEvent means when the http proxy change. + * + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_HTTP_PROXY_CHANGE = "usual.event.HTTP_PROXY_CHANGE"; + +/** + * @brief This commonEvent means when the network connectivityy change. + * + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_CONNECTIVITY_CHANGE = "usual.event.CONNECTIVITY_CHANGE"; + +/** + * @brief This common event means that minors mode is enabled. + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_MINORSMODE_ON = "usual.event.MINORSMODE_ON"; + +/** + * @brief This common event means that minors mode is disabled. + * This is a protected common event that can only be sent by system. + * + * @since 12 + */ +static const char* const COMMON_EVENT_MINORSMODE_OFF = "usual.event.MINORSMODE_OFF"; #ifdef __cplusplus } #endif -- Gitee From 911c846762e8b7d0fa7603f8c93dc57f98474baf Mon Sep 17 00:00:00 2001 From: libliang Date: Sun, 25 Aug 2024 13:51:50 +0800 Subject: [PATCH 153/359] first checin in setDefaultDevice Signed-off-by: libliang --- .../audio_renderer/native_audiorenderer.h | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h index baf29a672..1690861de 100644 --- a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h +++ b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h @@ -480,6 +480,29 @@ OH_AudioStream_Result OH_AudioRenderer_SetSilentModeAndMixWithOthers( OH_AudioStream_Result OH_AudioRenderer_GetSilentModeAndMixWithOthers( OH_AudioRenderer* renderer, bool* on); +/** + * @brief Temporarily changes the current audio device + * This function applys on audiorenderers whose StreamUsage are + * STREAM_USAGE_VOICE_COMMUNICATIN/STREAM_USAGE_VIDEO_COMMUNICATION/STREAM_USAGE_VOICE_MESSAGE. + * Setting the device will ony takes effect if no other accessory such as headphoes are in use. + * + * @param renderer Renderer generated by OH_AudioStreamBuilder_GenerateRenderer() + * @param deviceType The target device. The available deviceTypes are: + * EARPIECE: Built-in earpiece + * SPEAKER: Built-in speaker + * DEFAULT: System default output device + * @return result code for this function. + * {@link #AUDIOSTREAM_SUCCESS} succeed in setting the default output device + * {@link AUDIOSTREAM_ERROR_INVALID_PARAM}: + * 1.The param of renderer is nullptr; + * 2.The param of deviceType is not valid + * {@link AUDIOSTREAM_ERROR_ILLEGAL_STATE} This audiorenderer can not reset the output device + * {@link #AUDIOSTREAM_ERROR_SYSTEM} system error when calling this function. + * @since 12 + */ +OH_AudioStream_Result OH_AudioRenderer_SetDefaultOutputDevice( + OH_AudioRenderer* renderer, OH_AudioDevice_Type deviceType); + #ifdef __cplusplus } #endif -- Gitee From f1db35af14f0ddba6e3263cd5adc841188a71f28 Mon Sep 17 00:00:00 2001 From: libliang Date: Sun, 25 Aug 2024 14:28:54 +0800 Subject: [PATCH 154/359] add releated header Signed-off-by: libliang --- multimedia/audio_framework/audio_renderer/native_audiorenderer.h | 1 + 1 file changed, 1 insertion(+) diff --git a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h index 1690861de..cde3790f8 100644 --- a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h +++ b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h @@ -43,6 +43,7 @@ #include #include #include "native_audiostream_base.h" +#include "native_audio_device_base.h" #include "multimedia/native_audio_channel_layout.h" #ifdef __cplusplus extern "C" { -- Gitee From df921e144d0891d1f40ab67af84b1e12ca7b911e Mon Sep 17 00:00:00 2001 From: zhengqiyi Date: Sun, 25 Aug 2024 08:05:12 +0000 Subject: [PATCH 155/359] fix node click distance number Signed-off-by: zhengqiyi --- arkui/ace_engine/native/native_node.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 6f4531d7d..82fb26773 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -1822,7 +1822,7 @@ typedef enum { * .value[0].f32: allowed moving distance of a finger, in vp. \n * */ - NODE_CLICK_DISTANCE = 96, + NODE_CLICK_DISTANCE = 97, /** * @brief Defines the text content attribute, which can be set, reset, and obtained as required through APIs. -- Gitee From d035f17550b8eba5556897a0a24da20869809ed5 Mon Sep 17 00:00:00 2001 From: libliang Date: Sun, 25 Aug 2024 16:27:08 +0800 Subject: [PATCH 156/359] add the ohaudio.ndk.json Signed-off-by: libliang --- multimedia/audio_framework/ohaudio.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index 58b9ad34e..dc74200c7 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -367,4 +367,8 @@ "first_introduced": "12", "name": "OH_AudioRoutingManager_GetPreferredInputDevice" } + { + "first_introduced": "12", + "name":"OH_AudioRenderer_SetDefaultOutputDevice" + }, ] -- Gitee From bd533c116570a02f1dd1010383c2ceed985911c5 Mon Sep 17 00:00:00 2001 From: libliang Date: Sun, 25 Aug 2024 16:53:03 +0800 Subject: [PATCH 157/359] fix the # error Signed-off-by: libliang --- .../audio_framework/audio_renderer/native_audiorenderer.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h index cde3790f8..49c765ff6 100644 --- a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h +++ b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h @@ -494,10 +494,10 @@ OH_AudioStream_Result OH_AudioRenderer_GetSilentModeAndMixWithOthers( * DEFAULT: System default output device * @return result code for this function. * {@link #AUDIOSTREAM_SUCCESS} succeed in setting the default output device - * {@link AUDIOSTREAM_ERROR_INVALID_PARAM}: + * {@link #AUDIOSTREAM_ERROR_INVALID_PARAM}: * 1.The param of renderer is nullptr; * 2.The param of deviceType is not valid - * {@link AUDIOSTREAM_ERROR_ILLEGAL_STATE} This audiorenderer can not reset the output device + * {@link #AUDIOSTREAM_ERROR_ILLEGAL_STATE} This audiorenderer can not reset the output device * {@link #AUDIOSTREAM_ERROR_SYSTEM} system error when calling this function. * @since 12 */ -- Gitee From 4ffaf9b26b40b4520ba8dfc186ab05f995d7b8b0 Mon Sep 17 00:00:00 2001 From: libliang Date: Sun, 25 Aug 2024 19:01:19 +0800 Subject: [PATCH 158/359] fix ohaudio.ndk error Signed-off-by: libliang --- multimedia/audio_framework/ohaudio.ndk.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index dc74200c7..6d94eba3c 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -366,9 +366,9 @@ { "first_introduced": "12", "name": "OH_AudioRoutingManager_GetPreferredInputDevice" - } + }, { "first_introduced": "12", - "name":"OH_AudioRenderer_SetDefaultOutputDevice" - }, + "name":"OH_AudioRenderer_SetDefaultOutputDevice" + } ] -- Gitee From 2c6636b59071ef1af769653cb6c98e6080a1218b Mon Sep 17 00:00:00 2001 From: rchdlee Date: Sun, 25 Aug 2024 19:39:46 +0800 Subject: [PATCH 159/359] =?UTF-8?q?=E8=A1=A5=E5=85=85=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: rchdlee --- multimedia/av_codec/native_avcodec_videodecoder.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/multimedia/av_codec/native_avcodec_videodecoder.h b/multimedia/av_codec/native_avcodec_videodecoder.h index a6c2ebfe8..55e575b4e 100644 --- a/multimedia/av_codec/native_avcodec_videodecoder.h +++ b/multimedia/av_codec/native_avcodec_videodecoder.h @@ -164,7 +164,7 @@ OH_AVErrCode OH_VideoDecoder_Configure(OH_AVCodec *codec, OH_AVFormat *format); * {@link AV_ERR_UNKNOWN}, unknown error. * {@link AV_ERR_SERVICE_DIED}, avcodec service is died. * {@link AV_ERR_INVALID_STATE}, this interface was called in invalid state. - * {@link AV_ERR_OPERATE_NOT_PERMIT}, if {@link OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE} is correctly configured, but decoder's output surface is not set, the operation is not permitted. + * {@link AV_ERR_OPERATE_NOT_PERMIT}, decoder is in buffer mode and color space conversion is configured. * @since 9 */ OH_AVErrCode OH_VideoDecoder_Prepare(OH_AVCodec *codec); @@ -181,6 +181,7 @@ OH_AVErrCode OH_VideoDecoder_Prepare(OH_AVCodec *codec); * {@link AV_ERR_UNKNOWN}, unknown error. * {@link AV_ERR_SERVICE_DIED}, avcodec service is died. * {@link AV_ERR_INVALID_STATE}, this interface was called in invalid state. + * {@link AV_ERR_OPERATE_NOT_PERMIT}, video color space conversion is configured but decoder is not prepared. * @since 9 */ OH_AVErrCode OH_VideoDecoder_Start(OH_AVCodec *codec); -- Gitee From 429e06c05062a242b7048a92817fa6c624d1117e Mon Sep 17 00:00:00 2001 From: rchdlee Date: Sun, 25 Aug 2024 19:41:04 +0800 Subject: [PATCH 160/359] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=A4=9A=E4=BD=99?= =?UTF-8?q?=E7=A9=BA=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: rchdlee --- multimedia/av_codec/native_avcodec_videodecoder.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/av_codec/native_avcodec_videodecoder.h b/multimedia/av_codec/native_avcodec_videodecoder.h index 55e575b4e..f4b58bcbc 100644 --- a/multimedia/av_codec/native_avcodec_videodecoder.h +++ b/multimedia/av_codec/native_avcodec_videodecoder.h @@ -460,4 +460,4 @@ OH_AVErrCode OH_VideoDecoder_SetDecryptionConfig(OH_AVCodec *codec, MediaKeySess } #endif -#endif // NATIVE_AVCODEC_VIDEODECODER_H +#endif // NATIVE_AVCODEC_VIDEODECODER_H \ No newline at end of file -- Gitee From 3ce529f2a191c4f516ec6e0df136a16ce9279c16 Mon Sep 17 00:00:00 2001 From: lvshiqi Date: Mon, 26 Aug 2024 09:44:54 +0800 Subject: [PATCH 161/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lvshiqi Change-Id: I99a3aff7712ba3f49d8e6f9b2ba6070602cf2c9b --- graphic/graphic_2d/native_drawing/drawing_canvas.h | 2 +- graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/graphic/graphic_2d/native_drawing/drawing_canvas.h b/graphic/graphic_2d/native_drawing/drawing_canvas.h index 783230ec9..f78e6127f 100644 --- a/graphic/graphic_2d/native_drawing/drawing_canvas.h +++ b/graphic/graphic_2d/native_drawing/drawing_canvas.h @@ -840,7 +840,7 @@ OH_Drawing_ErrorCode OH_Drawing_CanvasGetImageInfo(OH_Drawing_Canvas* canvas, OH * @since 13 * @version 1.0 */ -OH_Drawing_ErrorCode OH_Drawing_Drawing_CanvasDrawRecordCmd(OH_Drawing_Canvas* canvas, OH_Drawing_RecordCmd* recordCmd); +OH_Drawing_ErrorCode OH_Drawing_CanvasDrawRecordCmd(OH_Drawing_Canvas* canvas, OH_Drawing_RecordCmd* recordCmd); #ifdef __cplusplus } #endif diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index e6b537d68..9c5b0d269 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -1444,7 +1444,7 @@ }, { "first_introduced": "13", - "name":"OH_Drawing_Drawing_CanvasDrawRecordCmd" + "name":"OH_Drawing_CanvasDrawRecordCmd" }, { "first_introduced": "13", -- Gitee From 0d888f47ac1c4ab49fe997a86d3a8d372055ab37 Mon Sep 17 00:00:00 2001 From: wuchengwen Date: Mon, 26 Aug 2024 09:50:36 +0800 Subject: [PATCH 162/359] fix:inputmethod doc Signed-off-by: wuchengwen --- inputmethod/include/inputmethod_controller_capi.h | 4 ++-- inputmethod/include/inputmethod_inputmethod_proxy_capi.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/inputmethod/include/inputmethod_controller_capi.h b/inputmethod/include/inputmethod_controller_capi.h index 0816e69f8..abfc5cbdc 100644 --- a/inputmethod/include/inputmethod_controller_capi.h +++ b/inputmethod/include/inputmethod_controller_capi.h @@ -51,7 +51,7 @@ extern "C" { * If the call succeeds, caller cannot release textEditorProxy until the next attach or detach call. * @param options Represents a pointer to an {@link InputMethod_AttachOptions} instance. * The options when attaching input method. - * @param inputMethodProxy Represents a pointer to an {@link OH_InputMethod_InputMethodProxy} instance. + * @param inputMethodProxy Represents a pointer to an {@link InputMethod_InputMethodProxy} instance. * Lifecycle is mantianed until the next attach or detach call. * @return Returns a specific error code. * {@link IME_ERR_OK} - success. @@ -68,7 +68,7 @@ InputMethod_ErrorCode OH_InputMethodController_Attach(InputMethod_TextEditorProx /** * @brief Detach application from the input method service. * - * @param inputMethodProxy Represents a pointer to an {@link OH_InputMethod_InputMethodProxy} instance. + * @param inputMethodProxy Represents a pointer to an {@link InputMethod_InputMethodProxy} instance. * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. * @return Returns a specific error code. * {@link IME_ERR_OK} - success. diff --git a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h index e542d96da..c0ae0a12c 100644 --- a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h +++ b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h @@ -150,7 +150,7 @@ InputMethod_ErrorCode OH_InputMethodProxy_NotifyCursorUpdate( /** * @brief Send private command. * - * @param inputMethodProxy Represents a pointer to an {@link OH_InputMethod_InputMethodProxy} instance. + * @param inputMethodProxy Represents a pointer to an {@link InputMethod_InputMethodProxy} instance. * The inputMethodProxy is obtained from {@link OH_InputMethodController_Attach}. * @param privateCommand The private commands, which is defined in {@link InputMethod_PrivateCommand}. Max size 32KB. * @param size The size of privateCommand. Max is 5. -- Gitee From 3f537b6ab4470aff960a358fc0868be516f85390 Mon Sep 17 00:00:00 2001 From: lipengfei Date: Mon, 26 Aug 2024 10:19:05 +0800 Subject: [PATCH 163/359] =?UTF-8?q?=E7=9F=AD=E6=97=B6=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0CAPI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lipengfei --- backgroundtasks/transient/BUILD.gn | 35 ++++++ .../transient/include/transient_task_api.h | 106 ++++++++++++++++++ .../transient/include/transient_task_type.h | 105 +++++++++++++++++ .../transient/libtransient_task.ndk.json | 14 +++ 4 files changed, 260 insertions(+) create mode 100644 backgroundtasks/transient/BUILD.gn create mode 100644 backgroundtasks/transient/include/transient_task_api.h create mode 100644 backgroundtasks/transient/include/transient_task_type.h create mode 100644 backgroundtasks/transient/libtransient_task.ndk.json diff --git a/backgroundtasks/transient/BUILD.gn b/backgroundtasks/transient/BUILD.gn new file mode 100644 index 000000000..1a04c838e --- /dev/null +++ b/backgroundtasks/transient/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_library("libtransient_task_ndk") { + output_name = "transient_task_ndk" + output_extension = "so" + ndk_description_file = "./libtransient_task.ndk.json" + system_capability = + "SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask" + system_capability_headers = [ + "include/transient_task_api.h", + "include/transient_task_type.h", + ] +} + +ohos_ndk_headers("transient_task_header") { + dest_dir = "$ndk_headers_out_dir/transient_task" + sources = [ + "include/transient_task_api.h", + "include/transient_task_type.h", + ] +} diff --git a/backgroundtasks/transient/include/transient_task_api.h b/backgroundtasks/transient/include/transient_task_api.h new file mode 100644 index 000000000..9beea8279 --- /dev/null +++ b/backgroundtasks/transient/include/transient_task_api.h @@ -0,0 +1,106 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef OHOS_BACKGROUOND_TASK_MANAGER_TRANSIENT_TASK_API_H +#define OHOS_BACKGROUOND_TASK_MANAGER_TRANSIENT_TASK_API_H + +#include + +#include "transient_task_type.h" + +/** + * @addtogroup TransientTask + * @{ + * + * @brief Provide C interface for the Transient task management. + * + * @since 13 + * @version 1.0 + */ + +/** + * @file transient_task_api.h + * + * @brief Declares the APIs for Transient task management. + * + * @library libtransient_task_ndk + * @kit BackgroundTasksKit + * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask + * @since 13 + */ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Requests delayed transition to the suspended state. + * + * @param reason Indicates the reason for delayed transition to the suspended state. + * @param callback Indicates the callback delay time expired. + * @param delaySuspendInfo Indicates the info of delay request. + * @return {@link ERR_TRANSIENT_TASK_OK} 0 - Success. + * {@link ERR_TRANSIENT_TASK_INVALID_PARAM} 401 - Invalid parameter. + * {@link ERR_TRANSIENT_TASK_PARCEL_FAILED} 9800002 - Parcelable failed. + * {@link ERR_TRANSIENT_TASK_TRANSACTION_FAILED} 9800003 - Transact failed. + * {@link ERR_TRANSIENT_TASK_SYS_NOT_READY} 9800004 - System service not ready. + * {@link ERR_TRANSIENT_TASK_CLIENT_INFO_VERIFICATION_FAILED} 9900001 - uid or pid info verify failed. + * {@link ERR_TRANSIENT_TASK_SERVICE_VERIFICATION_FAILED} 9900002 - Transient task verification failed. + * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask + * @since 13 + * @version 1.0 + */ +int32_t OH_BackgroundTaskManager_RequestSuspendDelay(const char* reason, + TransientTask_Callback callback, TransientTask_DelaySuspendInfo *info); + +/** + * @brief Obtains the remaining time before an application enters the suspended state. + * + * @param requestId Indicates the identifier of the delay request. + * @param time Indicates the remaining Time. + * @return {@link ERR_TRANSIENT_TASK_OK} 0 - Success. + * {@link ERR_TRANSIENT_TASK_INVALID_PARAM} 401 - Invalid parameter. + * {@link ERR_TRANSIENT_TASK_PARCEL_FAILED} 9800002 - Parcelable failed. + * {@link ERR_TRANSIENT_TASK_TRANSACTION_FAILED} 9800003 - Transact failed. + * {@link ERR_TRANSIENT_TASK_SYS_NOT_READY} 9800004 - System service not ready. + * {@link ERR_TRANSIENT_TASK_CLIENT_INFO_VERIFICATION_FAILED} 9900001 - uid or pid info verify failed. + * {@link ERR_TRANSIENT_TASK_SERVICE_VERIFICATION_FAILED} 9900002 - Transient task verification failed. + * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask + * @since 13 + * @version 1.0 + */ +int32_t OH_BackgroundTaskManager_GetRemainingDelayTime(int32_t requestId, int32_t *delayTime); + +/** + * @brief Cancels delayed transition to the suspended state. + * + * @param requestId Indicates the identifier of the delay request. + * @return {@link ERR_TRANSIENT_TASK_OK} 0 - Success. + * {@link ERR_TRANSIENT_TASK_INVALID_PARAM} 401 - Invalid parameter. + * {@link ERR_TRANSIENT_TASK_PARCEL_FAILED} 9800002 - Parcelable failed. + * {@link ERR_TRANSIENT_TASK_TRANSACTION_FAILED} 9800003 - Transact failed. + * {@link ERR_TRANSIENT_TASK_SYS_NOT_READY} 9800004 - System service not ready. + * {@link ERR_TRANSIENT_TASK_CLIENT_INFO_VERIFICATION_FAILED} 9900001 - uid or pid info verify failed. + * {@link ERR_TRANSIENT_TASK_SERVICE_VERIFICATION_FAILED} 9900002 - Transient task verification failed. + * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask + * @since 13 + * @version 1.0 + */ +int32_t OH_BackgroundTaskManager_CancelSuspendDelay(int32_t requestId); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/backgroundtasks/transient/include/transient_task_type.h b/backgroundtasks/transient/include/transient_task_type.h new file mode 100644 index 000000000..7895f85b2 --- /dev/null +++ b/backgroundtasks/transient/include/transient_task_type.h @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef OHOS_BACKGROUOND_TASK_MANAGER_TRANSIENT_TASK_TYPE_H +#define OHOS_BACKGROUOND_TASK_MANAGER_TRANSIENT_TASK_TYPE_H + +/** + * @addtogroup TransientTask + * @{ + * + * @brief Provide C interface for the transient task management. + * + * @since 13 + * @version 1.0 + */ + +/** + * @file transient_task_type.h + * + * @brief Defines the data structures for the C APIs of transient task. + * + * @library libtransient_task_ndk + * @kit BackgroundTasksKit + * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask + * @since 11 + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif +/** + * @brief Enum for transient task error code. + * + * @since 13 + */ +typedef enum TransientTask_ErrorCode { + /** + * @error result is ok. + */ + ERR_TRANSIENT_TASK_OK = 0, + /** + * @error Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types. + */ + ERR_TRANSIENT_TASK_INVALID_PARAM = 401, + /** + * @error Parcel operation failed. + */ + ERR_TRANSIENT_TASK_PARCEL_FAILED = 9800002, + /** + * @error Internal transaction failed. + */ + ERR_TRANSIENT_TASK_TRANSACTION_FAILED = 9800003, + /** + * @error System service operation failed. + */ + ERR_TRANSIENT_TASK_SYS_NOT_READY = 9800004, + /** + * Caller information verification failed for a transient task. + */ + ERR_TRANSIENT_TASK_CLIENT_INFO_VERIFICATION_FAILED = 9900001, + /** + * Transient task verification failed. + */ + ERR_TRANSIENT_TASK_SERVICE_VERIFICATION_FAILED = 9900002, +} TransientTask_ErrorCode; + +/** + * @brief Define DelaySuspendInfo. + * + * @since 13 + * @version 1.0 + */ +typedef struct TransientTask_DelaySuspendInfo { + /** The unique identifier of the delay request */ + int32_t requestId; + /** The actual delay duration (ms) */ + int32_t actualDelayTime; +} TransientTask_DelaySuspendInfo; + +/** + * @brief Define a callback function when delay time expired. + * + * @since 13 + */ +typedef void (*TransientTask_Callback)(void); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/backgroundtasks/transient/libtransient_task.ndk.json b/backgroundtasks/transient/libtransient_task.ndk.json new file mode 100644 index 000000000..df952bfe1 --- /dev/null +++ b/backgroundtasks/transient/libtransient_task.ndk.json @@ -0,0 +1,14 @@ +[ + { + "first_introduced": "13", + "name": "OH_BackgroundTaskManager_RequestSuspendDelay" + }, + { + "first_introduced": "13", + "name": "OH_BackgroundTaskManager_GetRemainingDelayTime" + }, + { + "first_introduced": "13", + "name": "OH_BackgroundTaskManager_CancelSuspendDelay" + } +] \ No newline at end of file -- Gitee From 081eaaf48431f83fe09f723c217141bfed9bb7d6 Mon Sep 17 00:00:00 2001 From: jinmingru Date: Mon, 26 Aug 2024 15:10:06 +0800 Subject: [PATCH 164/359] jinmingru1@huawei.com Signed-off-by: jinmingru --- multimedia/image_effect/image_effect.h | 4 ++-- multimedia/image_effect/libimage_effect.ndk.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/multimedia/image_effect/image_effect.h b/multimedia/image_effect/image_effect.h index b1bb66de6..db65c16e4 100644 --- a/multimedia/image_effect/image_effect.h +++ b/multimedia/image_effect/image_effect.h @@ -326,7 +326,7 @@ ImageEffect_ErrorCode OH_ImageEffect_SetOutputUri(OH_ImageEffect *imageEffect, c * @return Returns EFFECT_SUCCESS if the execution is successful, otherwise returns a specific error code, refer to * {@link ImageEffect_ErrorCode} * {@link EFFECT_ERROR_PARAM_INVALID}, the input parameter is a null pointer. - * @since 12 + * @since 13 */ ImageEffect_ErrorCode OH_ImageEffect_SetInputPicture(OH_ImageEffect *imageEffect, OH_PictureNative *picture); @@ -339,7 +339,7 @@ ImageEffect_ErrorCode OH_ImageEffect_SetInputPicture(OH_ImageEffect *imageEffect * @return Returns EFFECT_SUCCESS if the execution is successful, otherwise returns a specific error code, refer to * {@link ImageEffect_ErrorCode} * {@link EFFECT_ERROR_PARAM_INVALID}, the input parameter is a null pointer. - * @since 12 + * @since 13 */ ImageEffect_ErrorCode OH_ImageEffect_SetOutputPicture(OH_ImageEffect *imageEffect, OH_PictureNative *picture); diff --git a/multimedia/image_effect/libimage_effect.ndk.json b/multimedia/image_effect/libimage_effect.ndk.json index 99226c04a..16f31e29f 100644 --- a/multimedia/image_effect/libimage_effect.ndk.json +++ b/multimedia/image_effect/libimage_effect.ndk.json @@ -204,11 +204,11 @@ "name": "OH_ImageEffect_SetOutputUri" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageEffect_SetInputPicture" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageEffect_SetOutputPicture" }, { -- Gitee From b9923025891d79eb0702236f485627361d621d6a Mon Sep 17 00:00:00 2001 From: cuiruibin Date: Mon, 26 Aug 2024 15:21:23 +0800 Subject: [PATCH 165/359] =?UTF-8?q?NDK=E6=8E=A5=E5=8F=A3=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E6=95=B4=E6=94=B9=20Signed-off-by:=20cuiruibin=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- filemanagement/file_uri/include/oh_file_uri.h | 2 +- filemanagement/fileshare/include/oh_file_share.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/filemanagement/file_uri/include/oh_file_uri.h b/filemanagement/file_uri/include/oh_file_uri.h index 799cb6eea..e7805faf8 100644 --- a/filemanagement/file_uri/include/oh_file_uri.h +++ b/filemanagement/file_uri/include/oh_file_uri.h @@ -27,7 +27,7 @@ */ #include "error_code.h" -#include "stdbool.h" +#include #include #include #ifdef __cplusplus diff --git a/filemanagement/fileshare/include/oh_file_share.h b/filemanagement/fileshare/include/oh_file_share.h index d37dbb98d..e89d335f5 100644 --- a/filemanagement/fileshare/include/oh_file_share.h +++ b/filemanagement/fileshare/include/oh_file_share.h @@ -17,6 +17,7 @@ #define FILE_MANAGEMENT_OH_FILE_SHARE_H #include "error_code.h" +#include /** * @addtogroup fileShare -- Gitee From 6a3b43d3393d911b4d4525974fd38754e84e2038 Mon Sep 17 00:00:00 2001 From: yzj688 Date: Mon, 26 Aug 2024 16:01:39 +0800 Subject: [PATCH 166/359] =?UTF-8?q?Drawing=20ndk=E8=AF=AD=E6=B3=95?= =?UTF-8?q?=E6=95=B4=E6=94=B9=20Signed-off-by:=20yzj688=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- graphic/graphic_2d/native_drawing/drawing_pixel_map.h | 4 ++-- graphic/graphic_2d/native_drawing/drawing_types.h | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/graphic/graphic_2d/native_drawing/drawing_pixel_map.h b/graphic/graphic_2d/native_drawing/drawing_pixel_map.h index 668a915a0..9074062d1 100644 --- a/graphic/graphic_2d/native_drawing/drawing_pixel_map.h +++ b/graphic/graphic_2d/native_drawing/drawing_pixel_map.h @@ -51,14 +51,14 @@ extern "C" { * @since 12 * @version 1.0 */ -struct NativePixelMap_; +typedef struct NativePixelMap_; /** * @brief Introduces the native pixel map information defined by image framework. * @since 12 * @version 1.0 */ -struct OH_PixelmapNative; +typedef struct OH_PixelmapNative; /** * @brief Gets an OH_Drawing_PixelMap object. diff --git a/graphic/graphic_2d/native_drawing/drawing_types.h b/graphic/graphic_2d/native_drawing/drawing_types.h index 0755375b7..e040acdfc 100644 --- a/graphic/graphic_2d/native_drawing/drawing_types.h +++ b/graphic/graphic_2d/native_drawing/drawing_types.h @@ -40,8 +40,9 @@ * @version 1.0 */ -#include +#include #include +#include #ifdef __cplusplus extern "C" { -- Gitee From 6f01199154bbdae02bab6719d88212ccea5829e0 Mon Sep 17 00:00:00 2001 From: Klein-CK Date: Mon, 26 Aug 2024 16:15:13 +0800 Subject: [PATCH 167/359] Addstdbool.h for native_displaySoloist Signed-off-by: Klein-CK Change-Id: I058e11b863edb6272e011b5dd102240377d41a77 --- .../graphic_2d/native_display_soloist/native_display_soloist.h | 1 + 1 file changed, 1 insertion(+) diff --git a/graphic/graphic_2d/native_display_soloist/native_display_soloist.h b/graphic/graphic_2d/native_display_soloist/native_display_soloist.h index 3f1311f3e..abbda4fde 100644 --- a/graphic/graphic_2d/native_display_soloist/native_display_soloist.h +++ b/graphic/graphic_2d/native_display_soloist/native_display_soloist.h @@ -39,6 +39,7 @@ */ #include +#include #ifdef __cplusplus extern "C" { #endif -- Gitee From 4b8e185e0e7690c561d4b97aa881e8261ffbb185 Mon Sep 17 00:00:00 2001 From: lipengfei Date: Mon, 26 Aug 2024 16:19:58 +0800 Subject: [PATCH 168/359] bugfix Signed-off-by: lipengfei --- backgroundtasks/transient/BUILD.gn | 6 +++--- backgroundtasks/transient/include/transient_task_type.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/backgroundtasks/transient/BUILD.gn b/backgroundtasks/transient/BUILD.gn index 1a04c838e..3d4491020 100644 --- a/backgroundtasks/transient/BUILD.gn +++ b/backgroundtasks/transient/BUILD.gn @@ -15,14 +15,14 @@ import("//build/ohos.gni") import("//build/ohos/ndk/ndk.gni") ohos_ndk_library("libtransient_task_ndk") { - output_name = "transient_task_ndk" + output_name = "transient_task" output_extension = "so" ndk_description_file = "./libtransient_task.ndk.json" system_capability = "SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask" system_capability_headers = [ - "include/transient_task_api.h", - "include/transient_task_type.h", + "transient_task/transient_task_api.h", + "transient_task/transient_task_type.h", ] } diff --git a/backgroundtasks/transient/include/transient_task_type.h b/backgroundtasks/transient/include/transient_task_type.h index 7895f85b2..7c607704a 100644 --- a/backgroundtasks/transient/include/transient_task_type.h +++ b/backgroundtasks/transient/include/transient_task_type.h @@ -79,7 +79,7 @@ typedef enum TransientTask_ErrorCode { } TransientTask_ErrorCode; /** - * @brief Define DelaySuspendInfo. + * @brief Define DelaySuspendInfo for TransientTask. * * @since 13 * @version 1.0 -- Gitee From 1ba85eabd071f0f042b4198a10dee57f7174b7b6 Mon Sep 17 00:00:00 2001 From: lipengfei Date: Mon, 26 Aug 2024 17:05:38 +0800 Subject: [PATCH 169/359] codex Signed-off-by: lipengfei --- backgroundtasks/transient/include/transient_task_api.h | 2 +- backgroundtasks/transient/include/transient_task_type.h | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/backgroundtasks/transient/include/transient_task_api.h b/backgroundtasks/transient/include/transient_task_api.h index 9beea8279..91ba7defe 100644 --- a/backgroundtasks/transient/include/transient_task_api.h +++ b/backgroundtasks/transient/include/transient_task_api.h @@ -35,7 +35,7 @@ * * @brief Declares the APIs for Transient task management. * - * @library libtransient_task_ndk + * @library libtransient_task.so * @kit BackgroundTasksKit * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask * @since 13 diff --git a/backgroundtasks/transient/include/transient_task_type.h b/backgroundtasks/transient/include/transient_task_type.h index 7c607704a..ac31d90b8 100644 --- a/backgroundtasks/transient/include/transient_task_type.h +++ b/backgroundtasks/transient/include/transient_task_type.h @@ -31,7 +31,7 @@ * * @brief Defines the data structures for the C APIs of transient task. * - * @library libtransient_task_ndk + * @library libtransient_task.so * @kit BackgroundTasksKit * @syscap SystemCapability.ResourceSchedule.BackgroundTaskManager.TransientTask * @since 11 @@ -53,7 +53,9 @@ typedef enum TransientTask_ErrorCode { */ ERR_TRANSIENT_TASK_OK = 0, /** - * @error Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameters types. + * @error Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified; + * 2. Incorrect parameters types. */ ERR_TRANSIENT_TASK_INVALID_PARAM = 401, /** -- Gitee From c834c225f956d9952eeffa732c7fa2f08c0ab43f Mon Sep 17 00:00:00 2001 From: lipengfei Date: Mon, 26 Aug 2024 17:25:08 +0800 Subject: [PATCH 170/359] =?UTF-8?q?/**=20@}=20*/=20=20=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lipengfei --- backgroundtasks/transient/include/transient_task_api.h | 1 + backgroundtasks/transient/include/transient_task_type.h | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/backgroundtasks/transient/include/transient_task_api.h b/backgroundtasks/transient/include/transient_task_api.h index 91ba7defe..74b467dc6 100644 --- a/backgroundtasks/transient/include/transient_task_api.h +++ b/backgroundtasks/transient/include/transient_task_api.h @@ -103,4 +103,5 @@ int32_t OH_BackgroundTaskManager_CancelSuspendDelay(int32_t requestId); #ifdef __cplusplus } #endif +/** @} */ #endif diff --git a/backgroundtasks/transient/include/transient_task_type.h b/backgroundtasks/transient/include/transient_task_type.h index ac31d90b8..17e50d477 100644 --- a/backgroundtasks/transient/include/transient_task_type.h +++ b/backgroundtasks/transient/include/transient_task_type.h @@ -103,5 +103,5 @@ typedef void (*TransientTask_Callback)(void); #ifdef __cplusplus } #endif - +/** @} */ #endif -- Gitee From 989ee8e6767c7a30bffa5373ced8f63cd6acbcd0 Mon Sep 17 00:00:00 2001 From: lipengfei Date: Mon, 26 Aug 2024 17:31:43 +0800 Subject: [PATCH 171/359] code check Signed-off-by: lipengfei --- backgroundtasks/transient/include/transient_task_type.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/backgroundtasks/transient/include/transient_task_type.h b/backgroundtasks/transient/include/transient_task_type.h index 17e50d477..6ddd4dbfa 100644 --- a/backgroundtasks/transient/include/transient_task_type.h +++ b/backgroundtasks/transient/include/transient_task_type.h @@ -19,9 +19,8 @@ /** * @addtogroup TransientTask * @{ - * + * @brief Provide C interface for the transient task management. - * * @since 13 * @version 1.0 */ @@ -44,7 +43,6 @@ extern "C" { #endif /** * @brief Enum for transient task error code. - * * @since 13 */ typedef enum TransientTask_ErrorCode { @@ -95,7 +93,6 @@ typedef struct TransientTask_DelaySuspendInfo { /** * @brief Define a callback function when delay time expired. - * * @since 13 */ typedef void (*TransientTask_Callback)(void); -- Gitee From d2eea5458cfeaa641108a34ef1d10a4465697ddd Mon Sep 17 00:00:00 2001 From: zhouchengchao Date: Tue, 27 Aug 2024 11:24:47 +0800 Subject: [PATCH 172/359] fix bool lib issue Signed-off-by: zhouchengchao --- arkui/window_manager/oh_window_event_filter.h | 1 + 1 file changed, 1 insertion(+) diff --git a/arkui/window_manager/oh_window_event_filter.h b/arkui/window_manager/oh_window_event_filter.h index 2e4992809..783e8c5c2 100644 --- a/arkui/window_manager/oh_window_event_filter.h +++ b/arkui/window_manager/oh_window_event_filter.h @@ -37,6 +37,7 @@ * @kit ArkUI * @since 12 */ +#include "stdbool.h" #include "stdint.h" #include "oh_window_comm.h" #include "multimodalinput/oh_input_manager.h" -- Gitee From e45a88f85083bee628822d523115e87a5dcb5029 Mon Sep 17 00:00:00 2001 From: yangxuguang-huawei Date: Sun, 25 Aug 2024 14:21:41 +0800 Subject: [PATCH 173/359] feat: update version for StartNativeChildProcess Signed-off-by: yangxuguang-huawei --- .../child_process/libchild_process.ndk.json | 2 +- .../child_process/native_child_process.h | 16 ++++++++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ability/ability_runtime/child_process/libchild_process.ndk.json b/ability/ability_runtime/child_process/libchild_process.ndk.json index e42bbbc44..b00d0d189 100644 --- a/ability/ability_runtime/child_process/libchild_process.ndk.json +++ b/ability/ability_runtime/child_process/libchild_process.ndk.json @@ -4,7 +4,7 @@ "name": "OH_Ability_CreateNativeChildProcess" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_Ability_StartNativeChildProcess" } ] \ No newline at end of file diff --git a/ability/ability_runtime/child_process/native_child_process.h b/ability/ability_runtime/child_process/native_child_process.h index 821456513..3c9b18d38 100644 --- a/ability/ability_runtime/child_process/native_child_process.h +++ b/ability/ability_runtime/child_process/native_child_process.h @@ -48,6 +48,10 @@ extern "C" { * @brief Enumerates the error codes used by the native child process module. * @since 12 */ +/** + * @brief Enumerates the error codes used by the native child process module. + * @since 13 + */ typedef enum Ability_NativeChildProcess_ErrCode { /** * @error Operation successful. @@ -180,7 +184,7 @@ int OH_Ability_CreateNativeChildProcess(const char* libName, /** * @brief The info of the file descriptors passed to child process. - * @since 12 + * @since 13 */ typedef struct NativeChildProcess_Fd { /** the key of the file descriptor. */ @@ -195,7 +199,7 @@ typedef struct NativeChildProcess_Fd { /** * @brief The list of the info of the file descriptors passed to child process. - * @since 12 + * @since 13 */ typedef struct NativeChildProcess_FdList { /** the head of the list. @@ -206,7 +210,7 @@ typedef struct NativeChildProcess_FdList { /** * @brief Enumerates the isolation modes used by the native child process module. - * @since 12 + * @since 13 */ typedef enum NativeChildProcess_IsolationMode { /** @@ -222,7 +226,7 @@ typedef enum NativeChildProcess_IsolationMode { /** * @brief The options used by the child process. - * @since 12 + * @since 13 */ typedef struct NativeChildProcess_Options { /** the isolation mode used by the child process. @@ -236,7 +240,7 @@ typedef struct NativeChildProcess_Options { /** * @brief The arguments passed to the child process. - * @since 12 + * @since 13 */ typedef struct NativeChildProcess_Args { /** the entry parameter. */ @@ -267,7 +271,7 @@ typedef struct NativeChildProcess_Args { * Returns {@link NCP_ERR_MAX_CHILD_PROCESSES_REACHED} if the maximum number of native child processes is reached.\n * For details, see {@link Ability_NativeChildProcess_ErrCode}. * @see OH_Ability_OnNativeChildProcessStarted - * @since 12 + * @since 13 */ Ability_NativeChildProcess_ErrCode OH_Ability_StartNativeChildProcess( const char* entry, NativeChildProcess_Args args, -- Gitee From 3982b0e196832d5f14c51d24762cc0b7eb4ffcff Mon Sep 17 00:00:00 2001 From: hongzexuan Date: Tue, 27 Aug 2024 16:34:26 +0800 Subject: [PATCH 174/359] fix node_scroll_page Signed-off-by: hongzexuan Change-Id: Icdb22041fb367ab22c9dba486bd2c051b6d6c6dc --- arkui/ace_engine/native/native_node.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 6f4531d7d..9856457cd 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -4449,7 +4449,7 @@ typedef enum { * @brief Scroll to the next or previous page. * * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n - * .value[0].i32 Indicates whether to scroll to next page. Value 1 indicates scroll to next page and value 0 + * .value[0].i32 Indicates whether to scroll to next page. Value 0 indicates scroll to next page and value 1 * indicates scroll to previous page. \n * .value[1]?.i32 Indicates whether to enable animation. Value 1 indicates enable and 0 indicates disable. \n * -- Gitee From 7a61d7dfbb3c3ee85b0603e97fc3706aaea4b300 Mon Sep 17 00:00:00 2001 From: zhangwuf Date: Tue, 27 Aug 2024 17:07:22 +0800 Subject: [PATCH 175/359] =?UTF-8?q?=E8=A7=A3=E5=86=B3diff=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E7=BB=93=E6=9E=9C=E5=90=8D=E7=A7=B0=E5=88=97=E5=87=BA?= =?UTF-8?q?=E7=8E=B0=E7=A9=BA=E7=9A=84=E6=83=85=E5=86=B5=E5=92=8Ccollect?= =?UTF-8?q?=5Fh=E5=B7=A5=E5=85=B7=E5=A2=9E=E5=8A=A0-D=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E8=A1=8C=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangwuf --- build-tools/capi_parser/src/bin/config.py | 2 +- .../src/coreImpl/diff/diff_processor_node.py | 3 ++- .../capi_parser/src/coreImpl/parser/parser.py | 26 +++++++++++++------ 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/build-tools/capi_parser/src/bin/config.py b/build-tools/capi_parser/src/bin/config.py index d0bfeff8a..0fb2aeaeb 100644 --- a/build-tools/capi_parser/src/bin/config.py +++ b/build-tools/capi_parser/src/bin/config.py @@ -55,7 +55,7 @@ def run_tools(options): elif tool_name == ToolNameType["CHECK"].value: check.curr_entry(options.path, options.checker, options.output) elif tool_name == ToolNameType['COLLECT_H'].value: - parser.parser_direct(options.parser_path) + parser.parser_direct(options.parser_path, options.dependent_path) elif tool_name == ToolNameType['COLLECT_FILE'].value: parser.parser_file_level(options.output_path) elif tool_name == ToolNameType['CHECK_SYNTAX'].value: diff --git a/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py b/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py index 8d48a2641..14df24b0f 100644 --- a/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py +++ b/build-tools/capi_parser/src/coreImpl/diff/diff_processor_node.py @@ -807,7 +807,8 @@ def get_ch_api_kind(dict_key): def collect_change_data_total(data: dict, diff_info_list): for element in diff_info_list: element.set_api_node_name(data['name']) - if (data['kind'] == Scene.STRUCT_DECL.value or data['kind'] == Scene.UNION_DECL.value) and (not data['name']): + if (data['kind'] == Scene.STRUCT_DECL.value or data['kind'] == Scene.UNION_DECL.value + or data['kind'] == Scene.ENUM_DECL.value) and (not data['name']): element.set_api_node_name(data['type']) element.set_current_api_unique_id(data['unique_id']) element.set_open_close_api(data['open_close_api']) diff --git a/build-tools/capi_parser/src/coreImpl/parser/parser.py b/build-tools/capi_parser/src/coreImpl/parser/parser.py index a7a04019e..9da03cafe 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/parser.py +++ b/build-tools/capi_parser/src/coreImpl/parser/parser.py @@ -404,20 +404,30 @@ def complete_kit_or_system(api_message: OneFileApiMessage, json_path): api_message.set_sub_system(sub_system_name) -def parser_direct(path): # 目录路径 +def get_dependent_path_all(dependent_path): + all_dependent_path_list = [] + for dir_path, _, _ in os.walk(dependent_path): + if 'sysroot_myself' not in dir_path and 'build-tools' not in dir_path: + all_dependent_path_list.append(dir_path) + + return all_dependent_path_list + + +def parser_direct(path, dependent_path): # 目录路径 file_path_list = [] link_include_path = [] # 装链接头文件路径 + link_include_path.extend(get_dependent_path_all(dependent_path)) dir_path = '' if os.path.isdir(path): - link_include_path.append(path) - file_path_total, link_include_total = get_dir_file_path(path) + if path not in link_include_path: + link_include_path.append(path) + file_path_total, _ = get_dir_file_path(path) file_path_list.extend(file_path_total) - link_include_path.extend(link_include_total) dir_path = path - else: - if path.endswith('.h'): - file_path_list.append(path) - dir_path = os.path.dirname(path) + elif path.endswith('.h'): + file_path_list.append(path) + dir_path = os.path.dirname(path) + if dir_path not in link_include_path: link_include_path.append(dir_path) data_total = parse_include.get_include_file(file_path_list, link_include_path, dir_path) generating_tables.get_api_data(data_total, StringConstant.PARSER_DIRECT_EXCEL_NAME.value) -- Gitee From 068a303fbcd0173553e9c5a948810065971beea5 Mon Sep 17 00:00:00 2001 From: liushang Date: Tue, 27 Aug 2024 20:05:45 +0800 Subject: [PATCH 176/359] change to api13 Signed-off-by: liushang --- .../image_processing.h | 34 ++++++++-------- .../image_processing/BUILD.gn | 2 +- .../libimage_processing.ndk.json | 40 +++++++++---------- .../image_processing_types.h | 28 ++++++------- 4 files changed, 52 insertions(+), 52 deletions(-) diff --git a/multimedia/video_processing_engine/image_processing.h b/multimedia/video_processing_engine/image_processing.h index 81f503ecf..8465d8618 100644 --- a/multimedia/video_processing_engine/image_processing.h +++ b/multimedia/video_processing_engine/image_processing.h @@ -19,7 +19,7 @@ * * @brief Provide APIs for image quality processing. * - * @since 12 + * @since 13 */ /** @@ -33,7 +33,7 @@ * @library libimage_processing.so * @syscap SystemCapability.Multimedia.VideoProcessingEngine * @kit ImageKit - * @since 12 + * @since 13 */ #ifndef VIDEO_PROCESSING_ENGINE_C_API_IMAGE_PROCESSING_H @@ -58,7 +58,7 @@ extern "C" { * @return {@link IMAGE_PROCESSING_SUCCESS} if initialization is successful. \n * {@link IMAGE_PROCESSING_ERROR_INITIALIZE_FAILED} if initialization is failed. \n * You can check if the device GPU is working properly. - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_InitializeEnvironment(void); @@ -74,7 +74,7 @@ ImageProcessing_ErrorCode OH_ImageProcessing_InitializeEnvironment(void); * @return {@link IMAGE_PROCESSING_SUCCESS} if deinitialization is successful. \n * {@link IMAGE_PROCESSING_ERROR_OPERATION_NOT_PERMITTED} if some image processing instance is not destroyed or * {@link OH_ImageProcessing_InitializeEnvironment} is not called. \n - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_DeinitializeEnvironment(void); @@ -85,7 +85,7 @@ ImageProcessing_ErrorCode OH_ImageProcessing_DeinitializeEnvironment(void); * @param destinationImageInfo Output image color space information pointer. * @return true if the color space conversion is supported. \n * false if the the color space conversion is unsupported. - * @since 12 + * @since 13 */ bool OH_ImageProcessing_IsColorSpaceConversionSupported( const ImageProcessing_ColorSpaceInfo* sourceImageInfo, @@ -99,7 +99,7 @@ bool OH_ImageProcessing_IsColorSpaceConversionSupported( * @param destinationImageInfo Output image color space information pointer. * @return true if the image composition is supported. \n * false if the image composition is unsupported. - * @since 12 + * @since 13 */ bool OH_ImageProcessing_IsCompositionSupported( const ImageProcessing_ColorSpaceInfo* sourceImageInfo, @@ -114,7 +114,7 @@ bool OH_ImageProcessing_IsCompositionSupported( * @param destinationGainmapInfo Output gainmap information pointer. * @return true if the image decomposition is supported. \n * false if the image decomposition is unsupported. - * @since 12 + * @since 13 */ bool OH_ImageProcessing_IsDecompositionSupported( const ImageProcessing_ColorSpaceInfo* sourceImageInfo, @@ -127,7 +127,7 @@ bool OH_ImageProcessing_IsDecompositionSupported( * @param sourceImageInfo Input image color space information pointer. * @return true if the image metadata generation is supported.. \n * false if the image metadata generation is unsupported. - * @since 12 + * @since 13 */ bool OH_ImageProcessing_IsMetadataGenerationSupported( const ImageProcessing_ColorSpaceInfo* sourceImageInfo); @@ -145,7 +145,7 @@ bool OH_ImageProcessing_IsMetadataGenerationSupported( * {@link IMAGE_PROCESSING_ERROR_CREATE_FAILED} if failed to create an image processing. \n * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or *instance is not null. \n * {@link IMAGE_PROCESSING_ERROR_INVALID_PARAMETER} if type is invalid. \n - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_Create(OH_ImageProcessing** imageProcessor, int32_t type); @@ -156,7 +156,7 @@ ImageProcessing_ErrorCode OH_ImageProcessing_Create(OH_ImageProcessing** imagePr * instance pointer to null after the instance is destroyed. * @return {@link IMAGE_PROCESSING_SUCCESS} if the instance is destroyed successfully. \n * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an image processing instance. - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_Destroy(OH_ImageProcessing* imageProcessor); @@ -173,7 +173,7 @@ ImageProcessing_ErrorCode OH_ImageProcessing_Destroy(OH_ImageProcessing* imagePr * {@link IMAGE_PROCESSING_ERROR_INVALID_VALUE} if some property of the parameter is invalid. For example, the parameter * contains unsupported parameter key or value. \n * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_SetParameter(OH_ImageProcessing* imageProcessor, const OH_AVFormat* parameter); @@ -188,7 +188,7 @@ ImageProcessing_ErrorCode OH_ImageProcessing_SetParameter(OH_ImageProcessing* im * @return {@link IMAGE_PROCESSING_SUCCESS} if getting parameter is successful. \n * {@link IMAGE_PROCESSING_ERROR_INVALID_INSTANCE} if instance is null or not an image processing instance. \n * {@link IMAGE_PROCESSING_ERROR_INVALID_PARAMETER} if the parameter is null. \n - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_GetParameter(OH_ImageProcessing* imageProcessor, OH_AVFormat* parameter); @@ -211,7 +211,7 @@ ImageProcessing_ErrorCode OH_ImageProcessing_GetParameter(OH_ImageProcessing* im * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the processing is not supported. \n * {@link IMAGE_PROCESSING_ERROR_PROCESS_FAILED} if processing error occurs. \n * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_ConvertColorSpace(OH_ImageProcessing* imageProcessor, OH_PixelmapNative* sourceImage, OH_PixelmapNative* destinationImage); @@ -234,7 +234,7 @@ ImageProcessing_ErrorCode OH_ImageProcessing_ConvertColorSpace(OH_ImageProcessin * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the processing is not supported. \n * {@link IMAGE_PROCESSING_ERROR_PROCESS_FAILED} if processing error occurs. \n * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_Compose(OH_ImageProcessing* imageProcessor, OH_PixelmapNative* sourceImage, OH_PixelmapNative* sourceGainmap, OH_PixelmapNative* destinationImage); @@ -257,7 +257,7 @@ ImageProcessing_ErrorCode OH_ImageProcessing_Compose(OH_ImageProcessing* imagePr * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the processing is not supported. \n * {@link IMAGE_PROCESSING_ERROR_PROCESS_FAILED} if processing error occurs. \n * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_Decompose(OH_ImageProcessing* imageProcessor, OH_PixelmapNative* sourceImage, OH_PixelmapNative* destinationImage, OH_PixelmapNative* destinationGainmap); @@ -278,7 +278,7 @@ ImageProcessing_ErrorCode OH_ImageProcessing_Decompose(OH_ImageProcessing* image * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the processing is not supported. \n * {@link IMAGE_PROCESSING_ERROR_PROCESS_FAILED} if processing error occurs. \n * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_GenerateMetadata(OH_ImageProcessing* imageProcessor, OH_PixelmapNative* sourceImage); @@ -302,7 +302,7 @@ ImageProcessing_ErrorCode OH_ImageProcessing_GenerateMetadata(OH_ImageProcessing * {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING} if the processing is not supported. \n * {@link IMAGE_PROCESSING_ERROR_PROCESS_FAILED} if processing error occurs. \n * {@link IMAGE_PROCESSING_ERROR_NO_MEMORY} if memory allocation failed. - * @since 12 + * @since 13 */ ImageProcessing_ErrorCode OH_ImageProcessing_EnhanceDetail(OH_ImageProcessing* imageProcessor, OH_PixelmapNative* sourceImage, OH_PixelmapNative* destinationImage); diff --git a/multimedia/video_processing_engine/image_processing/BUILD.gn b/multimedia/video_processing_engine/image_processing/BUILD.gn index d3c02809b..ff1239898 100644 --- a/multimedia/video_processing_engine/image_processing/BUILD.gn +++ b/multimedia/video_processing_engine/image_processing/BUILD.gn @@ -26,7 +26,7 @@ ohos_ndk_library("libimage_processing_ndk") { ndk_description_file = "./libimage_processing.ndk.json" output_name = "image_processing" output_extension = "so" - min_compact_version = "12" + min_compact_version = "13" system_capability = "SystemCapability.Multimedia.VideoProcessingEngine" system_capability_headers = [ "multimedia/video_processing_engine/image_processing_types.h", diff --git a/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json b/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json index 8cb58693c..13425858f 100644 --- a/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json +++ b/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json @@ -1,86 +1,86 @@ [ { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_InitializeEnvironment" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_DeinitializeEnvironment" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_IsColorSpaceConversionSupported" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_IsCompositionSupported" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_IsDecompositionSupported" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_IsMetadataGenerationSupported" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_Create" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_Destroy" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_SetParameter" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_GetParameter" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_ConvertColorSpace" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_Compose" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_Decompose" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_GenerateMetadata" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_ImageProcessing_EnhanceDetail" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "IMAGE_PROCESSING_TYPE_COLOR_SPACE_CONVERSION", "type": "variable" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "IMAGE_PROCESSING_TYPE_COMPOSITION", "type": "variable" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "IMAGE_PROCESSING_TYPE_DECOMPOSITION", "type": "variable" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "IMAGE_PROCESSING_TYPE_METADATA_GENERATION", "type": "variable" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER", "type": "variable" } diff --git a/multimedia/video_processing_engine/image_processing_types.h b/multimedia/video_processing_engine/image_processing_types.h index cfd2a5473..5f9562325 100644 --- a/multimedia/video_processing_engine/image_processing_types.h +++ b/multimedia/video_processing_engine/image_processing_types.h @@ -19,7 +19,7 @@ * * @brief Provide image processing including color space conversion and metadata generation. * - * @since 12 + * @since 13 */ /** @@ -30,7 +30,7 @@ * @library libimage_processing.so * @syscap SystemCapability.Multimedia.VideoProcessingEngine * @kit ImageKit - * @since 12 + * @since 13 */ #ifndef VIDEO_PROCESSING_ENGINE_C_API_IMAGE_PROCESSING_TYPES_H @@ -49,21 +49,21 @@ extern "C" { * instance. The pointer should be null before creating instance. * User can create multiple image processing instances for different processing types. * - * @since 12 + * @since 13 */ typedef struct OH_ImageProcessing OH_ImageProcessing; /** * @brief Forward declaration of OH_PixelmapNative. * - * @since 12 + * @since 13 */ typedef struct OH_PixelmapNative OH_PixelmapNative; /** * @brief Forward declaration of OH_AVFormat. * - * @since 12 + * @since 13 */ typedef struct OH_AVFormat OH_AVFormat; @@ -76,7 +76,7 @@ typedef struct OH_AVFormat OH_AVFormat; * the conversion is supported between single-layer images. * * @see OH_ImageProcessing_Create - * @since 12 + * @since 13 */ extern const int32_t IMAGE_PROCESSING_TYPE_COLOR_SPACE_CONVERSION; @@ -88,7 +88,7 @@ extern const int32_t IMAGE_PROCESSING_TYPE_COLOR_SPACE_CONVERSION; * query if the composition is supported from dual-layer HDR image to single-layer HDR image. * * @see OH_ImageProcessing_Create - * @since 12 + * @since 13 */ extern const int32_t IMAGE_PROCESSING_TYPE_COMPOSITION; @@ -100,7 +100,7 @@ extern const int32_t IMAGE_PROCESSING_TYPE_COMPOSITION; * query if the decomposition is supported from single-layer image to dual-layer HDR image. * * @see OH_ImageProcessing_Create - * @since 12 + * @since 13 */ extern const int32_t IMAGE_PROCESSING_TYPE_DECOMPOSITION; @@ -111,7 +111,7 @@ extern const int32_t IMAGE_PROCESSING_TYPE_DECOMPOSITION; * supported, {@link OH_ImageProcessing_Create} returns {@link IMAGE_PROCESSING_ERROR_UNSUPPORTED_PROCESSING}. * * @see OH_ImageProcessing_Create - * @since 12 + * @since 13 */ extern const int32_t IMAGE_PROCESSING_TYPE_METADATA_GENERATION; @@ -122,7 +122,7 @@ extern const int32_t IMAGE_PROCESSING_TYPE_METADATA_GENERATION; * its resolution. * * @see OH_ImageProcessing_Create - * @since 12 + * @since 13 */ extern const int32_t IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER; @@ -135,7 +135,7 @@ extern const int32_t IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER; * * @see OH_VideoProcessing_SetParameter * @see OH_VideoProcessing_GetParameter - * @since 12 + * @since 13 */ extern const char* IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL; @@ -145,7 +145,7 @@ extern const char* IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL; * @see OH_ImageProcessing_IsColorSpaceConversionSupported * @see OH_ImageProcessing_IsCompositionSupported * @see OH_ImageProcessing_IsDecompositionSupported - * @since 12 + * @since 13 */ typedef struct ImageProcessing_ColorSpaceInfo { /** define metadata type */ @@ -163,7 +163,7 @@ typedef struct ImageProcessing_ColorSpaceInfo { * * @see OH_ImageProcessing_SetParameter * @see OH_ImageProcessing_GetParameter - * @since 12 + * @since 13 */ typedef enum ImageDetailEnhancer_QualityLevel { /** No detail enhancement */ @@ -179,7 +179,7 @@ typedef enum ImageDetailEnhancer_QualityLevel { /** * @brief Image processing error code. * - * @since 12 + * @since 13 */ typedef enum ImageProcessing_ErrorCode { /** @error Operation is successful. */ -- Gitee From b5ac98ecc5d145a42214367d558f5061986e01be Mon Sep 17 00:00:00 2001 From: yzj688 Date: Wed, 28 Aug 2024 10:03:03 +0800 Subject: [PATCH 177/359] =?UTF-8?q?ndk=20=E6=8E=A5=E5=8F=A3=E8=AF=AD?= =?UTF-8?q?=E6=B3=95=E6=95=B4=E6=94=B9=20Signed-off-by:=20yzj688=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- graphic/graphic_2d/native_drawing/drawing_pixel_map.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/graphic/graphic_2d/native_drawing/drawing_pixel_map.h b/graphic/graphic_2d/native_drawing/drawing_pixel_map.h index 9074062d1..ef29ce5b4 100644 --- a/graphic/graphic_2d/native_drawing/drawing_pixel_map.h +++ b/graphic/graphic_2d/native_drawing/drawing_pixel_map.h @@ -51,14 +51,14 @@ extern "C" { * @since 12 * @version 1.0 */ -typedef struct NativePixelMap_; +typedef struct NativePixelMap_ NativePixelMap_; /** * @brief Introduces the native pixel map information defined by image framework. * @since 12 * @version 1.0 */ -typedef struct OH_PixelmapNative; +typedef struct OH_PixelmapNative OH_PixelmapNative; /** * @brief Gets an OH_Drawing_PixelMap object. -- Gitee From 74def22680a61c59dffb37057e2b3ee66c216818 Mon Sep 17 00:00:00 2001 From: liuyuxiu Date: Wed, 28 Aug 2024 10:09:19 +0800 Subject: [PATCH 178/359] qos.h yellow and blue gap bugfix Signed-off-by: liuyuxiu --- resourceschedule/qos_manager/c/qos.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resourceschedule/qos_manager/c/qos.h b/resourceschedule/qos_manager/c/qos.h index 6a04eb6f3..b264a23d9 100644 --- a/resourceschedule/qos_manager/c/qos.h +++ b/resourceschedule/qos_manager/c/qos.h @@ -84,7 +84,7 @@ typedef enum QoS_Level { * * @param level Indicates the level to set. Specific level can be referenced {@link QoS_Level}. * @return Returns 0 if the operation is successful; returns -1 if level is out of range or - internal error failed. + * internal error failed. * @see QoS_Level * @since 12 */ @@ -94,7 +94,7 @@ int OH_QoS_SetThreadQoS(QoS_Level level); * @brief Cancel the QoS level of the current thread. * * @return Returns 0 if the operation is successful; returns -1 if not set QoS for current thread - * or internal error failed. + * or internal error failed. * @see QoS_Level * @since 12 */ -- Gitee From 5fee732a60907eb036072eaae82beb1d46828c55 Mon Sep 17 00:00:00 2001 From: dujingcheng Date: Wed, 28 Aug 2024 03:33:36 +0000 Subject: [PATCH 179/359] add accessi Signed-off-by: dujingcheng --- .../native/native_interface_accessibility.h | 923 ++++++++++++++++++ .../native/native_interface_xcomponent.h | 13 + 2 files changed, 936 insertions(+) create mode 100644 arkui/ace_engine/native/native_interface_accessibility.h diff --git a/arkui/ace_engine/native/native_interface_accessibility.h b/arkui/ace_engine/native/native_interface_accessibility.h new file mode 100644 index 000000000..0b7eb95a0 --- /dev/null +++ b/arkui/ace_engine/native/native_interface_accessibility.h @@ -0,0 +1,923 @@ +/* + * Copyright (c) 2024 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 ArkUI_AccessibilityProvider + * @{ + * + * @brief + * + * @since 13 + * @version 1.0 + */ + +/** + * @file native_interface_accessibility.h + * + * @brief + * + * @since 13 + * @version 1.0 + */ +#ifndef _NATIVE_INTERFACE_ACCESSIBILITY_H +#define _NATIVE_INTERFACE_ACCESSIBILITY_H + +#include + +#ifdef __cplusplus +extern "C"{ +#endif + +/** + * @brief Provides an encapsulated ArkUI_AccessibilityElementInfo instance. + * + * @since 13 + */ +typedef struct ArkUI_AccessibilityElementInfo ArkUI_AccessibilityElementInfo; + +/** + * @brief Defines the accessibility event info. + * + * @since 13 + */ +typedef struct ArkUI_AccessibilityEventInfo ArkUI_AccessibilityEventInfo; + +/** + * @brief Definesthe accessibility native provider. + * + * @since 13 + */ +typedef struct ArkUI_AccessibilityProvider ArkUI_AccessibilityProvider; + +/** + * @brief Provides an encapsulated OH_NativeAccessibilityDictionary instance, Implement the function of cpp dictionary. + * + * @since 13 + * @version 1.0 + */ +typedef struct ArkUI_AccessibilityActionArguments ArkUI_AccessibilityActionArguments; + +/** + * @brief Enumerates the API accessibility actions. + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** Invalid */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_INVALID = 0, + /** After receiving the event, the component needs to respond to the click. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_CLICK = 0x00000010, + /** After receiving the event, the component needs to respond to the long click. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_LONG_CLICK = 0x00000020, + /** Indicates the operation of obtaining the accessibility focus. The specific component is focused */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_ACCESSIBILITY_FOCUS = 0x00000040, + /** Indicates the operation of clearing the accessibility focus. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080, + /** The scrolling component responds to forward scrolling action. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_SCROLL_FORWARD = 0x00000100, + /** The scrolling component responds to backwrad scrolling action. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_SCROLL_BACKWARD = 0x00000200, + /** Coping the selected content for the text component. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_COPY = 0x00000400, + /** Paste the selected content for the text component. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_PASTE = 0x00000800, + /** Cut the selected content for the text component. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_CUT = 0x00001000, + /** Indicates the selection operation. The selectTextBegin, selectTextEnd, and selectTextInForWard parameters need to be set. Select a text segment in the edit box. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_SET_SELECTION = 0x00002000, + /** Set the text Content for the text component. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_SET_TEXT = 0x00004000, + /** Set the cursor position for the text component. */ + ARKUI_NATIVE_ACCESSIBILITY_ACTION_SET_CURSOR_POSITION = 0x00100000, +} ArkUI_Accessibility_ActionType; + +/** + * @brief Enumerates the API accessibility event types. + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** Invalid */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_INVALID = 0, + /** Clicked event, which is sent after the UI component responds. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_CLICKED_EVENT = 0x00000001, + /** Long-Clicked event, which is sent after the UI component responds. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_LONG_CLICKED_EVENT = 0x00000002, + /** Selected event, which is sent after the UI component responds. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_SELECTED_EVENT = 0x00000004, + /** Text update event, needs to be send when the text is updated. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_TEXT_UPDATE_EVENT = 0x00000010, + /** Page update event, which is sent when the page jumps, switchs, changes in size, or moves. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_PAGE_STATE_UPDATE = 0x00000020, + /** Content update event, which is sent when the page content changes. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_PAGE_CONTENT_UPDATE = 0x00000800, + /** scrolled event, this event is send when a scrolling event occurs on a component that can be scrolled. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_SCROLLED_EVENT = 0x000001000, + /** Accessibility focus event, which is send after the UI component responds. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_ACCESSIBILITY_FOCUSED_EVENT = 0x00008000, + /** Accessibility focus clear event, which is send after the UI component responds. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED_EVENT = 0x00010000, + /** Request focus for accessibility event, proactively reqeust to focus on a specified node. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_REQUEST_FOCUS_FOR_ACCESSIBILITY = 0x02000000, + /** Page open event. the event is reported when the UI component */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_PAGE_OPEN = 0x20000000, + /** Page close event. the event is reported when the UI component */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_PAGE_CLOSE = 0x08000000, + /** Announce for accessibility event, requesting to actively play the specified content event. */ + ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_ANNOUNCE_FOR_ACCESSIBILITY = 0x10000000, +} ArkUI_AccessibilityEventType; + +/** + * @brief Defines the accessible of action + * + * @since 13 + * @version 1.0 + */ +typedef struct { + /** action type. */ + ArkUI_Accessibility_ActionType actionType; + /** the description message of action. */ + const char* description; +} ArkUI_AccessibleAction; + +/** + * @brief Defines the accessible of rect. + * + * @since 13 + * @version 1.0 + */ +typedef struct { + /** the left top x pixel corrdinates. */ + int32_t leftTopX; + /** the left top y pixel corrdinates. */ + int32_t leftTopY; + /** the right bottom x pixel corrdinates. */ + int32_t rightBottomX; + /** the right bottom y pixel corrdinates. */ + int32_t rightBottomY; +} ArkUI_AccessibleRect; + +/** + * @brief Defines the accessible of range info. + * + * @since 13 + * @version 1.0 + */ +typedef struct { + /** the min value. */ + double min; + /** the max value. */ + double max; + /** the current value. */ + double current; +} ArkUI_AccessibleRangeInfo; + +/** + * @brief Defines the accessible of grid info. + * + * @since 13 + * @version 1.0 + */ +typedef struct { + /** The number of row. */ + int32_t rowCount; + /** The number of column. */ + int32_t columnCount; + /** 0: select one line only, otherwise select multilines. */ + int32_t selectionMode; +} ArkUI_AccessibleGridInfo; + +/** + * @brief Defines the accessible of grid item info. + * + * @since 13 + * @version 1.0 + */ +typedef struct { + /** true: The item isHeading, otherwise is not */ + bool heading; + /** true: The item selected, otherwise is not */ + bool selected; + /** the index of column */ + int32_t columnIndex; + /** the index of row */ + int32_t rowIndex; + /** the column spanned */ + int32_t columnSpan; + /** the row spanned */ + int32_t rowSpan; +} ArkUI_AccessibleGridItemInfo; + +/** + * @brief Enumerates the API accessibility ErrorCode states. + * + * @since 13 + * @version 1.0 + */ +enum AcessbilityErrorCode{ + /** Successful. */ + OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS = 0, + /** Failed. */ + OH_ARKUI_ACCESSIBILITY_RESULT_FAILED = -1, + /** Invalid parameters. */ + OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER = -2, + /** Out of memory. */ + OH_ARKUI_ACCESSIBILITY_RESULT_OUT_OF_MEMORY = -3, +} ; + +/** + * @brief Enumerates the API accessibility search mode. + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** predecessors */ + NATIVE_SEARCH_MODE_PREFETCH_PREDECESSORS = 1 << 0, + /** slbings */ + NATIVE_SEARCH_MODE_PREFETCH_SIBLINGS = 1 << 1, + /** children */ + NATIVE_SEARCH_MODE_PREFETCH_CHILDREN = 1 << 2, + /** recusive children */ + NATIVE_SEARCH_MODE_PREFETCH_RECURSIVE_CHILDREN = 1 << 3, +} ArkUI_AccessibilitySearchMode; + +/** + * @brief Enumerates the API accessibility focus type. + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** Invalid */ + NATIVE_FOCUS_TYPE_INVALID = -1, + /** Input focus type */ + NATIVE_FOCUS_TYPE_INPUT = 1 << 0, + /** Accessibility focus type */ + NATIVE_FOCUS_TYPE_ACCESSIBILITY = 1 << 1, +} ArkUI_AccessibilityFocusType; + +/** + * @brief Enumerates the API accessibility focus move direction. + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** Invalid */ + NATIVE_DIRECTION_INVALID = 0, + /** up direction. */ + NATIVE_DIRECTION_UP = 0x00000001, + /** down direction. */ + NATIVE_DIRECTION_DOWN = 0x00000002, + /** left direction. */ + NATIVE_DIRECTION_LEFT = 0x00000004, + /** right direction. */ + NATIVE_DIRECTION_RIGHT = 0x00000008, + /** forward direction. */ + NATIVE_DIRECTION_FORWARD = 0x00000010, + /** backward direction. */ + NATIVE_DIRECTION_BACKWARD = 0x00000020, +} ArkUI_AccessibilityFocusMoveDirection; + +/** + * @brief Provides an encapsulated ArkUI_AccessibilityElementInfoList instance. + * + * @since 13 + * @version 1.0 + */ +typedef struct ArkUI_AccessibilityElementInfoList ArkUI_AccessibilityElementInfoList; + +/** + * @brief Registers the accessibility provider callbacks + * + * @since 13 + * @version 1.0 + */ +typedef struct ArkUI_AccessibilityProviderCallbacks { + /** Called when need to get element infos based on a specified node. */ + int32_t (*FindAccessibilityNodeInfosById)(int64_t elementId, ArkUI_AccessibilitySearchMode mode, int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList); + /** Called when need to get element infos based on a specified node and text content. */ + int32_t (*FindAccessibilityNodeInfosByText)(int64_t elementId, const char* text, int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList); + /** Called when need to get the focused element info based on a specified node. */ + int32_t (*FindFocusedAccessibilityNode)(int64_t elementId, ArkUI_AccessibilityFocusType focusType, int32_t requestId, ArkUI_AccessibilityElementInfo* elementinfo); + /** Query the node that can be focused based on the reference node. Query the next node that can be focused based on the mode and direction. */ + int32_t (*FindNextFocusAccessibilityNode)(int64_t elementId, ArkUI_AccessibilityFocusMoveDirection direction, int32_t requestId, ArkUI_AccessibilityElementInfo* elementList); + /** Performing the Action operation on a specified node. */ + int32_t (*ExecuteAccessibilityAction)(int64_t elementId, ArkUI_Accessibility_ActionType action, ArkUI_AccessibilityActionArguments actionArguments, int32_t requestId); + /** Clears the focus status of the currently focused node */ + int32_t (*ClearFocusedFocusAccessibilityNode)(); + /** Queries the current cursor position of a specified node. */ + int32_t (*GetAccessibilityNodeCursorPosition)(int64_t elementId, int32_t requestId, int32_t* index); +} ArkUI_AccessibilityProviderCallbacks; + +/** + * @brief Registers a callback for this ArkUI_AccessibilityProvider instance. + * + * @param provider Indicates the pointer to this ArkUI_AccessibilityProvider instance. + * @param callbacks Indicates the pointer to a GetAccessibilityNodeCursorPosition callback. + * @return Returns the status code of the execution. + * @since 13 + * @version 1.0 + */ +int32_t OH_ArkUI_AccessibilityProviderRegisterCallback( + ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityProviderCallbacks* callbacks); + +/** + * @brief send accessibility event info. + * + * @param provider Indicates the pointer to this ArkUI_AccessibilityProvider instance. + * @param eventInfo Indicates the pointer to the accessibility event info. + * @param callback Indicates the pointer to a SendAccessibilityAsyncEvent callback. + * @return Returns the status code of the execution. + * @since 13 + * @version 1.0 + */ +void OH_ArkUI_SendAccessibilityAsyncEvent( + ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityEventInfo* eventInfo, void (*callback)(int32_t errorCode)); + +/** + * @brief Adds an element to the list. + * + * @param list Indicates the pointer to the accessibility element list. + * @return Returns the pointer to the accessibility elementInfo. + * @since 13 + * @version 1.0 + */ +ArkUI_AccessibilityElementInfo* OH_ArkUI_AddAndGetAccessibilityElementInfo(ArkUI_AccessibilityElementInfoList* list); + +/** +* @brief Sets the page id of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param pageId Indicates the page id. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoPageId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t pageId); + +/** +* @brief Sets the page id of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param componentId Indicates the component id. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoComponentId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t componentId); + +/** +* @brief Sets the parent id of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param parentId Indicates the parent id. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoParentId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t parentId); + +/** +* @brief Sets the component type of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param componentType Indicates the component type. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoComponentType(ArkUI_AccessibilityElementInfo* elementInfo, const char* componentType); + +/** +* @brief Sets the component contents of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param contents Indicates the component contents. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoContents(ArkUI_AccessibilityElementInfo* elementInfo, const char* contents); + +/** +* @brief Sets the hint text of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param hintText Indicates the hint text. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoHintText(ArkUI_AccessibilityElementInfo* elementInfo, const char* hintText); + +/** +* @brief Sets the accessibility text of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param accessibilityText Indicates the accessibility text. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityText(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityText); + +/** +* @brief Sets the accessibility description of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param accessibilityDescription Indicates the accessibility description. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityDescription(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityDescription); + +/** +* @brief Sets the child node ids of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param childCount Indicates the child count. +* @param childNodeIds Indicates the child node ids. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoChildNodeIds(ArkUI_AccessibilityElementInfo* elementInfo, int32_t childCount, int64_t* childNodeIds); + +/** +* @brief Sets the child count of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param operationActions Indicates All actions supported by the element. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoOperationActions(ArkUI_AccessibilityElementInfo* elementInfo, int32_t operationCount, ArkUI_AccessibleAction* operationActions); + +/** +* @brief Sets the screen rect of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param screenRect Indicates screen rect. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoScreenRect(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRect* screenRect); + +/** +* @brief Sets the checkable of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param checkable Indicates checkable. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoCheckable(ArkUI_AccessibilityElementInfo* elementInfo, bool checkable); + +/** +* @brief Sets the checked of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param checked Indicates whether the element is checked. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoChecked(ArkUI_AccessibilityElementInfo* elementInfo, bool checked); + +/** +* @brief Sets the focusable of the accessibility element information. +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param focusable Indicates whether the element is focusable. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoFocusable(ArkUI_AccessibilityElementInfo* elementInfo, bool focusable); + +/** +* @brief Sets the isFocused of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param isFocused Indicates whether the element is focused. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoFocused(ArkUI_AccessibilityElementInfo* elementInfo, bool isFocused); + +/** +* @brief Sets the isVisible of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param isVisible Indicates whether the element is visible. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoVisible(ArkUI_AccessibilityElementInfo* elementInfo, bool isVisible); + +/** +* @brief Sets the accessibilityFocused of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param accessibilityFocused Indicates whether the element is accessibility focused. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityFocused(ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityFocused); + +/** +* @brief Sets the selected of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param selected Indicates whether the element is selected. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoSelected(ArkUI_AccessibilityElementInfo* elementInfo, bool selected); + +/** +* @brief Sets the clickable of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param clickable Indicates whether the element is clickable. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoClickable(ArkUI_AccessibilityElementInfo* elementInfo, bool clickable); + +/** +* @brief Sets the longClickable of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param longClickable Indicates whether the element is long clickable. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoLongClickable(ArkUI_AccessibilityElementInfo* elementInfo, bool longClickable); + +/** +* @brief Sets the isEnabled of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param isEnable Indicates whether the element is enable. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoEnabled(ArkUI_AccessibilityElementInfo* elementInfo, bool isEnabled); + +/** +* @brief Sets the isPassword of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param isPassword Indicates whether the element is a password. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoIsPassword(ArkUI_AccessibilityElementInfo* elementInfo, bool isPassword); + +/** +* @brief Sets the scrollable of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param scrollable Indicates whether the element is scrollable. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoScrollable(ArkUI_AccessibilityElementInfo* elementInfo, bool scrollable); + +/** +* @brief Sets the editable of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param editable Indicates whether the element is editable. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoEditable(ArkUI_AccessibilityElementInfo* elementInfo, bool editable); + +/** +* @brief Sets the isHint of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param isHint Indicates whether the element is in the hint state. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoIsHint(ArkUI_AccessibilityElementInfo* elementInfo, bool isHint); + +/** +* @brief Sets the rangeInfo of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param rangeInfo Indicates element's range info. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoRangeInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRangeInfo* rangeInfo); + +/** +* @brief Sets the grid of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param gridInfo Indicates element's grid info. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoGridInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridInfo* gridInfo); + +/** +* @brief Sets the gridItem of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param gridItem Indicates element's grid item info. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoGridItemInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridItemInfo* gridItem); + +/** +* @brief Sets the textBeginSelected of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param textBeginSelected Indicates the start position of the selection. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoTextBeginSelected(ArkUI_AccessibilityElementInfo* elementInfo, int32_t textBeginSelected); + +/** +* @brief Sets the textEndSelected of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param textEndSelected Indicates the end position of the selection. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoTextEndSelected(ArkUI_AccessibilityElementInfo* elementInfo, int32_t textEndSelected); + +/** +* @brief Sets the currentItemIndex of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param currentItemIndex Indicates index of the current item. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoCurrentItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t currentItemIndex); + +/** +* @brief Sets the beginItemIndex of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param beginItemIndex Indicates index of the begin item. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoBeginItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t beginItemIndex); + +/** +* @brief Sets the endItemIndex of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param endItemIndex Indicates index of the end item. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoEndItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t endItemIndex); + +/** +* @brief Sets the itemCount of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param itemCount Indicates total number of items. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoItemCount(ArkUI_AccessibilityElementInfo* elementInfo, int32_t itemCount); + +/** +* @brief Sets the offset of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param offset Indicates pixel offset for scrolling relative to the top coordinate of the element. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityOffset(ArkUI_AccessibilityElementInfo* elementInfo, int32_t offset); + +/** +* @brief Sets the accessibilityGroup of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param accessibilityGroup Indicates accessibility group. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityGroup(ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityGroup); + +/** +* @brief Sets the accessibilityLevel of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param accessibilityLevel Indicates accessibility level. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityLevel(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityLevel); + +/** +* @brief Sets the zIndex of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param zIndex Indicates z index. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoZIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t zIndex); + +/** +* @brief Sets the opacity of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param opacity Indicates opacity. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityOpacity(ArkUI_AccessibilityElementInfo* elementInfo, float opacity); + +/** +* @brief Sets the backgroundColor of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param backgroundColor Indicates background color. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoBackgroundColor(ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundColor); + +/** +* @brief Sets the backgroundImage of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param backgroundImage Indicates background image. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoBackgroundImage(ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundImage); + +/** +* @brief Sets the blur of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param blur Indicates blur. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoBlur(ArkUI_AccessibilityElementInfo* elementInfo, const char* blur); + +/** +* @brief Sets the hitTestBehavior of the accessibility element information. +* +* @param elementInfo Indicates the pointer to the accessibility element information. +* @param hitTestBehavior Indicates hitTest behavior. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityElementInfoHitTestBehavior(ArkUI_AccessibilityElementInfo* elementInfo, const char* hitTestBehavior); + +/** + * @brief Create an accessibility eventInfo. + * + * @return Returns the pointer to the accessibility event info. + * @since 13 + * @version 1.0 + */ +ArkUI_AccessibilityEventInfo* OH_ArkUI_CreateAccessibilityEventInfo(void); + +/** + * @brief Destorys an accessibility eventInfo. + * + * @param eventInfo Indicates the pointer to to the accessibility event info to be destoryed. + * @since 13 + * @version 1.0 + */ +void OH_ArkUI_DestoryAccessibilityEventInfo(ArkUI_AccessibilityEventInfo* eventInfo); + +/** +* @brief Sets the eventType of the accessibility event information. +* +* @param eventInfo Indicates the pointer to the accessibility event information. +* @param eventType Indicates event type. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityEventEventType(ArkUI_AccessibilityEventInfo* eventInfo, ArkUI_AccessibilityEventType eventType); + +/** +* @brief Sets the pageId of the accessibility event information. +* +* @param eventInfo Indicates the pointer to the accessibility event information. +* @param pageId Indicates page id. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityEventPageId(ArkUI_AccessibilityEventInfo* eventInfo, int32_t pageId); + +/** +* @brief Sets the textAnnouncedForAccessibility of the accessibility event information. +* +* @param eventInfo Indicates the pointer to the accessibility event information. +* @param textAnnouncedForAccessibility Indicates text announced for accessibility. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityEventTextAnnouncedForAccessibility(ArkUI_AccessibilityEventInfo* eventInfo, const char* textAnnouncedForAccessibility); + +/** +* @brief Sets the requestFocusId of the accessibility event information. +* +* @param eventInfo Indicates the pointer to the accessibility event information. +* @param requestFocusId Indicates ID of the request for active focus. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityEventRequestFocusId(ArkUI_AccessibilityEventInfo* eventInfo, int32_t requestFocusId); + +/** +* @brief Sets the elementInfo of the accessibility event information. +* +* @param eventInfo Indicates the pointer to the accessibility event information. +* @param elementInfo Indicates element Info. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_SetAccessibilityEventElementInfo(ArkUI_AccessibilityEventInfo* eventInfo, ArkUI_AccessibilityElementInfo* elementInfo); + +/** +* @brief Gets the value of the accessibility action argument by key. +* +* @param arguments Indicates the pointer to the accessibility action arguments. +* @param key Indicates key. +* @param value Indicates value. +* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. +* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @since 13 +*/ +int32_t OH_ArkUI_FindAccessibilityActionArgumentByKey(ArkUI_AccessibilityActionArguments* arguments, const char* key, char* value); +#ifdef __cplusplus +}; +#endif +#endif // _NATIVE_INTERFACE_ACCESSIBILITY_H diff --git a/arkui/ace_engine/native/native_interface_xcomponent.h b/arkui/ace_engine/native/native_interface_xcomponent.h index bbf720155..39d8a9da1 100644 --- a/arkui/ace_engine/native/native_interface_xcomponent.h +++ b/arkui/ace_engine/native/native_interface_xcomponent.h @@ -46,6 +46,7 @@ #include "arkui/native_type.h" #include "arkui/ui_input_event.h" +#include "native_interface_accessibility.h" #include "native_xcomponent_key_event.h" #ifdef __cplusplus @@ -815,6 +816,18 @@ int32_t OH_NativeXComponent_GetTouchEventSourceType( */ OH_NativeXComponent* OH_NativeXComponent_GetNativeXComponent(ArkUI_NodeHandle node); +/** + * @brief Obtains the accessibility handle by the ArkUI XComponent. + * + * @param component Indicates the pointer to this OH_NativeXComponent instance. + * @param provider Indicates the pointer to pointer of ArkUI_AccessibilityProvider instance. + * @return Returns the status code of the execution. + * @since 13 + * @version 1.0 + */ +int32_t OH_NativeXComponent_GetNativeAccessibilityProvider( + OH_NativeXComponent* component, ArkUI_AccessibilityProvider** handle); + #ifdef __cplusplus }; #endif -- Gitee From c333dcffdfcf2e961084ef3807d376e292593556 Mon Sep 17 00:00:00 2001 From: yangxuguang-huawei Date: Wed, 28 Aug 2024 14:38:20 +0800 Subject: [PATCH 180/359] fix: chenge to API13 Signed-off-by: yangxuguang-huawei Change-Id: I8a18a38402a443cb53be25babdf6121158d61a63 --- ability/ability_runtime/child_process/native_child_process.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/ability/ability_runtime/child_process/native_child_process.h b/ability/ability_runtime/child_process/native_child_process.h index 3c9b18d38..84c0ddf7b 100644 --- a/ability/ability_runtime/child_process/native_child_process.h +++ b/ability/ability_runtime/child_process/native_child_process.h @@ -48,10 +48,6 @@ extern "C" { * @brief Enumerates the error codes used by the native child process module. * @since 12 */ -/** - * @brief Enumerates the error codes used by the native child process module. - * @since 13 - */ typedef enum Ability_NativeChildProcess_ErrCode { /** * @error Operation successful. @@ -60,6 +56,7 @@ typedef enum Ability_NativeChildProcess_ErrCode { /** * @error Operation not permitted. + * @since 13 */ NCP_ERR_NO_PERMISSION = 201, -- Gitee From 699a3995021b62bb99e06b5644b8e66ee0880230 Mon Sep 17 00:00:00 2001 From: lihui Date: Wed, 28 Aug 2024 11:31:08 +0800 Subject: [PATCH 181/359] =?UTF-8?q?=E6=96=B0=E5=A2=9Enative=20image?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E9=80=82=E9=85=8D=E4=B8=89=E6=96=B9wx?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lihui --- .../native_image/libnative_image.ndk.json | 8 ++++++ .../graphic_2d/native_image/native_image.h | 28 +++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/graphic/graphic_2d/native_image/libnative_image.ndk.json b/graphic/graphic_2d/native_image/libnative_image.ndk.json index 4d9f20d89..cc12b88ad 100644 --- a/graphic/graphic_2d/native_image/libnative_image.ndk.json +++ b/graphic/graphic_2d/native_image/libnative_image.ndk.json @@ -22,5 +22,13 @@ { "first_introduced": "12", "name": "OH_ConsumerSurface_Create" + }, + { + "first_introduced": "13", + "name": "OH_ConsumerSuface_SetDefaultUsage" + }, + { + "first_introduced": "13", + "name": "OH_ConsumerSuface_SetDefaultSize" } ] \ No newline at end of file diff --git a/graphic/graphic_2d/native_image/native_image.h b/graphic/graphic_2d/native_image/native_image.h index 0a12a14dc..acac1ca3a 100644 --- a/graphic/graphic_2d/native_image/native_image.h +++ b/graphic/graphic_2d/native_image/native_image.h @@ -300,6 +300,34 @@ int32_t OH_NativeImage_ReleaseNativeWindowBuffer(OH_NativeImage* image, */ OH_NativeImage* OH_ConsumerSurface_Create(); +/** + * @brief Set the default usage of the OH_NativeImage.\n + * This interface dose not support concurrency.\n + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeImage + * @param image Indicates the pointer to a OH_NativeImage instance. + * @param usage Indicates the usage of the OH_NativeImage.Refer to the enum OH_NativeBuffer_Usage. + * @return {@link NATIVE_ERROR_OK} 0 - Success. + * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - image is NULL. + * @since 13 + * @version 1.0 + */ +int32_t OH_ConsumerSuface_SetDefaultUsage(OH_NativeImage* image, uint64_t usage); + +/** + * @brief Set the default size of the OH_NativeImage.\n + * This interface dose not support concurrency.\n + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeImage + * @param image Indicates the pointer to a OH_NativeImage instance. + * @param width Indicates the width of the OH_NativeImage, and it should be greater than 0. + * @param height Indicates the height of the OH_NativeImage, and it should be greater than 0. + * @return {@link NATIVE_ERROR_OK} 0 - Success. + * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - image is NULL or width, height less than or equal to 0. + * @since 13 + * @version 1.0 + */ +int32_t OH_ConsumerSuface_SetDefaultSize(OH_NativeImage* image, int32_t width, int32_t height); #ifdef __cplusplus } #endif -- Gitee From 76df4148e0755903a7c62bc49ffbe1cf9feb3a5f Mon Sep 17 00:00:00 2001 From: qianqiuhong Date: Wed, 28 Aug 2024 16:31:23 +0800 Subject: [PATCH 182/359] =?UTF-8?q?=E5=A2=9E=E5=8A=A0NODE=5FFOCUS=5FSTATUS?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: qianqiuhong --- arkui/ace_engine/native/native_node.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 82fb26773..2b843bc50 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -1354,7 +1354,9 @@ typedef enum { /** * @brief Defines the focused state. This attribute can be set and obtained as required through APIs. - * + * @note Setting the parameter to 0 shifts focus from the currently focused component on the current level + * of the page to the root container. + * * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n * .value[0].i32: The parameter type is 1 or 0. * \n -- Gitee From c0133f96b99d18412840768d77eecb7d217c7a81 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Wed, 28 Aug 2024 11:54:54 +0000 Subject: [PATCH 183/359] add device listener capi Signed-off-by: hellohyh001 --- .../kits/c/input/oh_input_manager.h | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 4c3a94b31..bd365ec46 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -228,6 +228,27 @@ typedef enum Input_Result { INPUT_REPEAT_INTERCEPTOR = 4200001 } Input_Result; +/** 设备类型未知 */ +static const char* const Input_Device_Type_UNKNOWN = "ohos.input.device.unknown"; + +/** 设备类型键盘 */ +static const char* const Input_Device_Type_KEYBOARD = "ohos.input.device.keyboard"; + +/** 设备类型鼠标 */ +static const char* const Input_Device_Type_MOUSE = "ohos.input.device.mouse"; + +/** 设备类型触摸板 */ +static const char* const Input_Device_Type_TOUCHPAD = "ohos.input.device.touchpad"; + +/** 设备类型触屏 */ +static const char* const Input_Device_Type_TOUCHSCREEN = "ohos.input.device.touchscreen"; + +/** 设备类型遥感 */ +static const char* const Input_Device_Type_JOYSTICK = "ohos.input.device.joystick"; + +/** 设备类型轨迹球 */ +static const char* const Input_Device_Type_TRACKBALL = "ohos.input.device.trackball"; + /** * @brief Defines a lifecycle callback for keyEvent. If the callback is triggered, keyEvent will be destroyed. * @@ -260,6 +281,18 @@ typedef void (*Input_TouchEventCallback)(const Input_TouchEvent* touchEvent); */ typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent); +/** + * @brief 定义一个回调函数用于设备id和设备类型 + * @since 13 + */ +typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, const char* deviceType); + +/** + * @brief 定义一个回调函数用于设备id和设备类型 + * @since 13 + */ +typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, const char* deviceType); + /** * @brief Defines the structure for the interceptor of event callbacks, * including mouseCallback, touchCallback, and axisCallback. @@ -274,6 +307,16 @@ typedef struct Input_InterceptorEventCallback { Input_AxisEventCallback axisCallback; } Input_InterceptorEventCallback; +/** + * @brief 定义一个结构体用于监听设备设插拔 + * 包含了 addedCallback, removedCallback + * @since 13 + */ +typedef struct Input_DeviceListener { + Input_DeviceAddedCallback OnDeviceAdded; + Input_DeviceRemovedCallback OnDeviceRemoved; +}; + /** * @brief Defines event interceptor options. * @since 12 @@ -1200,6 +1243,45 @@ Input_Result OH_Input_RemoveKeyEventInterceptor(void); * @since 12 */ Input_Result OH_Input_RemoveInputEventInterceptor(void); + +/** + * @brief 按键键值转换成字符串 + * + * @param keyCode 要转成字符串的按键键值 + + * @return 如果返回一个字符串则表示成功,如果返回NULL则表示失败。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +const char* KeyCodeToString(int32_t keyCode); + +/** + * @brief 注册设备热插拔的监听器 + * + * @param listener 用于监听设备热插拔的监听器. + * + * @return OH_Input_RegisterDeviceListener status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} listener 为NULL 或 listener 已被注册 + * {@link INPUT_SERVICE_EXCEPTION} 服务端连接异常 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_RegisterDeviceListener(Input_DeviceListener* listener); + +/** + * @brief 取消注册设备热插拔的监听器 + * + * @param listener 用于监听设备热插拔的监听器. + * + * @return OH_Input_UnregisterDeviceListener status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} listener 为 NULL, listener 未注册或已被取消注册 + * {@link INPUT_SERVICE_EXCEPTION} 服务端连接异常 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_UnregisterDeviceListener(Input_DeviceListener* listener); #ifdef __cplusplus } #endif -- Gitee From b51eaa01b82b06ca8e36d96ca55b6d2cca3d629e Mon Sep 17 00:00:00 2001 From: sunbees Date: Wed, 28 Aug 2024 19:57:46 +0800 Subject: [PATCH 184/359] fix xcomponent ndk macro Signed-off-by: sunbees Change-Id: If365f3419dd8fba2a58816e8926886dec6128f09 --- arkui/ace_engine/native/native_interface_xcomponent.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arkui/ace_engine/native/native_interface_xcomponent.h b/arkui/ace_engine/native/native_interface_xcomponent.h index bbf720155..7175eae72 100644 --- a/arkui/ace_engine/native/native_interface_xcomponent.h +++ b/arkui/ace_engine/native/native_interface_xcomponent.h @@ -53,6 +53,7 @@ extern "C" { #endif #define OH_NATIVE_XCOMPONENT_OBJ ("__NATIVE_XCOMPONENT_OBJ__") +#define OH_NATIVE_XCOMPONENT_MAX_TOUCH_POINTS_NUMBER 10 const uint32_t OH_XCOMPONENT_ID_LEN_MAX = 128; const uint32_t OH_MAX_TOUCH_POINTS_NUMBER = 10; @@ -258,7 +259,7 @@ typedef struct { /** Timestamp of the current touch event. */ int64_t timeStamp; /** Array of the current touch points. */ - OH_NativeXComponent_TouchPoint touchPoints[OH_MAX_TOUCH_POINTS_NUMBER]; + OH_NativeXComponent_TouchPoint touchPoints[OH_NATIVE_XCOMPONENT_MAX_TOUCH_POINTS_NUMBER]; /** Number of current touch points. */ uint32_t numPoints; } OH_NativeXComponent_TouchEvent; -- Gitee From 2a12c28459292abe74ac71e3d713725c4014da3f Mon Sep 17 00:00:00 2001 From: lixiangpeng5 Date: Wed, 28 Aug 2024 15:20:47 +0000 Subject: [PATCH 185/359] add capi for linear acc and game rotation vector Signed-off-by: lixiangpeng5 Change-Id: Ida167a634827cb5259a674d2ee83a653a05fc202 --- sensors/sensor/oh_sensor_type.h | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/sensors/sensor/oh_sensor_type.h b/sensors/sensor/oh_sensor_type.h index 6f2cc925a..382fb377b 100644 --- a/sensors/sensor/oh_sensor_type.h +++ b/sensors/sensor/oh_sensor_type.h @@ -91,11 +91,21 @@ typedef enum Sensor_Type { * @since 11 */ SENSOR_TYPE_GRAVITY = 257, + /** + * Linear acceleration sensor. + * @since 13 + */ + SENSOR_TYPE_LINEAR_ACCELERATION = 258, /** * Rotation vector sensor. * @since 11 */ SENSOR_TYPE_ROTATION_VECTOR = 259, + /** + * Game rotation vector sensor. + * @since 13 + */ + SENSOR_TYPE_ID_GAME_ROTATION_VECTOR = 262, /** * Pedometer detection sensor. * @since 11 @@ -342,6 +352,45 @@ int32_t OH_SensorEvent_GetAccuracy(Sensor_Event* sensorEvent, Sensor_Accuracy *a * returns an error code defined in {@link Sensor_Result} otherwise. * @since 11 */ +/** + * @brief Obtains sensor data. The data length and content depend on the sensor type. + * The format of the sensor data reported is as follows: + * SENSOR_TYPE_ACCELEROMETER: data[0], data[1], and data[2], indicating the acceleration around + * the x, y, and z axes of the device, respectively, in m/s2. + * SENSOR_TYPE_GYROSCOPE: data[0], data[1], and data[2], indicating the angular velocity of rotation around + * the x, y, and z axes of the device, respectively, in rad/s. + * SENSOR_TYPE_AMBIENT_LIGHT: data[0], indicating the ambient light intensity, in lux. Since api version 12, + * two additional data will be returned, where data[1] indicating the color temperature, in kelvin; data[2] + * indicating the infrared luminance, in cd/m2. + * SENSOR_TYPE_MAGNETIC_FIELD: data[0], data[1], and data[2], indicating the magnetic field strength around + * the x, y, and z axes of the device, respectively, in μT. + * SENSOR_TYPE_BAROMETER: data[0], indicating the atmospheric pressure, in hPa. + * SENSOR_TYPE_HALL: data[0], indicating the opening/closing state of the flip cover. The value 0 means that + * the flip cover is opened, and a value greater than 0 means that the flip cover is closed. + * SENSOR_TYPE_PROXIMITY: data[0], indicates the approaching state. The value 0 means the two objects are close + * to each other, and a value greater than 0 means that they are far away from each other. + * SENSOR_TYPE_ORIENTATION: data[0], data[1], and data[2], indicating the rotation angles of a device around + * the z, x, and y axes, respectively, in degree. + * SENSOR_TYPE_GRAVITY: data[0], data[1], and data[2], indicating the gravitational acceleration around + * the x, y, and z axes of a device, respectively, in m/s2. + * SENSOR_TYPE_ROTATION_VECTOR: data[0], data[1] and data[2], indicating the rotation angles of a device around + * the x, y, and z axes, respectively, in degree. data[3] indicates the rotation vector. + * SENSOR_TYPE_PEDOMETER_DETECTION: data[0], indicating the pedometer detection status. + * The value 1 means that the number of detected steps changes. + * SENSOR_TYPE_PEDOMETER: data[0], indicating the number of steps a user has walked. + * SENSOR_TYPE_HEART_RATE: data[0], indicating the heart rate value. + * SENSOR_TYPE_LINEAR_ACCELERATION: data[0], data[1], and data[2], indicating the acceleration around + * the x, y, and z axes of the device, respectively, in m/s2. + * SENSOR_TYPE_ID_GAME_ROTATION_VECTOR: data[0], data[1] and data[2], indicating the rotation angles of a device around + * the x, y, and z axes, respectively, in degree. data[3] indicates the rotation vector. + * + * @param sensorEvent - Pointer to the sensor data information. + * @param data - Double pointer to the sensor data. + * @param length - Pointer to the array length. + * @return Returns SENSOR_SUCCESS if the operation is successful; + * returns an error code defined in {@link Sensor_Result} otherwise. + * @since 13 + */ int32_t OH_SensorEvent_GetData(Sensor_Event* sensorEvent, float **data, uint32_t *length); /** -- Gitee From 57dee640ab1b53ad50e0ce6c778b41e050fe11a7 Mon Sep 17 00:00:00 2001 From: dujingcheng Date: Wed, 28 Aug 2024 07:22:46 +0000 Subject: [PATCH 186/359] fxi Signed-off-by: dujingcheng --- arkui/ace_engine/native/BUILD.gn | 1 + arkui/ace_engine/native/libace.ndk.json | 220 ++++++++++++++++++ .../native/native_interface_accessibility.h | 2 +- .../native/native_interface_xcomponent.h | 2 +- .../kit_sub_system/c_file_kit_sub_system.json | 5 + 5 files changed, 228 insertions(+), 2 deletions(-) diff --git a/arkui/ace_engine/native/BUILD.gn b/arkui/ace_engine/native/BUILD.gn index 92f05cac4..99ad7f778 100644 --- a/arkui/ace_engine/native/BUILD.gn +++ b/arkui/ace_engine/native/BUILD.gn @@ -32,6 +32,7 @@ if (!is_arkui_x) { "native_dialog.h", "native_gesture.h", "native_interface.h", + "native_interface_accessibility.h", "native_node.h", "native_node_napi.h", "native_type.h", diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index 7e3b610ab..94884c361 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -2134,5 +2134,225 @@ { "first_introduced": "12", "name": "OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_AccessibilityProviderRegisterCallback" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SendAccessibilityAsyncEvent" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_AddAndGetAccessibilityElementInfo" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoPageId" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoComponentId" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoParentId" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoComponentType" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoContents" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoHintText" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityText" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityDescription" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoChildNodeIds" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoOperationActions" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoScreenRect" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoCheckable" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoChecked" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoFocusable" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoFocused" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoVisible" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityFocused" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoSelected" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoClickable" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoLongClickable" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoEnabled" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoIsPassword" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoScrollable" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoEditable" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoIsHint" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoRangeInfo" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoGridInfo" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoGridItemInfo" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoTextBeginSelected" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoTextEndSelected" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoCurrentItemIndex" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoBeginItemIndex" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoEndItemIndex" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoItemCount" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityOffset" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityGroup" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityLevel" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoZIndex" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityOpacity" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoBackgroundColor" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoBackgroundImage" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoBlur" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoHitTestBehavior" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_CreateAccessibilityEventInfo" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_DestoryAccessibilityEventInfo" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityEventEventType" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityEventPageId" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityEventTextAnnouncedForAccessibility" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityEventRequestFocusId" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityEventElementInfo" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_FindAccessibilityActionArgumentByKey" + }, + { + "first_introduced": "13", + "name": "OH_NativeXComponent_GetNativeAccessibilityProvider" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/native_interface_accessibility.h b/arkui/ace_engine/native/native_interface_accessibility.h index 0b7eb95a0..0fc10b641 100644 --- a/arkui/ace_engine/native/native_interface_accessibility.h +++ b/arkui/ace_engine/native/native_interface_accessibility.h @@ -318,7 +318,7 @@ typedef struct ArkUI_AccessibilityProviderCallbacks { /** Query the node that can be focused based on the reference node. Query the next node that can be focused based on the mode and direction. */ int32_t (*FindNextFocusAccessibilityNode)(int64_t elementId, ArkUI_AccessibilityFocusMoveDirection direction, int32_t requestId, ArkUI_AccessibilityElementInfo* elementList); /** Performing the Action operation on a specified node. */ - int32_t (*ExecuteAccessibilityAction)(int64_t elementId, ArkUI_Accessibility_ActionType action, ArkUI_AccessibilityActionArguments actionArguments, int32_t requestId); + int32_t (*ExecuteAccessibilityAction)(int64_t elementId, ArkUI_Accessibility_ActionType action, ArkUI_AccessibilityActionArguments *actionArguments, int32_t requestId); /** Clears the focus status of the currently focused node */ int32_t (*ClearFocusedFocusAccessibilityNode)(); /** Queries the current cursor position of a specified node. */ diff --git a/arkui/ace_engine/native/native_interface_xcomponent.h b/arkui/ace_engine/native/native_interface_xcomponent.h index 39d8a9da1..ae0edc011 100644 --- a/arkui/ace_engine/native/native_interface_xcomponent.h +++ b/arkui/ace_engine/native/native_interface_xcomponent.h @@ -43,10 +43,10 @@ #include #endif +#include "arkui/native_interface_accessibility.h" #include "arkui/native_type.h" #include "arkui/ui_input_event.h" -#include "native_interface_accessibility.h" #include "native_xcomponent_key_event.h" #ifdef __cplusplus diff --git a/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json b/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json index 668e349de..2e7636057 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json +++ b/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json @@ -16,6 +16,11 @@ "kitName": "ArkUI", "subSystem": "ArkUI开发框架" }, + { + "filePath": "arkui/ace_engine/native/native_interface_accessibility.h", + "kitName": "ArkUI", + "subSystem": "ArkUI开发框架" + }, { "filePath": "arkui/ace_engine/native/native_xcomponent_key_event.h", "kitName": "ArkUI", -- Gitee From e89e3317cd67bbd64f89468ac05560825dab0a12 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Thu, 29 Aug 2024 06:34:39 +0000 Subject: [PATCH 187/359] System shortcut key capi interface Signed-off-by: hellohyh001 Change-Id: Iaf5a3935b13ef855b180317305f0ead886fe0f04 --- .../kits/c/input/oh_input_manager.h | 114 ++++++++++++++++++ multimodalinput/kits/c/ohinput.ndk.json | 40 ++++++ 2 files changed, 154 insertions(+) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 3cade9b3a..9e11c5523 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -208,6 +208,13 @@ typedef struct Input_TouchEvent Input_TouchEvent; */ typedef struct Input_AxisEvent Input_AxisEvent; +/** + * @brief Defines the hot key structure. + * + * @since 13 + */ +typedef struct Input_Hotkey Input_Hotkey; + /** * @brief Enumerates error codes. * @@ -1214,6 +1221,113 @@ Input_Result OH_Input_RemoveInputEventInterceptor(void); */ Input_Result OH_Input_GetIntervalSinceLastInput(int64_t *timeInterval); +/** + * @brief Creates a hot key object. + * + * @return Returns an {@Link Input_Hotkey} pointer object if the operation is successful. Otherwise, a null pointer is + * returned. The possible cause is memory allocation failure. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Hotkey *OH_Input_CreateHotkey(void); + +/** + * @brief Destroys a hot key object. + * + * @param hotkey Hot key object. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +void OH_Input_DestroyHotkey(Input_Hotkey **hotkey); + +/** + * @brief Sets a modifier key. + * + * @param hotkey Hotkey key object. + * @param preKeys List of modifier keys. + * @param size Number of modifier keys. One or two modifier keys are supported. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +void OH_Input_SetPreKeys(Input_Hotkey *hotkey, int32_t *preKeys, int32_t size); + +/** + * @brief Obtains a modifier key. + * + * @param hotkey Hotkey key object. + * @param preKeys List of modifier keys. + * @param preKeyCount Number of modifier keys. + * @return OH_Input_GetPreKeys status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} The hotkey is NULL or the pressedKeys is NULL or the pressedKeyCount + * is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetPreKeys(const Input_Hotkey *hotkey, int32_t **preKeys, int32_t *preKeyCount); + +/** + * @brief Sets a modified key. + * + * @param hotkey Hotkey key object. + * @param finalKey Modified key. Only one modified key is supported. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +void OH_Input_SetFinalKey(Input_Hotkey *hotkey, int32_t finalKey); + +/** + * @brief Obtains a modified key. + * + * @param hotkey Hotkey key object. + * @param finalKeyCode Returns the key value of the decorated key. + * @return OH_Input_GetfinalKey status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} The hotkey is NULL or the finalKeyCode is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetFinalKey(const Input_Hotkey *hotkey, int32_t *finalKeyCode); + +/** + * @brief Creates an array of {@Link Input_Hotkey} instances. + * + * @param count Number of {@Link Input_Hotkey} instances to be created. The count must be the same as the number of + * system shortcut keys. + * @return Returns a pointer to an array of {@Link Input_Hotkey} instances if the operation is successful. If the + * operation fails, a null pointer is returned. The possible cause is memory allocation failure or count is not equal + * to the number of system hotkeys. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Hotkey **OH_Input_CreateAllSystemHotkeys(int32_t count); + +/** + * @brief Destroys an array of {@link Input_Hotkey} instances and reclaims memory. + * + * @param hotkeys Pointer to an array of {@Link Input_Hotkey } instances created by the + * {@Link OH_Input_CreateAllSystemHotkeys} method. + * @param count Count of the array to be destroyed, which must be the same as the number of system shortcut keys. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +void OH_Input_DestroyAllSystemHotkeys(Input_Hotkey **hotkeys, int32_t count); + +/** + * @brief Obtains all hot keys supported by the system. + * + * @param hotkey Array of {@Link Input_Hotkey} instances. + * When calling this API for the first time, you can pass NULL to obtain the array length. + * @param count Number of hot keys supported by the system. + * @return OH_Input_GetAllSystemHotkeys status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} The hotkey or count is NULL, or the value of count does not match the number + * of system shortcut keys supported by the system. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetAllSystemHotkeys(Input_Hotkey **hotkey, int32_t *count); + #ifdef __cplusplus } #endif diff --git a/multimodalinput/kits/c/ohinput.ndk.json b/multimodalinput/kits/c/ohinput.ndk.json index cfbe993ae..60da3d2a8 100644 --- a/multimodalinput/kits/c/ohinput.ndk.json +++ b/multimodalinput/kits/c/ohinput.ndk.json @@ -314,5 +314,45 @@ { "first_introduced": "12", "name": "OH_Input_RemoveInputEventInterceptor" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetIntervalSinceLastInput" + }, + { + "first_introduced": "13", + "name": "OH_Input_CreateAllSystemHotkeys" + }, + { + "first_introduced": "13", + "name": "OH_Input_DestroyAllSystemHotkeys" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetAllSystemHotkeys" + }, + { + "first_introduced": "13", + "name": "OH_Input_CreateHotkey" + }, + { + "first_introduced": "13", + "name": "OH_Input_DestroyHotkey" + }, + { + "first_introduced": "13", + "name": "OH_Input_SetPreKeys" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetPreKeys" + }, + { + "first_introduced": "13", + "name": "OH_Input_SetFinalKey" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetFinalKey" } ] \ No newline at end of file -- Gitee From 60e08afae8b5f3c64e23462c4c74c42aa0fbeedf Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Thu, 29 Aug 2024 07:19:07 +0000 Subject: [PATCH 188/359] 1 Signed-off-by: hellohyh001 --- multimodalinput/kits/c/input/oh_input_manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index bd365ec46..98d9c5f6c 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -1253,7 +1253,7 @@ Input_Result OH_Input_RemoveInputEventInterceptor(void); * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -const char* KeyCodeToString(int32_t keyCode); +const char* OH_Input_KeyCodeToString(int32_t keyCode); /** * @brief 注册设备热插拔的监听器 -- Gitee From 3dbf3dc7d35e548bb799f01e4bcf303b5c4bfd8e Mon Sep 17 00:00:00 2001 From: houpengtao Date: Tue, 23 Jul 2024 12:08:29 +0800 Subject: [PATCH 189/359] add paste board ndk Signed-off-by: houpengtao --- distributeddatamgr/pasteboard/BUILD.gn | 36 +++ .../pasteboard/include/oh_pasteboard.h | 275 ++++++++++++++++++ .../include/oh_pasteboard_err_code.h | 83 ++++++ .../pasteboard/libpasteboard.ndk.json | 58 ++++ 4 files changed, 452 insertions(+) create mode 100644 distributeddatamgr/pasteboard/BUILD.gn create mode 100644 distributeddatamgr/pasteboard/include/oh_pasteboard.h create mode 100644 distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h create mode 100644 distributeddatamgr/pasteboard/libpasteboard.ndk.json diff --git a/distributeddatamgr/pasteboard/BUILD.gn b/distributeddatamgr/pasteboard/BUILD.gn new file mode 100644 index 000000000..4cdf98a13 --- /dev/null +++ b/distributeddatamgr/pasteboard/BUILD.gn @@ -0,0 +1,36 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") +import("//foundation/distributeddatamgr/pasteboard/pasteboard.gni") + +ohos_ndk_headers("pasteboard_ndk_header") { + dest_dir = "$ndk_headers_out_dir/database/pasteboard/" + sources = [ + "./include/oh_pasteboard.h", + "./include/oh_pasteboard_err_code.h", + ] +} + +ohos_ndk_library("libpasteboard") { + output_name = "pasteboard" + output_extension = "so" + system_capability = "SystemCapability.MiscServices.Pasteboard" + ndk_description_file = "./libpasteboard.ndk.json" + min_compact_version = "13" + system_capability_headers = [ + "$ndk_headers_out_dir/database/pasteboard/oh_pasteboard.h", + "$ndk_headers_out_dir/database/pasteboard/oh_pasteboard_err_code.h", + ] +} diff --git a/distributeddatamgr/pasteboard/include/oh_pasteboard.h b/distributeddatamgr/pasteboard/include/oh_pasteboard.h new file mode 100644 index 000000000..6ac4336a2 --- /dev/null +++ b/distributeddatamgr/pasteboard/include/oh_pasteboard.h @@ -0,0 +1,275 @@ +/* + * Copyright (c) 2024 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 Pasteboard + * @{ + * + * @brief Provides the copy and paste support for the system Pasteboard. + * You can use the APIs of this module to operate the Pasteboard content of the plain text, HTML, + * URI, Want, pixel map, and other types. + * + * @since 13 + */ + +/** + * @file OH_Pasteboard.h + * + * @brief Provides APIs and enums of the Pasteboard module. + * + * @kit BasicServicesKit + * @library libpasteboard.so + * @syscap SystemCapability.MiscServices.Pasteboard + * + * @since 13 + */ + +#ifndef OH_PASTEBOARD_H +#define OH_PASTEBOARD_H + +#include +#include +#include "database/udmf/udmf.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the types of data changes that can be observed. + * + * @since 13 + */ +typedef enum Pasteboard_NotifyType { + /** + * @brief Change of the Pasteboard data in the local device. + */ + NOTIFY_LOCAL_DATA_CHANGE = 1, + /** + * @brief Change of the Pasteboard data in the remote devices. + */ + NOTIFY_REMOTE_DATA_CHANGE = 2 +} Pasteboard_NotifyType; + +/** + * @brief Defines the callback function used to return the Pasteboard data changed. + * + * @param context The context set by {@link OH_PasteboardObserver_SetData} function. + * @param type The types of data changes. For details, see {@link Pasteboard_NotifyType}. + * @since 13 + */ +typedef void (*Pasteboard_Notify)(void* context, Pasteboard_NotifyType type); + +/** + * @brief Defines the callback function used free the context. + * @param context Pointer to the context which is to be free. + * @since 13 + */ +typedef void (*Pasteboard_Finalize)(void* context); + +/** + * @brief Defines the Pasteboard subscriber information + * + * @since 13 + */ +typedef struct OH_PasteboardObserver OH_PasteboardObserver; + +/** + * @brief Creates a {@link OH_PasteboardObserver} instance. + * + * @return Returns the pointer to the {@link OH_PasteboardObserver} instance created if the operation is successful. + * Returns nullptr if the operation is failed. + * @see OH_PasteboardObserver. + * @since 13 + */ +OH_PasteboardObserver* OH_PasteboardObserver_Create(); + +/** + * @brief Destroy a {@link OH_PasteboardObserver} instance. + * + * @param observer Pointer to the {@link OH_PasteboardObserver} instance to destroy. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_PasteboardObserver PASTEBOARD_ErrCode. + * @since 13 + */ +int OH_PasteboardObserver_Destroy(OH_PasteboardObserver* observer); + +/** + * @brief Sets a callback function to return the Pasteboard data changed. + * + * @param observer Pointer to the {@link OH_PasteboardObserver} instance. + * @param context Pointer to the context set, which is the first parameter in Pasteboard_Notify. + * @param callback Callback to set. For details, see {@link Pasteboard_Notify}. + * @param finalize Optional callback that can free context when destroy observer. + * For details, see {@link Pasteboard_Finalize}. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_PasteboardObserver Pasteboard_Notify PASTEBOARD_ErrCode. + * @since 13 + */ +int OH_PasteboardObserver_SetData(OH_PasteboardObserver* observer, void* context, + const Pasteboard_Notify callback, const Pasteboard_Finalize finalize); + +/** + * @brief Represents the Pasteboard information. + * + * @since 13 + */ +typedef struct OH_Pasteboard OH_Pasteboard; + +/** + * @brief Creates a {@link OH_Pasteboard} instance. + * + * @return Returns the pointer to the {@link OH_Pasteboard} instance created if the operation is successful. + * Returns nullptr if the memory is not enough. + * @see OH_Pasteboard. + * @since 13 + */ +OH_Pasteboard* OH_Pasteboard_Create(); + +/** + * @brief Destroy a {@link OH_Pasteboard} instance. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance to destroy. + * @see OH_Pasteboard. + * @since 13 + */ +void OH_Pasteboard_Destroy(OH_Pasteboard* pasteboard); + +/** + * @brief Subscribes to the Pasteboard data change. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param type Event type to subscribe to. + * @param observer - Pointer to the observer information, which specifies the callback used to + * reporting the pasteboard data change. For details, see {@link OH_PasteboardObserver}. + * @return Returns the status code of the execution. For details, {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard OH_PasteboardObserver PASTEBOARD_ErrCode. + * @since 13 + */ +int OH_Pasteboard_Subscribe(OH_Pasteboard* pasteboard, int type, const OH_PasteboardObserver* observer); + +/** + * @brief Unsubscribes from the Pasteboard data change. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param type Event type to subscribe to. + * @param observer - Pointer to the observer information, which specifies the callback used to + * reporting the pasteboard data change. For details, see {@link OH_PasteboardObserver}. + * @return Returns the status code of the execution. For details, {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard OH_PasteboardObserver PASTEBOARD_ErrCode. + * @since 13 + */ +int OH_Pasteboard_Unsubscribe(OH_Pasteboard* pasteboard, int type, const OH_PasteboardObserver* observer); + +/** + * @brief Checks whether the Pasteboard data is from a remote device. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @return Returns a boolean value, which indicates whether the the data is from a remote device. + * The value {@code false} means Pasteboard data is not from a remote device. + * The value {@code true} means the opposite. + * @see OH_Pasteboard. + * @since 13 + */ +bool OH_Pasteboard_IsRemoteData(OH_Pasteboard* pasteboard); + +/** + * @brief Obtains the source of Pasteboard data. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param source Pointer to the source data. + * @param len Length of the source data. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard PASTEBOARD_ErrCode. + * @since 13 + */ +int OH_Pasteboard_GetDataSource(OH_Pasteboard* pasteboard, char* source, unsigned int len); + +/** + * @brief Checks whether the Pasteboard has the specified type of data. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param type Poniter to the type of data to check. + * @return Returns a boolean value, which indicates whether the Pasteboard has the specified type of data. + * The value {@code true} means the Pasteboard has the specified type of data. + * The value {@code false} means the opposite. + * @see OH_Pasteboard. + * @since 13 + */ +bool OH_Pasteboard_HasType(OH_Pasteboard* pasteboard, const char* type); + +/** + * @brief Checks whether there is data in the Pasteboard. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @return Returns a boolean value, which indicates whether there is data in the Pasteboard. + * The value {@code true} means there is data in Pasteboard. + * The value {@code false} means the opposite. + * @see OH_Pasteboard. + * @since 13 + */ +bool OH_Pasteboard_HasData(OH_Pasteboard* pasteboard); + +/** + * @brief Obtains data from the Pasteboard. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param status The status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * @return Returns the pointer to the {@link OH_UdmfData} instance. + * @see OH_Pasteboard OH_UdmfData PASTEBOARD_ErrCode. + * @since 13 + */ +OH_UdmfData* OH_Pasteboard_GetData(OH_Pasteboard* pasteboard, int* status); + +/** + * @brief Writes data to the Pasteboard. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param data Pointer to the {@link OH_UdmfData} instance. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard OH_UdmfData PASTEBOARD_ErrCode. + * @since 13 + */ +int OH_Pasteboard_SetData(OH_Pasteboard* pasteboard, OH_UdmfData* data); + +/** + * @brief Clears the data in the Pastedboard. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. + * Returns {@link ERR_OK} if the operation is successful. + * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. + * @see OH_Pasteboard PASTEBOARD_ErrCode. + * @since 13 + */ +int OH_Pasteboard_ClearData(OH_Pasteboard* pasteboard); +#ifdef __cplusplus +}; +#endif + +/** @} */ +#endif \ No newline at end of file diff --git a/distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h b/distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h new file mode 100644 index 000000000..36f30f1a9 --- /dev/null +++ b/distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2024 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 Pasteboard + * @{ + * + * @brief Provides the copy and paste support for the system Pasteboard. + * You can use the APIs of this module to operate the Pasteboard content of the plain text, HTML, + * URI, Want, pixel map, and other types. + * + * @since 13 + */ + +/** + * @file oh_pasteboard_err_code.h + * + * @brief Declaration error code information. + * + * @kit BasicServicesKit + * @library libpasteboard.so + * @syscap SystemCapability.MiscServices.Pasteboard + * + * @since 13 + */ + + +#ifndef OH_PASTEBOARD_ERR_CODE_H +#define OH_PASTEBOARD_ERR_CODE_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the error codes. + * + * @since 13 + */ +typedef enum PASTEBOARD_ErrCode { + /** + * @error The operation is successful. + */ + ERR_OK = 0, + /** + * @error Permission verification failed. + */ + ERR_PERMISSION_ERROR = 201, + /** + * @error Invalid parameter is detected. + */ + ERR_INVALID_PARAMETER = 401, + /** + * @error The capability is not supported. + */ + ERR_DEVICE_NOT_SUPPORTED = 801, + /** + * @error Inner error. + */ + ERR_INNER_ERROR = 12900000, + /** + * @error Another copy is in progress. + */ + ERR_BUSY = 12900003, +} PASTEBOARD_ErrCode; +#ifdef __cplusplus +}; +#endif + +/** @} */ +#endif diff --git a/distributeddatamgr/pasteboard/libpasteboard.ndk.json b/distributeddatamgr/pasteboard/libpasteboard.ndk.json new file mode 100644 index 000000000..37b1151fb --- /dev/null +++ b/distributeddatamgr/pasteboard/libpasteboard.ndk.json @@ -0,0 +1,58 @@ +[ + { + "first_introduced": "13", + "name": "OH_PasteboardObserver_Create" + }, + { + "first_introduced": "13", + "name": "OH_PasteboardObserver_Destroy" + }, + { + "first_introduced": "13", + "name": "OH_PasteboardObserver_SetData" + }, + { + "first_introduced": "13", + "name": "OH_Pasteboard_Create" + }, + { + "first_introduced": "13", + "name": "OH_PasteBoard_Destroy" + }, + { + "first_introduced": "13", + "name": "OH_PasteBoard_Subcribe" + }, + { + "first_introduced": "13", + "name": "OH_PasteBoard_Unsubcribe" + }, + { + "first_introduced": "13", + "name": "OH_PasteBoard_IsRemoteData" + }, + { + "first_introduced": "13", + "name": "OH_PasteBoard_GetDataSrouce" + }, + { + "first_introduced": "13", + "name": "OH_PasteBoard_HasType" + }, + { + "first_introduced": "13", + "name": "OH_PasteBoard_HasData" + }, + { + "first_introduced": "13", + "name": "OH_PasteBoard_GetData" + }, + { + "first_introduced": "13", + "name": "OH_PasteBoard_SetData" + }, + { + "first_introduced": "13", + "name": "OH_PasteBoard_ClearData" + } +] \ No newline at end of file -- Gitee From fb6686ea747fa4ff0e78322d8c98cebc562205b9 Mon Sep 17 00:00:00 2001 From: houpengtao Date: Sat, 27 Jul 2024 11:00:09 +0800 Subject: [PATCH 190/359] add record provider c api Signed-off-by: houpengtao --- distributeddatamgr/pasteboard/BUILD.gn | 36 --- .../pasteboard/include/oh_pasteboard.h | 305 ------------------ .../include/oh_pasteboard_err_code.h | 77 ----- .../pasteboard/libpasteboard.ndk.json | 62 ---- distributeddatamgr/udmf/include/udmf.h | 79 +++++ 5 files changed, 79 insertions(+), 480 deletions(-) delete mode 100644 distributeddatamgr/pasteboard/BUILD.gn delete mode 100644 distributeddatamgr/pasteboard/include/oh_pasteboard.h delete mode 100644 distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h delete mode 100644 distributeddatamgr/pasteboard/libpasteboard.ndk.json diff --git a/distributeddatamgr/pasteboard/BUILD.gn b/distributeddatamgr/pasteboard/BUILD.gn deleted file mode 100644 index 8887b53ac..000000000 --- a/distributeddatamgr/pasteboard/BUILD.gn +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright (c) 2024 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. - -import("//build/ohos.gni") -import("//build/ohos/ndk/ndk.gni") -import("//foundation/distributeddatamgr/pasteboard/pasteboard.gni") - -ohos_ndk_headers("pasteboard_ndk_header") { - dest_dir = "$ndk_headers_out_dir/database/pasteboard/" - sources = [ - "./include/oh_pasteboard.h", - "./include/oh_pasteboard_err_code.h", - ] -} - -ohos_ndk_library("libpasteboard_ndk") { - output_name = "pasteboard" - output_extension = "so" - system_capability = "SystemCapability.MiscServices.Pasteboard" - ndk_description_file = "./libpasteboard.ndk.json" - min_compact_version = "12" - system_capability_headers = [ - "$ndk_headers_out_dir/database/pasteboard/oh_pasteboard.h", - "$ndk_headers_out_dir/database/pasteboard/oh_pasteboard_err_code.h", - ] -} diff --git a/distributeddatamgr/pasteboard/include/oh_pasteboard.h b/distributeddatamgr/pasteboard/include/oh_pasteboard.h deleted file mode 100644 index 7b7affb65..000000000 --- a/distributeddatamgr/pasteboard/include/oh_pasteboard.h +++ /dev/null @@ -1,305 +0,0 @@ -/* - * Copyright (c) 2024 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 Pasteboard - * @{ - * - * @brief Provides the copy and paste support for the system Pasteboard. - * You can use the APIs of this module to operate the Pasteboard content of the plain text, HTML, - * URI, Want, pixel map, and other types. - * - * @since 12 - */ - -/** - * @file OH_Pasteboard.h - * - * @brief Provides APIs and enums of the Pasteboard module. - * - * @kit BasicServicesKit - * @library libpasteboard_ndk.so - * @syscap SystemCapability.MiscServices.Pasteboard - * - * @since 12 - */ - -#ifndef OH_PASTEBOARD_H -#define OH_PASTEBOARD_H - -#include -#include -#include "udmf.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Enumerates the types of data changes that can be observed. - * - * @since 12 - */ -typedef enum Pasteboard_SubscribeType { - /** - * @brief Change of the Pasteboard data in the local device. - */ - PASTEBOARD_SUBSCRIBE_TYPE_LOCAL = 1, - /** - * @brief Change of the Pasteboard data in the remote devices. - */ - PASTEBOARD_SUBSCRIBE_TYPE_REMOTE = 2 -} Pasteboard_SubscribeType; - -/** - * @brief Defines the callback function used to return the Pasteboard data changed. - * - * @param context The context set by {@link OH_PasteboardSubscriber_SetContext} function. - * @param type The types of data changes. For details, see {@link Pasteboard_SubscribeType}. - * @since 12 - */ -typedef void (*Pasteboard_SubscribeCallback)(void* context, Pasteboard_SubscribeType type); - -/** - * @brief Defines the Pasteboard subscriber information - * - * @since 12 - */ -typedef struct OH_PasteboardSubscriber OH_PasteboardSubscriber; - -/** - * @brief Creates a {@link OH_PasteboardSubscriber} instance. - * - * @return Returns the pointer to the {@link OH_PasteboardSubscriber} instance created if the operation is successful. - * Returns nullptr if the operation is failed. - * @see OH_PasteboardSubscriber. - * @since 12 - */ -OH_PasteboardSubscriber* OH_PasteboardSubscriber_Create(); - -/** - * @brief Destroy a {@link OH_PasteboardSubscriber} instance. - * - * @param subscriber Pointer to the {@link OH_PasteboardSubscriber} instance to destroy. - * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_PasteboardSubscriber PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_PasteboardSubscriber_Destroy(OH_PasteboardSubscriber* subscriber); - -/** - * @brief Sets a callback function to return the Pasteboard data changed. - * - * @param subscriber Pointer to the {@link OH_PasteboardSubscriber} instance. - * @param callback Callback to set. For details, see {@link Pasteboard_SubscribeCallback}. - * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_PasteboardSubscriber Pasteboard_SubscribeCallback PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_PasteboardSubscriber_SetCallback(OH_PasteboardSubscriber* subscriber, const Pasteboard_SubscribeCallback callback); - -/** - * @brief Obtains the callback used to return the Pasteboard data changed. - * - * @param subscriber Pointer to the {@link OH_PasteboardSubscriber} instance. - * @param callback Pointer to the {@link Pasteboard_SubscribeCallback} instance to obtain. - * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_PasteboardSubscriber Pasteboard_SubscribeCallback PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_PasteboardSubscriber_GetCallback(OH_PasteboardSubscriber* subscriber, Pasteboard_SubscribeCallback* callback); - -/** - * @brief Sets a context instance, which is the first parameter in Pasteboard_SubscribeCallback. - * - * @param subscriber Pointer to the {@link OH_PasteboardSubscriber} instance. - * @param context Pointer to the context set. - * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_PasteboardSubscriber PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_PasteboardSubscriber_SetContext(OH_PasteboardSubscriber* subscriber, void* context); - -/** - * @brief Obtains the context, which is the first parameter in Pasteboard_SubscribeCallback. - * - * @param subscriber Pointer to the {@link OH_PasteboardSubscriber} instance. - * @param context Pointer to the context to obtain. - * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_PasteboardSubscriber PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_PasteboardSubscriber_GetContext(OH_PasteboardSubscriber* subscriber, void** context); - -/** - * @brief Represents the Pasteboard information. - * - * @since 12 - */ -typedef struct OH_Pasteboard OH_Pasteboard; - -/** - * @brief Creates a {@link OH_Pasteboard} instance. - * - * @return Returns the pointer to the {@link OH_Pasteboard} instance created if the operation is successful. - * Returns nullptr if the operation is failed. - * @see OH_Pasteboard. - * @since 12 - */ -OH_Pasteboard* OH_Pasteboard_Create(); - -/** - * @brief Destroy a {@link OH_Pasteboard} instance. - * - * @param pasteboard Pointer to the {@link OH_Pasteboard} instance to destroy. - * @see OH_Pasteboard. - * @since 12 - */ -void OH_Pasteboard_Destroy(OH_Pasteboard* pasteboard); - -/** - * @brief Subscribes to the Pasteboard data change. - * - * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. - * @param type Event type to subscribe to. - * @param subscriber - Pointer to the subscriber information, which specifies the callback used to - * reporting the pasteboard data change. For details, see {@link OH_PasteboardSubscriber}. - * @return Returns the status code of the execution. For details, {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_Pasteboard OH_PasteboardSubscriber PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_Pasteboard_Subscribe(OH_Pasteboard* pasteboard, int type, const OH_PasteboardSubscriber* subscriber); - -/** - * @brief Unsubscribes from the Pasteboard data change. - * - * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. - * @param type Event type to subscribe to. - * @param subscriber - Pointer to the subscriber information, which specifies the callback used to - * reporting the pasteboard data change. For details, see {@link OH_PasteboardSubscriber}. - * @return Returns the status code of the execution. For details, {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_Pasteboard OH_PasteboardSubscriber PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_Pasteboard_Unsubscribe(OH_Pasteboard* pasteboard, int type, const OH_PasteboardSubscriber* subscriber); - -/** - * @brief Checks whether the Pasteboard data is from a remote device. - * - * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. - * @return Returns a boolean value, which indicates whether the the data is from a remote device. - * The value {@code false} means Pasteboard data is not from a remote device. - * The value {@code true} means the opposite. - * @see OH_Pasteboard. - * @since 12 - */ -bool OH_Pasteboard_IsRemoteData(OH_Pasteboard* pasteboard); - -/** - * @brief Obtains the source of Pasteboard data. - * - * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. - * @param source Pointer to the source data. - * @param len Length of the source data. - * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_Pasteboard PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_Pasteboard_GetDataSource(OH_Pasteboard* pasteboard, char* source, unsigned int len); - -/** - * @brief Checks whether the Pasteboard has the specified type of data. - * - * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. - * @param type Poniter to the type of data to check. - * @return Returns a boolean value, which indicates whether the Pasteboard has the specified type of data. - * The value {@code true} means the Pasteboard has the specified type of data. - * The value {@code false} means the opposite. - * @see OH_Pasteboard. - * @since 12 - */ -bool OH_Pasteboard_HasType(OH_Pasteboard* pasteboard, const char* type); - -/** - * @brief Checks whether there is data in the Pasteboard. - * - * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. - * @return Returns a boolean value, which indicates whether there is data in the Pasteboard. - * The value {@code true} means there is data in Pasteboard. - * The value {@code false} means the opposite. - * @see OH_Pasteboard. - * @since 12 - */ -bool OH_Pasteboard_HasData(OH_Pasteboard* pasteboard); - -/** - * @brief Obtains data from the Pasteboard. - * - * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. - * @param data Pointer to the {@link OH_UdmfData} instance. - * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_Pasteboard OH_UdmfData PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_Pasteboard_GetData(OH_Pasteboard* pasteboard, OH_UdmfData* data); - -/** - * @brief Writes data to the Pasteboard. - * - * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. - * @param data Pointer to the {@link OH_UdmfData} instance. - * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_Pasteboard OH_UdmfData PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_Pasteboard_SetData(OH_Pasteboard* pasteboard, OH_UdmfData* data); - -/** - * @brief Clears the data in the Pastedboard. - * - * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. - * @return Returns the status code of the execution. For details, see {@link PASTEBOARD_ErrCode}. - * Returns {@link ERR_OK} if the operation is successful. - * Returns {@link ERR_INVALID_PARAMETER} if invalid args are detected. - * @see OH_Pasteboard PASTEBOARD_ErrCode. - * @since 12 - */ -int OH_Pasteboard_ClearData(OH_Pasteboard* pasteboard); -#ifdef __cplusplus -}; -#endif - -/** @} */ -#endif \ No newline at end of file diff --git a/distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h b/distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h deleted file mode 100644 index 0251eb05d..000000000 --- a/distributeddatamgr/pasteboard/include/oh_pasteboard_err_code.h +++ /dev/null @@ -1,77 +0,0 @@ -/* - * Copyright (c) 2024 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 Pasteboard - * @{ - * - * @brief Provides the copy and paste support for the system Pasteboard. - * You can use the APIs of this module to operate the Pasteboard content of the plain text, HTML, - * URI, Want, pixel map, and other types. - * - * @since 12 - */ - -/** - * @file oh_pasteboard_err_code.h - * - * @brief Declaration error code information. - * - * @kit BasicServicesKit - * @library libpasteboard_ndk.so - * @syscap SystemCapability.MiscServices.Pasteboard - * - * @since 12 - */ - - -#ifndef OH_PASTEBOARD_ERR_CODE_H -#define OH_PASTEBOARD_ERR_CODE_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Enumerates the error codes. - * - * @since 12 - */ -typedef enum PASTEBOARD_ErrCode { - /** - * The operation is successful. - */ - ERR_OK = 0, - /** - * Permission verification failed. - */ - ERR_PERMISSION_ERROR = 201, - /** - * Invalid parameter is detected. - */ - ERR_INVALID_PARAMETER = 401, - /** - * The capability is not supported. - */ - ERR_DEVICE_NOT_SUPPORTED = 801, - -} PASTEBOARD_ErrCode; - -#ifdef __cplusplus -}; -#endif - -/** @} */ -#endif diff --git a/distributeddatamgr/pasteboard/libpasteboard.ndk.json b/distributeddatamgr/pasteboard/libpasteboard.ndk.json deleted file mode 100644 index 60631cdb2..000000000 --- a/distributeddatamgr/pasteboard/libpasteboard.ndk.json +++ /dev/null @@ -1,62 +0,0 @@ -[ - { - "first_introduced": "12", - "name": "OH_PasteBoardSubcriber_Create" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoardSubcriber_Destroy" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoardSubcriber_SetCallback" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoardSubcriber_GetCallback" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_Create" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_Destroy" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_Subcribe" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_Unsubcribe" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_IsRemoteData" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_GetDataSrouce" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_HasType" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_HasData" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_GetData" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_SetData" - }, - { - "first_introduced": "12", - "name": "OH_PasteBoard_ClearData" - } -] \ No newline at end of file diff --git a/distributeddatamgr/udmf/include/udmf.h b/distributeddatamgr/udmf/include/udmf.h index 6b06f5fb7..a4aa27ac6 100644 --- a/distributeddatamgr/udmf/include/udmf.h +++ b/distributeddatamgr/udmf/include/udmf.h @@ -104,6 +104,13 @@ typedef struct OH_UdmfData OH_UdmfData; */ typedef struct OH_UdmfRecord OH_UdmfRecord; +/** + * @brief Defines the data provider. + * + * @since 13 + */ +typedef struct OH_UdmfRecordProvider OH_UdmfRecordProvider; + /** * @brief Describes some property parameters of unified data. * @@ -179,6 +186,62 @@ char** OH_UdmfData_GetTypes(OH_UdmfData* pThis, unsigned int* count); */ OH_UdmfRecord** OH_UdmfData_GetRecords(OH_UdmfData* pThis, unsigned int* count); +/** + * @brief Defines the callback function used free the context. + * @param context Pointer to the context which is to be free. + * @since 13 + */ +typedef void (*UdmfData_Finalize)(void* context); + +/** + * @brief Creates an {@link OH_UdmfRecordProvider} instance. + * + * @return Returns the pointer to the {@link OH_UdmfRecordProvider} instance created if the operation is successful. + * Returns nullptr if the memory is not enough. + * @see OH_UdmfRecordProvider. + * @since 13 + */ +OH_UdmfRecordProvider* OH_UdmfRecordProvider_Create(); + +/** + * @brief Destroy an {@link OH_UdmfRecordProvider} instance. + * + * @param subscriber Pointer to the {@link OH_UdmfRecordProvider} instance to destroy. + * @return Returns the status code of the execution. For details, see {@link Udmf_ErrCode}. + * Returns {@link UDMF_E_OK} if the operation is successful. + * Returns {@link UDMF_E_INVALID_PARAM} if invalid args are detected. + * @see OH_UdmfRecordProvider Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfRecordProvider_Destroy(OH_UdmfRecordProvider* provider); + +/** + * @brief Defines a callback function used to obtain data by type. + * + * @param context Pointer to the context set by {@link OH_UdmfRecordProvider_SetData}. + * @param type Pointer to the type of data to obtain. For details, see {@link udmf_meta.h}. + * @return Returns the data content. + * @since 13 + */ +typedef void* (*OH_UdmfRecordProvider_GetData)(void* context, const char* type); + +/** + * @brief Sets a callback function to obtain data. + * + * @param provider Pointer to the {@link OH_UdmfRecordProvider} instance. + * @param context Pointer to the context set, which is the first parameter in OH_UdmfRecordProvider_GetData. + * @param callback Callback to set. For details, see {@link OH_UdmfRecordProvider_GetData}. + * @param finalize Optional callback that can free context when destroy provider. + * For details, see {@link UdmfData_Finalize}. + * @return Returns the status code of the execution. For details, see {@link Udmf_ErrCode}. + * Returns {@link UDMF_E_OK} if the operation is successful. + * Returns {@link UDMF_E_INVALID_PARAM} if invalid args are detected. + * @see OH_UdmfRecordProvider OH_UdmfRecordProvider_GetData UdmfData_Finalize Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfRecordProvider_SetData(OH_UdmfRecordProvider* provider, void* context, + const OH_UdmfRecordProvider_GetData callback, const UdmfData_Finalize finalize); + /** * @brief Creation a pointer to the instance of the {@link OH_UdmfRecord}, it's relate with UDS data. * @@ -345,6 +408,22 @@ int OH_UdmfRecord_GetHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); */ int OH_UdmfRecord_GetAppItem(OH_UdmfRecord* pThis, OH_UdsAppItem* appItem); +/** + * @brief Set the data provider of the types. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param types Represents a pointer to a group of data types; + * @param count Represents the number of data types; + * @param provider Represents a pointer an instance of {@link OH_UdmfRecordProvider}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdmfRecordProvider Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfRecord_SetProvider(OH_UdmfRecord* pThis, const char* const* types, unsigned int count, + OH_UdmfRecordProvider* provider); + /** * @brief Creation a pointer to the instance of the {@link OH_UdmfProperty} * from a {@link OH_UdmfData} data. -- Gitee From 3c59a7e5352c3495381b0a0109a25af191d512ee Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Thu, 29 Aug 2024 10:19:55 +0000 Subject: [PATCH 191/359] 1 Signed-off-by: hellohyh001 --- multimodalinput/kits/c/input/oh_input_manager.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 98d9c5f6c..71b7fd585 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -229,7 +229,7 @@ typedef enum Input_Result { } Input_Result; /** 设备类型未知 */ -static const char* const Input_Device_Type_UNKNOWN = "ohos.input.device.unknown"; +static const char* const Input_Device_Type_KEYBOARD = "ohos.input.device.unkown"; /** 设备类型键盘 */ static const char* const Input_Device_Type_KEYBOARD = "ohos.input.device.keyboard"; @@ -283,15 +283,17 @@ typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent); /** * @brief 定义一个回调函数用于设备id和设备类型 + * 如果回调被触发,**deviceTypes**将被销毁。 * @since 13 */ -typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, const char* deviceType); +typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, const char** deviceTypes, int32_t count); /** * @brief 定义一个回调函数用于设备id和设备类型 + * 如果回调被触发,**deviceTypes**将被销毁。 * @since 13 */ -typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, const char* deviceType); +typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, const char** deviceTypes, int32_t count); /** * @brief Defines the structure for the interceptor of event callbacks, @@ -315,7 +317,7 @@ typedef struct Input_InterceptorEventCallback { typedef struct Input_DeviceListener { Input_DeviceAddedCallback OnDeviceAdded; Input_DeviceRemovedCallback OnDeviceRemoved; -}; +} Input_DeviceListener; /** * @brief Defines event interceptor options. -- Gitee From 08072f1a6e67c57f94e619cbb1223039b14e608c Mon Sep 17 00:00:00 2001 From: cuiruibin Date: Thu, 22 Aug 2024 16:34:23 +0800 Subject: [PATCH 192/359] =?UTF-8?q?=E6=96=B0=E5=A2=9ENDK=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=96=87=E4=BB=B6=E5=90=8D=E7=A7=B0=20Signed?= =?UTF-8?q?-off-by:=20cuiruibin=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- filemanagement/file_uri/include/oh_file_uri.h | 20 +++++++++++++++++++ .../file_uri/liboh_file_uri.ndk.json | 4 ++++ 2 files changed, 24 insertions(+) diff --git a/filemanagement/file_uri/include/oh_file_uri.h b/filemanagement/file_uri/include/oh_file_uri.h index e7805faf8..adf9f0fa3 100644 --- a/filemanagement/file_uri/include/oh_file_uri.h +++ b/filemanagement/file_uri/include/oh_file_uri.h @@ -21,6 +21,10 @@ * @kit CoreFileKit * * @brief uri verification and conversion + * This class is mainly for URI format verification and URI conversion processing; + * The conversion and operation of the media library type URI is not supported, + * and the class only converts according to the existing specifications, + * and there is no guarantee that the conversion result will actually exist. * @library libohfileuri.so * @syscap SystemCapability.FileManagement.AppFileService * @since 12 @@ -93,6 +97,22 @@ FileManagement_ErrCode OH_FileUri_GetFullDirectoryUri(const char *uri, unsigned * @since 12 */ bool OH_FileUri_IsValidUri(const char *uri, unsigned int length); + +/** +* @brief Gets the fileName From uri. +* This function obtains that the last segment of the URI string is the return value of the function, +* and the URI of the media type is not supported +* @param uri Input a pointer to the uri string. +* @param length The length of the input uri. +* @param result Output a pointer to a FileName string. Please use free() to clear the resource. +* @return Returns the status code of the execution. +* {@link ERR_PARAMS} 401 - Invalid input parameter. +* {@link ERR_ENOMEM} 13900011 - Failed to apply for memory or failed to copy memory. +* {@link ERR_OK} 0 - This operation was successfully executed. +* @syscap SystemCapability.FileManagement.AppFileService +* @since 13 + */ +FileManagement_ErrCode OH_FileUri_GetFileName(const char *uri, unsigned int length, char **result); #ifdef __cplusplus }; #endif diff --git a/filemanagement/file_uri/liboh_file_uri.ndk.json b/filemanagement/file_uri/liboh_file_uri.ndk.json index 776c160a8..d17efcd7a 100644 --- a/filemanagement/file_uri/liboh_file_uri.ndk.json +++ b/filemanagement/file_uri/liboh_file_uri.ndk.json @@ -13,5 +13,9 @@ { "first_introduced": "12", "name":"OH_FileUri_IsValidUri" + }, + { + "first_introduced": "13", + "name":"OH_FileUri_GetFileName" } ] \ No newline at end of file -- Gitee From c39bc96a5ae38cbd975118a244123285176d7a3c Mon Sep 17 00:00:00 2001 From: lizhuojun Date: Tue, 23 Jul 2024 21:57:29 +0800 Subject: [PATCH 193/359] add new define Signed-off-by: lizhuojun --- distributeddatamgr/udmf/include/udmf.h | 61 ++++++++-- .../udmf/include/udmf_err_code.h | 10 +- distributeddatamgr/udmf/include/udmf_meta.h | 7 ++ distributeddatamgr/udmf/include/uds.h | 108 ++++-------------- 4 files changed, 94 insertions(+), 92 deletions(-) diff --git a/distributeddatamgr/udmf/include/udmf.h b/distributeddatamgr/udmf/include/udmf.h index 13a59f825..c7b586bbc 100644 --- a/distributeddatamgr/udmf/include/udmf.h +++ b/distributeddatamgr/udmf/include/udmf.h @@ -255,7 +255,7 @@ int OH_UdmfRecord_AddHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); /** * @brief Add one {OH_UdsAppItem} data to the {@link OH_UdmfRecord} record. * - * @param repThisord Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. * @param appItem Represents a pointer to an instance of {@link OH_UdsAppItem}. * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. @@ -265,6 +265,32 @@ int OH_UdmfRecord_AddHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); */ int OH_UdmfRecord_AddAppItem(OH_UdmfRecord* pThis, OH_UdsAppItem* appItem); +/** + * @brief Add one {OH_UdsFileUri} data to the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param fileUri Represents a pointer to an instance of {@link OH_UdsFileUri}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsFileUri Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfRecord_AddFileUri(OH_UdmfRecord* pThis, OH_UdsFileUri* fileUri); + +/** + * @brief Add one {OH_UdsPixelMap} data to the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param pixelMap Represents a pointer to an instance of {@link OH_UdsPixelMap}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsPixelMap Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfRecord_AddPixelMap(OH_UdmfRecord* pThis, OH_UdsPixelMap* pixelMap); + /** * @brief Get all types in the {@link OH_UdmfRecord} record. * @@ -287,7 +313,6 @@ char** OH_UdmfRecord_GetTypes(OH_UdmfRecord* pThis, unsigned int* count); * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} 1.Internal data error. 2.Record data count exceeds the maximum value. * @see OH_UdmfRecord Udmf_ErrCode. * @since 12 */ @@ -302,7 +327,6 @@ int OH_UdmfRecord_GetGeneralEntry(OH_UdmfRecord* pThis, const char* typeId, * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} The record type is not plain text. * @see OH_UdmfRecord OH_UdsPlainText Udmf_ErrCode. * @since 12 */ @@ -316,7 +340,6 @@ int OH_UdmfRecord_GetPlainText(OH_UdmfRecord* pThis, OH_UdsPlainText* plainText) * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} The record type is not hyperlink. * @see OH_UdmfRecord OH_UdsHyperlink Udmf_ErrCode. * @since 12 */ @@ -330,7 +353,6 @@ int OH_UdmfRecord_GetHyperlink(OH_UdmfRecord* pThis, OH_UdsHyperlink* hyperlink) * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} The record type is not HTML. * @see OH_UdmfRecord OH_UdsHtml Udmf_ErrCode. * @since 12 */ @@ -344,12 +366,37 @@ int OH_UdmfRecord_GetHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} The record type is not open harmony app item. * @see OH_UdmfRecord OH_UdsAppItem Udmf_ErrCode. * @since 12 */ int OH_UdmfRecord_GetAppItem(OH_UdmfRecord* pThis, OH_UdsAppItem* appItem); +/** + * @brief Get one {OH_UdsFileUri} data from the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param fileUri Represents a pointer to an instance of {@link OH_UdsFileUri}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsFileUri Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfRecord_GetFileUri(OH_UdmfRecord* pThis, OH_UdsFileUri* fileUri); + +/** + * @brief Get one {OH_UdsPixelMap} data from the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param pixelMap Represents a pointer to an instance of {@link OH_UdsPixelMap}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsPixelMap Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfRecord_GetPixelMap(OH_UdmfRecord* pThis, OH_UdsPixelMap* pixelMap); + /** * @brief Creation a pointer to the instance of the {@link OH_UdmfProperty} * from a {@link OH_UdmfData} data. @@ -489,7 +536,6 @@ int OH_UdmfProperty_SetExtrasStringParam(OH_UdmfProperty* pThis, * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} The UDMF client fails to obtain data. * @see OH_UdmfProperty Udmf_Intention Udmf_ErrCode. * @since 12 */ @@ -506,7 +552,6 @@ int OH_Udmf_GetUnifiedData(const char* key, Udmf_Intention intention, OH_UdmfDat * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} The UDMF client fails to obtain data, or string copy error. * @see OH_UdmfProperty Udmf_Intention Udmf_ErrCode. * @since 12 */ diff --git a/distributeddatamgr/udmf/include/udmf_err_code.h b/distributeddatamgr/udmf/include/udmf_err_code.h index 105191c7c..4a479bdc6 100644 --- a/distributeddatamgr/udmf/include/udmf_err_code.h +++ b/distributeddatamgr/udmf/include/udmf_err_code.h @@ -56,14 +56,22 @@ typedef enum Udmf_ErrCode { * The error code in the correct case. */ UDMF_E_OK = 0, + /** + * @brief The error when the capability not supported. + */ + UDMF_E_NOT_SUPPORTED = 801, /** * @brief The error code for common exceptions. */ UDMF_ERR = 20400000, + /** + * @brief The error code for not support this data parse exceptions. + */ + UDMF_E_NOT_PARSE_DATA = (UDMF_ERR + 1), /** * @brief The error code for common invalid args. */ - UDMF_E_INVALID_PARAM = (UDMF_ERR + 1), + UDMF_E_INVALID_PARAM = (UDMF_ERR + 2), } Udmf_ErrCode; #ifdef __cplusplus diff --git a/distributeddatamgr/udmf/include/udmf_meta.h b/distributeddatamgr/udmf/include/udmf_meta.h index 17990eebc..25b31bf80 100644 --- a/distributeddatamgr/udmf/include/udmf_meta.h +++ b/distributeddatamgr/udmf/include/udmf_meta.h @@ -990,6 +990,13 @@ extern "C" { */ #define UDMF_META_OPENHARMONY_WANT "openharmony.want" +/** + * @brief A specific type of uniform data type. + * + * @since 13 + */ +#define UDMF_META_GENERAL_FILE_URI "general.file-uri" + #ifdef __cplusplus }; #endif diff --git a/distributeddatamgr/udmf/include/uds.h b/distributeddatamgr/udmf/include/uds.h index 8ed0845d9..398602810 100644 --- a/distributeddatamgr/udmf/include/uds.h +++ b/distributeddatamgr/udmf/include/uds.h @@ -40,9 +40,10 @@ #ifndef UDS_H #define UDS_H -#include "pixelmap_native.h" +#include "multimedia/image_framework/image/pixelmap_native.h" #ifdef __cplusplus + extern "C" { #endif @@ -74,24 +75,17 @@ typedef struct OH_UdsHtml OH_UdsHtml; */ typedef struct OH_UdsAppItem OH_UdsAppItem; -/** - * @brief Describes the unified data struct of open harmony form. - * - * @since 12 - */ -typedef struct OH_UdsForm OH_UdsForm; - /** * @brief Describes the unified data struct of file uri. * - * @since 12 + * @since 13 */ typedef struct OH_UdsFileUri OH_UdsFileUri; /** * @brief Describes the unified data struct of open harmony pixel map. * - * @since 12 + * @since 13 */ typedef struct OH_UdsPixelMap OH_UdsPixelMap; @@ -487,65 +481,13 @@ int OH_UdsAppItem_SetBundleName(OH_UdsAppItem* pThis, const char* bundleName); */ int OH_UdsAppItem_SetAbilityName(OH_UdsAppItem* pThis, const char* abilityName); -/** - * @brief Creation a pointer to the instance of the {@link OH_UdsForm}. - * - * @return If the operation is successful, a pointer to the instance of the {@link OH_UdsForm} - * structure is returned. If the operation is failed, nullptr is returned. - * @see OH_UdsForm - * @since 12 - */ -OH_UdsForm* OH_UdsForm_Create(); - -/** - * @brief Destroy a pointer that points to the {@link OH_UdsForm} instance. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdsForm}. - * @see OH_UdsForm - * @since 12 - */ -void OH_UdsForm_Destroy(OH_UdsForm* pThis); - -/** - * @brief Get type id from the {@link OH_UdsForm}. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdsForm}. - * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. - * @see OH_UdsForm - * @since 12 - */ -const char* OH_UdsForm_GetType(OH_UdsForm* pThis); - -/** - * @brief Get form content from the {@link OH_UdsForm}. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdsForm}. - * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. - * @see OH_UdsForm - * @since 12 - */ -const char* OH_UdsForm_GetFormContent(OH_UdsForm* pThis); - -/** - * @brief Set form content to the {@link OH_UdsForm}. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdsForm}. - * @param content Represents a new form content string. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdsForm Udmf_ErrCode - * @since 12 - */ -int OH_UdsForm_SetFormContent(OH_UdsForm* pThis, const char* formContent); - /** * @brief Creation a pointer to the instance of the {@link OH_UdsFileUri}. * * @return If the operation is successful, a pointer to the instance of the {@link OH_UdsFileUri} - * structure is returned. If the operation is failed, nullptr is returned. + * structure is returned. If the memory is not enough, nullptr is returned. * @see OH_UdsFileUri - * @since 12 + * @since 13 */ OH_UdsFileUri* OH_UdsFileUri_Create(); @@ -554,7 +496,7 @@ OH_UdsFileUri* OH_UdsFileUri_Create(); * * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. * @see OH_UdsFileUri - * @since 12 + * @since 13 */ void OH_UdsFileUri_Destroy(OH_UdsFileUri* pThis); @@ -564,7 +506,7 @@ void OH_UdsFileUri_Destroy(OH_UdsFileUri* pThis); * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. * @see OH_UdsFileUri - * @since 12 + * @since 13 */ const char* OH_UdsFileUri_GetType(OH_UdsFileUri* pThis); @@ -574,7 +516,7 @@ const char* OH_UdsFileUri_GetType(OH_UdsFileUri* pThis); * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. * @see OH_UdsFileUri - * @since 12 + * @since 13 */ const char* OH_UdsFileUri_GetFileUri(OH_UdsFileUri* pThis); @@ -584,7 +526,7 @@ const char* OH_UdsFileUri_GetFileUri(OH_UdsFileUri* pThis); * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. * @see OH_UdsFileUri - * @since 12 + * @since 13 */ const char* OH_UdsFileUri_GetFileType(OH_UdsFileUri* pThis); @@ -592,12 +534,12 @@ const char* OH_UdsFileUri_GetFileType(OH_UdsFileUri* pThis); * @brief Set file uri to the {@link OH_UdsFileUri}. * * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. - * @param content Represents a new content string. + * @param fileUri Represents a new file uri string. * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. * @see OH_UdsFileUri Udmf_ErrCode - * @since 12 + * @since 13 */ int OH_UdsFileUri_SetFileUri(OH_UdsFileUri* pThis, const char* fileUri); @@ -605,12 +547,12 @@ int OH_UdsFileUri_SetFileUri(OH_UdsFileUri* pThis, const char* fileUri); * @brief Set file type to the {@link OH_UdsFileUri}. * * @param pThis Represents a pointer to an instance of {@link OH_UdsFileUri}. - * @param content Represents a new content string. + * @param fileType Represents a new file type string. * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. * @see OH_UdsFileUri Udmf_ErrCode - * @since 12 + * @since 13 */ int OH_UdsFileUri_SetFileType(OH_UdsFileUri* pThis, const char* fileType); @@ -618,9 +560,9 @@ int OH_UdsFileUri_SetFileType(OH_UdsFileUri* pThis, const char* fileType); * @brief Creation a pointer to the instance of the {@link OH_UdsPixelMap}. * * @return If the operation is successful, a pointer to the instance of the {@link OH_UdsPixelMap} - * structure is returned. If the operation is failed, nullptr is returned. + * structure is returned. If the memory is not enough, nullptr is returned. * @see OH_UdsPixelMap - * @since 12 + * @since 13 */ OH_UdsPixelMap* OH_UdsPixelMap_Create(); @@ -629,7 +571,7 @@ OH_UdsPixelMap* OH_UdsPixelMap_Create(); * * @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}. * @see OH_UdsPixelMap - * @since 12 + * @since 13 */ void OH_UdsPixelMap_Destroy(OH_UdsPixelMap* pThis); @@ -639,7 +581,7 @@ void OH_UdsPixelMap_Destroy(OH_UdsPixelMap* pThis); * @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}. * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. * @see OH_UdsPixelMap - * @since 12 + * @since 13 */ const char* OH_UdsPixelMap_GetType(OH_UdsPixelMap* pThis); @@ -647,24 +589,24 @@ const char* OH_UdsPixelMap_GetType(OH_UdsPixelMap* pThis); * @brief Get pixel map from the {@link OH_UdsPixelMap}. * * @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}. - * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @param pixelmapNative Represents output params of {@link OH_PixelmapNative}. * @see OH_UdsPixelMap - * @since 12 + * @since 13 */ -const OH_PixelmapNative* OH_UdsPixelMap_GetPixelMap(OH_UdsPixelMap* pThis); +void OH_UdsPixelMap_GetPixelMap(OH_UdsPixelMap* pThis, OH_PixelmapNative* pixelmapNative); /** - * @brief Set form content to the {@link OH_UdsPixelMap}. + * @brief Set pixel map to the {@link OH_UdsPixelMap}. * * @param pThis Represents a pointer to an instance of {@link OH_UdsPixelMap}. - * @param pixelMap Represents a new pixel map. + * @param pixelmapNative Represents a new {@link OH_PixelmapNative}. * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. * {@link UDMF_E_OK} success. * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. * @see OH_UdsPixelMap Udmf_ErrCode - * @since 12 + * @since 13 */ -int OH_UdsPixelMap_SetPixelMap(OH_UdsPixelMap* pThis, const OH_PixelmapNative* pixelMap); +int OH_UdsPixelMap_SetPixelMap(OH_UdsPixelMap* pThis, OH_PixelmapNative* pixelmapNative); #ifdef __cplusplus }; -- Gitee From d6fa9223746f3243786e1b042627cd2144ad148e Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 30 Aug 2024 02:08:58 +0000 Subject: [PATCH 194/359] 11 Signed-off-by: hellohyh001 --- multimodalinput/kits/c/input/oh_input_manager.h | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 71b7fd585..312db6f78 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -311,7 +311,6 @@ typedef struct Input_InterceptorEventCallback { /** * @brief 定义一个结构体用于监听设备设插拔 - * 包含了 addedCallback, removedCallback * @since 13 */ typedef struct Input_DeviceListener { @@ -1260,12 +1259,12 @@ const char* OH_Input_KeyCodeToString(int32_t keyCode); /** * @brief 注册设备热插拔的监听器 * - * @param listener 用于监听设备热插拔的监听器. + * @param listener 指向监听设备热插拔的监听器的指针. * - * @return OH_Input_RegisterDeviceListener status code, specifically, - * {@link INPUT_SUCCESS} if the operation is successful;\n + * @return OH_Input_RegisterDeviceListener 的返回值, 具体如下: + * {@link INPUT_SUCCESS} 调用成功;\n * {@link INPUT_PARAMETER_ERROR} listener 为NULL 或 listener 已被注册 - * {@link INPUT_SERVICE_EXCEPTION} 服务端连接异常 + * {@link INPUT_SERVICE_EXCEPTION} 由于服务异常调用失败 * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ @@ -1274,12 +1273,12 @@ Input_Result OH_Input_RegisterDeviceListener(Input_DeviceListener* listener); /** * @brief 取消注册设备热插拔的监听器 * - * @param listener 用于监听设备热插拔的监听器. + * @param listener 指向监听设备热插拔的监听器的指针. * - * @return OH_Input_UnregisterDeviceListener status code, specifically, - * {@link INPUT_SUCCESS} if the operation is successful;\n + * @return OH_Input_UnregisterDeviceListener 的返回值, 具体如下: + * {@link INPUT_SUCCESS} 调用成功;\n * {@link INPUT_PARAMETER_ERROR} listener 为 NULL, listener 未注册或已被取消注册 - * {@link INPUT_SERVICE_EXCEPTION} 服务端连接异常 + * {@link INPUT_SERVICE_EXCEPTION} 由于服务异常调用失败 * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -- Gitee From e5692fcd0f607f92615076831458ece982d030db Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 30 Aug 2024 02:43:53 +0000 Subject: [PATCH 195/359] 11 Signed-off-by: hellohyh001 --- .../kits/c/input/oh_input_manager.h | 88 +++++++++++-------- 1 file changed, 53 insertions(+), 35 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 312db6f78..8027c6505 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -228,26 +228,27 @@ typedef enum Input_Result { INPUT_REPEAT_INTERCEPTOR = 4200001 } Input_Result; -/** 设备类型未知 */ -static const char* const Input_Device_Type_KEYBOARD = "ohos.input.device.unkown"; - -/** 设备类型键盘 */ -static const char* const Input_Device_Type_KEYBOARD = "ohos.input.device.keyboard"; - -/** 设备类型鼠标 */ -static const char* const Input_Device_Type_MOUSE = "ohos.input.device.mouse"; - -/** 设备类型触摸板 */ -static const char* const Input_Device_Type_TOUCHPAD = "ohos.input.device.touchpad"; - -/** 设备类型触屏 */ -static const char* const Input_Device_Type_TOUCHSCREEN = "ohos.input.device.touchscreen"; - -/** 设备类型遥感 */ -static const char* const Input_Device_Type_JOYSTICK = "ohos.input.device.joystick"; - -/** 设备类型轨迹球 */ -static const char* const Input_Device_Type_TRACKBALL = "ohos.input.device.trackball"; +/** + * @brief 设备类型的枚举 + * + * @since 13 + */ +typedef enum Input_DeviceType { + /** 设备类型未知 */ + INPUT_DEVICE_TYPE_UNKNOWN = 0, + /** 设备类型键盘 */ + INPUT_DEVICE_TYPE_KEYBOARD, + /** 设备类型鼠标 */ + INPUT_DEVICE_TYPE_MOUSE, + /** 设备类型触摸板 */ + INPUT_DEVICE_TYPE_TOUCHPAD, + /** 设备类型触屏 */ + INPUT_DEVICE_TYPE_TOUCHSCREEN, + /** 设备类型摇杆 */ + INPUT_DEVICE_TYPE_JOYSTICK, + /** 设备类型轨迹球 */ + INPUT_DEVICE_TYPE_TRACKBALL, +} Input_DeviceType; /** * @brief Defines a lifecycle callback for keyEvent. If the callback is triggered, keyEvent will be destroyed. @@ -282,18 +283,22 @@ typedef void (*Input_TouchEventCallback)(const Input_TouchEvent* touchEvent); typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent); /** - * @brief 定义一个回调函数用于设备id和设备类型 - * 如果回调被触发,**deviceTypes**将被销毁。 + * @brief 回调函数,用于回调输入设备的上线事件,deviceTypes生命周期为回调函数内,出了回调函数,deviceTypes的内存将会被释放。 + * @param deviceId 设备的id。 + * @param deviceTypes 设备类型的数组。 + * @param count 设备类型数组的大小。 * @since 13 */ -typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, const char** deviceTypes, int32_t count); +typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, int32_t* deviceTypes, int32_t count); /** - * @brief 定义一个回调函数用于设备id和设备类型 - * 如果回调被触发,**deviceTypes**将被销毁。 + * @brief 回调函数,用于回调输入设备的下线事件,deviceTypes生命周期为回调函数内,出了回调函数,deviceTypes的内存将会被释放。 + * @param deviceId 设备的id。 + * @param deviceTypes 设备类型的数组。 + * @param count 设备类型数组的大小。 * @since 13 */ -typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, const char** deviceTypes, int32_t count); +typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, int32_t* deviceTypes, int32_t count); /** * @brief Defines the structure for the interceptor of event callbacks, @@ -314,7 +319,9 @@ typedef struct Input_InterceptorEventCallback { * @since 13 */ typedef struct Input_DeviceListener { + /** 定义一个回调函数用于回调设备上线事件 */ Input_DeviceAddedCallback OnDeviceAdded; + /** 定义一个回调函数用于回调设备下线事件 */ Input_DeviceRemovedCallback OnDeviceRemoved; } Input_DeviceListener; @@ -1246,24 +1253,24 @@ Input_Result OH_Input_RemoveKeyEventInterceptor(void); Input_Result OH_Input_RemoveInputEventInterceptor(void); /** - * @brief 按键键值转换成字符串 + * @brief 将按键值{@Link Input_KeyCode}转换为字符串描述 * - * @param keyCode 要转成字符串的按键键值 + * @param keyCode 按键值{@Link Input_KeyCode} - * @return 如果返回一个字符串则表示成功,如果返回NULL则表示失败。 + * @return 成功时返回按键值的字符串描述,失败时返回NULL,可能的原因是传入非法的键值。 * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -const char* OH_Input_KeyCodeToString(int32_t keyCode); +const char* OH_Input_KeyCodeToString(Input_KeyCode keyCode); /** * @brief 注册设备热插拔的监听器 * - * @param listener 指向监听设备热插拔的监听器的指针. + * @param listener 指向设备热插拔监听器{@Link Input_DeviceListener}的指针. * * @return OH_Input_RegisterDeviceListener 的返回值, 具体如下: * {@link INPUT_SUCCESS} 调用成功;\n - * {@link INPUT_PARAMETER_ERROR} listener 为NULL 或 listener 已被注册 + * {@link INPUT_PARAMETER_ERROR} listener 为NULL * {@link INPUT_SERVICE_EXCEPTION} 由于服务异常调用失败 * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 @@ -1271,18 +1278,29 @@ const char* OH_Input_KeyCodeToString(int32_t keyCode); Input_Result OH_Input_RegisterDeviceListener(Input_DeviceListener* listener); /** - * @brief 取消注册设备热插拔的监听器 + * @brief 取消注册设备热插拔的监听 * - * @param listener 指向监听设备热插拔的监听器的指针. + * @param listener 指向设备热插拔监听器{@Link Input_DeviceListener}的指针. * * @return OH_Input_UnregisterDeviceListener 的返回值, 具体如下: * {@link INPUT_SUCCESS} 调用成功;\n - * {@link INPUT_PARAMETER_ERROR} listener 为 NULL, listener 未注册或已被取消注册 + * {@link INPUT_PARAMETER_ERROR} listener 为 NULL 或者 listener 未被注册 * {@link INPUT_SERVICE_EXCEPTION} 由于服务异常调用失败 * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ Input_Result OH_Input_UnregisterDeviceListener(Input_DeviceListener* listener); + +/** + * @brief 取消注册所有的设备热插拔的监听 + * + * @return OH_Input_UnregisterDeviceListener 的返回值, 具体如下: + * {@link INPUT_SUCCESS} 调用成功;\n + * {@link INPUT_SERVICE_EXCEPTION} 由于服务异常调用失败 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_UnregisterDeviceListener(); #ifdef __cplusplus } #endif -- Gitee From 8e56643132028429b3098a60cc0805ae4024ee2e Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 30 Aug 2024 06:46:09 +0000 Subject: [PATCH 196/359] 11 Signed-off-by: hellohyh001 --- multimodalinput/kits/c/input/oh_input_manager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index dea52479f..f31311b65 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -327,9 +327,9 @@ typedef struct Input_InterceptorEventCallback { */ typedef struct Input_DeviceListener { /** 定义一个回调函数用于回调设备上线事件 */ - Input_DeviceAddedCallback OnDeviceAdded; + Input_DeviceAddedCallback deviceAddedCallback; /** 定义一个回调函数用于回调设备下线事件 */ - Input_DeviceRemovedCallback OnDeviceRemoved; + Input_DeviceRemovedCallback deviceRemovedCallback; } Input_DeviceListener; /** -- Gitee From e5b613d9ce6f9686005eb718defc95e13fb3e1ff Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 30 Aug 2024 07:12:34 +0000 Subject: [PATCH 197/359] 111 Signed-off-by: hellohyh001 --- multimodalinput/kits/c/input/oh_input_manager.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index f31311b65..d3dcc9e8c 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -293,19 +293,19 @@ typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent); * @brief 回调函数,用于回调输入设备的上线事件,deviceTypes生命周期为回调函数内,出了回调函数,deviceTypes的内存将会被释放。 * @param deviceId 设备的id。 * @param deviceTypes 设备类型的数组。 - * @param count 设备类型数组的大小。 + * @param count 设备类型数组的长度。 * @since 13 */ -typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, int32_t* deviceTypes, int32_t count); +typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, int32_t* deviceTypes, int32_t length); /** * @brief 回调函数,用于回调输入设备的下线事件,deviceTypes生命周期为回调函数内,出了回调函数,deviceTypes的内存将会被释放。 * @param deviceId 设备的id。 * @param deviceTypes 设备类型的数组。 - * @param count 设备类型数组的大小。 + * @param count 设备类型数组的长度。 * @since 13 */ -typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, int32_t* deviceTypes, int32_t count); +typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, int32_t* deviceTypes, int32_t length); /** * @brief Defines the structure for the interceptor of event callbacks, -- Gitee From 530d94cefaf9c42ffe3357e794d60b7e27b0ae5f Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 30 Aug 2024 07:39:08 +0000 Subject: [PATCH 198/359] 111 Signed-off-by: hellohyh001 --- multimodalinput/kits/c/input/oh_input_manager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index d3dcc9e8c..93d2269f9 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -293,7 +293,7 @@ typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent); * @brief 回调函数,用于回调输入设备的上线事件,deviceTypes生命周期为回调函数内,出了回调函数,deviceTypes的内存将会被释放。 * @param deviceId 设备的id。 * @param deviceTypes 设备类型的数组。 - * @param count 设备类型数组的长度。 + * @param length 设备类型数组的长度。 * @since 13 */ typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, int32_t* deviceTypes, int32_t length); @@ -302,7 +302,7 @@ typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, int32_t* deviceTypes * @brief 回调函数,用于回调输入设备的下线事件,deviceTypes生命周期为回调函数内,出了回调函数,deviceTypes的内存将会被释放。 * @param deviceId 设备的id。 * @param deviceTypes 设备类型的数组。 - * @param count 设备类型数组的长度。 + * @param length 设备类型数组的长度。 * @since 13 */ typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, int32_t* deviceTypes, int32_t length); -- Gitee From 964ce5b89ea28b62c10ff6b04811766ea962e9d3 Mon Sep 17 00:00:00 2001 From: lixiangpeng5 Date: Fri, 30 Aug 2024 07:35:44 +0000 Subject: [PATCH 199/359] fix by see Signed-off-by: lixiangpeng5 Change-Id: I18664a4a34ce02d286365943ef424b00685471b7 --- sensors/sensor/oh_sensor_type.h | 46 +++++---------------------------- 1 file changed, 6 insertions(+), 40 deletions(-) diff --git a/sensors/sensor/oh_sensor_type.h b/sensors/sensor/oh_sensor_type.h index 382fb377b..0641a9c0c 100644 --- a/sensors/sensor/oh_sensor_type.h +++ b/sensors/sensor/oh_sensor_type.h @@ -105,7 +105,7 @@ typedef enum Sensor_Type { * Game rotation vector sensor. * @since 13 */ - SENSOR_TYPE_ID_GAME_ROTATION_VECTOR = 262, + SENSOR_TYPE_GAME_ROTATION_VECTOR = 262, /** * Pedometer detection sensor. * @since 11 @@ -344,6 +344,11 @@ int32_t OH_SensorEvent_GetAccuracy(Sensor_Event* sensorEvent, Sensor_Accuracy *a * The value 1 means that the number of detected steps changes. * SENSOR_TYPE_PEDOMETER: data[0], indicating the number of steps a user has walked. * SENSOR_TYPE_HEART_RATE: data[0], indicating the heart rate value. + * SENSOR_TYPE_LINEAR_ACCELERATION: Supported from api version 13. data[0], data[1], and data[2], indicating the + * linear acceleration around the x, y, and z axes of the device, respectively, in m/s2. + * SENSOR_TYPE_GAME_ROTATION_VECTOR: Supported from api version 13. data[0], data[1] and data[2], indicating the + * rotation angles of a device around the x, y, and z axes, respectively, in degree. data[3] indicates the rotation + * vector. * * @param sensorEvent - Pointer to the sensor data information. * @param data - Double pointer to the sensor data. @@ -352,45 +357,6 @@ int32_t OH_SensorEvent_GetAccuracy(Sensor_Event* sensorEvent, Sensor_Accuracy *a * returns an error code defined in {@link Sensor_Result} otherwise. * @since 11 */ -/** - * @brief Obtains sensor data. The data length and content depend on the sensor type. - * The format of the sensor data reported is as follows: - * SENSOR_TYPE_ACCELEROMETER: data[0], data[1], and data[2], indicating the acceleration around - * the x, y, and z axes of the device, respectively, in m/s2. - * SENSOR_TYPE_GYROSCOPE: data[0], data[1], and data[2], indicating the angular velocity of rotation around - * the x, y, and z axes of the device, respectively, in rad/s. - * SENSOR_TYPE_AMBIENT_LIGHT: data[0], indicating the ambient light intensity, in lux. Since api version 12, - * two additional data will be returned, where data[1] indicating the color temperature, in kelvin; data[2] - * indicating the infrared luminance, in cd/m2. - * SENSOR_TYPE_MAGNETIC_FIELD: data[0], data[1], and data[2], indicating the magnetic field strength around - * the x, y, and z axes of the device, respectively, in μT. - * SENSOR_TYPE_BAROMETER: data[0], indicating the atmospheric pressure, in hPa. - * SENSOR_TYPE_HALL: data[0], indicating the opening/closing state of the flip cover. The value 0 means that - * the flip cover is opened, and a value greater than 0 means that the flip cover is closed. - * SENSOR_TYPE_PROXIMITY: data[0], indicates the approaching state. The value 0 means the two objects are close - * to each other, and a value greater than 0 means that they are far away from each other. - * SENSOR_TYPE_ORIENTATION: data[0], data[1], and data[2], indicating the rotation angles of a device around - * the z, x, and y axes, respectively, in degree. - * SENSOR_TYPE_GRAVITY: data[0], data[1], and data[2], indicating the gravitational acceleration around - * the x, y, and z axes of a device, respectively, in m/s2. - * SENSOR_TYPE_ROTATION_VECTOR: data[0], data[1] and data[2], indicating the rotation angles of a device around - * the x, y, and z axes, respectively, in degree. data[3] indicates the rotation vector. - * SENSOR_TYPE_PEDOMETER_DETECTION: data[0], indicating the pedometer detection status. - * The value 1 means that the number of detected steps changes. - * SENSOR_TYPE_PEDOMETER: data[0], indicating the number of steps a user has walked. - * SENSOR_TYPE_HEART_RATE: data[0], indicating the heart rate value. - * SENSOR_TYPE_LINEAR_ACCELERATION: data[0], data[1], and data[2], indicating the acceleration around - * the x, y, and z axes of the device, respectively, in m/s2. - * SENSOR_TYPE_ID_GAME_ROTATION_VECTOR: data[0], data[1] and data[2], indicating the rotation angles of a device around - * the x, y, and z axes, respectively, in degree. data[3] indicates the rotation vector. - * - * @param sensorEvent - Pointer to the sensor data information. - * @param data - Double pointer to the sensor data. - * @param length - Pointer to the array length. - * @return Returns SENSOR_SUCCESS if the operation is successful; - * returns an error code defined in {@link Sensor_Result} otherwise. - * @since 13 - */ int32_t OH_SensorEvent_GetData(Sensor_Event* sensorEvent, float **data, uint32_t *length); /** -- Gitee From 4ce2580da6aa896c6c97e5533b6ecd15ad58422b Mon Sep 17 00:00:00 2001 From: kerongfeng Date: Fri, 30 Aug 2024 16:00:14 +0800 Subject: [PATCH 200/359] add a missing line of comments Signed-off-by: kerongfeng --- multimedia/camera_framework/camera.h | 1 + multimedia/camera_framework/photo_native.h | 1 + multimedia/media_library/media_asset_manager_capi.h | 2 ++ 3 files changed, 4 insertions(+) diff --git a/multimedia/camera_framework/camera.h b/multimedia/camera_framework/camera.h index 4d519c723..50e6f143b 100644 --- a/multimedia/camera_framework/camera.h +++ b/multimedia/camera_framework/camera.h @@ -42,6 +42,7 @@ #include #include +#include #ifdef __cplusplus extern "C" { diff --git a/multimedia/camera_framework/photo_native.h b/multimedia/camera_framework/photo_native.h index bb42601a3..f12a68498 100644 --- a/multimedia/camera_framework/photo_native.h +++ b/multimedia/camera_framework/photo_native.h @@ -31,6 +31,7 @@ * @brief Declare the camera photo concepts. * * @library libohcamera.so + * @kit CameraKit * @syscap SystemCapability.Multimedia.Camera.Core * @since 12 * @version 1.0 diff --git a/multimedia/media_library/media_asset_manager_capi.h b/multimedia/media_library/media_asset_manager_capi.h index 73612f5c8..6be1ab5e4 100644 --- a/multimedia/media_library/media_asset_manager_capi.h +++ b/multimedia/media_library/media_asset_manager_capi.h @@ -39,6 +39,8 @@ #ifndef MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_MANAGER_H #define MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_MANAGER_H +#include + #include "media_asset_base_capi.h" #ifdef __cplusplus -- Gitee From 0a148b1c23159f0f45f29423de5b0d102ca09e5b Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 30 Aug 2024 08:10:29 +0000 Subject: [PATCH 201/359] 111 Signed-off-by: hellohyh001 --- multimodalinput/kits/c/input/oh_input_manager.h | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 93d2269f9..512d8efa9 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -1379,17 +1379,6 @@ void OH_Input_DestroyAllSystemHotkeys(Input_Hotkey **hotkeys, int32_t count); */ Input_Result OH_Input_GetAllSystemHotkeys(Input_Hotkey **hotkey, int32_t *count); -/** - * @brief 将按键值{@Link Input_KeyCode}转换为字符串描述 - * - * @param keyCode 按键值{@Link Input_KeyCode} - - * @return 成功时返回按键值的字符串描述,失败时返回NULL,可能的原因是传入非法的键值。 - * @syscap SystemCapability.MultimodalInput.Input.Core - * @since 13 - */ -const char* OH_Input_KeyCodeToString(Input_KeyCode keyCode); - /** * @brief 注册设备热插拔的监听器 * -- Gitee From b8fb344349cc8b48a4f49eab89a85b7c29d9e5fe Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 30 Aug 2024 09:56:02 +0000 Subject: [PATCH 202/359] 111 Signed-off-by: hellohyh001 --- .../kits/c/input/oh_input_manager.h | 38 ++++--------------- 1 file changed, 7 insertions(+), 31 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 512d8efa9..7a606765d 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -235,28 +235,6 @@ typedef enum Input_Result { INPUT_REPEAT_INTERCEPTOR = 4200001 } Input_Result; -/** - * @brief 设备类型的枚举 - * - * @since 13 - */ -typedef enum Input_DeviceType { - /** 设备类型未知 */ - INPUT_DEVICE_TYPE_UNKNOWN = 0, - /** 设备类型键盘 */ - INPUT_DEVICE_TYPE_KEYBOARD, - /** 设备类型鼠标 */ - INPUT_DEVICE_TYPE_MOUSE, - /** 设备类型触摸板 */ - INPUT_DEVICE_TYPE_TOUCHPAD, - /** 设备类型触屏 */ - INPUT_DEVICE_TYPE_TOUCHSCREEN, - /** 设备类型摇杆 */ - INPUT_DEVICE_TYPE_JOYSTICK, - /** 设备类型轨迹球 */ - INPUT_DEVICE_TYPE_TRACKBALL, -} Input_DeviceType; - /** * @brief Defines a lifecycle callback for keyEvent. If the callback is triggered, keyEvent will be destroyed. * @@ -290,22 +268,20 @@ typedef void (*Input_TouchEventCallback)(const Input_TouchEvent* touchEvent); typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent); /** - * @brief 回调函数,用于回调输入设备的上线事件,deviceTypes生命周期为回调函数内,出了回调函数,deviceTypes的内存将会被释放。 + * @brief 回调函数,用于回调输入设备的上线事件。 * @param deviceId 设备的id。 - * @param deviceTypes 设备类型的数组。 - * @param length 设备类型数组的长度。 + * @param type 有关输入设备的能力信息,比如设备是触摸屏、触控板、键盘等; * @since 13 */ -typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, int32_t* deviceTypes, int32_t length); +typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, int32_t type); /** - * @brief 回调函数,用于回调输入设备的下线事件,deviceTypes生命周期为回调函数内,出了回调函数,deviceTypes的内存将会被释放。 + * @brief 回调函数,用于回调输入设备的下线事件。 * @param deviceId 设备的id。 - * @param deviceTypes 设备类型的数组。 - * @param length 设备类型数组的长度。 + * @param type 有关输入设备的能力信息,比如设备是触摸屏、触控板、键盘等; * @since 13 */ -typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, int32_t* deviceTypes, int32_t length); +typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, int32_t type); /** * @brief Defines the structure for the interceptor of event callbacks, @@ -1416,7 +1392,7 @@ Input_Result OH_Input_UnregisterDeviceListener(Input_DeviceListener* listener); * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -Input_Result OH_Input_UnregisterDeviceListener(); +Input_Result OH_Input_UnregisterDeviceListeners(); #ifdef __cplusplus } #endif -- Gitee From e7e741789e423a145bda7dc57a9c6f57a66be311 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 30 Aug 2024 12:48:41 +0000 Subject: [PATCH 203/359] 111 Signed-off-by: hellohyh001 --- multimodalinput/kits/c/input/oh_input_manager.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 7a606765d..c697bc1aa 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -278,10 +278,9 @@ typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, int32_t type); /** * @brief 回调函数,用于回调输入设备的下线事件。 * @param deviceId 设备的id。 - * @param type 有关输入设备的能力信息,比如设备是触摸屏、触控板、键盘等; * @since 13 */ -typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId, int32_t type); +typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId); /** * @brief Defines the structure for the interceptor of event callbacks, -- Gitee From 3d0795e2b828676109549f270a182466d3ac6a09 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Fri, 30 Aug 2024 12:54:34 +0000 Subject: [PATCH 204/359] 111 Signed-off-by: hellohyh001 --- multimodalinput/kits/c/input/oh_input_manager.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index c697bc1aa..420b65c3d 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -270,10 +270,9 @@ typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent); /** * @brief 回调函数,用于回调输入设备的上线事件。 * @param deviceId 设备的id。 - * @param type 有关输入设备的能力信息,比如设备是触摸屏、触控板、键盘等; * @since 13 */ -typedef void (*Input_DeviceAddedCallback)(int32_t deviceId, int32_t type); +typedef void (*Input_DeviceAddedCallback)(int32_t deviceId); /** * @brief 回调函数,用于回调输入设备的下线事件。 -- Gitee From f03d8ae68e2bbe7dd44bfd4f8e8b8793adb8e2bb Mon Sep 17 00:00:00 2001 From: cuile4 Date: Thu, 29 Aug 2024 11:36:16 +0800 Subject: [PATCH 205/359] Add ndk interface of udmf. Signed-off-by: huangxiyong Signed-off-by: cuile4 --- distributeddatamgr/udmf/include/udmf.h | 87 ++++++++++++++++++++++++++ distributeddatamgr/udmf/include/uds.h | 57 +++++++++++++++++ 2 files changed, 144 insertions(+) diff --git a/distributeddatamgr/udmf/include/udmf.h b/distributeddatamgr/udmf/include/udmf.h index 6304de3e7..4f66e884f 100644 --- a/distributeddatamgr/udmf/include/udmf.h +++ b/distributeddatamgr/udmf/include/udmf.h @@ -265,6 +265,20 @@ int OH_UdmfRecord_AddHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); */ int OH_UdmfRecord_AddAppItem(OH_UdmfRecord* pThis, OH_UdsAppItem* appItem); +/** + * @brief Add one {@link OH_UdsArrayBuffer} data to the {@link OH_UdmfRecord} record. + * + * @param record Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param type Represents record type, reference udmf_meta.h. + * @param buffer Represents a pointer to an instance of {@link OH_UdsArrayBuffer}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsArrayBuffer Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfRecord_AddArrayBuffer(OH_UdmfRecord* record, const char* type, OH_UdsArrayBuffer* buffer); + /** * @brief Get all types in the {@link OH_UdmfRecord} record. * @@ -350,6 +364,79 @@ int OH_UdmfRecord_GetHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); */ int OH_UdmfRecord_GetAppItem(OH_UdmfRecord* pThis, OH_UdsAppItem* appItem); +/** + * @brief Get one {@link OH_UdsArrayBuffer} data from the {@link OH_UdmfRecord} record. + * + * @param record Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param type Represents record type, reference udmf_meta.h. + * @param buffer Represents a pointer to an instance of {@link OH_UdsArrayBuffer}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsArrayBuffer Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfRecord_GetArrayBuffer(OH_UdmfRecord* record, const char* type, OH_UdsArrayBuffer* buffer); + +/** + * @brief Get primary {@link OH_UdsPlainText} data from the {@link OH_UdmfData}. + * + * @param data Represents a pointer to an instance of {@link OH_UdmfData}. + * @param plainText Represents a pointer to an instance of {@link OH_UdsPlainText}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfData OH_UdsPlainText Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfData_GetPrimaryPlainText(OH_UdmfData* data, OH_UdsPlainText* plainText); + +/** + * @brief Get one {@link OH_UdsHtml} data from the {@link OH_UdmfData}. + * + * @param data Represents a pointer to an instance of {@link OH_UdmfData}. + * @param html Represents a pointer to an instance of {@link OH_UdsHtml}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfData OH_UdsHtml Udmf_ErrCode. + * @since 13 + */ +int OH_UdmfData_GetPrimaryHtml(OH_UdmfData* data, OH_UdsHtml* html); + +/** + * @brief Get the count of {@link OH_UdmfRecord} in the {@link OH_UdmfData}. + * + * @param data Represents a pointer to an instance of {@link OH_UdmfData}. + * @return Returns the count of {@link OH_UdmfRecord} + * @see OH_UdmfData. + * @since 13 + */ +int OH_UdmfData_GetRecordCount(OH_UdmfData* data); + +/** + * @brief Get the record of the specified index from the {@link OH_UdmfData}. + * + * @param data Represents a pointer to an instance of {@link OH_UdmfData}. + * @param index Represents the index of {@link OH_UdmfRecord} in the {@link OH_UdmfData}. + * @return Returns {@link OH_UdmfRecord} pointer when input parameters valid, otherwise return nullptr. + * @see OH_UdmfData. + * @since 13 + */ +OH_UdmfRecord* OH_UdmfData_GetRecord(OH_UdmfData* data, unsigned int index); + +/** + * @brief Checks whether the UDMF data is from a local device. + * + * @param data Represents a pointer to an instance of {@link OH_UdmfData}. + * @return Returns a boolean value, which indicates whether the UDMF data is from a local device. + * The value {@code true} means the data is from a local device. + * The value {@code false} means the opposite. + * @see OH_UdmfData. + * @since 13 + */ +bool OH_UdmfData_IsLocal(OH_UdmfData* data); + /** * @brief Creation a pointer to the instance of the {@link OH_UdmfProperty} * from a {@link OH_UdmfData} data. diff --git a/distributeddatamgr/udmf/include/uds.h b/distributeddatamgr/udmf/include/uds.h index 54c122b22..2443c394e 100644 --- a/distributeddatamgr/udmf/include/uds.h +++ b/distributeddatamgr/udmf/include/uds.h @@ -72,6 +72,13 @@ typedef struct OH_UdsHtml OH_UdsHtml; */ typedef struct OH_UdsAppItem OH_UdsAppItem; +/** + * @brief Describes the unified data struct of array buffer. + * + * @since 13 + */ +typedef struct OH_UdsArrayBuffer OH_UdsArrayBuffer; + /** * @brief Creation a pointer to the instance of the {@link OH_UdsPlainText}. * @@ -464,6 +471,56 @@ int OH_UdsAppItem_SetBundleName(OH_UdsAppItem* pThis, const char* bundleName); */ int OH_UdsAppItem_SetAbilityName(OH_UdsAppItem* pThis, const char* abilityName); +/** + * @brief Creation a pointer to the instance of the {@link OH_UdsArrayBuffer}. + * + * @return If the operation is successful, a pointer to the instance of the {@link OH_UdsArrayBuffer} + * structure is returned. If the memory is not enough, nullptr is returned. + * @see OH_UdsArrayBuffer + * @since 13 + */ +OH_UdsArrayBuffer* OH_UdsArrayBuffer_Create(); + +/** + * @brief Destroy a pointer that points to the {@link OH_UdsArrayBuffer} instance. + * + * @param buffer Represents a pointer to an instance of {@link OH_UdsArrayBuffer}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsArrayBuffer Udmf_ErrCode + * @since 13 + */ +int OH_UdsArrayBuffer_Destroy(OH_UdsArrayBuffer* buffer); + +/** + * @brief Set array buffer data to the {@link OH_UdsArrayBuffer}. + * + * @param buffer Represents a pointer to an instance of {@link OH_UdsArrayBuffer}. + * @param data Represents the array buffer data. + * @param len Represents the length of data param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsArrayBuffer Udmf_ErrCode + * @since 13 + */ +int OH_UdsArrayBuffer_SetData(OH_UdsArrayBuffer* buffer, unsigned char* data, unsigned int len); + +/** + * @brief Get array buffer data from the {@link OH_UdsArrayBuffer}. + * + * @param buffer Represents a pointer to an instance of {@link OH_UdsArrayBuffer}. + * @param data Represents a pointer to array buffer data that is a output param. + * @param len Represents the array buffer data length that is a output param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsArrayBuffer Udmf_ErrCode + * @since 13 + */ +int OH_UdsArrayBuffer_GetData(OH_UdsArrayBuffer* buffer, unsigned char** data, unsigned int* len); + #ifdef __cplusplus }; #endif -- Gitee From 89396d6e212e872523fd14766b0e00c6625319eb Mon Sep 17 00:00:00 2001 From: tantingting Date: Wed, 28 Aug 2024 17:50:02 +0800 Subject: [PATCH 206/359] add GetMainElementName interface Signed-off-by: tantingting --- .../bundle/include/native_interface_bundle.h | 35 +++++++++++++++++++ .../bundle/libbundle.ndk.json | 4 +++ 2 files changed, 39 insertions(+) diff --git a/bundlemanager/bundle_framework/bundle/include/native_interface_bundle.h b/bundlemanager/bundle_framework/bundle/include/native_interface_bundle.h index 67fcee95a..2cc076408 100644 --- a/bundlemanager/bundle_framework/bundle/include/native_interface_bundle.h +++ b/bundlemanager/bundle_framework/bundle/include/native_interface_bundle.h @@ -62,6 +62,20 @@ struct OH_NativeBundle_ApplicationInfo { char* fingerprint; }; +/** + * @brief Indicates information of elementName. + * + * @since 13 + */ +struct OH_NativeBundle_ElementName { + /** Indicates the name of application. */ + char* bundleName; + /** Indicates the name of module. */ + char* moduleName; + /** Indicates the name of ability. */ + char* abilityName; +}; + /** * @brief Indicates information of application * @@ -70,6 +84,14 @@ struct OH_NativeBundle_ApplicationInfo { */ typedef struct OH_NativeBundle_ApplicationInfo OH_NativeBundle_ApplicationInfo; +/** + * @brief Indicates information of elementName + * + * @since 13 + * @version 1.0 + */ +typedef struct OH_NativeBundle_ElementName OH_NativeBundle_ElementName; + /** * @brief Obtains the application info based on the The current bundle. * @@ -110,6 +132,19 @@ char* OH_NativeBundle_GetAppId(); * @version 1.0 */ char* OH_NativeBundle_GetAppIdentifier(); + +/** +* @brief Obtains information of the entry mainElement based on the current application, including bundle name, + * module name, and ability name. + * After utilizing this interface, to prevent memory leaks, + * it is necessary to manually release the pointer returned by the interface. + * + * @return Returns the newly created OH_NativeBundle_ElementName object, if the returned object is NULL, + * it indicates creation failure. The possible cause of failure could be that the application address space is full, + * leading to space allocation failure. + * @since 13 + */ +OH_NativeBundle_ElementName OH_NativeBundle_GetMainElementName(); #ifdef __cplusplus }; #endif diff --git a/bundlemanager/bundle_framework/bundle/libbundle.ndk.json b/bundlemanager/bundle_framework/bundle/libbundle.ndk.json index f27f55688..a9db17ede 100644 --- a/bundlemanager/bundle_framework/bundle/libbundle.ndk.json +++ b/bundlemanager/bundle_framework/bundle/libbundle.ndk.json @@ -10,5 +10,9 @@ { "first_introduced": "11", "name": "OH_NativeBundle_GetAppIdentifier" + }, + { + "first_introduced": "13", + "name": "OH_NativeBundle_GetMainElementName" } ] -- Gitee From 630acaae2741b9006e14ee08095863d8b95e6370 Mon Sep 17 00:00:00 2001 From: Cai Xincheng Date: Mon, 19 Aug 2024 19:26:22 +0800 Subject: [PATCH 207/359] add asset account enc tag Signed-off-by: Cai Xincheng --- security/asset/inc/asset_type.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/security/asset/inc/asset_type.h b/security/asset/inc/asset_type.h index b977afbef..8d64e56d5 100755 --- a/security/asset/inc/asset_type.h +++ b/security/asset/inc/asset_type.h @@ -205,6 +205,12 @@ typedef enum { * @since 12 */ ASSET_TAG_OPERATION_TYPE = ASSET_TYPE_NUMBER | 0x46, + /** + * A tag whose value is a bool indicating whether the attributes of an asset are required to be encrypted. + * + * @since 13 + */ + ASSET_TAG_REQUIRE_ATTR_ENCRYPTED = ASSET_TYPE_BOOL | 0x47, } Asset_Tag; /** -- Gitee From d015c928d15ef7d8226c03719a6fb7ed4fd491ed Mon Sep 17 00:00:00 2001 From: zhangyuhang72 Date: Sat, 31 Aug 2024 11:37:50 +0800 Subject: [PATCH 208/359] =?UTF-8?q?StartNativeChildProcess=20API=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangyuhang72 Change-Id: Ib475cf5dd09174743b7d0c95c33ecf0218c88ded --- .../child_process/native_child_process.h | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/ability/ability_runtime/child_process/native_child_process.h b/ability/ability_runtime/child_process/native_child_process.h index 84c0ddf7b..af736450b 100644 --- a/ability/ability_runtime/child_process/native_child_process.h +++ b/ability/ability_runtime/child_process/native_child_process.h @@ -54,12 +54,6 @@ typedef enum Ability_NativeChildProcess_ErrCode { */ NCP_NO_ERROR = 0, - /** - * @error Operation not permitted. - * @since 13 - */ - NCP_ERR_NO_PERMISSION = 201, - /** * @error Invalid parameter. */ @@ -252,16 +246,27 @@ typedef struct NativeChildProcess_Args { /** * @brief Starts a child process, loads the specified dynamic library file. * - * @permission {@code ohos.permission.START_NATIVE_CHILD_PROCESS} - * @param entry Name of the entry of the dynamic library file loaded in the child process. The value cannot be nullptr. + * The dynamic library specified must implement a function with NativeChildProcess_Args as a + * pamameter(function name can be customized), and export the function, such as:\n + * 1. void Main(NativeChildProcess_Args args); + * + * The processing logic sequence is shown in the following pseudocode: \n + * Main process: \n + * 1. OH_Ability_StartNativeChildProcess(entryPoint, args, options)\n + * Child process: \n + * 2. dlopen(libName)\n + * 3. dlsym("Main")\n + * 4. Main(args)\n + * 5. The child process exits after the Main(args) function is returned \n + * + * @param entry Dynamic library and entry function loaded in child process, such as "libEntry.so:Main". + * The value cannot be nullptr. * @param args The arguments passed to the child process. * For details, see {@link NativeChildProcess_Args}. * @param options The child process options. * For details, see {@link NativeChildProcess_Options}. * @param pid The started child process id. * @return Returns {@link NCP_NO_ERROR} if the call is successful.\n - * Returns {@link NCP_ERR_NO_PERMISSION} if the operation is not permitted. - * The permission {@code ohos.permission.START_NATIVE_CHILD_PROCESS} is needed.\n * Returns {@link NCP_ERR_INVALID_PARAM} if the dynamic library name or callback function pointer is invalid.\n * Returns {@link NCP_ERR_NOT_SUPPORTED} if the device does not support the creation of native child processes.\n * Returns {@link NCP_ERR_ALREADY_IN_CHILD} if it is not allowed to create another child process in the child process.\n -- Gitee From 1bc62051ad51605826175a1e85060614aff16490 Mon Sep 17 00:00:00 2001 From: lihui Date: Sat, 31 Aug 2024 13:23:22 +0800 Subject: [PATCH 209/359] =?UTF-8?q?native=20image=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lihui --- graphic/graphic_2d/native_image/libnative_image.ndk.json | 4 ++-- graphic/graphic_2d/native_image/native_image.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/graphic/graphic_2d/native_image/libnative_image.ndk.json b/graphic/graphic_2d/native_image/libnative_image.ndk.json index cc12b88ad..1a8c6688d 100644 --- a/graphic/graphic_2d/native_image/libnative_image.ndk.json +++ b/graphic/graphic_2d/native_image/libnative_image.ndk.json @@ -25,10 +25,10 @@ }, { "first_introduced": "13", - "name": "OH_ConsumerSuface_SetDefaultUsage" + "name": "OH_ConsumerSurface_SetDefaultUsage" }, { "first_introduced": "13", - "name": "OH_ConsumerSuface_SetDefaultSize" + "name": "OH_ConsumerSurface_SetDefaultSize" } ] \ No newline at end of file diff --git a/graphic/graphic_2d/native_image/native_image.h b/graphic/graphic_2d/native_image/native_image.h index acac1ca3a..eca8af106 100644 --- a/graphic/graphic_2d/native_image/native_image.h +++ b/graphic/graphic_2d/native_image/native_image.h @@ -312,7 +312,7 @@ OH_NativeImage* OH_ConsumerSurface_Create(); * @since 13 * @version 1.0 */ -int32_t OH_ConsumerSuface_SetDefaultUsage(OH_NativeImage* image, uint64_t usage); +int32_t OH_ConsumerSurface_SetDefaultUsage(OH_NativeImage* image, uint64_t usage); /** * @brief Set the default size of the OH_NativeImage.\n @@ -327,7 +327,7 @@ int32_t OH_ConsumerSuface_SetDefaultUsage(OH_NativeImage* image, uint64_t usage) * @since 13 * @version 1.0 */ -int32_t OH_ConsumerSuface_SetDefaultSize(OH_NativeImage* image, int32_t width, int32_t height); +int32_t OH_ConsumerSurface_SetDefaultSize(OH_NativeImage* image, int32_t width, int32_t height); #ifdef __cplusplus } #endif -- Gitee From 63733372670cf80e5b55b8c39968978bd3be11ee Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Wed, 28 Aug 2024 09:51:36 +0000 Subject: [PATCH 210/359] add mul NDK Signed-off-by: hellohyh001 --- .../kits/c/input/oh_input_manager.h | 179 ++++++++++++++++++ 1 file changed, 179 insertions(+) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 4c3a94b31..cfa551ad6 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -146,6 +146,26 @@ typedef enum Input_TouchEventAction { TOUCH_ACTION_UP = 3, } Input_TouchEventAction; +/** + * @brief 键盘输入设备的类型。 + * + * @since 13 + */ +typedef enum Input_KeyboardType { + /** 表示无按键设备。 */ + KEYBOARD_TYPE_NONE = 0, + /** 表示未知按键设备。 */ + KEYBOARD_TYPE_UNKNOWN = 1, + /** 表示全键盘设备。 */ + KEYBOARD_TYPE_ALPHABETIC = 2, + /** 表示小键盘设备。 */ + KEYBOARD_TYPE_DIGITAL = 3, + /** 表示手写笔设备。 */ + KEYBOARD_TYPE_HANDWRITING_PEN = 4, + /** 表示遥控器设备。 */ + KEYBOARD_TYPE_REMOTE_CONTROL = 5, +} Input_KeyboardType; + /** * @brief Enumerates event source types. * @@ -228,6 +248,13 @@ typedef enum Input_Result { INPUT_REPEAT_INTERCEPTOR = 4200001 } Input_Result; +/** + * @brief 输入设备信息。 + * + * @since 13 + */ +typedef struct Input_DeviceInfo Input_DeviceInfo; + /** * @brief Defines a lifecycle callback for keyEvent. If the callback is triggered, keyEvent will be destroyed. * @@ -1200,6 +1227,158 @@ Input_Result OH_Input_RemoveKeyEventInterceptor(void); * @since 12 */ Input_Result OH_Input_RemoveInputEventInterceptor(void); + +/** + * @brief 获取所有输入设备的id列表。 + * + * @param deviceIds 用于保存输入设备id的数组。 + * @param inSize 用于保存输入设备id数组的大小。 + * @param outSize 出参,输出输入设备id列表的长度,该值不会大于inSize。 + * @return OH_Input_GetDeviceIds 的返回值如下, + * {@link INPUT_SUCCESS} 操作成功。 + * {@INPUT_SERVICE_EXCEPTION} 由于服务异常,获取设备id列表失败。 + * {@link INPUT_PARAMETER_ERROR} deviceIds或outSize为空指针。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetDeviceIds(int32_t *deviceIds, int32_t inSize, int32_t *outSize); + +/** + * @brief 获取输入设备信息。 + * + * @param deviceId 设备id。 + * @param deviceInfo 出参,指向输入设备信息{@Link Input_DeviceInfo}的指针。 + * @return OH_Input_GetDevice 的返回值如下, + * {@link INPUT_SUCCESS} 操作成功。 + * {@INPUT_SERVICE_EXCEPTION} 由于服务异常,获取输入设备信息失败。 + * {@link INPUT_PARAMETER_ERROR} 设备id为无效值或者deviceInfo是空指针。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetDevice(int32_t deviceId, Input_DeviceInfo **deviceInfo); + +/** + * @brief 创建输入设备信息的对象。 + * + * @return 如果操作成功,返回设备信息{@Link Input_DeviceInfo}实例的指针。否则返回空指针,可能的原因是分配内存失败。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_DeviceInfo* OH_Input_CreateDeviceInfo(void); + +/** + * @brief 销毁输入设备信息的对象。 + * + * @param deviceInfo 设备信息的对象。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +void OH_Input_DestroyDeviceInfo(Input_DeviceInfo **deviceInfo); + +/** + * @brief 获取输入设备的键盘类型。 + * + * @param deviceId 设备id。 + * @param KeyboardType 出参,指向键盘输入设备类型的指针。 + * @return OH_Input_GetKeyboardType 的返回值如下, + * {@link INPUT_SUCCESS} 操作成功。 + * {@INPUT_SERVICE_EXCEPTION} 由于服务异常,获取输入设备的键盘类型失败。 + * {@link INPUT_PARAMETER_ERROR} 设备id为无效值或者KeyboardType是空指针。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetKeyboardType(int32_t deviceId, int32_t *KeyboardType); + +/** + * @brief 获取输入设备的id。 + * + * @param deviceInfo 输入设备信息{@Link Input_DeviceInfo}。 + * @param id 出参,指向输入设备id的指针。 + * @return OH_Input_GetDeviceId 的返回值如下, + * {@link INPUT_SUCCESS} 操作成功。 + * {@link INPUT_PARAMETER_ERROR} deviceInfo或者id是空指针。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetDeviceId(Input_DeviceInfo *deviceInfo, int32_t *id); + +/** + * @brief 获取输入设备的名称。 + * + * @param deviceInfo 输入设备信息{@Link Input_DeviceInfo}。 + * @param name 出参,指向输入设备名称的指针。 + * @return OH_Input_GetDeviceName 的返回值如下, + * {@link INPUT_SUCCESS} 操作成功。 + * {@link INPUT_PARAMETER_ERROR} deviceInfo或者name是空指针。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetDeviceName(Input_DeviceInfo *deviceInfo, char **name); + +/** + * @brief 获取有关输入设备能力信息,比如设备是触摸屏、触控板、键盘等,详情请参考示例代码。 + * + * @param deviceInfo 输入设备信息{@Link Input_DeviceInfo}。 + * @param capabilities 出参,指向输入设备能力信息的指针。 + * @return OH_Input_GetCapabilities 的返回值如下, + * {@link INPUT_SUCCESS} 操作成功。 + * {@link INPUT_PARAMETER_ERROR} deviceInfo或者capabilities是空指针。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetCapabilities(Input_DeviceInfo *deviceInfo, int32_t *capabilities); + +/** + * @brief 获取输入设备的版本信息。 + * + * @param deviceInfo 输入设备信息{@Link Input_DeviceInfo}。 + * @param version 出参,指向输入设备版本信息的指针。 + * @return OH_Input_GetDeviceVersion 的返回值如下, + * {@link INPUT_SUCCESS} 操作成功。 + * {@link INPUT_PARAMETER_ERROR} deviceInfo或者version是空指针。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetDeviceVersion(Input_DeviceInfo *deviceInfo, int32_t *version); + +/** + * @brief 获取输入设备的产品信息。 + * + * @param deviceInfo 输入设备信息{@Link Input_DeviceInfo}。 + * @param product 出参,指向输入设备产品信息的指针。 + * @return OH_Input_GetDeviceProduct 的返回值如下, + * {@link INPUT_SUCCESS} 操作成功。 + * {@link INPUT_PARAMETER_ERROR} deviceInfo或者product是空指针。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetDeviceProduct(Input_DeviceInfo *deviceInfo, int32_t *product); + +/** + * @brief 获取输入设备的厂商信息。 + * + * @param deviceInfo 输入设备信息{@Link Input_DeviceInfo}。 + * @param vendor 出参,指向输入设备厂商信息的指针。 + * @return OH_Input_GetDeviceVendor 的返回值如下, + * {@link INPUT_SUCCESS} 操作成功。 + * {@link INPUT_PARAMETER_ERROR} deviceInfo或者vendor是空指针。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetDeviceVendor(Input_DeviceInfo *deviceInfo, int32_t *vendor); + +/** + * @brief 获取输入设备的物理地址。 + * + * @param deviceInfo 输入设备信息{@Link Input_DeviceInfo}。 + * @param phys 出参,指向输入设备物理地址的指针。 + * @return OH_Input_GetDevicePhys 的返回值如下, + * {@link INPUT_SUCCESS} 操作成功。 + * {@link INPUT_PARAMETER_ERROR} deviceInfo或者phys是空指针。 + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetDevicePhys(Input_DeviceInfo *deviceInfo, char **phys); #ifdef __cplusplus } #endif -- Gitee From c9f42aabf4edeee0b4c7e6876e36fde8852b1a22 Mon Sep 17 00:00:00 2001 From: gaochao Date: Sat, 31 Aug 2024 14:55:15 +0800 Subject: [PATCH 211/359] =?UTF-8?q?=E8=B0=83=E6=95=B4ndk=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: gaochao --- .../libnative_resmgr.ndk.json | 88 +++++++++++++++++++ .../resource_management/librawfile.ndk.json | 88 ------------------- 2 files changed, 88 insertions(+), 88 deletions(-) diff --git a/global/resource_management/libnative_resmgr.ndk.json b/global/resource_management/libnative_resmgr.ndk.json index 039fbcaa7..dcb320f42 100644 --- a/global/resource_management/libnative_resmgr.ndk.json +++ b/global/resource_management/libnative_resmgr.ndk.json @@ -50,5 +50,93 @@ { "first_introduced": "12", "name": "OH_ResourceManager_GetLocalesData" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetSymbol" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetSymbolByName" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetLocales" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetConfiguration" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_ReleaseConfiguration" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetString" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetStringByName" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetStringArray" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetStringArrayByName" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_ReleaseStringArray" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetPluralString" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetPluralStringByName" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetColor" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetColorByName" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetInt" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetIntByName" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetFloat" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetFloatByName" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetBool" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_GetBoolByName" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_AddResource" + }, + { + "first_introduced": "12", + "name": "OH_ResourceManager_RemoveResource" } ] \ No newline at end of file diff --git a/global/resource_management/librawfile.ndk.json b/global/resource_management/librawfile.ndk.json index 31739dc49..d81c3da5c 100644 --- a/global/resource_management/librawfile.ndk.json +++ b/global/resource_management/librawfile.ndk.json @@ -75,94 +75,6 @@ "first_introduced": "12", "name": "OH_ResourceManager_IsRawDir" }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetSymbol" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetSymbolByName" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetLocales" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetConfiguration" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_ReleaseConfiguration" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetString" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetStringByName" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetStringArray" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetStringArrayByName" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_ReleaseStringArray" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetPluralString" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetPluralStringByName" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetColor" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetColorByName" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetInt" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetIntByName" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetFloat" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetFloatByName" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetBool" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_GetBoolByName" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_AddResource" - }, - { - "first_introduced": "12", - "name": "OH_ResourceManager_RemoveResource" - }, { "first_introduced": "12", "name": "OH_ResourceManager_GetRawFileDescriptorData" -- Gitee From c7aeff7f69a6262fc4877c318a41c73e4b6cc1e7 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Sat, 31 Aug 2024 07:33:25 +0000 Subject: [PATCH 212/359] 11 Signed-off-by: hellohyh001 --- .../kits/c/input/oh_input_manager.h | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 420b65c3d..e66f2781e 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -268,15 +268,15 @@ typedef void (*Input_TouchEventCallback)(const Input_TouchEvent* touchEvent); typedef void (*Input_AxisEventCallback)(const Input_AxisEvent* axisEvent); /** - * @brief 回调函数,用于回调输入设备的上线事件。 - * @param deviceId 设备的id。 + * @brief Defines the callback for device addition events. + * @param deviceId Device ID. * @since 13 */ typedef void (*Input_DeviceAddedCallback)(int32_t deviceId); /** - * @brief 回调函数,用于回调输入设备的下线事件。 - * @param deviceId 设备的id。 + * @brief Defines the callback for device removal events. + * @param deviceId Device ID. * @since 13 */ typedef void (*Input_DeviceRemovedCallback)(int32_t deviceId); @@ -296,13 +296,13 @@ typedef struct Input_InterceptorEventCallback { } Input_InterceptorEventCallback; /** - * @brief 定义一个结构体用于监听设备设插拔 + * @brief Defines a listener for device insertion and removal events. * @since 13 */ typedef struct Input_DeviceListener { - /** 定义一个回调函数用于回调设备上线事件 */ + /** Callback for device addition events */ Input_DeviceAddedCallback deviceAddedCallback; - /** 定义一个回调函数用于回调设备下线事件 */ + /** Callback for device removal events */ Input_DeviceRemovedCallback deviceRemovedCallback; } Input_DeviceListener; @@ -1354,39 +1354,39 @@ void OH_Input_DestroyAllSystemHotkeys(Input_Hotkey **hotkeys, int32_t count); Input_Result OH_Input_GetAllSystemHotkeys(Input_Hotkey **hotkey, int32_t *count); /** - * @brief 注册设备热插拔的监听器 + * @brief Registers a listener for device hot swap events. * - * @param listener 指向设备热插拔监听器{@Link Input_DeviceListener}的指针. + * @param listener Pointer to an {@Link Input_DeviceListener} object. * - * @return OH_Input_RegisterDeviceListener 的返回值, 具体如下: - * {@link INPUT_SUCCESS} 调用成功;\n - * {@link INPUT_PARAMETER_ERROR} listener 为NULL - * {@link INPUT_SERVICE_EXCEPTION} 由于服务异常调用失败 + * @return OH_Input_RegisterDeviceListener status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} if listener is NULL; + * {@link INPUT_SERVICE_EXCEPTION} if the service is abnormal. * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ Input_Result OH_Input_RegisterDeviceListener(Input_DeviceListener* listener); /** - * @brief 取消注册设备热插拔的监听 + * @brief Unregisters the listener for device hot swap events. * - * @param listener 指向设备热插拔监听器{@Link Input_DeviceListener}的指针. + * @param listener Pointer to the listener for device hot swap events. For details, see {@Link Input_DeviceListener}. * - * @return OH_Input_UnregisterDeviceListener 的返回值, 具体如下: - * {@link INPUT_SUCCESS} 调用成功;\n - * {@link INPUT_PARAMETER_ERROR} listener 为 NULL 或者 listener 未被注册 - * {@link INPUT_SERVICE_EXCEPTION} 由于服务异常调用失败 + * @return OH_Input_UnregisterDeviceListener status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} if listener is NULL or no listener is registered; + * {@link INPUT_SERVICE_EXCEPTION} if the service is abnormal. * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ Input_Result OH_Input_UnregisterDeviceListener(Input_DeviceListener* listener); /** - * @brief 取消注册所有的设备热插拔的监听 + * @brief Unregisters the listener for all device hot swap events. * - * @return OH_Input_UnregisterDeviceListener 的返回值, 具体如下: - * {@link INPUT_SUCCESS} 调用成功;\n - * {@link INPUT_SERVICE_EXCEPTION} 由于服务异常调用失败 + * @return OH_Input_UnregisterDeviceListener status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_SERVICE_EXCEPTION} if the service is abnormal. * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -- Gitee From 242cb3933381bf2e1adb3dd3ee0dc73fcca2c286 Mon Sep 17 00:00:00 2001 From: z30053694 Date: Sat, 31 Aug 2024 16:01:03 +0800 Subject: [PATCH 213/359] feat: add c-api of battery info module Signed-off-by: z30053694 Change-Id: Id7af7ce9818f3bd7f831e10a7f600448b2987f2d --- BasicServicesKit/BUILD.gn | 14 +++ BasicServicesKit/ohbattery_info.h | 111 +++++++++++++++++++++++ BasicServicesKit/ohbattery_info.ndk.json | 8 ++ 3 files changed, 133 insertions(+) create mode 100644 BasicServicesKit/ohbattery_info.h create mode 100644 BasicServicesKit/ohbattery_info.ndk.json diff --git a/BasicServicesKit/BUILD.gn b/BasicServicesKit/BUILD.gn index ea12f5495..2c6fa0d7e 100644 --- a/BasicServicesKit/BUILD.gn +++ b/BasicServicesKit/BUILD.gn @@ -91,3 +91,17 @@ ohos_ndk_library("libcommonevent_ndk") { "BasicServicesKit/commonevent/oh_commonevent_support.h", ] } + +ohos_ndk_headers("ohbattery_info_header") { + dest_dir = "$ndk_headers_out_dir/BasicServicesKit/" + sources = [ "./ohbattery_info.h" ] +} + +ohos_ndk_library("libohbattery_info_ndk") { + output_name = "ohbattery_info" + output_extension = "so" + ndk_description_file = "./ohbattery_info.ndk.json" + min_compact_version = "12" + system_capability = "SystemCapability.PowerManager.BatteryManager.Core" + system_capability_headers = [ "BasicServicesKit/ohbattery_info.h" ] +} diff --git a/BasicServicesKit/ohbattery_info.h b/BasicServicesKit/ohbattery_info.h new file mode 100644 index 000000000..0083373a7 --- /dev/null +++ b/BasicServicesKit/ohbattery_info.h @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2024 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 OH_BatteryInfo + * @{ + * + * @brief Provides the definition of the C interface for the BatteryInfo module. + * + * @syscap SystemCapability.PowerManager.BatteryManager.Core + * @since 12 + * @version 1.0 + */ +/** + * @file ohbattery_info.h + * + * @brief Declares the APIs to discover and connect printers, print files from a printer, + * query the list of the added printers and the printer information within it, and so on. + * + * @library libohbattery_info.so + * @kit BasicServicesKit + * @syscap SystemCapability.PowerManager.BatteryManager.Core + * @since 12 + * @version 1.0 + */ +#ifndef OHBATTERY_INFO_HEADER +#define OHBATTERY_INFO_HEADER + +#include + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +static const char* COMMON_EVENT_KEY_CAPACITY = "soc"; +static const char* COMMON_EVENT_KEY_CHARGE_STATE = "chargeState"; +static const char* COMMON_EVENT_KEY_PLUGGED_TYPE = "pluggedType"; + +/** + * @brief Defines plugged types. + * + * @since 12 + * @version 1.0 + */ + +typedef enum { + /** + * Power source is unplugged. + */ + PLUGGED_TYPE_NONE, + + /** + * Power source is an AC charger. + */ + PLUGGED_TYPE_AC, + + /** + * Power source is a USB DC charger. + */ + PLUGGED_TYPE_USB, + + /** + * Power source is wireless charger. + */ + PLUGGED_TYPE_WIRELESS, + + /** + * The bottom of the enum. + */ + PLUGGED_TYPE_BUTT +} BatteryInfo_BatteryPluggedType; + +/** + * @brief This API returns the current battery capacity. + * + * @return Returns number betweem 0 and 100. + * @syscap ystemCapability.PowerManager.BatteryManager.Core + * @since 12 + */ +int32_t OH_BatteryInfo_GetCapacity(); + +/** + * @brief This API returns the current plugged type. + * + * @Return {@link BatteryInfo_BatteryPluggedType#PLUGGED_TYPE_NONE} if the power source is unplugged. + * {@link PLUGGED_TYPE_AC} if the power source is an AC charger. + * {@link PLUGGED_TYPE_USB} if the power source is an USB DC charger. + * {@link PLUGGED_TYPE_WIRELESS} if the power source is wireless charger. + * {@link PLUGGED_TYPE_BUTT} if the type is unknown. + * @syscap ystemCapability.PowerManager.BatteryManager.Core + * @since 12 + */ +BatteryInfo_BatteryPluggedType OH_BatteryInfo_GetPluggedType(); + +#ifdef __cplusplus +} +/** @} */ +#endif /* __cplusplus */ +#endif /* OHBATTERY_INFO_HEADER */ \ No newline at end of file diff --git a/BasicServicesKit/ohbattery_info.ndk.json b/BasicServicesKit/ohbattery_info.ndk.json new file mode 100644 index 000000000..947048fdb --- /dev/null +++ b/BasicServicesKit/ohbattery_info.ndk.json @@ -0,0 +1,8 @@ +[ + { "first_introduced": "12", + "name":"OH_BatteryInfo_GetCapacity" + }, + { "first_introduced": "12", + "name":"OH_BatteryInfo_GetPluggedType" + } +] \ No newline at end of file -- Gitee From 7038e5950665e6b99c4de49b653aeffde7aee24b Mon Sep 17 00:00:00 2001 From: wuchengwen Date: Sat, 31 Aug 2024 16:56:28 +0800 Subject: [PATCH 214/359] fix function no parameter use void Signed-off-by: wuchengwen --- inputmethod/include/inputmethod_text_config_capi.h | 2 +- inputmethod/include/inputmethod_text_editor_proxy_capi.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/inputmethod/include/inputmethod_text_config_capi.h b/inputmethod/include/inputmethod_text_config_capi.h index 1a625eb08..ad639af2d 100644 --- a/inputmethod/include/inputmethod_text_config_capi.h +++ b/inputmethod/include/inputmethod_text_config_capi.h @@ -59,7 +59,7 @@ typedef struct InputMethod_TextConfig InputMethod_TextConfig; * instance is returned. If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ -InputMethod_TextConfig *OH_TextConfig_Create(); +InputMethod_TextConfig *OH_TextConfig_Create(void); /** * @brief Destroy a {@link InputMethod_TextConfig} instance. * diff --git a/inputmethod/include/inputmethod_text_editor_proxy_capi.h b/inputmethod/include/inputmethod_text_editor_proxy_capi.h index 05d56b643..2a6b9f08a 100644 --- a/inputmethod/include/inputmethod_text_editor_proxy_capi.h +++ b/inputmethod/include/inputmethod_text_editor_proxy_capi.h @@ -265,7 +265,7 @@ typedef void (*OH_TextEditorProxy_FinishTextPreviewFunc)(InputMethod_TextEditorP * instance is returned. If the creation fails, NULL is returned, possible cause is insufficient memory. * @since 12 */ -InputMethod_TextEditorProxy *OH_TextEditorProxy_Create(); +InputMethod_TextEditorProxy *OH_TextEditorProxy_Create(void); /** * @brief Destroy a {@link InputMethod_TextEditorProxy} instance. * -- Gitee From 30e8efc4c08b907b91d7e3baf2d4d5d52fcceb11 Mon Sep 17 00:00:00 2001 From: yangzk Date: Fri, 30 Aug 2024 18:10:36 +0800 Subject: [PATCH 215/359] Description: add application context ndk IssueNo: Sig: SIG_ApplicationFramework Feature or Bugfix: Feature Binary Source: No Signed-off-by: yangzk Change-Id: If4888aba7774112d431924dfbf55dc77ee594beb --- AbilityKit/ability_runtime/BUILD.gn | 36 +++++++ .../ability_runtime/ability_runtime_common.h | 61 ++++++++++++ .../ability_runtime/application_context.h | 97 +++++++++++++++++++ AbilityKit/ability_runtime/context_constant.h | 82 ++++++++++++++++ .../libability_runtime.ndk.json | 14 +++ 5 files changed, 290 insertions(+) create mode 100644 AbilityKit/ability_runtime/BUILD.gn create mode 100644 AbilityKit/ability_runtime/ability_runtime_common.h create mode 100644 AbilityKit/ability_runtime/application_context.h create mode 100644 AbilityKit/ability_runtime/context_constant.h create mode 100644 AbilityKit/ability_runtime/libability_runtime.ndk.json diff --git a/AbilityKit/ability_runtime/BUILD.gn b/AbilityKit/ability_runtime/BUILD.gn new file mode 100644 index 000000000..e96e8afc2 --- /dev/null +++ b/AbilityKit/ability_runtime/BUILD.gn @@ -0,0 +1,36 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") +ohos_ndk_headers("ability_runtime_ndk_header") { + dest_dir = "$ndk_headers_out_dir/AbilityKit/ability_runtime" + sources = [ + "./ability_runtime_common.h", + "./application_context.h", + "./context_constant.h", + ] +} + +ohos_ndk_library("libability_runtime") { + output_name = "ability_runtime" + output_extension = "so" + system_capability = "SystemCapability.Ability.AbilityRuntime.Core" + ndk_description_file = "./libability_runtime.ndk.json" + min_compact_version = "13" + system_capability_headers = [ + "AbilityKit/ability_runtime/ability_runtime_common.h", + "AbilityKit/ability_runtime/application_context.h", + "AbilityKit/ability_runtime/context_constant.h", + ] +} diff --git a/AbilityKit/ability_runtime/ability_runtime_common.h b/AbilityKit/ability_runtime/ability_runtime_common.h new file mode 100644 index 000000000..d6220b080 --- /dev/null +++ b/AbilityKit/ability_runtime/ability_runtime_common.h @@ -0,0 +1,61 @@ +/* +* Copyright (C) 2024 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 AbilityRuntime + * @{ + * + * @brief Provide the definition of the C interface for the native AbilityRuntime + * + * @syscap SystemCapability.Ability.AbilityRuntime.Core + * @since 13 + */ + +/** + * @file ability_runtime_common.h + * + * @brief Declare the common types for the native AbilityRuntime. + * + * @library libability_runtime.so + * @kit AbilityKit + * @syscap SystemCapability.Ability.AbilityRuntime.Core + * @since 13 + */ + +#ifndef ABILITY_RUNTIME_COMMON_H +#define ABILITY_RUNTIME_COMMON_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the error codes. + * + * @since 13 + */ +typedef enum { + /** @error No error. */ + ABILITY_RUNTIME_ERROR_CODE_NO_ERROR = 0, + /** @error Invalid parameters. */ + ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID = 401, +} AbilityRuntime_ErrorCode; + +#ifdef __cplusplus +} +#endif + +/** @} */ +#endif //ABILITY_RUNTIME_COMMON_H diff --git a/AbilityKit/ability_runtime/application_context.h b/AbilityKit/ability_runtime/application_context.h new file mode 100644 index 000000000..374a99bd8 --- /dev/null +++ b/AbilityKit/ability_runtime/application_context.h @@ -0,0 +1,97 @@ +/* + * Copyright (c) 2024 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 AbilityRuntime + * @{ + * + * @brief Describe the functions provided by the application context. + * + * @syscap SystemCapability.Ability.AbilityRuntime.Core + * @since 13 + */ + +/** + * @file application_context.h + * + * @brief Defines the application context APIs. + * + * @library libability_runtime.so + * @kit AbilityKit + * @syscap SystemCapability.Ability.AbilityRuntime.Core + * @since 13 + */ + +#ifndef ABILITY_RUNTIME_APPLICATION_CONTEXT_H +#define ABILITY_RUNTIME_APPLICATION_CONTEXT_H + +#include +#include +#include "ability_runtime_common.h" +#include "context_constant.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Obtain the cache directory of the application. + * + * @param buffer A pointer to a buffer that receives the cache directory of the application. + * @param bufferSize The length of the buffer. + * @param writeLength The string length actually written to the buffer, + * when returning {@link ABILITY_RUNTIME_ERROR_CODE_NO_ERROR}. + * @return The error code. + * {@link ABILITY_RUNTIME_ERROR_CODE_NO_ERROR} if the operation is successful. + * {@link ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID} if the buffer or writeLength is null, + * or the buffer size is less than the minimum buffer size. + * @since 13 + */ +AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetCacheDir( + char* buffer, int32_t bufferSize, int32_t* writeLength); + +/** + * @brief Obtain the area mode of the application. + * + * @param areaMode A pointer to the area mode. + * @return The error code. + * {@link ABILITY_RUNTIME_ERROR_CODE_NO_ERROR} if the operation is successful. + * {@link ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID} if the areaMode is null. + * @since 13 + */ +AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetAreaMode(AbilityRuntime_AreaMode* areaMode); + +/** + * @brief Obtain the bundle name. + * + * @param buffer A pointer to a buffer that receives the bundle name. + * @param bufferSize The length of the buffer. + * @param writeLength The string length actually written to the buffer, + * when returning {@link ABILITY_RUNTIME_ERROR_CODE_NO_ERROR}. + * @return The error code. + * {@link ABILITY_RUNTIME_ERROR_CODE_NO_ERROR} if the operation is successful. + * {@link ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID} if the buffer or writeLength is null, + * or the buffer size is less than the minimum buffer size. + * @since 13 + */ +AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetBundleName( + char* buffer, int32_t bufferSize, int32_t* writeLength); + +#ifdef __cplusplus +} // extern "C" +#endif + +/** @} */ +#endif // ABILITY_RUNTIME_APPLICATION_CONTEXT_H diff --git a/AbilityKit/ability_runtime/context_constant.h b/AbilityKit/ability_runtime/context_constant.h new file mode 100644 index 000000000..921f407c1 --- /dev/null +++ b/AbilityKit/ability_runtime/context_constant.h @@ -0,0 +1,82 @@ +/* + * Copyright (c) 2024 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 AbilityRuntime + * @{ + * + * @brief Describe the constant of context. + * + * @syscap SystemCapability.Ability.AbilityRuntime.Core + * @since 13 + */ + +/** + * @file context_constant.h + * + * @brief Defines the constant of context. + * + * @library libability_runtime.so + * @kit AbilityKit + * @syscap SystemCapability.Ability.AbilityRuntime.Core + * @since 13 + */ + +#ifndef ABILITY_RUNTIME_CONTEXT_CONSTANT_H +#define ABILITY_RUNTIME_CONTEXT_CONSTANT_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief File area mode. + * + * @since 13 + */ +typedef enum { + /** + * System level device encryption area. + */ + ABILITY_RUNTIME_AREA_MODE_EL1 = 0, + /** + * User credential encryption area. + */ + ABILITY_RUNTIME_AREA_MODE_EL2 = 1, + /** + * User credential encryption area. + * when screen locked, can read/write, and create file. + */ + ABILITY_RUNTIME_AREA_MODE_EL3 = 2, + /** + * User credential encryption area. + * when screen locked, FEB2.0 can read/write, FEB3.0 can't + * read/write, and all can't create file. + */ + ABILITY_RUNTIME_AREA_MODE_EL4 = 3, + /** + * User privacy-sensitive encryption area. + * when the screen locked, a closed file cannot be opened, read, or written, + * a file can be created and then opened, read, or written. + */ + ABILITY_RUNTIME_AREA_MODE_EL5 = 4, +} AbilityRuntime_AreaMode; + +#ifdef __cplusplus +} // extern "C" +#endif + +/** @} */ +#endif // ABILITY_RUNTIME_CONTEXT_CONSTANT_H diff --git a/AbilityKit/ability_runtime/libability_runtime.ndk.json b/AbilityKit/ability_runtime/libability_runtime.ndk.json new file mode 100644 index 000000000..239f84f61 --- /dev/null +++ b/AbilityKit/ability_runtime/libability_runtime.ndk.json @@ -0,0 +1,14 @@ +[ + { + "first_introduced": "13", + "name": "OH_AbilityRuntime_ApplicationContextGetCacheDir" + }, + { + "first_introduced": "13", + "name": "OH_AbilityRuntime_ApplicationContextGetAreaMode" + }, + { + "first_introduced": "13", + "name": "OH_AbilityRuntime_ApplicationContextGetBundleName" + } +] \ No newline at end of file -- Gitee From 2a5f2a681d7cc42d49ddd5042b5bef86496390b6 Mon Sep 17 00:00:00 2001 From: shenshiyi2 Date: Sat, 31 Aug 2024 17:40:25 +0800 Subject: [PATCH 216/359] =?UTF-8?q?Image=20Kit=20=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E7=A0=81=E6=8F=8F=E8=BF=B0=E4=BF=AE=E6=94=B9=20-=20501=20Resou?= =?UTF-8?q?rce=20unavailable.=20-=2062980097=20IPC=20error.=20-=2062980246?= =?UTF-8?q?=20Failed=20to=20read=20the=20pixel=20map.=20-=2062980247=20Fai?= =?UTF-8?q?led=20to=20write=20the=20pixel=20map.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: shenshiyi2 --- multimedia/image_framework/include/image_mdk_common.h | 6 +++--- multimedia/image_framework/include/image_pixel_map_mdk.h | 4 ++-- multimedia/image_framework/include/image_source_mdk.h | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/multimedia/image_framework/include/image_mdk_common.h b/multimedia/image_framework/include/image_mdk_common.h index 2ed208982..5b89d31d3 100644 --- a/multimedia/image_framework/include/image_mdk_common.h +++ b/multimedia/image_framework/include/image_mdk_common.h @@ -52,7 +52,7 @@ typedef enum { IMAGE_RESULT_SUCCESS = 0, // Operation success IMAGE_RESULT_BAD_PARAMETER = -1, // Invalid parameter IMAGE_RESULT_IMAGE_RESULT_BASE = IMAGE_RESULT_BASE, // Operation failed - IMAGE_RESULT_ERR_IPC = IMAGE_RESULT_BASE + 1, // ipc error + IMAGE_RESULT_ERR_IPC = IMAGE_RESULT_BASE + 1, // IPC error. IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST = IMAGE_RESULT_BASE + 2, // sharememory error IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL = IMAGE_RESULT_BASE + 3, // sharememory data abnormal IMAGE_RESULT_DECODE_ABNORMAL = IMAGE_RESULT_BASE + 4, // image decode error @@ -129,8 +129,8 @@ typedef enum { IMAGE_RESULT_MEDIA_DENCODE_ICC_FAILED = IMAGE_RESULT_BASE + 75, // image dencode ICC fail IMAGE_RESULT_MEDIA_ENCODE_ICC_FAILED = IMAGE_RESULT_BASE + 76, // image encode ICC fail - IMAGE_RESULT_MEDIA_READ_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 150, // read pixelmap failed - IMAGE_RESULT_MEDIA_WRITE_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 151, // write pixelmap failed + IMAGE_RESULT_MEDIA_READ_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 150, // Failed to read the pixel map. + IMAGE_RESULT_MEDIA_WRITE_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 151, // Failed to write the pixel map. IMAGE_RESULT_MEDIA_PIXELMAP_NOT_ALLOW_MODIFY = IMAGE_RESULT_BASE + 152, // pixelmap not allow modify IMAGE_RESULT_MEDIA_CONFIG_FAILED = IMAGE_RESULT_BASE + 153, // config error IMAGE_RESULT_JNI_ENV_ABNORMAL = IMAGE_RESULT_BASE + 154, // Abnormal JNI environment diff --git a/multimedia/image_framework/include/image_pixel_map_mdk.h b/multimedia/image_framework/include/image_pixel_map_mdk.h index b05dc9ca7..53105e9f4 100644 --- a/multimedia/image_framework/include/image_pixel_map_mdk.h +++ b/multimedia/image_framework/include/image_pixel_map_mdk.h @@ -197,7 +197,7 @@ struct OhosPixelMapCreateOps { * returns {@link IRNdkErrCode} IMAGE_RESULT_ENCODE_FAILED - if image add pixel map fail. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_UNSUPPORT - if image hardware decode unsupported. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_FAILED - if hard decode failed. - * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if ipc error. + * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if IPC error. * returns {@link IRNdkErrCode} IMAGE_RESULT_INDEX_INVALID - if invalid index. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALPHA_TYPE_ERROR - if hard decode failed. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALLOCATER_TYPE_ERROR - if hard decode failed. @@ -264,7 +264,7 @@ int32_t OH_PixelMap_CreatePixelMapWithStride(napi_env env, OhosPixelMapCreateOps * returns {@link IRNdkErrCode} IMAGE_RESULT_ENCODE_FAILED - if image add pixel map fail. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_UNSUPPORT - if image hardware decode unsupported. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_FAILED - if hard decode failed. - * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if ipc error. + * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if IPC error. * returns {@link IRNdkErrCode} IMAGE_RESULT_INDEX_INVALID - if invalid index. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALPHA_TYPE_ERROR - if hard decode failed. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALLOCATER_TYPE_ERROR - if hard decode failed. diff --git a/multimedia/image_framework/include/image_source_mdk.h b/multimedia/image_framework/include/image_source_mdk.h index ae7cadf4d..f51f27dd8 100644 --- a/multimedia/image_framework/include/image_source_mdk.h +++ b/multimedia/image_framework/include/image_source_mdk.h @@ -668,7 +668,7 @@ ImageSourceNative* OH_ImageSource_InitNative(napi_env env, napi_value source); * returns {@link IRNdkErrCode} IMAGE_RESULT_ENCODE_FAILED - if image add pixel map fail. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_UNSUPPORT - if image hardware decode unsupported. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_FAILED - if hard decode failed. - * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if ipc error. + * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if IPC error. * returns {@link IRNdkErrCode} IMAGE_RESULT_INDEX_INVALID - if invalid index. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALPHA_TYPE_ERROR - if hard decode failed. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALLOCATER_TYPE_ERROR - if hard decode failed. @@ -714,7 +714,7 @@ int32_t OH_ImageSource_CreatePixelMap(const ImageSourceNative* native, * returns {@link IRNdkErrCode} IMAGE_RESULT_ENCODE_FAILED - if image add pixel map fail. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_UNSUPPORT - if image hardware decode unsupported. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_FAILED - if hard decode failed. - * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if ipc error. + * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if IPC error. * returns {@link IRNdkErrCode} IMAGE_RESULT_INDEX_INVALID - if invalid index. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALPHA_TYPE_ERROR - if hard decode failed. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALLOCATER_TYPE_ERROR - if hard decode failed. @@ -928,7 +928,7 @@ int32_t OH_ImageSource_ModifyImageProperty(const ImageSourceNative* native, * returns {@link IRNdkErrCode} IMAGE_RESULT_ENCODE_FAILED - image add pixel map fail. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_UNSUPPORT - if image hardware decode unsupported. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_FAILED - if hard decode failed. - * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if ipc error. + * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if IPC error. * returns {@link IRNdkErrCode} IMAGE_RESULT_INDEX_INVALID - if invalid index. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALPHA_TYPE_ERROR - if hard decode failed. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALLOCATER_TYPE_ERROR - if hard decode failed. -- Gitee From d55f257aeeaba42aaaebc74e43e5fa98e84baa36 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Sat, 31 Aug 2024 11:21:54 +0000 Subject: [PATCH 217/359] 11 Signed-off-by: hellohyh001 --- multimodalinput/kits/c/input/oh_input_manager.h | 1 - 1 file changed, 1 deletion(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index e66f2781e..5cedcc887 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -1361,7 +1361,6 @@ Input_Result OH_Input_GetAllSystemHotkeys(Input_Hotkey **hotkey, int32_t *count) * @return OH_Input_RegisterDeviceListener status code, specifically, * {@link INPUT_SUCCESS} if the operation is successful;\n * {@link INPUT_PARAMETER_ERROR} if listener is NULL; - * {@link INPUT_SERVICE_EXCEPTION} if the service is abnormal. * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -- Gitee From 11baff980eef26581277ae9c8ae98dad6ce91917 Mon Sep 17 00:00:00 2001 From: z30053694 Date: Sun, 1 Sep 2024 12:16:21 +0800 Subject: [PATCH 218/359] fix: formatted Signed-off-by: z30053694 Change-Id: Ifcb1d125ed455ed9a81a4a107c0d9d60ce676731 --- BasicServicesKit/ohbattery_info.h | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/BasicServicesKit/ohbattery_info.h b/BasicServicesKit/ohbattery_info.h index 0083373a7..bb6e2a5d1 100644 --- a/BasicServicesKit/ohbattery_info.h +++ b/BasicServicesKit/ohbattery_info.h @@ -44,8 +44,23 @@ extern "C" { #endif /* __cplusplus */ +/** + * @brief a string that identifies the commen event sent after battery capacity changes + * @since 12 + * @version 1.0 + */ static const char* COMMON_EVENT_KEY_CAPACITY = "soc"; +/** + * @brief a string that identifies the commen event sent after charge state changes + * @since 12 + * @version 1.0 + */ static const char* COMMON_EVENT_KEY_CHARGE_STATE = "chargeState"; +/** + * @brief a string that identifies the commen event sent after plugged type changes + * @since 12 + * @version 1.0 + */ static const char* COMMON_EVENT_KEY_PLUGGED_TYPE = "pluggedType"; /** @@ -54,7 +69,6 @@ static const char* COMMON_EVENT_KEY_PLUGGED_TYPE = "pluggedType"; * @since 12 * @version 1.0 */ - typedef enum { /** * Power source is unplugged. @@ -94,7 +108,7 @@ int32_t OH_BatteryInfo_GetCapacity(); /** * @brief This API returns the current plugged type. * - * @Return {@link BatteryInfo_BatteryPluggedType#PLUGGED_TYPE_NONE} if the power source is unplugged. + * @return {@link BatteryInfo_BatteryPluggedType#PLUGGED_TYPE_NONE} if the power source is unplugged. * {@link PLUGGED_TYPE_AC} if the power source is an AC charger. * {@link PLUGGED_TYPE_USB} if the power source is an USB DC charger. * {@link PLUGGED_TYPE_WIRELESS} if the power source is wireless charger. @@ -103,9 +117,8 @@ int32_t OH_BatteryInfo_GetCapacity(); * @since 12 */ BatteryInfo_BatteryPluggedType OH_BatteryInfo_GetPluggedType(); - #ifdef __cplusplus } -/** @} */ #endif /* __cplusplus */ -#endif /* OHBATTERY_INFO_HEADER */ \ No newline at end of file +#endif /* OHBATTERY_INFO_HEADER */ +/** @} */ \ No newline at end of file -- Gitee From f17772d27725919dbae550eb23ba0284139bf983 Mon Sep 17 00:00:00 2001 From: shanhaiyang Date: Sat, 31 Aug 2024 21:19:40 +0800 Subject: [PATCH 219/359] =?UTF-8?q?=E5=A2=9E=E5=BE=AE=E4=BF=A1=E6=89=93?= =?UTF-8?q?=E5=8D=B0ndk=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: shanhaiyang --- BasicServicesKit/ohprint.h | 129 +++++++++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) diff --git a/BasicServicesKit/ohprint.h b/BasicServicesKit/ohprint.h index 9bb887d6b..32fa197f1 100644 --- a/BasicServicesKit/ohprint.h +++ b/BasicServicesKit/ohprint.h @@ -280,6 +280,28 @@ typedef enum { DOCUMENT_FORMAT_TEXT, } Print_DocumentFormat; +/** + * @brief Indicates the print job doc adapter state. + * + * @since 13 + */ +typedef enum { + /** Print job preview ability destroy. */ + PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY = 0, + /** Print job task succeed. */ + PRINT_DOC_ADAPTER_PRINT_TASK_SUCCEED = 1, + /** Print job task failed. */ + PRINT_DOC_ADAPTER_PRINT_TASK_FAIL = 2, + /** Print job task cancel. */ + PRINT_DOC_ADAPTER_PRINT_TASK_CANCEL = 3, + /** Print job task block. */ + PRINT_DOC_ADAPTER_PRINT_TASK_BLOCK = 4, + /** Print job task preview ability destroy for cancel. */ + PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY_FOR_CANCELED = 5, + /** Print job task preview ability destroy for started. */ + PRINT_DOC_ADAPTER_PREVIEW_ABILITY_DESTROY_FOR_STARTED = 6, +} Print_JobDocAdapterState; + /** * @brief Indicates printer capabilities. * @@ -422,6 +444,96 @@ typedef struct { char *advancedOptions; } Print_PrintJob; +/** + * @brief Indicates print range structure. + * + * @since 13 + */ +typedef struct { + /** Print start page. */ + uint32_t startPage; + /** Print end page. */ + uint32_t endPage; + /** Print page array length. */ + uint32_t pagesArrayLen; + /** Print page array. */ + uint32_t* pagesArray; +} Print_Range; + +/** + * @brief Indicates print attributes structure. + * + * @since 13 + */ +typedef struct { + /** Print ranges. */ + Print_Range pageRange; + /** Print page size. */ + Print_PageSize pageSize; + /** Print margin. */ + Print_Margin pageMargin; + /** Copy numbers. */ + uint32_t copyNumber; + /** Duplex mode. */ + uint32_t duplexMode; + /** color mode. */ + uint32_t colorMode; + /** Print sequential. */ + bool isSequential; + /** Print orient. */ + bool isLandscape; + /** Print option flag. */ + bool hasOption; + /** Print options. */ + char options[256]; +} Print_PrintAttributes; + +/** + * @brief Write files result callback. + * + * @param joibId The print job id of one print task. + * @param code The result of write files. + * @since 13 + */ +typedef void(*Print_WriteResultCallback)(const char *jobId, uint32_t code); + +/** + * @brief Print start layout callback. + * + * @param jobId The print job id of one print task. + * @param fd The file descriptor to be written. + * @param oldAttrs The attribute of last. + * @param newAttrs The attribute of current. + * @param writeCallback The Write files result callback. + * @since 13 + */ +typedef void(*Print_OnStartLayoutWrite)(const char *jobId, + uint32_t fd, + const Print_PrintAttributes *oldAttrs, + const Print_PrintAttributes *newAttrs, + Print_WriteResultCallback writeCallback); + +/** + * @brief Print job state callback. + * + * @param jobId The print job id of one print task. + * @param state The state of current print job. + * @since 13 + */ +typedef void(*Print_OnJobStateChanged)(const char *jobId, uint32_t state); + +/** + * @brief Indicates print doc state callback structure. + * + * @since 13 + */ +typedef struct { + /** Print start layout callback. */ + Print_OnStartLayoutWrite startLayoutWriteCb; + /** Print job state callback. */ + Print_OnJobStateChanged jobStateChangedCb; +} Print_PrintDocCallback; + /** * @brief Printer discovery callback. * @@ -659,6 +771,23 @@ Print_ErrorCode OH_Print_UpdatePrinterProperties(const char *printerId, const Pr */ Print_ErrorCode OH_Print_RestorePrinterProperties(const char *printerId, const Print_StringList *propertyKeyList); +/** + * @brief This API restores printer properties to default settings based on the list of property keywords. + * + * @permission {@code ohos.permission.PRINT} + * @param printJobName The name of this print job. + * @param printDocCallback The print doc state callback. + * @param context The context of caller app. + * @return Returns {@link Print_ErrorCode#PRINT_ERROR_NONE} if the execution is successful. + * {@link PRINT_ERROR_NO_PERMISSION} The permission {@code ohos.permission.PRINT} is needed. + * {@link PRINT_ERROR_RPC_FAILURE} Unable to connect to the print service. + * @syscap SystemCapability.Print.PrintFramework + * @since 13 + */ +Print_ErrorCode OH_Print_StartPrintByNative(const char *printJobName, + Print_PrintDocCallback printDocCallback, + void *context); + #ifdef __cplusplus } #endif -- Gitee From cb8ad0d0b483ded9f918a764e846779046c915f4 Mon Sep 17 00:00:00 2001 From: dujingcheng Date: Thu, 29 Aug 2024 14:02:35 +0000 Subject: [PATCH 220/359] dd Signed-off-by: dujingcheng --- arkui/ace_engine/native/libace.ndk.json | 24 ++++----- .../native/native_interface_accessibility.h | 52 +++++++++---------- 2 files changed, 36 insertions(+), 40 deletions(-) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index 94884c361..108067435 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -2147,14 +2147,6 @@ "first_introduced": "13", "name": "OH_ArkUI_AddAndGetAccessibilityElementInfo" }, - { - "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoPageId" - }, - { - "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoComponentId" - }, { "first_introduced": "13", "name": "OH_ArkUI_SetAccessibilityElementInfoParentId" @@ -2331,10 +2323,6 @@ "first_introduced": "13", "name": "OH_ArkUI_SetAccessibilityEventEventType" }, - { - "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityEventPageId" - }, { "first_introduced": "13", "name": "OH_ArkUI_SetAccessibilityEventTextAnnouncedForAccessibility" @@ -2351,8 +2339,20 @@ "first_introduced": "13", "name": "OH_ArkUI_FindAccessibilityActionArgumentByKey" }, + { + "first_introduced": "13", + "name": "OH_ArkUI_CreateAccessibilityElementInfo" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_DestoryAccessibilityElementInfo" + }, { "first_introduced": "13", "name": "OH_NativeXComponent_GetNativeAccessibilityProvider" + }, + { + "first_introduced": "13", + "name": "OH_ArkUI_SetAccessibilityElementInfoElementId" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/native_interface_accessibility.h b/arkui/ace_engine/native/native_interface_accessibility.h index 0fc10b641..3c0aafba1 100644 --- a/arkui/ace_engine/native/native_interface_accessibility.h +++ b/arkui/ace_engine/native/native_interface_accessibility.h @@ -17,7 +17,7 @@ * @addtogroup ArkUI_AccessibilityProvider * @{ * - * @brief + * @brief * * @since 13 * @version 1.0 @@ -26,7 +26,7 @@ /** * @file native_interface_accessibility.h * - * @brief + * @brief * * @since 13 * @version 1.0 @@ -361,26 +361,15 @@ void OH_ArkUI_SendAccessibilityAsyncEvent( ArkUI_AccessibilityElementInfo* OH_ArkUI_AddAndGetAccessibilityElementInfo(ArkUI_AccessibilityElementInfoList* list); /** -* @brief Sets the page id of the accessibility element information. +* @brief Sets the element id of the accessibility element information. * * @param elementInfo Indicates the pointer to the accessibility element information. -* @param pageId Indicates the page id. +* @param elementId Indicates the page id. * @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. * Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoPageId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t pageId); - -/** -* @brief Sets the page id of the accessibility element information. -* -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param componentId Indicates the component id. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. -* @since 13 -*/ -int32_t OH_ArkUI_SetAccessibilityElementInfoComponentId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t componentId); +int32_t OH_ArkUI_SetAccessibilityElementInfoElementId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t elementId); /** * @brief Sets the parent id of the accessibility element information. @@ -833,6 +822,24 @@ int32_t OH_ArkUI_SetAccessibilityElementInfoBlur(ArkUI_AccessibilityElementInfo* */ int32_t OH_ArkUI_SetAccessibilityElementInfoHitTestBehavior(ArkUI_AccessibilityElementInfo* elementInfo, const char* hitTestBehavior); +/** + * @brief Create an accessibility elementInfo. + * + * @return Returns the pointer to the accessibility elementInfo. + * @since 13 + * @version 1.0 + */ +ArkUI_AccessibilityElementInfo* OH_ArkUI_CreateAccessibilityElementInfo(void); + +/** + * @brief Destorys an accessibility elementInfo. + * + * @param elementInfo Indicates the pointer to to the accessibility elementInfo info to be destoryed. + * @since 13 + * @version 1.0 + */ +void OH_ArkUI_DestoryAccessibilityElementInfo(ArkUI_AccessibilityElementInfo* elementInfo); + /** * @brief Create an accessibility eventInfo. * @@ -862,17 +869,6 @@ void OH_ArkUI_DestoryAccessibilityEventInfo(ArkUI_AccessibilityEventInfo* eventI */ int32_t OH_ArkUI_SetAccessibilityEventEventType(ArkUI_AccessibilityEventInfo* eventInfo, ArkUI_AccessibilityEventType eventType); -/** -* @brief Sets the pageId of the accessibility event information. -* -* @param eventInfo Indicates the pointer to the accessibility event information. -* @param pageId Indicates page id. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. -* @since 13 -*/ -int32_t OH_ArkUI_SetAccessibilityEventPageId(ArkUI_AccessibilityEventInfo* eventInfo, int32_t pageId); - /** * @brief Sets the textAnnouncedForAccessibility of the accessibility event information. * @@ -916,7 +912,7 @@ int32_t OH_ArkUI_SetAccessibilityEventElementInfo(ArkUI_AccessibilityEventInfo* * Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. * @since 13 */ -int32_t OH_ArkUI_FindAccessibilityActionArgumentByKey(ArkUI_AccessibilityActionArguments* arguments, const char* key, char* value); +int32_t OH_ArkUI_FindAccessibilityActionArgumentByKey(ArkUI_AccessibilityActionArguments* arguments, const char* key, char** value); #ifdef __cplusplus }; #endif -- Gitee From b54a92fcc0f56950a24a2485e9f2f5b28639ad5e Mon Sep 17 00:00:00 2001 From: s00659936 <282229496@qq.com> Date: Thu, 29 Aug 2024 19:08:02 +0800 Subject: [PATCH 221/359] =?UTF-8?q?=E6=96=B0=E5=A2=9Etelephony=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E7=9A=84ndk=E6=8E=A5=E5=8F=A3=EF=BC=8C=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=BB=98=E8=AE=A4=E4=B8=BB=E5=8D=A1ID=E5=92=8C?= =?UTF-8?q?=E7=BD=91=E7=BB=9C=E5=88=B6=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: SJH <282229496@qq.com> Change-Id: I094500f3d3201fd199676a7bcc277973e9693b39 --- telephony/cellular_data/BUILD.gn | 29 ++++ .../cellular_data/include/telephony_data.h | 49 ++++++ .../cellular_data/libtelephony_data.json | 6 + telephony/core_service/BUILD.gn | 35 ++++ .../core_service/include/telephony_radio.h | 74 +++++++++ .../include/telephony_radio_type.h | 157 ++++++++++++++++++ .../core_service/libtelephony_radio.json | 10 ++ 7 files changed, 360 insertions(+) create mode 100755 telephony/cellular_data/BUILD.gn create mode 100755 telephony/cellular_data/include/telephony_data.h create mode 100755 telephony/cellular_data/libtelephony_data.json create mode 100755 telephony/core_service/BUILD.gn create mode 100755 telephony/core_service/include/telephony_radio.h create mode 100755 telephony/core_service/include/telephony_radio_type.h create mode 100755 telephony/core_service/libtelephony_radio.json diff --git a/telephony/cellular_data/BUILD.gn b/telephony/cellular_data/BUILD.gn new file mode 100755 index 000000000..de7e9f095 --- /dev/null +++ b/telephony/cellular_data/BUILD.gn @@ -0,0 +1,29 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") + +ohos_ndk_library("libtelephony_data") { + output_name = "telephony_data" + output_extension = "so" + ndk_description_file = "./libtelephony_data.json" + min_compact_version = "1" + system_capability = "SystemCapability.Telephony.CellularData" + + system_capability_headers = [ "telephony/cellular_data/telephony_data.h" ] +} + +ohos_ndk_headers("telephony_data_header") { + dest_dir = "$ndk_headers_out_dir/telephony/cellular_data" + sources = [ "include/telephony_data.h" ] +} diff --git a/telephony/cellular_data/include/telephony_data.h b/telephony/cellular_data/include/telephony_data.h new file mode 100755 index 000000000..801f8e819 --- /dev/null +++ b/telephony/cellular_data/include/telephony_data.h @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef NATIVE_TELEPHONY_DATA_API_H +#define NATIVE_TELEPHONY_DATA_API_H + +/** + * @file telephony_data.h + * + * @brief Provides C interface for the telephony cellular data. + * + * @kit TelephonyKit + * @syscap SystemCapability.Telephony.CellularData + * @library libtelephony_data.so + * @since 13 + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Obtains the default cellular data slot id. + * + * @return the default cellular data slot id (0 for slot 1, 1 for slot 2). + * @syscap SystemCapability.Telephony.CellularData + * @since 13 + */ +int32_t OH_Telephony_GetDefaultCellularDataSlotId(void); + +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_TELEPHONY_DATA_API_H diff --git a/telephony/cellular_data/libtelephony_data.json b/telephony/cellular_data/libtelephony_data.json new file mode 100755 index 000000000..03c3f92a8 --- /dev/null +++ b/telephony/cellular_data/libtelephony_data.json @@ -0,0 +1,6 @@ +[ + { + "first_introduced":"13", + "name": "OH_Telephony_GetDefaultCellularDataSlotId" + } +] diff --git a/telephony/core_service/BUILD.gn b/telephony/core_service/BUILD.gn new file mode 100755 index 000000000..9e4fe5307 --- /dev/null +++ b/telephony/core_service/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") + +ohos_ndk_library("libtelephony_radio") { + output_name = "telephony_radio" + output_extension = "so" + ndk_description_file = "./libtelephony_radio.json" + min_compact_version = "1" + system_capability = "SystemCapability.Telephony.CoreService" + + system_capability_headers = [ + "telephony/core_service/telephony_radio.h", + "telephony/core_service/telephony_radio_type.h", + ] +} + +ohos_ndk_headers("telephony_radio_header") { + dest_dir = "$ndk_headers_out_dir/telephony/core_service" + sources = [ + "include/telephony_radio.h", + "include/telephony_radio_type.h", + ] +} diff --git a/telephony/core_service/include/telephony_radio.h b/telephony/core_service/include/telephony_radio.h new file mode 100755 index 000000000..26746d4be --- /dev/null +++ b/telephony/core_service/include/telephony_radio.h @@ -0,0 +1,74 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef NATIVE_TELEPHONY_RADIO_API_H +#define NATIVE_TELEPHONY_RADIO_API_H + +/** + * @file telephony_radio.h + * + * @brief Provides C interface for the telephony radio. + * + * @kit TelephonyKit + * @syscap SystemCapability.Telephony.CoreService + * @library libtelephony_radio.so + * @since 13 + */ + +#include "telephony_radio_type.h" +#include "stdint.h" + +#ifdef __cplusplus +extern "C" { +#endif +/** + * @brief Obtains the radio network state. + * + * @param state Pointer to the network state. + * @return the result defines in {@link Telephony_RadioResult}. + * {@link TEL_RADIO_SUCCESS} Success. + * {@link TEL_RADIO_PERMISSION_DENIED} Permission denied. + * {@link TEL_RADIO_ERR_MARSHALLING_FAILED} Low probability Marshalling failed, try again later. + * {@link TEL_RADIO_ERR_SERVICE_CONNECTION_FAILED} Unable to connect to telephony service, try again later. + * {@link TEL_RADIO_ERR_OPERATION_FAILED} Operation failed in telephony service, try again later. + * {@link TEL_RADIO_ERR_INVALID_PARAM} Invalid parameter. + * @permission ohos.permission.GET_NETWORK_INFO + * @syscap SystemCapability.Telephony.CoreService + * @since 13 + */ +Telephony_RadioResult OH_Telephony_GetNetworkState(Telephony_NetworkState *state); + +/** + * @brief Obtains the radio network state for given slot id. + * + * @param slotId the number of slot, 0 for card slot 1, 1 for card slot 2. + * @param state Pointer to the network state. + * @return the result defines in {@link Telephony_RadioResult}. + * {@link TEL_RADIO_SUCCESS} Success. + * {@link TEL_RADIO_PERMISSION_DENIED} Permission denied. + * {@link TEL_RADIO_ERR_MARSHALLING_FAILED} Low probability Marshalling failed, try again later. + * {@link TEL_RADIO_ERR_SERVICE_CONNECTION_FAILED} Unable to connect to telephony service, try again later. + * {@link TEL_RADIO_ERR_OPERATION_FAILED} Operation failed in telephony service, try again later. + * {@link TEL_RADIO_ERR_INVALID_PARAM} Invalid parameter. + * @permission ohos.permission.GET_NETWORK_INFO + * @syscap SystemCapability.Telephony.CoreService + * @since 13 + */ +Telephony_RadioResult OH_Telephony_GetNetworkStateForSlot(int32_t slotId, Telephony_NetworkState *state); +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_TELEPHONY_RADIO_API_H diff --git a/telephony/core_service/include/telephony_radio_type.h b/telephony/core_service/include/telephony_radio_type.h new file mode 100755 index 000000000..15877c912 --- /dev/null +++ b/telephony/core_service/include/telephony_radio_type.h @@ -0,0 +1,157 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef NATIVE_TELEPHONY_RADIO_TYPE_H +#define NATIVE_TELEPHONY_RADIO_TYPE_H + +/** + * @file telephony_radio_type.h + * + * @brief Provides the data structures for the C APIs of the the telephony radio. + * + * @kit TelephonyKit + * @syscap SystemCapability.Telephony.CoreService + * @library libtelephony_radio.so + * @since 13 + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#define TELEPHONY_MAX_OPERATOR_LEN 64 +#define TELEPHONY_MAX_PLMN_NUMERIC_LEN 6 + +/** + * @brief Result code. + * + * @since 13 + */ +typedef enum { + /* @error success */ + TEL_RADIO_SUCCESS = 0, + /* @error permission denied */ + TEL_RADIO_PERMISSION_DENIED = 201, + /* @error invalid parameter */ + TEL_RADIO_ERR_INVALID_PARAM = 401, + /* @error marshalling failed, this is a low probability error, try again later when get this error */ + TEL_RADIO_ERR_MARSHALLING_FAILED = 8300001, + /* @error unable to connect to telephony service, try again later when get this error */ + TEL_RADIO_ERR_SERVICE_CONNECTION_FAILED = 8300002, + /* @error operation failed in telephony service, try again later when get this error */ + TEL_RADIO_ERR_OPERATION_FAILED = 8300003, +} Telephony_RadioResult; + +/** + * @brief network registration status. + * + * @since 13 + */ +typedef enum { + /* can not use any services */ + TEL_REG_STATE_NO_SERVICE = 0, + /* can use services properly */ + TEL_REG_STATE_IN_SERVICE = 1, + /* can use emergency call only */ + TEL_REG_STATE_EMERGENCY_CALL_ONLY = 2, + /* radio power off */ + TEL_REG_STATE_POWER_OFF = 3, +} Telephony_RegState; + +/** + * @brief radio access technologies. + * + * @since 13 + */ +typedef enum { + /* Unknown radio technology */ + TEL_RADIO_TECHNOLOGY_UNKNOWN = 0, + /* Global System for Mobile Communication (GSM) */ + TEL_RADIO_TECHNOLOGY_GSM = 1, + /* Single-Carrier Radio Transmission Technology (1XRTT) */ + TEL_RADIO_TECHNOLOGY_1XRTT = 2, + /* Wideband Code Division Multiple Access (WCDMA) */ + TEL_RADIO_TECHNOLOGY_WCDMA = 3, + /* High Speed Packet Access (HSPA) */ + TEL_RADIO_TECHNOLOGY_HSPA = 4, + /* Evolved High Speed Packet Access (HSPA+) */ + TEL_RADIO_TECHNOLOGY_HSPAP = 5, + /* Time Division-Synchronous Code Division Multiple Access(TD-SCDMA) */ + TEL_RADIO_TECHNOLOGY_TD_SCDMA = 6, + /* Evolution-Data Optimized (EVDO) */ + TEL_RADIO_TECHNOLOGY_EVDO = 7, + /* Evolved High Rate Package Data (EHRPD) */ + TEL_RADIO_TECHNOLOGY_EHRPD = 8, + /* Long Term Evolution (LTE) */ + TEL_RADIO_TECHNOLOGY_LTE = 9, + /* Long Term Evolution_Carrier Aggregation (LTE_CA) */ + TEL_RADIO_TECHNOLOGY_LTE_CA = 10, + /* Industrial Wireless LAN (IWLAN) */ + TEL_RADIO_TECHNOLOGY_IWLAN = 11, + /* New Radio (NR) */ + TEL_RADIO_TECHNOLOGY_NR = 12, +} Telephony_RadioTechnology; + +/** + * @brief NSA network state. + * + * @since 13 + */ +typedef enum { + /* The device is in idle or connected state in an LTE cell that does not support NSA */ + TEL_NSA_STATE_NOT_SUPPORTED = 1, + /* The device is in the idle state in an LTE cell that supports NSA but not NR coverage detection */ + TEL_NSA_STATE_NO_DETECTED = 2, + /* The device is connected to the LTE network in an LTE cell that supports NSA and NR coverage detection */ + TEL_NSA_STATE_CONNECTED_DETECTED = 3, + /* The device is in the idle state in an LTE cell that supports NSA and NR coverage detection */ + TEL_NSA_STATE_IDLE_DETECTED = 4, + /* The device is connected to the LTE/NR network in an LTE cell that supports NSA */ + TEL_NSA_STATE_DUAL_CONNECTED = 5, + /* The device is idle or connected to the NG-RAN cell when being attached to the 5G Core */ + TEL_NSA_STATE_SA_ATTACHED = 6, +} Telephony_NsaState; + +/** + * @brief Network status. + * + * @since 13 + */ +typedef struct { + /* Long carrier name of the registered network */ + char longOperatorName_[TELEPHONY_MAX_OPERATOR_LEN]; + /* Short carrier name of the registered network */ + char shortOperatorName_[TELEPHONY_MAX_OPERATOR_LEN]; + /* PLMN code of the registered network */ + char plmnNumeric_[TELEPHONY_MAX_PLMN_NUMERIC_LEN]; + /* Whether in roaming */ + bool isRoaming_; + /* Network registration status */ + Telephony_RegState regState_; + /* Radio technology. */ + Telephony_RadioTechnology cfgTech_; + /* NSA state */ + Telephony_NsaState nsaState_; + /* Whether Carrier Aggregation(CA) is active */ + bool isCaActive_; + /* Whether in emergency call only */ + bool isEmergency_; +} Telephony_NetworkState; + +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_TELEPHONY_RADIO_TYPE_H diff --git a/telephony/core_service/libtelephony_radio.json b/telephony/core_service/libtelephony_radio.json new file mode 100755 index 000000000..b08040815 --- /dev/null +++ b/telephony/core_service/libtelephony_radio.json @@ -0,0 +1,10 @@ +[ + { + "first_introduced":"13", + "name": "OH_Telephony_GetNetworkState" + }, + { + "first_introduced":"13", + "name": "OH_Telephony_GetNetworkStateForSlot" + } +] -- Gitee From 339875e7053ef4a2ad1e4eb5343492ccd24000f8 Mon Sep 17 00:00:00 2001 From: z30053694 Date: Mon, 2 Sep 2024 11:12:17 +0800 Subject: [PATCH 222/359] fix: changed @since to version 13 and fix typos Signed-off-by: z30053694 Change-Id: I2d6edf8ed5c0fa9bfb0b177ee7f1665c9121c2c9 fix: changed version to 13 and fix typos Signed-off-by: z30053694 Change-Id: I1546a6df07010199b20a790740364f0747a47c94 fix: added comment Signed-off-by: z30053694 Change-Id: I26f987cdd7dc69daf1c8cb27782e984fd1d3f8d6 fix: typos Signed-off-by: z30053694 Change-Id: I9b667f4de5b6bf8262ed7987d696ea5b5e4881a7 --- BasicServicesKit/BUILD.gn | 2 +- BasicServicesKit/ohbattery_info.h | 34 ++++++++++++------------ BasicServicesKit/ohbattery_info.ndk.json | 6 ++--- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/BasicServicesKit/BUILD.gn b/BasicServicesKit/BUILD.gn index 2c6fa0d7e..11168e057 100644 --- a/BasicServicesKit/BUILD.gn +++ b/BasicServicesKit/BUILD.gn @@ -101,7 +101,7 @@ ohos_ndk_library("libohbattery_info_ndk") { output_name = "ohbattery_info" output_extension = "so" ndk_description_file = "./ohbattery_info.ndk.json" - min_compact_version = "12" + min_compact_version = "13" system_capability = "SystemCapability.PowerManager.BatteryManager.Core" system_capability_headers = [ "BasicServicesKit/ohbattery_info.h" ] } diff --git a/BasicServicesKit/ohbattery_info.h b/BasicServicesKit/ohbattery_info.h index bb6e2a5d1..38f289a38 100644 --- a/BasicServicesKit/ohbattery_info.h +++ b/BasicServicesKit/ohbattery_info.h @@ -20,19 +20,19 @@ * @brief Provides the definition of the C interface for the BatteryInfo module. * * @syscap SystemCapability.PowerManager.BatteryManager.Core - * @since 12 + * @since 13 * @version 1.0 */ /** * @file ohbattery_info.h * - * @brief Declares the APIs to discover and connect printers, print files from a printer, - * query the list of the added printers and the printer information within it, and so on. + * @brief Declares the APIs to get informations about the current battery capacity and the power source type, + * defines strings that identify corresponding common events. * * @library libohbattery_info.so * @kit BasicServicesKit * @syscap SystemCapability.PowerManager.BatteryManager.Core - * @since 12 + * @since 13 * @version 1.0 */ #ifndef OHBATTERY_INFO_HEADER @@ -45,20 +45,20 @@ extern "C" { #endif /* __cplusplus */ /** - * @brief a string that identifies the commen event sent after battery capacity changes - * @since 12 + * @brief A string that identifies the common event sent after battery capacity changes. + * @since 13 * @version 1.0 */ static const char* COMMON_EVENT_KEY_CAPACITY = "soc"; /** - * @brief a string that identifies the commen event sent after charge state changes - * @since 12 + * @brief A string that identifies the common event sent after charge state changes. + * @since 13 * @version 1.0 */ static const char* COMMON_EVENT_KEY_CHARGE_STATE = "chargeState"; /** - * @brief a string that identifies the commen event sent after plugged type changes - * @since 12 + * @brief A string that identifies the common event sent after plugged type changes. + * @since 13 * @version 1.0 */ static const char* COMMON_EVENT_KEY_PLUGGED_TYPE = "pluggedType"; @@ -66,7 +66,7 @@ static const char* COMMON_EVENT_KEY_PLUGGED_TYPE = "pluggedType"; /** * @brief Defines plugged types. * - * @since 12 + * @since 13 * @version 1.0 */ typedef enum { @@ -99,9 +99,9 @@ typedef enum { /** * @brief This API returns the current battery capacity. * - * @return Returns number betweem 0 and 100. - * @syscap ystemCapability.PowerManager.BatteryManager.Core - * @since 12 + * @return Returns number between 0 and 100. + * @syscap SystemCapability.PowerManager.BatteryManager.Core + * @since 13 */ int32_t OH_BatteryInfo_GetCapacity(); @@ -113,12 +113,12 @@ int32_t OH_BatteryInfo_GetCapacity(); * {@link PLUGGED_TYPE_USB} if the power source is an USB DC charger. * {@link PLUGGED_TYPE_WIRELESS} if the power source is wireless charger. * {@link PLUGGED_TYPE_BUTT} if the type is unknown. - * @syscap ystemCapability.PowerManager.BatteryManager.Core - * @since 12 + * @syscap SystemCapability.PowerManager.BatteryManager.Core + * @since 13 */ BatteryInfo_BatteryPluggedType OH_BatteryInfo_GetPluggedType(); #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* OHBATTERY_INFO_HEADER */ -/** @} */ \ No newline at end of file +/** @} */ diff --git a/BasicServicesKit/ohbattery_info.ndk.json b/BasicServicesKit/ohbattery_info.ndk.json index 947048fdb..ffe1e95d2 100644 --- a/BasicServicesKit/ohbattery_info.ndk.json +++ b/BasicServicesKit/ohbattery_info.ndk.json @@ -1,8 +1,8 @@ [ - { "first_introduced": "12", + { "first_introduced": "13", "name":"OH_BatteryInfo_GetCapacity" }, - { "first_introduced": "12", + { "first_introduced": "13", "name":"OH_BatteryInfo_GetPluggedType" } -] \ No newline at end of file +] -- Gitee From ebd86cb1ddf716f6513fa8e4726be344bc28269f Mon Sep 17 00:00:00 2001 From: zwtmichael Date: Wed, 28 Aug 2024 20:13:01 +0800 Subject: [PATCH 223/359] add preferences interface Signed-off-by: zwtmichael --- distributeddatamgr/preferences/BUILD.gn | 42 ++ .../preferences/include/oh_preferences.h | 555 ++++++++++++++++++ .../preferences/libpreferences.ndk.json | 338 +++++++++++ 3 files changed, 935 insertions(+) create mode 100644 distributeddatamgr/preferences/BUILD.gn create mode 100644 distributeddatamgr/preferences/include/oh_preferences.h create mode 100644 distributeddatamgr/preferences/libpreferences.ndk.json diff --git a/distributeddatamgr/preferences/BUILD.gn b/distributeddatamgr/preferences/BUILD.gn new file mode 100644 index 000000000..73e26a566 --- /dev/null +++ b/distributeddatamgr/preferences/BUILD.gn @@ -0,0 +1,42 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") +import("//foundation/distributeddatamgr/preferences/preferences.gni") + +ohos_ndk_headers("preferences_ndk_header") { + dest_dir = "$ndk_headers_out_dir/database/preferences/" + sources = [ + "./include/udmf.h", + "./include/udmf_err_code.h", + "./include/udmf_meta.h", + "./include/uds.h", + "./include/utd.h", + ] +} + +ohos_ndk_library("libpreferences") { + output_name = "udmf" + output_extension = "so" + system_capability = "SystemCapability.DistributedDataManager.Preferences.Core" + ndk_description_file = "./libpreferences.ndk.json" + min_compact_version = "13" + system_capability_headers = [ + "$ndk_headers_out_dir/database/preferences/udmf_err_code.h", + "$ndk_headers_out_dir/database/preferences/udmf_meta.h", + "$ndk_headers_out_dir/database/preferences/udmf.h", + "$ndk_headers_out_dir/database/preferences/uds.h", + "$ndk_headers_out_dir/database/preferences/utd.h", + ] +} diff --git a/distributeddatamgr/preferences/include/oh_preferences.h b/distributeddatamgr/preferences/include/oh_preferences.h new file mode 100644 index 000000000..da57b22be --- /dev/null +++ b/distributeddatamgr/preferences/include/oh_preferences.h @@ -0,0 +1,555 @@ +/* + * Copyright (c) 2024 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 PREFERENCES + * @{ + * + * @brief The preference manages data based on relational models. + * The Preferences module provides APIs for processing data in the form of key-value (KV) pairs, including querying, + * modifying, and persisting KV pairs. The key is of the string type, and the value can be a number, a string, + * a Boolean value, or an array of numbers, strings, or Boolean values. + * + * @since 13 + */ + +/** + * @file oh_preferences.h + * + * @brief Provides preferences related functions and enumerations. + * + * @kit ArkData + * @syscap SystemCapability.DistributedDataManager.Preferences.Core + * + * @since 12 + */ + +#ifndef OH_PREFERENCES_H +#define OH_PREFERENCES_H + +#include +#include +#include "uds.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Describes the unified preferences type. + * + * @since 13 + */ +typedef struct OH_Preferences OH_Preferences; + +/** + * @brief The callback function of data observer event. + * + * @param context Represents the context of data observer. + * @param pairs Indicates the key and value pairs that changed. + * @param count The count of changed pair accounts. + * @since 13 + */ +typedef void (*PreferencesDataObserver)(void *context, const OH_PreferencesPair *pairs, uint32_t count); + +/** + * @brief open the preferences object + * + * @param option Represents a pointer to an {@link OH_PreferencesOption} instance. + * @param errCode Represents a pointer to the status code of the execution. This parameter is the output parameter, + * See {@link OH_Preferences_ErrCode}. + * @return Returns preferences object pointer that in {@link OH_Preferences} when input parameters valid, + * otherwise return nullptr. + * @since 13 + */ +OH_Preferences *OH_Preferences_Open(OH_PreferencesOptions *option, int *errCode); + +/** + * @brief close the preferences object + * + * @param option Represents a pointer to an {@link OH_PreferencesOption} instance. + * @return Returns the status code of the execution. See {@link OH_Preferences_ErrCode}. + * @since 13 + */ +int OH_Preferences_Close(OH_PreferencesOptions *store); + +/** + * @brief Gets the value by the in preferences object. + * + * @param key Indicates the target key of the preferences. + * @param value Indicates the value that is get . + * @return Returns the status code of the execution. + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * @see PreferencesStore. + * @since 13 + */ +int OH_Preferences_GetInt(PreferencesStore *store, const char *key, int *value); + +/** + * @brief Get the value by key from a preference. + * + * @param store Represents a pointer to an {@link PreferencesStore} instance. + * @param key Indicates the key of the preferences. + * @param errCode This parameter is the output parameter, + * and the execution status of a function is written to this variable. + * @return Returns value {@link OH_PreferencesValue} object. + * @see PreferencesStore, OH_PreferencesValue + * @since 13 + */ +int OH_Preferences_GetBool(PreferencesStore *store, const char *key, bool *value); + +/** + * @brief Gets the version of a database. + * + * @param store Represents a pointer to an {@link PreferencesStore} instance. + * @param key Indicates the key of the preferences. + * @return Returns the status code of the execution. + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * @see PreferencesStore. + * @since 13 + */ +int OH_Preferences_GetString(PreferencesStore *store, const char *key, char **value); + +/** + * @brief Describes the unified data type. + * + * @since 12 + */ +typedef struct OH_UdmfData OH_UdmfData; + +/** + * @brief Describes the record type in the unified data. + * + * @since 12 + */ +typedef struct OH_UdmfRecord OH_UdmfRecord; + +/** + * @brief Describes some property parameters of unified data. + * + * @since 12 + */ +typedef struct OH_UdmfProperty OH_UdmfProperty; + +/** + * @brief Creation a pointer to the instance of the {@link OH_UdmfData}. + * + * @return If the operation is successful, a pointer to the instance of the {@link OH_UdmfData} + * structure is returned. If the operation is failed, nullptr is returned. + * @see OH_UdmfData. + * @since 12 + */ +OH_UdmfData* OH_UdmfData_Create(); + +/** + * @brief Destroy a pointer that points to the {@link OH_UdmfData} instance. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfData}. + * @see OH_UdmfData. + * @since 12 + */ +void OH_UdmfData_Destroy(OH_UdmfData* pThis); + +/** + * @brief Add one {OH_UdmfRecord} record to the {@link OH_UdmfData} data. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfData}. + * @param record Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfData Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfData_AddRecord(OH_UdmfData* pThis, OH_UdmfRecord* record); + +/** + * @brief Check whether the type exists in the {@link OH_UdmfData} data. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfData}. + * @param type Represents a string pointer of the type. + * @return Returns the status of finding type. + * {@code false} is not existed. + * {@code true} is existed. + * @see OH_UdmfData. + * @since 12 + */ +bool OH_UdmfData_HasType(OH_UdmfData* pThis, const char* type); + +/** + * @brief Get all types in the {@link OH_UdmfData} data. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfData}. + * @param count Represents the types count that is a output param. + * @return Returns string array that in {@link OH_UdmfData} when input parameters valid, + * otherwise return nullptr. + * @see OH_UdmfData. + * @since 12 + */ +char** OH_UdmfData_GetTypes(OH_UdmfData* pThis, unsigned int* count); + +/** + * @brief Get all records in the {@link OH_UdmfData} data. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfData}. + * @param count Represents the records count that is a output param. + * @return Returns {@link OH_UdmfRecord} pointer array when input parameters valid, otherwise return nullptr. + * @see OH_UdmfData OH_UdmfRecord. + * @since 12 + */ +OH_UdmfRecord** OH_UdmfData_GetRecords(OH_UdmfData* pThis, unsigned int* count); + +/** + * @brief Creation a pointer to the instance of the {@link OH_UdmfRecord}, it's relate with UDS data. + * + * @return If the operation is successful, a pointer to the instance of the {@link OH_UdmfRecord} + * structure is returned. If the operation is failed, nullptr is returned. + * @see OH_UdmfRecord. + * @since 12 + */ +OH_UdmfRecord* OH_UdmfRecord_Create(); + +/** + * @brief Destroy a pointer that points to an instance of {@link OH_UdmfRecord}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @see OH_UdmfRecord. + * @since 12 + */ +void OH_UdmfRecord_Destroy(OH_UdmfRecord* pThis); + +/** + * @brief Add one custom data to the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param typeId Represents record type, reference udmf_meta.h. + * @param entry Represents custom data. + * @param count Represents the size of data param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfRecord_AddGeneralEntry(OH_UdmfRecord* pThis, const char* typeId, unsigned char* entry, unsigned int count); + +/** + * @brief Add one {OH_UdsPlainText} data to the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param plainText Represents a pointer to an instance of {@link OH_UdsPlainText}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsPlainText Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfRecord_AddPlainText(OH_UdmfRecord* pThis, OH_UdsPlainText* plainText); + +/** + * @brief Add one {OH_UdsHyperlink} data to the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param hyperlink Represents a pointer to an instance of {@link OH_UdsHyperlink}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsHyperlink Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfRecord_AddHyperlink(OH_UdmfRecord* pThis, OH_UdsHyperlink* hyperlink); + +/** + * @brief Add one {OH_UdsHtml} data to the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param html Represents a pointer to an instance of {@link OH_UdsHtml}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsHtml Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfRecord_AddHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); + +/** + * @brief Add one {OH_UdsAppItem} data to the {@link OH_UdmfRecord} record. + * + * @param repThisord Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param appItem Represents a pointer to an instance of {@link OH_UdsAppItem}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsAppItem Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfRecord_AddAppItem(OH_UdmfRecord* pThis, OH_UdsAppItem* appItem); + +/** + * @brief Get all types in the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param count Represents the types count that is a output param. + * @return Returns string array that in {@link OH_UdmfRecord} when input parameters valid, + * otherwise return nullptr. + * @see OH_UdmfRecord. + * @since 12 + */ +char** OH_UdmfRecord_GetTypes(OH_UdmfRecord* pThis, unsigned int* count); + +/** + * @brief Get one entry data from the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param typeId Represents record type, reference udmf_meta.h. + * @param entry Represents a pointer to entry data that is a output param. + * @param count Represents the entry data length that is a output param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} Internal data error. + * @see OH_UdmfRecord Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfRecord_GetGeneralEntry(OH_UdmfRecord* pThis, const char* typeId, + unsigned char** entry, unsigned int* count); + +/** + * @brief Get one {OH_UdsPlainText} data from the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param plainText Represents a pointer to an instance of {@link OH_UdsPlainText}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} Internal data error. + * @see OH_UdmfRecord OH_UdsPlainText Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfRecord_GetPlainText(OH_UdmfRecord* pThis, OH_UdsPlainText* plainText); + +/** + * @brief Get one {OH_UdsHyperlink} data from the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param hyperlink Represents a pointer to an instance of {@link OH_UdsHyperlink}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} Internal data error. + * @see OH_UdmfRecord OH_UdsHyperlink Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfRecord_GetHyperlink(OH_UdmfRecord* pThis, OH_UdsHyperlink* hyperlink); + +/** + * @brief Get one {OH_UdsHtml} data from the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param html Represents a pointer to an instance of {@link OH_UdsHtml}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} Internal data error. + * @see OH_UdmfRecord OH_UdsHtml Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfRecord_GetHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); + +/** + * @brief Get one {OH_UdsAppItem} data from the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param appItem Represents a pointer to an instance of {@link OH_UdsAppItem}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} Internal data error. + * @see OH_UdmfRecord OH_UdsAppItem Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfRecord_GetAppItem(OH_UdmfRecord* pThis, OH_UdsAppItem* appItem); + +/** + * @brief Creation a pointer to the instance of the {@link OH_UdmfProperty} + * from a {@link OH_UdmfData} data. + * + * @param unifiedData Represents a pointer to an instance of {@link OH_UdmfData}. + * @return If the operation is successful, a pointer to the instance of the {@link OH_UdmfProperty} + * structure is returned. If the operation is failed, nullptr is returned. + * @see OH_UdmfData OH_UdmfProperty. + * @since 12 + */ +OH_UdmfProperty* OH_UdmfProperty_Create(OH_UdmfData* unifiedData); + +/** + * @brief Destroy a pointer that points to the {@link OH_UdmfProperty} instance. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. + * @see OH_UdmfProperty. + * @since 12 + */ +void OH_UdmfProperty_Destroy(OH_UdmfProperty* pThis); + +/** + * @brief Get tag value from the {@link OH_UdmfProperty}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. + * @return Returns a pointer of the tag value string when input parameters valid, otherwise return nullptr. + * @see OH_UdmfProperty. + * @since 12 + */ +const char* OH_UdmfProperty_GetTag(OH_UdmfProperty* pThis); + +/** + * @brief Get timestamp value from the {@link OH_UdmfProperty}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. + * @return Returns timestamp value. + * @see OH_UdmfProperty + * @since 12 + */ +int64_t OH_UdmfProperty_GetTimestamp(OH_UdmfProperty* pThis); + +/** + * @brief Get share option value from the {@link OH_UdmfProperty}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. + * @return Returns {@link Udmf_ShareOption} value. + * @see OH_UdmfProperty Udmf_ShareOption + * @since 12 + */ +Udmf_ShareOption OH_UdmfProperty_GetShareOption(OH_UdmfProperty* pThis); + +/** + * @brief Get integer value by key from the {@link OH_UdmfProperty}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. + * @param key Represents key-value pair's key + * @param defaultValue Represents when get value failure. + * @return Returns value associated with the key in successfully, otherwise return defaultValue. + * @see OH_UdmfProperty. + * @since 12 + */ +int OH_UdmfProperty_GetExtrasIntParam(OH_UdmfProperty* pThis, + const char* key, int defaultValue); + +/** + * @brief Get tag value from the {@link OH_UdmfProperty}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. + * @param key Represents key-value pair's key. + * @return Returns a pointer of the key value string when input parameters valid, otherwise return nullptr. + * @see OH_UdmfProperty + * @since 12 + */ +const char* OH_UdmfProperty_GetExtrasStringParam(OH_UdmfProperty* pThis, const char* key); + +/** + * @brief Set tag value to {@link OH_UdmfProperty} . + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. + * @param tag Represents new tag param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfProperty Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfProperty_SetTag(OH_UdmfProperty* pThis, const char* tag); + +/** + * @brief Set Udmf_ShareOption value to {@link OH_UdmfProperty}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. + * @param option Represents new {@link Udmf_ShareOption} param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfProperty Udmf_ShareOption Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfProperty_SetShareOption(OH_UdmfProperty* pThis, Udmf_ShareOption option); + +/** + * @brief Set extras param to {@link OH_UdmfProperty}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. + * @param key Represents extras param's key value. + * @param param Represents value of k-v pairs. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfProperty Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfProperty_SetExtrasIntParam(OH_UdmfProperty* pThis, const char* key, int param); + +/** + * @brief Set extras param to {@link OH_UdmfProperty}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. + * @param key Represents extras param's key value. + * @param param Represents value of k-v pairs. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfProperty Udmf_ErrCode. + * @since 12 + */ +int OH_UdmfProperty_SetExtrasStringParam(OH_UdmfProperty* pThis, + const char* key, const char* param); + +/** + * @brief Get {@link OH_UdmfData} data from udmf database. + * + * @param key Represents database store's key value. + * @param intention Represents data type {@link Udmf_Intention} + * @param unifiedData Represents output params of {@link OH_UdmfData}; + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} Internal data error. + * @see OH_UdmfProperty Udmf_Intention Udmf_ErrCode. + * @since 12 + */ +int OH_Udmf_GetUnifiedData(const char* key, Udmf_Intention intention, OH_UdmfData* unifiedData); + +/** + * @brief Set {@link OH_UdmfData} data to database. + * + * @param intention Represents data type {@link Udmf_Intention}. + * @param unifiedData Represents a pointer to an instance of {@link OH_UdmfData}. + * @param key Represents return value after set data to database successfully, + * it's memory size not less than {@link UDMF_KEY_BUFFER_LEN}. + * @param keyLen Represents size of key param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} Internal data error. + * @see OH_UdmfProperty Udmf_Intention Udmf_ErrCode. + * @since 12 + */ +int OH_Udmf_SetUnifiedData(Udmf_Intention intention, OH_UdmfData* unifiedData, + char* key, unsigned int keyLen); + +#ifdef __cplusplus +}; +#endif + +/** @} */ +#endif // OH_PREFERENCES_H \ No newline at end of file diff --git a/distributeddatamgr/preferences/libpreferences.ndk.json b/distributeddatamgr/preferences/libpreferences.ndk.json new file mode 100644 index 000000000..6011e71c0 --- /dev/null +++ b/distributeddatamgr/preferences/libpreferences.ndk.json @@ -0,0 +1,338 @@ +[ + { + "first_introduced": "12", + "name": "OH_Utd_Create" + }, + { + "first_introduced": "12", + "name": "OH_Utd_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_Utd_GetTypeId" + }, + { + "first_introduced": "12", + "name": "OH_Utd_GetDescription" + }, + { + "first_introduced": "12", + "name": "OH_Utd_GetReferenceUrl" + }, + { + "first_introduced": "12", + "name": "OH_Utd_GetIconFile" + }, + { + "first_introduced": "12", + "name": "OH_Utd_GetBelongingToTypes" + }, + { + "first_introduced": "12", + "name": "OH_Utd_GetFilenameExtensions" + }, + { + "first_introduced": "12", + "name": "OH_Utd_GetMimeTypes" + }, + { + "first_introduced": "12", + "name": "OH_Utd_GetTypesByFilenameExtension" + }, + { + "first_introduced": "12", + "name": "OH_Utd_GetTypesByMimeType" + }, + { + "first_introduced": "12", + "name": "OH_Utd_BelongsTo" + }, + { + "first_introduced": "12", + "name": "OH_Utd_IsLower" + }, + { + "first_introduced": "12", + "name": "OH_Utd_IsHigher" + }, + { + "first_introduced": "12", + "name": "OH_Utd_Equals" + }, + { + "first_introduced": "12", + "name": "OH_Utd_DestroyStringList" + }, + { + "first_introduced": "12", + "name": "OH_UdsPlainText_Create" + }, + { + "first_introduced": "12", + "name": "OH_UdsPlainText_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_UdsPlainText_GetType" + }, + { + "first_introduced": "12", + "name": "OH_UdsPlainText_GetContent" + }, + { + "first_introduced": "12", + "name": "OH_UdsPlainText_GetAbstract" + }, + { + "first_introduced": "12", + "name": "OH_UdsPlainText_SetContent" + }, + { + "first_introduced": "12", + "name": "OH_UdsPlainText_SetAbstract" + }, + { + "first_introduced": "12", + "name": "OH_UdsHyperlink_Create" + }, + { + "first_introduced": "12", + "name": "OH_UdsHyperlink_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_UdsHyperlink_GetType" + }, + { + "first_introduced": "12", + "name": "OH_UdsHyperlink_GetUrl" + }, + { + "first_introduced": "12", + "name": "OH_UdsHyperlink_GetDescription" + }, + { + "first_introduced": "12", + "name": "OH_UdsHyperlink_SetUrl" + }, + { + "first_introduced": "12", + "name": "OH_UdsHyperlink_SetDescription" + }, + { + "first_introduced": "12", + "name": "OH_UdsHtml_Create" + }, + { + "first_introduced": "12", + "name": "OH_UdsHtml_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_UdsHtml_GetType" + }, + { + "first_introduced": "12", + "name": "OH_UdsHtml_GetContent" + }, + { + "first_introduced": "12", + "name": "OH_UdsHtml_GetPlainContent" + }, + { + "first_introduced": "12", + "name": "OH_UdsHtml_SetContent" + }, + { + "first_introduced": "12", + "name": "OH_UdsHtml_SetPlainContent" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_Create" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_GetType" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_GetId" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_GetName" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_GetIconId" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_GetLabelId" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_GetBundleName" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_GetAbilityName" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_SetId" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_SetName" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_SetIconId" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_SetLabelId" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_SetBundleName" + }, + { + "first_introduced": "12", + "name": "OH_UdsAppItem_SetAbilityName" + }, + { + "first_introduced": "12", + "name": "OH_UdmfData_Create" + }, + { + "first_introduced": "12", + "name": "OH_UdmfData_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_UdmfData_AddRecord" + }, + { + "first_introduced": "12", + "name": "OH_UdmfData_HasType" + }, + { + "first_introduced": "12", + "name": "OH_UdmfData_GetTypes" + }, + { + "first_introduced": "12", + "name": "OH_UdmfData_GetRecords" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_Create" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_AddGeneralEntry" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_AddPlainText" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_AddHyperlink" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_AddHtml" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_AddAppItem" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_GetTypes" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_GetGeneralEntry" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_GetPlainText" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_GetHyperlink" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_GetHtml" + }, + { + "first_introduced": "12", + "name": "OH_UdmfRecord_GetAppItem" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_Create" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_Destroy" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_GetTag" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_GetTimestamp" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_GetShareOption" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_GetExtrasIntParam" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_GetExtrasStringParam" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_SetTag" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_SetShareOption" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_SetExtrasIntParam" + }, + { + "first_introduced": "12", + "name": "OH_UdmfProperty_SetExtrasStringParam" + }, + { + "first_introduced": "12", + "name": "OH_Udmf_GetUnifiedData" + }, + { + "first_introduced": "12", + "name": "OH_Udmf_SetUnifiedData" + } +] \ No newline at end of file -- Gitee From bbe522de684739377c2931b921317a8a06b02318 Mon Sep 17 00:00:00 2001 From: zwtmichael Date: Thu, 29 Aug 2024 11:53:19 +0800 Subject: [PATCH 224/359] add preference interface Signed-off-by: zwtmichael --- distributeddatamgr/preferences/BUILD.gn | 22 +- .../preferences/include/oh_preferences.h | 584 ++++-------------- .../include/oh_preferences_err_code.h | 73 +++ .../include/oh_preferences_option.h | 112 ++++ .../include/oh_preferences_value.h | 170 +++++ .../preferences/libpreferences.ndk.json | 336 ++-------- 6 files changed, 546 insertions(+), 751 deletions(-) create mode 100644 distributeddatamgr/preferences/include/oh_preferences_err_code.h create mode 100644 distributeddatamgr/preferences/include/oh_preferences_option.h create mode 100644 distributeddatamgr/preferences/include/oh_preferences_value.h diff --git a/distributeddatamgr/preferences/BUILD.gn b/distributeddatamgr/preferences/BUILD.gn index 73e26a566..90671c646 100644 --- a/distributeddatamgr/preferences/BUILD.gn +++ b/distributeddatamgr/preferences/BUILD.gn @@ -18,25 +18,23 @@ import("//foundation/distributeddatamgr/preferences/preferences.gni") ohos_ndk_headers("preferences_ndk_header") { dest_dir = "$ndk_headers_out_dir/database/preferences/" sources = [ - "./include/udmf.h", - "./include/udmf_err_code.h", - "./include/udmf_meta.h", - "./include/uds.h", - "./include/utd.h", + "./include/oh_preferences.h", + "./include/oh_preferences_err_code.h", + "./include/oh_preferences_option.h", + "./include/oh_preferences_values.h", ] } -ohos_ndk_library("libpreferences") { - output_name = "udmf" +ohos_ndk_library("libohpreferences") { + output_name = "ohpreferences" output_extension = "so" system_capability = "SystemCapability.DistributedDataManager.Preferences.Core" ndk_description_file = "./libpreferences.ndk.json" min_compact_version = "13" system_capability_headers = [ - "$ndk_headers_out_dir/database/preferences/udmf_err_code.h", - "$ndk_headers_out_dir/database/preferences/udmf_meta.h", - "$ndk_headers_out_dir/database/preferences/udmf.h", - "$ndk_headers_out_dir/database/preferences/uds.h", - "$ndk_headers_out_dir/database/preferences/utd.h", + "$ndk_headers_out_dir/database/preferences/oh_preferences.h", + "$ndk_headers_out_dir/database/preferences/oh_preferences_err_code.h", + "$ndk_headers_out_dir/database/preferences/oh_preferences_values.h", + "$ndk_headers_out_dir/database/preferences/oh_preferences_option.h", ] } diff --git a/distributeddatamgr/preferences/include/oh_preferences.h b/distributeddatamgr/preferences/include/oh_preferences.h index da57b22be..8beda9588 100644 --- a/distributeddatamgr/preferences/include/oh_preferences.h +++ b/distributeddatamgr/preferences/include/oh_preferences.h @@ -17,10 +17,9 @@ * @addtogroup PREFERENCES * @{ * - * @brief The preference manages data based on relational models. - * The Preferences module provides APIs for processing data in the form of key-value (KV) pairs, including querying, - * modifying, and persisting KV pairs. The key is of the string type, and the value can be a number, a string, - * a Boolean value, or an array of numbers, strings, or Boolean values. + * @brief Provides APIs for processing data in the form of key-value (KV) pairs. + * You can use the APIs provided by the Preferences module to query, modify, and persist KV pairs. + * The key is of the string type, and the value can be a number, a string, a boolean value. * * @since 13 */ @@ -28,524 +27,215 @@ /** * @file oh_preferences.h * - * @brief Provides preferences related functions and enumerations. + * @brief Defines the APIS and enums of Preference. * * @kit ArkData + * @library libohpreferences.so * @syscap SystemCapability.DistributedDataManager.Preferences.Core * - * @since 12 + * @since 13 */ #ifndef OH_PREFERENCES_H #define OH_PREFERENCES_H -#include -#include -#include "uds.h" +#include + +#include "oh_preferences_value.h" +#include "oh_preferences_option.h" #ifdef __cplusplus extern "C" { #endif /** - * @brief Describes the unified preferences type. + * @brief Represents a Preferences instance. * * @since 13 */ typedef struct OH_Preferences OH_Preferences; /** - * @brief The callback function of data observer event. + * @brief Call to return the change in KV pairs. * - * @param context Represents the context of data observer. - * @param pairs Indicates the key and value pairs that changed. - * @param count The count of changed pair accounts. + * @param context Pointer to the context of data observer. + * @param pairs Pointer to the KV pairs to be observed. + * @param count Number of KV pairs to be observed. + * @see OH_PreferencesPair. * @since 13 */ -typedef void (*PreferencesDataObserver)(void *context, const OH_PreferencesPair *pairs, uint32_t count); +typedef void (*OH_PreferencesDataObserver)(void *context, const OH_PreferencesPair *pairs, uint32_t count); /** - * @brief open the preferences object + * @brief Opens a Preferences object. * - * @param option Represents a pointer to an {@link OH_PreferencesOption} instance. - * @param errCode Represents a pointer to the status code of the execution. This parameter is the output parameter, - * See {@link OH_Preferences_ErrCode}. - * @return Returns preferences object pointer that in {@link OH_Preferences} when input parameters valid, - * otherwise return nullptr. + * @param option Pointer to an {@Link OH_PreferencesOption} instance. + * @param errCode Pointer to the status code of the execution. For details, See {@link OH_Preferences_ErrCode}. + * @return Returns an pointer to the Preferences object in {@Link OH_Preferences} if the operation is successful, + * returns nullptr otherwise. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_NOT_SUPPORTED} indicates the capability is not supported. + * @see OH_Preferences OH_PreferencesOption. * @since 13 */ -OH_Preferences *OH_Preferences_Open(OH_PreferencesOptions *option, int *errCode); +OH_Preferences *OH_Preferences_Open(OH_PreferencesOption *option, int *errCode); /** - * @brief close the preferences object + * @brief Closes a Preferences object. * - * @param option Represents a pointer to an {@link OH_PreferencesOption} instance. - * @return Returns the status code of the execution. See {@link OH_Preferences_ErrCode}. + * @param preference Pointer to the {@Link OH_Preferences} instance to close. + * @param option Pointer to an {@Link OH_PreferencesOption} instance. + * @return Returns the status code of the execution. For details, see {@Link OH_Preferences_ErrCode}. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * @see OH_Preferences. * @since 13 */ -int OH_Preferences_Close(OH_PreferencesOptions *store); +int OH_Preferences_Close(OH_Preferences *preference); /** - * @brief Gets the value by the in preferences object. + * @brief Obtains the integer value in a Preferences object based on the given key. * - * @param key Indicates the target key of the preferences. - * @param value Indicates the value that is get . + * @param preference Pointer to the target {@Link OH_Preferences} instance. + * @param key Pointer to the key of the value to obtain. + * @param value Pointer to the value obtained. * @return Returns the status code of the execution. - * {@link RDB_OK} - success. - * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. - * @see PreferencesStore. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * @see OH_Preferences. * @since 13 */ -int OH_Preferences_GetInt(PreferencesStore *store, const char *key, int *value); +int OH_Preferences_GetInt(OH_Preferences *preference, const char *key, int *value); /** - * @brief Get the value by key from a preference. + * @brief Obtains the Boolean value in a Preferences object based on the given key. * - * @param store Represents a pointer to an {@link PreferencesStore} instance. - * @param key Indicates the key of the preferences. - * @param errCode This parameter is the output parameter, - * and the execution status of a function is written to this variable. - * @return Returns value {@link OH_PreferencesValue} object. - * @see PreferencesStore, OH_PreferencesValue + * @param preference Pointer to the target {@Link OH_Preferences} instance. + * @param key Pointer to the key of the value to obtain. + * @param value Pointer to the Boolean value obtained. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * @see OH_Preferences. * @since 13 */ -int OH_Preferences_GetBool(PreferencesStore *store, const char *key, bool *value); +int OH_Preferences_GetBool(OH_Preferences *preference, const char *key, bool *value); /** - * @brief Gets the version of a database. + * @brief Obtains the string value in a Preferences object based on the given key. * - * @param store Represents a pointer to an {@link PreferencesStore} instance. - * @param key Indicates the key of the preferences. + * @param preference Pointer to the target {@Link OH_Preferences} instance. + * @param key Pointer to the key of the value to obtain. + * @param value Double pointer to the value obtained in an char * array. Release the memory used + * when this parameter is no longer required. + * @param valueLen Pointer to the length of the string obtained. * @return Returns the status code of the execution. - * {@link RDB_OK} - success. - * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. - * @see PreferencesStore. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * @see OH_Preferences. * @since 13 */ -int OH_Preferences_GetString(PreferencesStore *store, const char *key, char **value); - -/** - * @brief Describes the unified data type. - * - * @since 12 - */ -typedef struct OH_UdmfData OH_UdmfData; - -/** - * @brief Describes the record type in the unified data. - * - * @since 12 - */ -typedef struct OH_UdmfRecord OH_UdmfRecord; - -/** - * @brief Describes some property parameters of unified data. - * - * @since 12 - */ -typedef struct OH_UdmfProperty OH_UdmfProperty; - -/** - * @brief Creation a pointer to the instance of the {@link OH_UdmfData}. - * - * @return If the operation is successful, a pointer to the instance of the {@link OH_UdmfData} - * structure is returned. If the operation is failed, nullptr is returned. - * @see OH_UdmfData. - * @since 12 - */ -OH_UdmfData* OH_UdmfData_Create(); - -/** - * @brief Destroy a pointer that points to the {@link OH_UdmfData} instance. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfData}. - * @see OH_UdmfData. - * @since 12 - */ -void OH_UdmfData_Destroy(OH_UdmfData* pThis); - -/** - * @brief Add one {OH_UdmfRecord} record to the {@link OH_UdmfData} data. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfData}. - * @param record Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdmfData Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfData_AddRecord(OH_UdmfData* pThis, OH_UdmfRecord* record); - -/** - * @brief Check whether the type exists in the {@link OH_UdmfData} data. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfData}. - * @param type Represents a string pointer of the type. - * @return Returns the status of finding type. - * {@code false} is not existed. - * {@code true} is existed. - * @see OH_UdmfData. - * @since 12 - */ -bool OH_UdmfData_HasType(OH_UdmfData* pThis, const char* type); - -/** - * @brief Get all types in the {@link OH_UdmfData} data. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfData}. - * @param count Represents the types count that is a output param. - * @return Returns string array that in {@link OH_UdmfData} when input parameters valid, - * otherwise return nullptr. - * @see OH_UdmfData. - * @since 12 - */ -char** OH_UdmfData_GetTypes(OH_UdmfData* pThis, unsigned int* count); +int OH_Preferences_GetString(OH_Preferences *preference, const char *key, char **value, uint32_t *valueLen); /** - * @brief Get all records in the {@link OH_UdmfData} data. + * @brief Sets an integer in a Preferences object. * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfData}. - * @param count Represents the records count that is a output param. - * @return Returns {@link OH_UdmfRecord} pointer array when input parameters valid, otherwise return nullptr. - * @see OH_UdmfData OH_UdmfRecord. - * @since 12 - */ -OH_UdmfRecord** OH_UdmfData_GetRecords(OH_UdmfData* pThis, unsigned int* count); - -/** - * @brief Creation a pointer to the instance of the {@link OH_UdmfRecord}, it's relate with UDS data. - * - * @return If the operation is successful, a pointer to the instance of the {@link OH_UdmfRecord} - * structure is returned. If the operation is failed, nullptr is returned. - * @see OH_UdmfRecord. - * @since 12 - */ -OH_UdmfRecord* OH_UdmfRecord_Create(); - -/** - * @brief Destroy a pointer that points to an instance of {@link OH_UdmfRecord}. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @see OH_UdmfRecord. - * @since 12 - */ -void OH_UdmfRecord_Destroy(OH_UdmfRecord* pThis); - -/** - * @brief Add one custom data to the {@link OH_UdmfRecord} record. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param typeId Represents record type, reference udmf_meta.h. - * @param entry Represents custom data. - * @param count Represents the size of data param. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdmfRecord Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfRecord_AddGeneralEntry(OH_UdmfRecord* pThis, const char* typeId, unsigned char* entry, unsigned int count); - -/** - * @brief Add one {OH_UdsPlainText} data to the {@link OH_UdmfRecord} record. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param plainText Represents a pointer to an instance of {@link OH_UdsPlainText}. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdmfRecord OH_UdsPlainText Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfRecord_AddPlainText(OH_UdmfRecord* pThis, OH_UdsPlainText* plainText); - -/** - * @brief Add one {OH_UdsHyperlink} data to the {@link OH_UdmfRecord} record. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param hyperlink Represents a pointer to an instance of {@link OH_UdsHyperlink}. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdmfRecord OH_UdsHyperlink Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfRecord_AddHyperlink(OH_UdmfRecord* pThis, OH_UdsHyperlink* hyperlink); - -/** - * @brief Add one {OH_UdsHtml} data to the {@link OH_UdmfRecord} record. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param html Represents a pointer to an instance of {@link OH_UdsHtml}. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdmfRecord OH_UdsHtml Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfRecord_AddHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); - -/** - * @brief Add one {OH_UdsAppItem} data to the {@link OH_UdmfRecord} record. - * - * @param repThisord Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param appItem Represents a pointer to an instance of {@link OH_UdsAppItem}. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdmfRecord OH_UdsAppItem Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfRecord_AddAppItem(OH_UdmfRecord* pThis, OH_UdsAppItem* appItem); - -/** - * @brief Get all types in the {@link OH_UdmfRecord} record. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param count Represents the types count that is a output param. - * @return Returns string array that in {@link OH_UdmfRecord} when input parameters valid, - * otherwise return nullptr. - * @see OH_UdmfRecord. - * @since 12 - */ -char** OH_UdmfRecord_GetTypes(OH_UdmfRecord* pThis, unsigned int* count); - -/** - * @brief Get one entry data from the {@link OH_UdmfRecord} record. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param typeId Represents record type, reference udmf_meta.h. - * @param entry Represents a pointer to entry data that is a output param. - * @param count Represents the entry data length that is a output param. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} Internal data error. - * @see OH_UdmfRecord Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfRecord_GetGeneralEntry(OH_UdmfRecord* pThis, const char* typeId, - unsigned char** entry, unsigned int* count); - -/** - * @brief Get one {OH_UdsPlainText} data from the {@link OH_UdmfRecord} record. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param plainText Represents a pointer to an instance of {@link OH_UdsPlainText}. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} Internal data error. - * @see OH_UdmfRecord OH_UdsPlainText Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfRecord_GetPlainText(OH_UdmfRecord* pThis, OH_UdsPlainText* plainText); - -/** - * @brief Get one {OH_UdsHyperlink} data from the {@link OH_UdmfRecord} record. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param hyperlink Represents a pointer to an instance of {@link OH_UdsHyperlink}. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} Internal data error. - * @see OH_UdmfRecord OH_UdsHyperlink Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfRecord_GetHyperlink(OH_UdmfRecord* pThis, OH_UdsHyperlink* hyperlink); - -/** - * @brief Get one {OH_UdsHtml} data from the {@link OH_UdmfRecord} record. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param html Represents a pointer to an instance of {@link OH_UdsHtml}. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} Internal data error. - * @see OH_UdmfRecord OH_UdsHtml Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfRecord_GetHtml(OH_UdmfRecord* pThis, OH_UdsHtml* html); - -/** - * @brief Get one {OH_UdsAppItem} data from the {@link OH_UdmfRecord} record. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. - * @param appItem Represents a pointer to an instance of {@link OH_UdsAppItem}. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} Internal data error. - * @see OH_UdmfRecord OH_UdsAppItem Udmf_ErrCode. - * @since 12 - */ -int OH_UdmfRecord_GetAppItem(OH_UdmfRecord* pThis, OH_UdsAppItem* appItem); - -/** - * @brief Creation a pointer to the instance of the {@link OH_UdmfProperty} - * from a {@link OH_UdmfData} data. - * - * @param unifiedData Represents a pointer to an instance of {@link OH_UdmfData}. - * @return If the operation is successful, a pointer to the instance of the {@link OH_UdmfProperty} - * structure is returned. If the operation is failed, nullptr is returned. - * @see OH_UdmfData OH_UdmfProperty. - * @since 12 - */ -OH_UdmfProperty* OH_UdmfProperty_Create(OH_UdmfData* unifiedData); - -/** - * @brief Destroy a pointer that points to the {@link OH_UdmfProperty} instance. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. - * @see OH_UdmfProperty. - * @since 12 - */ -void OH_UdmfProperty_Destroy(OH_UdmfProperty* pThis); - -/** - * @brief Get tag value from the {@link OH_UdmfProperty}. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. - * @return Returns a pointer of the tag value string when input parameters valid, otherwise return nullptr. - * @see OH_UdmfProperty. - * @since 12 - */ -const char* OH_UdmfProperty_GetTag(OH_UdmfProperty* pThis); - -/** - * @brief Get timestamp value from the {@link OH_UdmfProperty}. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. - * @return Returns timestamp value. - * @see OH_UdmfProperty - * @since 12 - */ -int64_t OH_UdmfProperty_GetTimestamp(OH_UdmfProperty* pThis); - -/** - * @brief Get share option value from the {@link OH_UdmfProperty}. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. - * @return Returns {@link Udmf_ShareOption} value. - * @see OH_UdmfProperty Udmf_ShareOption - * @since 12 - */ -Udmf_ShareOption OH_UdmfProperty_GetShareOption(OH_UdmfProperty* pThis); - -/** - * @brief Get integer value by key from the {@link OH_UdmfProperty}. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. - * @param key Represents key-value pair's key - * @param defaultValue Represents when get value failure. - * @return Returns value associated with the key in successfully, otherwise return defaultValue. - * @see OH_UdmfProperty. - * @since 12 - */ -int OH_UdmfProperty_GetExtrasIntParam(OH_UdmfProperty* pThis, - const char* key, int defaultValue); - -/** - * @brief Get tag value from the {@link OH_UdmfProperty}. - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. - * @param key Represents key-value pair's key. - * @return Returns a pointer of the key value string when input parameters valid, otherwise return nullptr. - * @see OH_UdmfProperty - * @since 12 - */ -const char* OH_UdmfProperty_GetExtrasStringParam(OH_UdmfProperty* pThis, const char* key); - -/** - * @brief Set tag value to {@link OH_UdmfProperty} . - * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. - * @param tag Represents new tag param. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdmfProperty Udmf_ErrCode. - * @since 12 + * @param preference Pointer to the target {@Link OH_Preferences} instance. + * @param key Pointer to the key to set. + * @param value Value to set. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * @see OH_Preferences. + * @since 13 */ -int OH_UdmfProperty_SetTag(OH_UdmfProperty* pThis, const char* tag); +int OH_Preferences_SetInt(OH_Preferences *preference, const char *key, int value); /** - * @brief Set Udmf_ShareOption value to {@link OH_UdmfProperty}. + * @brief Sets a Boolean value in a Preferences object. * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. - * @param option Represents new {@link Udmf_ShareOption} param. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdmfProperty Udmf_ShareOption Udmf_ErrCode. - * @since 12 + * @param preference Pointer to the target {@Link OH_Preferences} instance. + * @param key Pointer to the key to set. + * @param value Boolean value to set. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * @see OH_Preferences. + * @since 13 */ -int OH_UdmfProperty_SetShareOption(OH_UdmfProperty* pThis, Udmf_ShareOption option); +int OH_Preferences_SetBool(OH_Preferences *preference, const char *key, bool value); /** - * @brief Set extras param to {@link OH_UdmfProperty}. + * @brief Sets a string in a Preferences object. * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. - * @param key Represents extras param's key value. - * @param param Represents value of k-v pairs. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdmfProperty Udmf_ErrCode. - * @since 12 + * @param preference Pointer to the target {@Link OH_Preferences} instance. + * @param key Pointer to the key to set. + * @param value Point to string to set. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * @see OH_Preferences. + * @since 13 */ -int OH_UdmfProperty_SetExtrasIntParam(OH_UdmfProperty* pThis, const char* key, int param); +int OH_Preferences_SetString(OH_Preferences *preference, const char *key, const char *value); /** - * @brief Set extras param to {@link OH_UdmfProperty}. + * @brief Deletes a KV pair from a Preferences object. * - * @param pThis Represents a pointer to an instance of {@link OH_UdmfProperty}. - * @param key Represents extras param's key value. - * @param param Represents value of k-v pairs. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * @see OH_UdmfProperty Udmf_ErrCode. - * @since 12 + * @param preference Pointer to the target {@Link OH_Preferences} instance. + * @param key Pointer to the key of the data to delete. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * @see OH_Preferences. + * @since 13 */ -int OH_UdmfProperty_SetExtrasStringParam(OH_UdmfProperty* pThis, - const char* key, const char* param); +int OH_Preferences_Delete(OH_Preferences *preference, const char *key); /** - * @brief Get {@link OH_UdmfData} data from udmf database. + * @brief Registers a data observer for a Preferences object. * - * @param key Represents database store's key value. - * @param intention Represents data type {@link Udmf_Intention} - * @param unifiedData Represents output params of {@link OH_UdmfData}; - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} Internal data error. - * @see OH_UdmfProperty Udmf_Intention Udmf_ErrCode. - * @since 12 + * @param preference Pointer to the target {@Link OH_Preferences} instance. + * @param context Pointer to the context of the data observer. + * @param observer Pointer to the {@Link OH_PreferencesDataObserver} to register. + * @param keys Pointer to the keys to observe. + * @param keyCount Number of keys to observe. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * @see OH_Preferences OH_PreferencesDataObserver. + * @since 13 */ -int OH_Udmf_GetUnifiedData(const char* key, Udmf_Intention intention, OH_UdmfData* unifiedData); +int OH_Preferences_RegisterDataObserver(OH_Preferences *preference, void *context, + const OH_PreferencesDataObserver *observer, const char *keys[], uint32_t keyCount); /** - * @brief Set {@link OH_UdmfData} data to database. + * @brief Unregisters a data observer for a Preferences object. * - * @param intention Represents data type {@link Udmf_Intention}. - * @param unifiedData Represents a pointer to an instance of {@link OH_UdmfData}. - * @param key Represents return value after set data to database successfully, - * it's memory size not less than {@link UDMF_KEY_BUFFER_LEN}. - * @param keyLen Represents size of key param. - * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. - * {@link UDMF_E_OK} success. - * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. - * {@link UDMF_ERR} Internal data error. - * @see OH_UdmfProperty Udmf_Intention Udmf_ErrCode. - * @since 12 + * @param preference Pointer to the target {@Link OH_Preferences} instance. + * @param observer Pointer to the {@Link OH_PreferencesDataObserver} to unregister. + * @param keys Pointer to the keys observed. If this parameter is null, this API unregisters the listening for all keys. + * @param keyCount Number of the keys. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * @see OH_Preferences OH_PreferencesDataObserver. + * @since 13 */ -int OH_Udmf_SetUnifiedData(Udmf_Intention intention, OH_UdmfData* unifiedData, - char* key, unsigned int keyLen); +int OH_Preferences_UnregisterDataObserver(OH_Preferences *preference, const OH_PreferencesDataObserver *observer, + const char *keys[], uint32_t keyCount); #ifdef __cplusplus }; diff --git a/distributeddatamgr/preferences/include/oh_preferences_err_code.h b/distributeddatamgr/preferences/include/oh_preferences_err_code.h new file mode 100644 index 000000000..6ece14603 --- /dev/null +++ b/distributeddatamgr/preferences/include/oh_preferences_err_code.h @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2024 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 PREFERENCES + * @{ + * + * @brief Provides APIs for processing data in the form of key-value (KV) pairs. + * You can use the APIs provided by the Preferences module to query, modify, and persist KV pairs. + * The key is of the string type, and the value can be a number, a string, a boolean value. + * + * @since 13 + */ + +/** + * @file preferences_err_code.h + * + * @brief Defines the status codes used in the Preferences module. + * + * @kit ArkData + * @library libohpreferences.so + * @syscap SystemCapability.DistributedDataManager.Preferences.Core + * + * @since 13 + */ + + +#ifndef OH_PREFERENCES_ERR_CODE_H +#define OH_PREFERENCES_ERR_CODE_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the status codes. + * + * @since 13 + */ +typedef enum OH_Preferences_ErrCode { + /** @error Operation successful. */ + PREFERENCES_OK = 0, + /* @error Invalid args. */ + PREFERENCES_E_INVALID_PARAM = 401, + /* @error Capability not supported. */ + PREFERENCES_NOT_SUPPORTED = 801, + /* @error Base error code. */ + PREFERENCES_BASE = 15500000, + /* @error Inner error. */ + PREFERENCES_E_INNER_ERROR = PREFERENCES_BASE, + /* @error Failed to delete a file. */ + PREFERENCES_DELETE_FILE_FAIL = (PREFERENCES_BASE + 10), + /* @error Failed to get DataObsMgrClient. */ + PREFERENCES_GET_DATAOBSMGRCLIENT_FAIL = (PREFERENCES_BASE + 19), +} OH_Preferences_ErrCode; + +#ifdef __cplusplus +}; +#endif + +#endif // OH_PREFERENCES_ERR_CODE_H diff --git a/distributeddatamgr/preferences/include/oh_preferences_option.h b/distributeddatamgr/preferences/include/oh_preferences_option.h new file mode 100644 index 000000000..50eca8b61 --- /dev/null +++ b/distributeddatamgr/preferences/include/oh_preferences_option.h @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2024 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 PREFERENCES + * @{ + * + * @brief Provides APIs for processing data in the form of key-value (KV) pairs. + * You can use the APIs provided by the Preferences module to query, modify, and persist KV pairs. + * The key is of the string type, and the value can be a number, a string, a boolean value. + * + * @since 13 + */ + +/** + * @file oh_preferences_option.h + * + * @brief Defines the APIs and enums related to preferences option. + * + * @kit ArkData + * @library libohpreferences.so + * @syscap SystemCapability.DistributedDataManager.Preferences.Core + * + * @since 13 + */ + +#ifndef OH_PREFERENCES_OPTION_H +#define OH_PREFERENCES_OPTION_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Represents an OH_PreferencesOption instance. + * + * @since 13 + */ +typedef struct OH_PreferencesOption OH_PreferencesOption; + +/** + * @brief Creates an {@Link OH_PreferencesOption} instance. + * + * @return Returns a pointer to the {@Link OH_PreferencesOption} instance created if the operation is successful; + * returns nullptr otherwise. + * @see OH_PreferencesOption. + * @since 13 + */ +OH_PreferencesOption *OH_PreferencesOption_Create(); + +/** + * @brief Sets the file path in an {@Link OH_PreferencesOption} instance. + * + * @param option Pointer to the target {@Link OH_PreferencesOption} instance. + * @param filePath Pointer to the file path to set. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} success. + * @see OH_PreferencesOption. + * @since 13 + */ +int OH_PreferencesOption_SetFilePath(OH_PreferencesOption *option, const char *filePath); + +/** + * @brief Sets the bundle name in an {@Link OH_PreferencesOption} instance. + * + * @param option Pointer to the target {@Link OH_PreferencesOption} instance. + * @param bundleName Pointer to the bundle name to set. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} success. + * @see OH_PreferencesOption. + * @since 13 + */ +int OH_PreferencesOption_SetBundleName(OH_PreferencesOption *option, const char *bundleName); + +/** + * @brief Sets the data group ID in an {@Link OH_PreferencesOption} instance. + * + * @param option Represents a pointer to an {@link OH_PreferencesOption} instance. + * @param dataGroupId Represents preferences data group id param. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} success. + * @see OH_PreferencesOption. + * @since 13 + */ +int OH_PreferencesOption_SetDataGroupId(OH_PreferencesOption *option, const char *dataGroupId); + +/** + * @brief Destroys an {@Link OH_PreferencesOption} instance. + * + * @param option Pointer to the {@Link OH_PreferencesOption} instance to destroy. + * @see OH_PreferencesOption. + * @since 13 + */ +void OH_PreferencesOption_Destroy(OH_PreferencesOption *option); +#ifdef __cplusplus +}; +#endif +#endif // OH_PREFERENCES_OPTION_H \ No newline at end of file diff --git a/distributeddatamgr/preferences/include/oh_preferences_value.h b/distributeddatamgr/preferences/include/oh_preferences_value.h new file mode 100644 index 000000000..6ebd7aafd --- /dev/null +++ b/distributeddatamgr/preferences/include/oh_preferences_value.h @@ -0,0 +1,170 @@ +/* + * Copyright (c) 2024 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 PREFERENCES + * @{ + * + * @brief Provides APIs for processing data in the form of key-value (KV) pairs. + * You can use the APIs provided by the Preferences module to query, modify, and persist KV pairs. + * The key is of the string type, and the value can be a number, a string, a boolean value. + * + * @since 13 + */ + +/** + * @file oh_preferences_value.h + * + * @brief Defines the APIs and enums related to preferences values. + * + * @kit ArkData + * @library libohpreferences.so + * @syscap SystemCapability.DistributedDataManager.Preferences.Core + * + * @since 13 + */ + +#ifndef OH_PREFERENCES_VALUE_H +#define OH_PREFERENCES_VALUE_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the Preference value types. + * + * @since 13 + */ +typedef enum Preference_ValueType { + /** + * @brief Null. + */ + TYPE_NULL = 0, + /** + * @brief Int. + */ + TYPE_INT, + /** + * @brief boolean. + */ + TYPE_BOOL, + /** + * @brief String. + */ + TYPE_STRING, + /** + * @brief end butt. + */ + TYPE_BUTT +} Preference_ValueType; + +/** + * @brief Represents a KV pair in a Preferences instance. + * + * @since 13 + */ +typedef struct OH_PreferencesPair OH_PreferencesPair; + +/** + * @brief Represents the value in a KV pair of a Preferences instance. + * + * @since 13 + */ +typedef struct OH_PreferencesValue OH_PreferencesValue; + +/** + * @brief Obtains a key from an {@Link OH_PreferencesPair} instance. + * + * @param pairs Pointer to the target {@Link OH_PreferencesPair} instance. + * @param index Represents a target index of the pairs + * @return Returns preferences pointer to the key that when input parameters valid, otherwise return nullptr. + * otherwise return nullptr. + * @see OH_PreferencesPair. + * @since 13 + */ +const char *OH_PreferencesPair_GetKey(const OH_PreferencesPair *pairs, uint32_t index); + +/** + * @brief Obtains a value from an {@Link OH_PreferencesPair} instance. + * + * @param pairs Pointer to the target {@Link OH_PreferencesPair} instance. + * @param index Index of the value to obtain. + * @return Returns a pointer to the {@Link OH_PreferencesValue} obtained if the operation is successful, + * returns nullptr otherwise. + * @see OH_PreferencesValue. + * @since 13 + */ +const OH_PreferencesValue *OH_PreferencesPair_GetPreferencesValue(const OH_PreferencesPair *pairs, uint32_t index); + +/** + * @brief Obtains the type of a preferences value. + * + * @param object Pointer to the target {@Link OH_PreferencesValue} instance. + * @return Returns the value type obtained if the operation is successful, returns TYPE_NULL otherwise. + * @see OH_PreferencesValue. + * @since 13 + */ +Preference_ValueType OH_PreferencesValue_GetValueType(const OH_PreferencesValue *object); + +/** + * @brief Obtains the int value of an {@Link OH_PreferencesValue} instance. + * + * @param object Pointer to the target {@Link OH_PreferencesValue} instance. + * @param value Pointer to the value obtained. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} success. + * {@link PREFERENCES_E_INVALID_PARAM} The error code for common invalid args. + * {@link PREFERENCES_E_INNER_ERROR} The error code for Inner error. + * @see OH_PreferencesValue. + * @since 13 + */ +int OH_PreferencesValue_GetInt(const OH_PreferencesValue *object, int *value); + +/** + * @brief Obtains the Boolean value of an {@Link OH_PreferencesValue} instance. + * + * @param object Pointer to the target {@Link OH_PreferencesValue} instance. + * @param value Pointer to the Boolean value obtained. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} success. + * {@link PREFERENCES_E_INVALID_PARAM} The error code for common invalid args. + * {@link PREFERENCES_E_INNER_ERROR} The error code for Inner error. + * @see OH_PreferencesValue. + * @since 13 + */ +int OH_PreferencesValue_GetBool(const OH_PreferencesValue *object, bool *value); + +/** + * @brief Obtains the string value of an {@Link OH_PreferencesValue} instance. + * + * @param object Pointer to target {@Link OH_PreferencesValue} instance. + * @param value Pointer to the string obtained in a char * array. Release the memory used + * if this parameter is no longer required. + * @param valueLen Pointer to the string length. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} success. + * {@link PREFERENCES_E_INVALID_PARAM} The error code for common invalid args. + * {@link PREFERENCES_E_INNER_ERROR} The error code for Inner error. + * @see OH_PreferencesValue. + * @since 13 + */ +int OH_PreferencesValue_GetString(const OH_PreferencesValue *object, char **value, uint32_t *valueLen); +#ifdef __cplusplus +}; +#endif +#endif // OH_PREFERENCES_VALUE_H \ No newline at end of file diff --git a/distributeddatamgr/preferences/libpreferences.ndk.json b/distributeddatamgr/preferences/libpreferences.ndk.json index 6011e71c0..dc89114f2 100644 --- a/distributeddatamgr/preferences/libpreferences.ndk.json +++ b/distributeddatamgr/preferences/libpreferences.ndk.json @@ -1,338 +1,90 @@ [ { - "first_introduced": "12", - "name": "OH_Utd_Create" + "first_introduced": "13", + "name": "OH_Preferences_Open" }, { - "first_introduced": "12", - "name": "OH_Utd_Destroy" + "first_introduced": "13", + "name": "OH_Preferences_Close" }, { - "first_introduced": "12", - "name": "OH_Utd_GetTypeId" + "first_introduced": "13", + "name": "OH_Preferences_GetInt" }, { - "first_introduced": "12", - "name": "OH_Utd_GetDescription" + "first_introduced": "13", + "name": "OH_Preferences_GetBool" }, { - "first_introduced": "12", - "name": "OH_Utd_GetReferenceUrl" + "first_introduced": "13", + "name": "OH_Preferences_GetString" }, { - "first_introduced": "12", - "name": "OH_Utd_GetIconFile" + "first_introduced": "13", + "name": "OH_Preferences_SetInt" }, { - "first_introduced": "12", - "name": "OH_Utd_GetBelongingToTypes" + "first_introduced": "13", + "name": "OH_Preferences_SetBool" }, { - "first_introduced": "12", - "name": "OH_Utd_GetFilenameExtensions" + "first_introduced": "13", + "name": "OH_Preferences_SetString" }, { - "first_introduced": "12", - "name": "OH_Utd_GetMimeTypes" + "first_introduced": "13", + "name": "OH_Preferences_Delete" }, { - "first_introduced": "12", - "name": "OH_Utd_GetTypesByFilenameExtension" + "first_introduced": "13", + "name": "OH_Preferences_RegisterDataObserver" }, { - "first_introduced": "12", - "name": "OH_Utd_GetTypesByMimeType" + "first_introduced": "13", + "name": "OH_Preferences_UnregisterDataObserver" }, { - "first_introduced": "12", - "name": "OH_Utd_BelongsTo" + "first_introduced": "13", + "name": "OH_PreferencesOption_Create" }, { - "first_introduced": "12", - "name": "OH_Utd_IsLower" + "first_introduced": "13", + "name": "OH_PreferencesOption_SetFilePath" }, { - "first_introduced": "12", - "name": "OH_Utd_IsHigher" + "first_introduced": "13", + "name": "OH_PreferencesOption_SetBundleName" }, { - "first_introduced": "12", - "name": "OH_Utd_Equals" + "first_introduced": "13", + "name": "OH_PreferencesOption_SetDataGroupId" }, { - "first_introduced": "12", - "name": "OH_Utd_DestroyStringList" + "first_introduced": "13", + "name": "OH_PreferencesOption_Destroy" }, { - "first_introduced": "12", - "name": "OH_UdsPlainText_Create" + "first_introduced": "13", + "name": "OH_PreferencesPair_GetKey" }, { - "first_introduced": "12", - "name": "OH_UdsPlainText_Destroy" + "first_introduced": "13", + "name": "OH_PreferencesPair_GetPreferencesValue" }, { - "first_introduced": "12", - "name": "OH_UdsPlainText_GetType" + "first_introduced": "13", + "name": "OH_PreferencesValue_GetValueType" }, { - "first_introduced": "12", - "name": "OH_UdsPlainText_GetContent" + "first_introduced": "13", + "name": "OH_PreferencesValue_GetInt" }, { - "first_introduced": "12", - "name": "OH_UdsPlainText_GetAbstract" + "first_introduced": "13", + "name": "OH_PreferencesValue_GetBool" }, { - "first_introduced": "12", - "name": "OH_UdsPlainText_SetContent" - }, - { - "first_introduced": "12", - "name": "OH_UdsPlainText_SetAbstract" - }, - { - "first_introduced": "12", - "name": "OH_UdsHyperlink_Create" - }, - { - "first_introduced": "12", - "name": "OH_UdsHyperlink_Destroy" - }, - { - "first_introduced": "12", - "name": "OH_UdsHyperlink_GetType" - }, - { - "first_introduced": "12", - "name": "OH_UdsHyperlink_GetUrl" - }, - { - "first_introduced": "12", - "name": "OH_UdsHyperlink_GetDescription" - }, - { - "first_introduced": "12", - "name": "OH_UdsHyperlink_SetUrl" - }, - { - "first_introduced": "12", - "name": "OH_UdsHyperlink_SetDescription" - }, - { - "first_introduced": "12", - "name": "OH_UdsHtml_Create" - }, - { - "first_introduced": "12", - "name": "OH_UdsHtml_Destroy" - }, - { - "first_introduced": "12", - "name": "OH_UdsHtml_GetType" - }, - { - "first_introduced": "12", - "name": "OH_UdsHtml_GetContent" - }, - { - "first_introduced": "12", - "name": "OH_UdsHtml_GetPlainContent" - }, - { - "first_introduced": "12", - "name": "OH_UdsHtml_SetContent" - }, - { - "first_introduced": "12", - "name": "OH_UdsHtml_SetPlainContent" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_Create" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_Destroy" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_GetType" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_GetId" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_GetName" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_GetIconId" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_GetLabelId" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_GetBundleName" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_GetAbilityName" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_SetId" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_SetName" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_SetIconId" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_SetLabelId" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_SetBundleName" - }, - { - "first_introduced": "12", - "name": "OH_UdsAppItem_SetAbilityName" - }, - { - "first_introduced": "12", - "name": "OH_UdmfData_Create" - }, - { - "first_introduced": "12", - "name": "OH_UdmfData_Destroy" - }, - { - "first_introduced": "12", - "name": "OH_UdmfData_AddRecord" - }, - { - "first_introduced": "12", - "name": "OH_UdmfData_HasType" - }, - { - "first_introduced": "12", - "name": "OH_UdmfData_GetTypes" - }, - { - "first_introduced": "12", - "name": "OH_UdmfData_GetRecords" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_Create" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_Destroy" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_AddGeneralEntry" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_AddPlainText" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_AddHyperlink" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_AddHtml" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_AddAppItem" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_GetTypes" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_GetGeneralEntry" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_GetPlainText" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_GetHyperlink" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_GetHtml" - }, - { - "first_introduced": "12", - "name": "OH_UdmfRecord_GetAppItem" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_Create" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_Destroy" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_GetTag" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_GetTimestamp" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_GetShareOption" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_GetExtrasIntParam" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_GetExtrasStringParam" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_SetTag" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_SetShareOption" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_SetExtrasIntParam" - }, - { - "first_introduced": "12", - "name": "OH_UdmfProperty_SetExtrasStringParam" - }, - { - "first_introduced": "12", - "name": "OH_Udmf_GetUnifiedData" - }, - { - "first_introduced": "12", - "name": "OH_Udmf_SetUnifiedData" + "first_introduced": "13", + "name": "OH_PreferencesValue_GetString" } ] \ No newline at end of file -- Gitee From 4663777053a21f666b582f0676c1ca724732f9a5 Mon Sep 17 00:00:00 2001 From: zwtmichael Date: Mon, 2 Sep 2024 17:57:47 +0800 Subject: [PATCH 225/359] modify errCode Signed-off-by: zwtmichael --- .../preferences/include/oh_preferences.h | 59 +++++++++++-------- .../include/oh_preferences_err_code.h | 16 ++--- .../include/oh_preferences_option.h | 4 +- .../include/oh_preferences_value.h | 30 ++++++---- 4 files changed, 64 insertions(+), 45 deletions(-) diff --git a/distributeddatamgr/preferences/include/oh_preferences.h b/distributeddatamgr/preferences/include/oh_preferences.h index 8beda9588..1b6255549 100644 --- a/distributeddatamgr/preferences/include/oh_preferences.h +++ b/distributeddatamgr/preferences/include/oh_preferences.h @@ -74,9 +74,11 @@ typedef void (*OH_PreferencesDataObserver)(void *context, const OH_PreferencesPa * @return Returns an pointer to the Preferences object in {@Link OH_Preferences} if the operation is successful, * returns nullptr otherwise. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. - * {@link PREFERENCES_NOT_SUPPORTED} indicates the capability is not supported. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_NOT_SUPPORTED} indicates the capability is not supported. + * {@link PREFERENCES_ERROR_DELETE_FILE} indicates delete file failed. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_Preferences OH_PreferencesOption. * @since 13 */ @@ -89,8 +91,9 @@ OH_Preferences *OH_Preferences_Open(OH_PreferencesOption *option, int *errCode); * @param option Pointer to an {@Link OH_PreferencesOption} instance. * @return Returns the status code of the execution. For details, see {@Link OH_Preferences_ErrCode}. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_Preferences. * @since 13 */ @@ -104,8 +107,9 @@ int OH_Preferences_Close(OH_Preferences *preference); * @param value Pointer to the value obtained. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_Preferences. * @since 13 */ @@ -119,8 +123,9 @@ int OH_Preferences_GetInt(OH_Preferences *preference, const char *key, int *valu * @param value Pointer to the Boolean value obtained. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_Preferences. * @since 13 */ @@ -136,8 +141,9 @@ int OH_Preferences_GetBool(OH_Preferences *preference, const char *key, bool *va * @param valueLen Pointer to the length of the string obtained. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_Preferences. * @since 13 */ @@ -151,8 +157,9 @@ int OH_Preferences_GetString(OH_Preferences *preference, const char *key, char * * @param value Value to set. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_Preferences. * @since 13 */ @@ -166,8 +173,9 @@ int OH_Preferences_SetInt(OH_Preferences *preference, const char *key, int value * @param value Boolean value to set. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_Preferences. * @since 13 */ @@ -181,8 +189,9 @@ int OH_Preferences_SetBool(OH_Preferences *preference, const char *key, bool val * @param value Point to string to set. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_Preferences. * @since 13 */ @@ -195,8 +204,9 @@ int OH_Preferences_SetString(OH_Preferences *preference, const char *key, const * @param key Pointer to the key of the data to delete. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_Preferences. * @since 13 */ @@ -212,8 +222,10 @@ int OH_Preferences_Delete(OH_Preferences *preference, const char *key); * @param keyCount Number of keys to observe. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. + * {@link PREFERENCES_ERROR_GET_DATAOBSMGRCLIENT} indicates get dataObsMgrClient error. * @see OH_Preferences OH_PreferencesDataObserver. * @since 13 */ @@ -229,8 +241,9 @@ int OH_Preferences_RegisterDataObserver(OH_Preferences *preference, void *contex * @param keyCount Number of the keys. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. - * {@link PREFERENCES_E_INVALID_PARAM} indicates invalid args are passed in. - * {@link PREFERENCES_E_INNER_ERROR} indicates an inner error. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_Preferences OH_PreferencesDataObserver. * @since 13 */ diff --git a/distributeddatamgr/preferences/include/oh_preferences_err_code.h b/distributeddatamgr/preferences/include/oh_preferences_err_code.h index 6ece14603..0d68f259d 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_err_code.h +++ b/distributeddatamgr/preferences/include/oh_preferences_err_code.h @@ -53,17 +53,19 @@ typedef enum OH_Preferences_ErrCode { /** @error Operation successful. */ PREFERENCES_OK = 0, /* @error Invalid args. */ - PREFERENCES_E_INVALID_PARAM = 401, + PREFERENCES_ERROR_INVALID_PARAM = 401, /* @error Capability not supported. */ - PREFERENCES_NOT_SUPPORTED = 801, + PREFERENCES_ERROR_NOT_SUPPORTED = 801, /* @error Base error code. */ - PREFERENCES_BASE = 15500000, - /* @error Inner error. */ - PREFERENCES_E_INNER_ERROR = PREFERENCES_BASE, + PREFERENCES_ERROR_BASE = 15500000, /* @error Failed to delete a file. */ - PREFERENCES_DELETE_FILE_FAIL = (PREFERENCES_BASE + 10), + PREFERENCES_ERROR_DELETE_FILE = (PREFERENCES_ERROR_BASE + 10), + /* @error Storage error. */ + PREFERENCES_ERROR_STORAGE = (PREFERENCES_ERROR_BASE + 11), + /* @error Failed to malloc memory. */ + PREFERENCES_ERROR_MALLOC = (PREFERENCES_ERROR_BASE + 12), /* @error Failed to get DataObsMgrClient. */ - PREFERENCES_GET_DATAOBSMGRCLIENT_FAIL = (PREFERENCES_BASE + 19), + PREFERENCES_ERROR_GET_DATAOBSMGRCLIENT = (PREFERENCES_ERROR_BASE + 19), } OH_Preferences_ErrCode; #ifdef __cplusplus diff --git a/distributeddatamgr/preferences/include/oh_preferences_option.h b/distributeddatamgr/preferences/include/oh_preferences_option.h index 50eca8b61..6efb917f9 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_option.h +++ b/distributeddatamgr/preferences/include/oh_preferences_option.h @@ -56,11 +56,11 @@ typedef struct OH_PreferencesOption OH_PreferencesOption; * @brief Creates an {@Link OH_PreferencesOption} instance. * * @return Returns a pointer to the {@Link OH_PreferencesOption} instance created if the operation is successful; - * returns nullptr otherwise. + * returns nullptr otherwise while malloc memory failed. * @see OH_PreferencesOption. * @since 13 */ -OH_PreferencesOption *OH_PreferencesOption_Create(); +OH_PreferencesOption *OH_PreferencesOption_Create(void); /** * @brief Sets the file path in an {@Link OH_PreferencesOption} instance. diff --git a/distributeddatamgr/preferences/include/oh_preferences_value.h b/distributeddatamgr/preferences/include/oh_preferences_value.h index 6ebd7aafd..bf3567776 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_value.h +++ b/distributeddatamgr/preferences/include/oh_preferences_value.h @@ -92,8 +92,8 @@ typedef struct OH_PreferencesValue OH_PreferencesValue; * * @param pairs Pointer to the target {@Link OH_PreferencesPair} instance. * @param index Represents a target index of the pairs - * @return Returns preferences pointer to the key that when input parameters valid, otherwise return nullptr. - * otherwise return nullptr. + * @return Returns preferences pointer to the key that when input parameters valid, + * return nullptr otherwise while invalid args are passed in. * @see OH_PreferencesPair. * @since 13 */ @@ -105,7 +105,7 @@ const char *OH_PreferencesPair_GetKey(const OH_PreferencesPair *pairs, uint32_t * @param pairs Pointer to the target {@Link OH_PreferencesPair} instance. * @param index Index of the value to obtain. * @return Returns a pointer to the {@Link OH_PreferencesValue} obtained if the operation is successful, - * returns nullptr otherwise. + * returns nullptr otherwise while invalid args are passed in. * @see OH_PreferencesValue. * @since 13 */ @@ -115,7 +115,8 @@ const OH_PreferencesValue *OH_PreferencesPair_GetPreferencesValue(const OH_Prefe * @brief Obtains the type of a preferences value. * * @param object Pointer to the target {@Link OH_PreferencesValue} instance. - * @return Returns the value type obtained if the operation is successful, returns TYPE_NULL otherwise. + * @return Returns the value type obtained. + * {@link TYPE_NULL} indicates invalid args are passed in. * @see OH_PreferencesValue. * @since 13 */ @@ -127,9 +128,10 @@ Preference_ValueType OH_PreferencesValue_GetValueType(const OH_PreferencesValue * @param object Pointer to the target {@Link OH_PreferencesValue} instance. * @param value Pointer to the value obtained. * @return Returns the status code of the execution. - * {@link PREFERENCES_OK} success. - * {@link PREFERENCES_E_INVALID_PARAM} The error code for common invalid args. - * {@link PREFERENCES_E_INNER_ERROR} The error code for Inner error. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_PreferencesValue. * @since 13 */ @@ -141,9 +143,10 @@ int OH_PreferencesValue_GetInt(const OH_PreferencesValue *object, int *value); * @param object Pointer to the target {@Link OH_PreferencesValue} instance. * @param value Pointer to the Boolean value obtained. * @return Returns the status code of the execution. - * {@link PREFERENCES_OK} success. - * {@link PREFERENCES_E_INVALID_PARAM} The error code for common invalid args. - * {@link PREFERENCES_E_INNER_ERROR} The error code for Inner error. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_PreferencesValue. * @since 13 */ @@ -157,9 +160,10 @@ int OH_PreferencesValue_GetBool(const OH_PreferencesValue *object, bool *value); * if this parameter is no longer required. * @param valueLen Pointer to the string length. * @return Returns the status code of the execution. - * {@link PREFERENCES_OK} success. - * {@link PREFERENCES_E_INVALID_PARAM} The error code for common invalid args. - * {@link PREFERENCES_E_INNER_ERROR} The error code for Inner error. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. + * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. + * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. * @see OH_PreferencesValue. * @since 13 */ -- Gitee From 4348f330734d0a402efc2f4baa0058612e98a04a Mon Sep 17 00:00:00 2001 From: zwtmichael Date: Mon, 2 Sep 2024 21:19:25 +0800 Subject: [PATCH 226/359] fix commitment Signed-off-by: zwtmichael --- .../preferences/include/oh_preferences.h | 18 ++++++++++++++---- .../include/oh_preferences_err_code.h | 8 ++++---- .../include/oh_preferences_option.h | 8 +++++++- .../preferences/include/oh_preferences_value.h | 4 ++-- .../preferences/libpreferences.ndk.json | 4 ++++ 5 files changed, 31 insertions(+), 11 deletions(-) diff --git a/distributeddatamgr/preferences/include/oh_preferences.h b/distributeddatamgr/preferences/include/oh_preferences.h index 1b6255549..4d3cbf0a7 100644 --- a/distributeddatamgr/preferences/include/oh_preferences.h +++ b/distributeddatamgr/preferences/include/oh_preferences.h @@ -136,8 +136,8 @@ int OH_Preferences_GetBool(OH_Preferences *preference, const char *key, bool *va * * @param preference Pointer to the target {@Link OH_Preferences} instance. * @param key Pointer to the key of the value to obtain. - * @param value Double pointer to the value obtained in an char * array. Release the memory used - * when this parameter is no longer required. + * @param value Double pointer to the value obtained in an char * array. Release {@Link OH_Preferences_FreeString} the + * memory by user when this parameter is no longer required. * @param valueLen Pointer to the length of the string obtained. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. @@ -149,6 +149,15 @@ int OH_Preferences_GetBool(OH_Preferences *preference, const char *key, bool *va */ int OH_Preferences_GetString(OH_Preferences *preference, const char *key, char **value, uint32_t *valueLen); +/** + * @brief Free a string got by Preferences object. + * + * @param string Point to string need to free. + * @see OH_Preferences. + * @since 13 + */ +void OH_Preferences_FreeString(char *string); + /** * @brief Sets an integer in a Preferences object. * @@ -236,6 +245,7 @@ int OH_Preferences_RegisterDataObserver(OH_Preferences *preference, void *contex * @brief Unregisters a data observer for a Preferences object. * * @param preference Pointer to the target {@Link OH_Preferences} instance. + * @param context Pointer to the context of the data observer. * @param observer Pointer to the {@Link OH_PreferencesDataObserver} to unregister. * @param keys Pointer to the keys observed. If this parameter is null, this API unregisters the listening for all keys. * @param keyCount Number of the keys. @@ -247,8 +257,8 @@ int OH_Preferences_RegisterDataObserver(OH_Preferences *preference, void *contex * @see OH_Preferences OH_PreferencesDataObserver. * @since 13 */ -int OH_Preferences_UnregisterDataObserver(OH_Preferences *preference, const OH_PreferencesDataObserver *observer, - const char *keys[], uint32_t keyCount); +int OH_Preferences_UnregisterDataObserver(OH_Preferences *preference, void *context, + const OH_PreferencesDataObserver *observer, const char *keys[], uint32_t keyCount); #ifdef __cplusplus }; diff --git a/distributeddatamgr/preferences/include/oh_preferences_err_code.h b/distributeddatamgr/preferences/include/oh_preferences_err_code.h index 0d68f259d..36727411d 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_err_code.h +++ b/distributeddatamgr/preferences/include/oh_preferences_err_code.h @@ -59,13 +59,13 @@ typedef enum OH_Preferences_ErrCode { /* @error Base error code. */ PREFERENCES_ERROR_BASE = 15500000, /* @error Failed to delete a file. */ - PREFERENCES_ERROR_DELETE_FILE = (PREFERENCES_ERROR_BASE + 10), + PREFERENCES_ERROR_DELETE_FILE = 15500010, /* @error Storage error. */ - PREFERENCES_ERROR_STORAGE = (PREFERENCES_ERROR_BASE + 11), + PREFERENCES_ERROR_STORAGE = 15500011, /* @error Failed to malloc memory. */ - PREFERENCES_ERROR_MALLOC = (PREFERENCES_ERROR_BASE + 12), + PREFERENCES_ERROR_MALLOC = 15500012, /* @error Failed to get DataObsMgrClient. */ - PREFERENCES_ERROR_GET_DATAOBSMGRCLIENT = (PREFERENCES_ERROR_BASE + 19), + PREFERENCES_ERROR_GET_DATAOBSMGRCLIENT = 15500019, } OH_Preferences_ErrCode; #ifdef __cplusplus diff --git a/distributeddatamgr/preferences/include/oh_preferences_option.h b/distributeddatamgr/preferences/include/oh_preferences_option.h index 6efb917f9..4b2d1d953 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_option.h +++ b/distributeddatamgr/preferences/include/oh_preferences_option.h @@ -69,6 +69,7 @@ OH_PreferencesOption *OH_PreferencesOption_Create(void); * @param filePath Pointer to the file path to set. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} success. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. * @see OH_PreferencesOption. * @since 13 */ @@ -81,6 +82,7 @@ int OH_PreferencesOption_SetFilePath(OH_PreferencesOption *option, const char *f * @param bundleName Pointer to the bundle name to set. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} success. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. * @see OH_PreferencesOption. * @since 13 */ @@ -93,6 +95,7 @@ int OH_PreferencesOption_SetBundleName(OH_PreferencesOption *option, const char * @param dataGroupId Represents preferences data group id param. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} success. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. * @see OH_PreferencesOption. * @since 13 */ @@ -102,10 +105,13 @@ int OH_PreferencesOption_SetDataGroupId(OH_PreferencesOption *option, const char * @brief Destroys an {@Link OH_PreferencesOption} instance. * * @param option Pointer to the {@Link OH_PreferencesOption} instance to destroy. + * @return Returns the status code of the execution. + * {@link PREFERENCES_OK} indicates the operation is successful. + * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. * @see OH_PreferencesOption. * @since 13 */ -void OH_PreferencesOption_Destroy(OH_PreferencesOption *option); +int OH_PreferencesOption_Destroy(OH_PreferencesOption *option); #ifdef __cplusplus }; #endif diff --git a/distributeddatamgr/preferences/include/oh_preferences_value.h b/distributeddatamgr/preferences/include/oh_preferences_value.h index bf3567776..5fd358f32 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_value.h +++ b/distributeddatamgr/preferences/include/oh_preferences_value.h @@ -156,8 +156,8 @@ int OH_PreferencesValue_GetBool(const OH_PreferencesValue *object, bool *value); * @brief Obtains the string value of an {@Link OH_PreferencesValue} instance. * * @param object Pointer to target {@Link OH_PreferencesValue} instance. - * @param value Pointer to the string obtained in a char * array. Release the memory used - * if this parameter is no longer required. + * @param value Double pointer to the value obtained in an char * array. Release {@Link OH_Preferences_FreeString} the + * memory by user when this parameter is no longer required. * @param valueLen Pointer to the string length. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} indicates the operation is successful. diff --git a/distributeddatamgr/preferences/libpreferences.ndk.json b/distributeddatamgr/preferences/libpreferences.ndk.json index dc89114f2..fa4a164ed 100644 --- a/distributeddatamgr/preferences/libpreferences.ndk.json +++ b/distributeddatamgr/preferences/libpreferences.ndk.json @@ -19,6 +19,10 @@ "first_introduced": "13", "name": "OH_Preferences_GetString" }, + { + "first_introduced": "13", + "name": "OH_Preferences_FreeString" + }, { "first_introduced": "13", "name": "OH_Preferences_SetInt" -- Gitee From 71b383a79b24a0486164c60c5f86a3b37e584836 Mon Sep 17 00:00:00 2001 From: zwtmichael Date: Mon, 2 Sep 2024 23:19:58 +0800 Subject: [PATCH 227/359] add new errCode Signed-off-by: zwtmichael --- distributeddatamgr/preferences/include/oh_preferences.h | 3 +++ .../preferences/include/oh_preferences_err_code.h | 2 ++ 2 files changed, 5 insertions(+) diff --git a/distributeddatamgr/preferences/include/oh_preferences.h b/distributeddatamgr/preferences/include/oh_preferences.h index 4d3cbf0a7..b3ee03cb2 100644 --- a/distributeddatamgr/preferences/include/oh_preferences.h +++ b/distributeddatamgr/preferences/include/oh_preferences.h @@ -110,6 +110,7 @@ int OH_Preferences_Close(OH_Preferences *preference); * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. + * {@link PREFERENCES_ERROR_KEY_NOT_FOUND} indicates the key does not exist. * @see OH_Preferences. * @since 13 */ @@ -126,6 +127,7 @@ int OH_Preferences_GetInt(OH_Preferences *preference, const char *key, int *valu * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. + * {@link PREFERENCES_ERROR_KEY_NOT_FOUND} indicates the key does not exist. * @see OH_Preferences. * @since 13 */ @@ -144,6 +146,7 @@ int OH_Preferences_GetBool(OH_Preferences *preference, const char *key, bool *va * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. * {@link PREFERENCES_ERROR_STORAGE} indicates an storage error. * {@link PREFERENCES_ERROR_MALLOC} indicates an malloc memory error. + * {@link PREFERENCES_ERROR_KEY_NOT_FOUND} indicates the key does not exist. * @see OH_Preferences. * @since 13 */ diff --git a/distributeddatamgr/preferences/include/oh_preferences_err_code.h b/distributeddatamgr/preferences/include/oh_preferences_err_code.h index 36727411d..5b77219b9 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_err_code.h +++ b/distributeddatamgr/preferences/include/oh_preferences_err_code.h @@ -64,6 +64,8 @@ typedef enum OH_Preferences_ErrCode { PREFERENCES_ERROR_STORAGE = 15500011, /* @error Failed to malloc memory. */ PREFERENCES_ERROR_MALLOC = 15500012, + /* @error Key not found error. */ + PREFERENCES_ERROR_KEY_NOT_FOUND = 15500013, /* @error Failed to get DataObsMgrClient. */ PREFERENCES_ERROR_GET_DATAOBSMGRCLIENT = 15500019, } OH_Preferences_ErrCode; -- Gitee From d8dff3bf26d57591d23f15a236cc0270d36fb1b4 Mon Sep 17 00:00:00 2001 From: HYH Date: Tue, 3 Sep 2024 17:59:45 +0800 Subject: [PATCH 228/359] add c api Signed-off-by: HYH --- .../kits/c/input/oh_input_manager.h | 182 +++++++++++++++++- multimodalinput/kits/c/ohinput.ndk.json | 56 ++++++ 2 files changed, 236 insertions(+), 2 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 1e6c0dd85..18204bd8c 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -228,6 +228,12 @@ typedef enum Input_Result { INPUT_REPEAT_INTERCEPTOR = 4200001 } Input_Result; +/** + * @brief Callback used to return shortcut key events. + * @since 13 + */ +typedef void (*Input_HotkeyCallback)(Input_Hotkey* hotkey); + /** * @brief Defines a lifecycle callback for keyEvent. If the callback is triggered, keyEvent will be destroyed. * @@ -1187,7 +1193,7 @@ Input_Result OH_Input_AddInputEventInterceptor(Input_InterceptorEventCallback *c * @syscap SystemCapability.MultimodalInput.Input.Core * @since 12 */ -Input_Result OH_Input_RemoveKeyEventInterceptor(); +Input_Result OH_Input_RemoveKeyEventInterceptor(void); /** * @brief Removes an interceptor for input events, including mouse, touch, and axis events. @@ -1200,7 +1206,179 @@ Input_Result OH_Input_RemoveKeyEventInterceptor(); * @syscap SystemCapability.MultimodalInput.Input.Core * @since 12 */ -Input_Result OH_Input_RemoveInputEventInterceptor(); +Input_Result OH_Input_RemoveInputEventInterceptor(void); + +/** + * @brief Obtains the interval since the last system input event. + * + * @param timeInterval Interval, in microseconds. + * @return OH_Input_GetIntervalSinceLastInput status code, specifically. + * {@Link INPUT_SUCCESS} if the Operation is successful.\n + * {@Link INPUT_SERVICE_EXCEPTION} Failed to get the interval because the service is exception.\n + * {@Link INPUT_PARAMETER_ERROR} The timeInterval is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetIntervalSinceLastInput(int64_t *timeInterval); + +/** + * @brief Creates a hot key object. + * + * @return Returns an {@Link Input_Hotkey} pointer object if the operation is successful. Otherwise, a null pointer is + * returned. The possible cause is memory allocation failure. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Hotkey *OH_Input_CreateHotkey(void); + +/** + * @brief Destroys a hot key object. + * + * @param hotkey Hot key object. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +void OH_Input_DestroyHotkey(Input_Hotkey **hotkey); + +/** + * @brief Sets a modifier key. + * + * @param hotkey Hotkey key object. + * @param preKeys List of modifier keys. + * @param size Number of modifier keys. One or two modifier keys are supported. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +void OH_Input_SetPreKeys(Input_Hotkey *hotkey, int32_t *preKeys, int32_t size); + +/** + * @brief Obtains a modifier key. + * + * @param hotkey Hotkey key object. + * @param preKeys List of modifier keys. + * @param preKeyCount Number of modifier keys. + * @return OH_Input_GetPreKeys status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} The hotkey is NULL or the pressedKeys is NULL or the pressedKeyCount + * is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetPreKeys(const Input_Hotkey *hotkey, int32_t **preKeys, int32_t *preKeyCount); + +/** + * @brief Sets a modified key. + * + * @param hotkey Hotkey key object. + * @param finalKey Modified key. Only one modified key is supported. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +void OH_Input_SetFinalKey(Input_Hotkey *hotkey, int32_t finalKey); + +/** + * @brief Obtains a modified key. + * + * @param hotkey Hotkey key object. + * @param finalKeyCode Returns the key value of the decorated key. + * @return OH_Input_GetfinalKey status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} The hotkey is NULL or the finalKeyCode is NULL.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetFinalKey(const Input_Hotkey *hotkey, int32_t *finalKeyCode); + +/** + * @brief Creates an array of {@Link Input_Hotkey} instances. + * + * @param count Number of {@Link Input_Hotkey} instances to be created. The count must be the same as the number of + * system shortcut keys. + * @return Returns a pointer to an array of {@Link Input_Hotkey} instances if the operation is successful. If the + * operation fails, a null pointer is returned. The possible cause is memory allocation failure or count is not equal + * to the number of system hotkeys. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Hotkey **OH_Input_CreateAllSystemHotkeys(int32_t count); + +/** + * @brief Destroys an array of {@link Input_Hotkey} instances and reclaims memory. + * + * @param hotkeys Pointer to an array of {@Link Input_Hotkey } instances created by the + * {@Link OH_Input_CreateAllSystemHotkeys} method. + * @param count Count of the array to be destroyed, which must be the same as the number of system shortcut keys. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +void OH_Input_DestroyAllSystemHotkeys(Input_Hotkey **hotkeys, int32_t count); + +/** + * @brief Obtains all hot keys supported by the system. + * + * @param hotkey Array of {@Link Input_Hotkey} instances. + * When calling this API for the first time, you can pass NULL to obtain the array length. + * @param count Number of hot keys supported by the system. + * @return OH_Input_GetAllSystemHotkeys status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} The hotkey or count is NULL, or the value of count does not match the number + * of system shortcut keys supported by the system. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_GetAllSystemHotkeys(Input_Hotkey **hotkey, int32_t *count); + +/** + * @brief Specifies whether to report repeated key events. + * + * @param hotkey Shortcut key object. + * @param isRepeat Whether to report repeated key events. + * The value true means to report repeated key events, and the value false means the opposite. + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +void OH_Input_SetRepeat(Input_Hotkey* hotkey, bool isRepeat); + +/** + * @brief Checks whether to report repeated key events. + * + * @param hotkey Shortcut key object. + * @param isRepeat Whether a key event is repeated. + * @return OH_Input_GetIsRepeat status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} otherwise.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_IsRepeat(const Input_Hotkey* hotkey, bool *isRepeat); + +/** + * @brief Subscribes to shortcut key events. + * + * @param hotkey Shortcut key object. + * @param callback Callback used to return shortcut key events. + * @return OH_Input_AddHotkeyMonitor status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} if parameter verification fails;\n + * {@link INPUT_SERVICE_EXCEPTION} if the service is abnormal probably + * because subscription to shortcut key events has been enabled.\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_AddHotkeyMonitor(const Input_Hotkey* hotkey, Input_HotkeyCallback callback); + +/** + * @brief Unsubscribes from shortcut key events. + * + * @param hotkey Shortcut key object. + * @param callback Callback used to return shortcut key events. + * @return OH_Input_RemoveHotkeyMonitor status code, specifically, + * {@link INPUT_SUCCESS} if the operation is successful;\n + * {@link INPUT_PARAMETER_ERROR} if parameter verification fails;\n + * @syscap SystemCapability.MultimodalInput.Input.Core + * @since 13 + */ +Input_Result OH_Input_RemoveHotkeyMonitor(const Input_Hotkey* hotkey, Input_HotkeyCallback callback); #ifdef __cplusplus } #endif diff --git a/multimodalinput/kits/c/ohinput.ndk.json b/multimodalinput/kits/c/ohinput.ndk.json index cfbe993ae..ac5694b14 100644 --- a/multimodalinput/kits/c/ohinput.ndk.json +++ b/multimodalinput/kits/c/ohinput.ndk.json @@ -314,5 +314,61 @@ { "first_introduced": "12", "name": "OH_Input_RemoveInputEventInterceptor" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetIntervalSinceLastInput" + }, + { + "first_introduced": "13", + "name": "OH_Input_CreateAllSystemHotkeys" + }, + { + "first_introduced": "13", + "name": "OH_Input_DestroyAllSystemHotkeys" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetAllSystemHotkeys" + }, + { + "first_introduced": "13", + "name": "OH_Input_CreateHotkey" + }, + { + "first_introduced": "13", + "name": "OH_Input_DestroyHotkey" + }, + { + "first_introduced": "13", + "name": "OH_Input_SetPreKeys" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetPreKeys" + }, + { + "first_introduced": "13", + "name": "OH_Input_SetFinalKey" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetFinalKey" + }, + { + "first_introduced": "13", + "name": "OH_Input_AddHotkeyMonitor" + }, + { + "first_introduced": "13", + "name": "OH_Input_RemoveHotkeyMonitor" + }, + { + "first_introduced": "13", + "name": "OH_Input_SetRepeat" + }, + { + "first_introduced": "13", + "name": "OH_Input_IsRepeat" } ] \ No newline at end of file -- Gitee From 2ddbbe7e0b56f38e40ddd1d6148d735f76ff6ca5 Mon Sep 17 00:00:00 2001 From: caochuan Date: Tue, 3 Sep 2024 20:53:11 +0800 Subject: [PATCH 229/359] PictureMetadata API changed to api13 Issue:https://gitee.com/openharmony/interface_sdk_c/issues/IAOLO6?from=project-issue Signed-off-by: caochuan --- .../include/image/image_common.h | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/multimedia/image_framework/include/image/image_common.h b/multimedia/image_framework/include/image/image_common.h index e9102c89c..b9173661c 100644 --- a/multimedia/image_framework/include/image/image_common.h +++ b/multimedia/image_framework/include/image/image_common.h @@ -112,14 +112,14 @@ struct Image_String { /** * @brief Define a PictureMetadata struct type, used for picture metadata. * - * @since 12 + * @since 13 */ struct OH_PictureMetadata; /** * @brief Define a PictureMetadata struct type, used for picture metadata. * - * @since 12 + * @since 13 */ typedef struct OH_PictureMetadata OH_PictureMetadata; @@ -182,7 +182,7 @@ typedef enum { /** * @brief Define the metadata type. * - * @since 12 + * @since 13 */ typedef enum { /* @@ -203,7 +203,7 @@ typedef enum { * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} metadata is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureMetadata_Create(Image_MetadataType metadataType, OH_PictureMetadata **metadata); @@ -218,7 +218,7 @@ Image_ErrorCode OH_PictureMetadata_Create(Image_MetadataType metadataType, OH_Pi * {@link IMAGE_BAD_PARAMETER} metadata is nullptr, or key is nullptr, or value is nullptr. * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the * auxiliary picture type. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureMetadata_GetProperty(OH_PictureMetadata *metadata, Image_String *key, Image_String *value); @@ -233,7 +233,7 @@ Image_ErrorCode OH_PictureMetadata_GetProperty(OH_PictureMetadata *metadata, Ima * {@link IMAGE_BAD_PARAMETER} metadata is nullptr, or key is nullptr, or value is nullptr. * {@link IMAGE_UNSUPPORTED_METADATA} unsupported metadata type, or the metadata type does not match the * auxiliary picture type. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureMetadata_SetProperty(OH_PictureMetadata *metadata, Image_String *key, Image_String *value); @@ -244,7 +244,7 @@ Image_ErrorCode OH_PictureMetadata_SetProperty(OH_PictureMetadata *metadata, Ima * @return Image functions result code. * {@link IMAGE_SUCCESS} if the execution is successful. * {@link IMAGE_BAD_PARAMETER} metadata is nullptr. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureMetadata_Release(OH_PictureMetadata *metadata); @@ -258,7 +258,7 @@ Image_ErrorCode OH_PictureMetadata_Release(OH_PictureMetadata *metadata); * {@link IMAGE_BAD_PARAMETER} metadata is nullptr. * {@link IMAGE_ALLOC_FAILED} memory alloc failed. * {@link IMAGE_COPY_FAILED} memory copy failed. - * @since 12 + * @since 13 */ Image_ErrorCode OH_PictureMetadata_Clone(OH_PictureMetadata *oldMetadata, OH_PictureMetadata **newMetadata); @@ -1454,7 +1454,7 @@ static const char *OHOS_IMAGE_PROPERTY_GIF_LOOP_COUNT = "GIFLoopCount"; * It is used in {@link OH_ImageSource_GetImageProperty}. * The top left corner of the fragment image is at the X-coordinate of the original image * - * @since 12 + * @since 13 */ static const char *OHOS_IMAGE_PROPERTY_X_IN_ORIGINAL = "XInOriginal"; @@ -1463,7 +1463,7 @@ static const char *OHOS_IMAGE_PROPERTY_X_IN_ORIGINAL = "XInOriginal"; * It is used in {@link OH_ImageSource_GetImageProperty}. * The top left corner of the fragment image is at the Y-coordinate of the original image * - * @since 12 + * @since 13 */ static const char *OHOS_IMAGE_PROPERTY_Y_IN_ORIGINAL = "YInOriginal"; @@ -1472,7 +1472,7 @@ static const char *OHOS_IMAGE_PROPERTY_Y_IN_ORIGINAL = "YInOriginal"; * It is used in {@link OH_ImageSource_GetImageProperty}. * The width of the fragment image * - * @since 12 + * @since 13 */ static const char *OHOS_IMAGE_PROPERTY_FRAGMENT_WIDTH = "FragmentImageWidth"; @@ -1481,7 +1481,7 @@ static const char *OHOS_IMAGE_PROPERTY_FRAGMENT_WIDTH = "FragmentImageWidth"; * It is used in {@link OH_ImageSource_GetImageProperty}. * The height of the fragment image * - * @since 12 + * @since 13 */ static const char *OHOS_IMAGE_PROPERTY_FRAGMENT_HEIGHT = "FragmentImageHeight"; #ifdef __cplusplus -- Gitee From 98e6d61a2b91e74e07a6ec89687d9d6d8fcd61c7 Mon Sep 17 00:00:00 2001 From: liu-binjun Date: Mon, 2 Sep 2024 14:21:00 +0800 Subject: [PATCH 230/359] feature:add location c api Signed-off-by: liu-binjun --- LocationKit/BUILD.gn | 35 +++ LocationKit/liblocation.ndk.json | 32 +++ LocationKit/oh_location.h | 108 ++++++++++ LocationKit/oh_location_type.h | 356 +++++++++++++++++++++++++++++++ 4 files changed, 531 insertions(+) create mode 100644 LocationKit/BUILD.gn create mode 100644 LocationKit/liblocation.ndk.json create mode 100644 LocationKit/oh_location.h create mode 100644 LocationKit/oh_location_type.h diff --git a/LocationKit/BUILD.gn b/LocationKit/BUILD.gn new file mode 100644 index 000000000..b5718e151 --- /dev/null +++ b/LocationKit/BUILD.gn @@ -0,0 +1,35 @@ +# Copyright (C) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_headers("location_ndk_header") { + dest_dir = "$ndk_headers_out_dir/LocationKit" + sources = [ + "./oh_location.h", + "./oh_location_type.h", + ] +} + +ohos_ndk_library("liblocation_ndk") { + ndk_description_file = "./liblocation.ndk.json" + output_name = "location_ndk" + output_extension = "so" + min_compact_version = "13" + system_capability = "SystemCapability.Location.Location.Core" + system_capability_headers = [ + "./oh_location.h", + "./oh_location_type.h", + ] +} diff --git a/LocationKit/liblocation.ndk.json b/LocationKit/liblocation.ndk.json new file mode 100644 index 000000000..82814ba00 --- /dev/null +++ b/LocationKit/liblocation.ndk.json @@ -0,0 +1,32 @@ +[ + { + "name": "OH_Location_IsLocatingEnabled" + }, + { + "name": "OH_Location_StartLocating" + }, + { + "name": "OH_Location_StopLocating" + }, + { + "name": "OH_LocationInfo_GetBasicInfo" + }, + { + "name": "OH_LocationInfo_GetAdditionalInfo" + }, + { + "name": "OH_Location_CreateRequestConfig" + }, + { + "name": "OH_Location_DestroyRequestConfig" + }, + { + "name": "OH_LocationRequestConfig_SetUseScene" + }, + { + "name": "OH_LocationRequestConfig_SetPowerConsumptionScene" + }, + { + "name": "OH_LocationRequestConfig_SetInterval" + } +] \ No newline at end of file diff --git a/LocationKit/oh_location.h b/LocationKit/oh_location.h new file mode 100644 index 000000000..d99c30c8c --- /dev/null +++ b/LocationKit/oh_location.h @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2024 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 Location + * @{ + * + * @brief Provide functions for querying the status of location switch, starting and stopping locating. + * @since 13 + */ +/** + * @file oh_location.h + * @kit LocationKit + * @brief Define interfaces for querying location switch status, starting locating, and stopping locating. + * @library libohlocation.so + * @syscap SystemCapability.Location.Location.Core + * @since 13 + */ + +#ifndef OH_LOCATION_H +#define OH_LOCATION_H + +#include "oh_location_type.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Check whether the location switch is enabled. + * + * @param enabled - It is a boolean pointer used to receive location switch status values.\n + * Equal to true indicates that the location switch is turned on, false indicates that\n + * the location switch is turned off.\n + * The caller needs to pass in a non empty boolean pointer, otherwise an error will be returned.\n + * @return Location functions result code.\n + * For a detailed definition, please refer to {@link Location_ResultCode}.\n + * {@link LOCAION_SUCCESS} Successfully obtained the location switch status.\n + * {@link LOCATION_INVALID_PARAM} The input parameter enabled is a null pointer.\n + * {@link LOCATION_SERVICE_UNAVAILABLE} Abnormal startup of location services.\n + * @since 13 + */ +Location_ResultCode OH_Location_IsLocatingEnabled(bool* enabled); + +/** + * @brief Start locating and subscribe location changed. + * + * @param requestConfig - Pointer to the locating request parameters.\n + * For details, see {@link Location_RequestConfig}.\n + * You can use {@link OH_Location_CreateRequestConfig} to create an instance.\n + * @param callback - Pointer to the callback function for reporting the location.\n + * For details, see {@link Location_InfoCallback}.\n + * A non-null pointer is required, otherwise an error is returned.\n + * @return Location functions result code.\n + * For a detailed definition, please refer to {@link Location_ResultCode}.\n + * {@link LOCAION_SUCCESS} Successfully start locating.\n + * {@link LOCATION_INVALID_PARAM} The input parameter requestConfig or callback is a null pointer.\n + * {@link LOCATION_PERMISSION_DENIED} Permission verification failed. The application does not have the\n + * permission required to call the API.\n + * {@link LOCATION_NOT_SUPPORTED} Capability not supported.\n + * Failed to call function due to limited device capabilities.\n + * {@link LOCATION_SERVICE_UNAVAILABLE} Abnormal startup of location services.\n + * {@link LOCATION_SWITCH_OFF} The location switch is off.\n + * @permission ohos.permission.APPROXIMATELY_LOCATION + * @since 13 + */ +Location_ResultCode OH_Location_StartLocating(const Location_RequestConfig* requestConfig, + Location_InfoCallback callback); + +/** + * @brief Stop locating and unsubscribe location changed. + * + * @param callback - Pointer to the callback function for reporting the location.\n + * This parameter needs to be the same as the callback pointer passed in {@link OH_Location_StartLocating}.\n + * For details, see {@link Location_InfoCallback}.\n + * A non-null pointer is required, otherwise an error is returned.\n + * @return Location functions result code.\n + * For a detailed definition, please refer to {@link Location_ResultCode}.\n + * {@link LOCAION_SUCCESS} Successfully stop locationg.\n + * {@link LOCATION_INVALID_PARAM} 1.The input parameter callback is a null pointer. + * 2.Different from the callback passed from {@link OH_Location_StartLocating}.\n + * {@link LOCATION_PERMISSION_DENIED} Permission verification failed. The application does not have the\n + * permission required to call the API.\n + * {@link LOCATION_NOT_SUPPORTED} Capability not supported.\n + * Failed to call function due to limited device capabilities.\n + * {@link LOCATION_SERVICE_UNAVAILABLE} Possible reasons: 1. Abnormal startup of location services.\n + * {@link LOCATION_SWITCH_OFF} The location switch is off.\n + * @permission ohos.permission.APPROXIMATELY_LOCATION + * @since 13 + */ +Location_ResultCode OH_Location_StopLocating(Location_InfoCallback callback); +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // OH_LOCATION_H \ No newline at end of file diff --git a/LocationKit/oh_location_type.h b/LocationKit/oh_location_type.h new file mode 100644 index 000000000..8a376cda2 --- /dev/null +++ b/LocationKit/oh_location_type.h @@ -0,0 +1,356 @@ +/* + * Copyright (c) 2024 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 Location + * @{ + * + * @brief Provide functions for querying the status of location switch, starting and stopping locating. + * + * @since 13 + */ + +/** + * @file oh_location_type.h + * @kit LocationKit + * @brief Declares the common location attributes. + * @library libohlocation.so + * @syscap SystemCapability.Location.Location.Core + * @since 13 + */ + +#ifndef OH_LOCATION_TYPE_H +#define OH_LOCATION_TYPE_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the location result codes. + * + * @since 13 + */ +typedef enum Location_ResultCode { + /** + * @error The operation is successful. + */ + LOCATION_SUCCESS = 0, + /** + * @error Permission verification failed. The application does not have the + * permission required to call the API. + */ + LOCATION_PERMISSION_DENIED = 201, + /** + * @error Parameter error. Possible reasons: 1. The input parameter is a null pointer;\n + * 2. Parameter values exceed the defined range.\n + */ + LOCATION_INVALID_PARAM = 401, + /** + * @error Capability not supported. Failed to call function due to limited device capabilities. + */ + LOCATION_NOT_SUPPORTED = 801, + /** + * @error The location service is unavailable. + * Possible reasons: Abnormal startup of location services.\n + */ + LOCATION_SERVICE_UNAVAILABLE = 3301000, + /** + * @error The location switch is off. + */ + LOCATION_SWITCH_OFF = 3301100 +} Location_ResultCode; + +/** + * @brief Enumeration values of use scenarios. + * + * @since 13 + */ +typedef enum Location_UseScene { + /** + * Indicates the navigation scenario. + * This feature applies to outdoor scenarios where real-time device locations need + * to be obtained, such as vehicle-mounted and pedestrian navigation. + * The GNSS positioning technology is used to provide positioning services, and the + * power consumption is high. + */ + LOCATION_USE_SCENE_NAVIGATION = 0x0401, + /** + * Indicates the sport scenario. + * This feature applies to scenarios where user location tracks are recorded, + * for example, sports apps. The GNSS positioning technology is used to provide + * positioning services, and the power consumption is high. + */ + LOCATION_USE_SCENE_SPORT = 0x0402, + /** + * Indicates a travel scenario. + * This mode applies to travel scenarios, such as taxi and public transportation. + * The GNSS positioning technology is used to provide positioning services, and + * the power consumption is high. + */ + LOCATION_USE_SCENE_TRANSPORT = 0x0403, + /** + * Indicates the daily service usage scenario. + * This mode applies to scenarios where precise user location is not required, + * such as news, online shopping, and ordering applications. + * In this scenario, only a network positioning technology is used to provide a + * positioning service, and power consumption is relatively low. + */ + LOCATION_USE_SCENE_DAILY_LIFE_SERVICE = 0x0404 +} Location_UseScene; + +/** + * @brief Enumerates the power consumption scenario. + * + * @since 13 + */ +typedef enum Location_PowerConsumptionScene { + /** + * High power consumption. + * GNSS positioning technology is mainly used. We will use network positioning + * technology to provide services before GNSS provides stable location results; + * During continuous positioning, if the GNSS positioning result cannot be obtained + * for more than 30 seconds, the network positioning technology is used to obtain + * the location. Consumes a large number of hardware resources and power. + */ + LOCATION_HIGH_POWER_CONSUMPTION = 0x0601, + /** + * Low power consumption. + * This mode applies to scenarios that do not require high user location precision, + * such as news, online shopping, and meal ordering. + * In this scenario, only a network positioning technology is used to provide a + * positioning service, and power consumption is relatively low. + */ + LOCATION_LOW_POWER_CONSUMPTION = 0x0602, + /** + * No power consumption. + * In this scenario, the location is not proactively triggered. The location is + * returned to the current app only when other apps are located. + */ + LOCATION_NO_POWER_CONSUMPTION = 0x0603 +} Location_PowerConsumptionScene; + +/** + * @brief Enumerates the source type of location. + * + * @since 13 + */ +typedef enum Location_SourceType { + /** + * The positioning result is based on the GNSS positioning technology. + */ + LOCATION_SOURCE_TYPE_GNSS = 1, + /** + * The positioning result comes from the network positioning technology. + */ + LOCATION_SOURCE_TYPE_NETWORK = 2, + /** + * The positioning result comes from the high-precision indoor positioning technology. + */ + LOCATION_SOURCE_TYPE_INDOOR = 3, + /** + * The positioning result comes from the high-precision positioning technology. + */ + LOCATION_SOURCE_TYPE_RTK = 4 +} Location_SourceType; + +/** + * @brief Defines the location information. + * + * @since 13 + */ +typedef struct Location_BasicInfo { + /** + * Indicates latitude information, with positive values indicating north latitude\n + * and negative values indicating south latitude. The value range is -90 to 90.\n + * Only supports WGS84 coordinate system.\n + */ + double latitude; + /** + * Indicates longitude information, positive values indicate east longitude,\n + * and negative values indicate west longitude. The value range is -180 to 180.\n + * Only supports WGS84 coordinate system.\n + */ + double longitude; + /** + * Altitude in meters. + */ + double altitude; + /** + * Horizontal location accuracy in meters. + */ + double accuracy; + /** + * Speed in meters per second. + */ + double speed; + /** + * Heading in degrees. The value range is 0 to 360. + */ + double direction; + /** + * Timestamp for the location fix. Number of milliseconds since January 1, 1970. + */ + int64_t timeForFix; + /** + * Time since the system was booted, and include deep sleep. The unit is nanosecond. + */ + int64_t timeSinceBoot; + /** + * Vertical position accuracy in meters. + */ + double altitudeAccuracy; + /** + * Speed accuracy in meter per seconds. + */ + double speedAccuracy; + /** + * Direction accuracy in degrees. The value range is 0 to 360. + */ + double directionAccuracy; + /** + * Time uncertainty in nanosecond. + */ + int64_t uncertaintyOfTimeSinceBoot; + /** + * Indicates the source of the location result. + */ + Location_SourceType locationSourceType; +} Location_BasicInfo; + +/** + * @brief Define the structure of location information. + * @since 13 + */ +typedef struct Location_Info Location_Info; + +/** + * @brief Obtain basic location information. + * + * @param location - Pointer to the location information structure.\n + * A non-null pointer is required. The pointer can be obtained from {@link Location_InfoCallback}.\n + * @return Return the basic information structure of the location.\n + * For a detailed definition, please refer to {@link Location_BasicInfo}.\n + * @since 13 + */ +Location_BasicInfo OH_LocationInfo_GetBasicInfo(Location_Info* location); + +/** + * @brief Obtain additional information from the location information. + * + * @param location - Pointer to the location information structure.\n + * A non-null pointer is required. The pointer can be obtained from {@link Location_InfoCallback}.\n + * @param additionalInfo - Non null pointers of char type; This variable is used to store additional\n + * information strings. The string is in JSON format.\n + * The pointer and the corresponding memory are created by the caller.\n + * You are advised to apply for a memory of 256 bytes or more.\n + * If a null pointer is passed, an error code is returned.\n + * @param length - Memory size of additionalInfo. + * @return Location functions result code.\n + * For a detailed definition, please refer to {@link Location_ResultCode}.\n + * {@link LOCAION_SUCCESS} Successfully obtained additional information.\n + * {@link LOCATION_INVALID_PARAM} 1.The input parameter location or additionalInfo is a null pointer.\n + * 2.The input parameter length is too small to store additional information.\n + * @since 13 + */ +Location_ResultCode OH_LocationInfo_GetAdditionalInfo(Location_Info* location, + char* additionalInfo, uint32_t length); + +/** + * @brief Define the structure of location request parameters. + * @since 13 + */ +typedef struct Location_RequestConfig Location_RequestConfig; + +/** + * @brief Create a location request parameter structure instance. + * + * @return Return a pointer to the {@ link Location_RequestConfig} instance. \n + * If NULL is returned, it indicates that the creation failed. \n + * The possible reason is that the application address space is full,\n + * resulting in the inability to allocate space. \n + * @since 13 + */ +Location_RequestConfig* OH_Location_CreateRequestConfig(void); + +/** + * @brief Destroy the location request parameter instance and reclaim memory. + * + * @param requestConfig - Pointer to {@link Location_RequestConfig} instance.\n + * The instance was created by {@link OH_Location_CreateRequestConfig}.\n + * @since 13 + */ +void OH_Location_DestroyRequestConfig(Location_RequestConfig* requestConfig); + +/** + * @brief Set the use scenario in the location request parameter.\n + * Prioritize useScene in the location request parameter {@link Location_RequestConfig}.\n + * If useScene is set, powerConsumptionScene becomes invalid.\n + * If useScene is not set and powerConsumptionScene is set, this parameter takes effect.\n + * If both parameters are not set, the default useScene is\n + * {@link LOCATION_USE_SCENE_DAILY_LIFE_SERVICE},\n + * and the powerConsumptionCenario parameter is invalid.\n + * + * @param requestConfig - Pointer to the {@link Location_RequestConfig} instance.\n + * The instance was created by {@link OH_Location_CreateRequestConfig}.\n + * @param useScene - Representing the use scenario during location requests.\n + * The default value is {@link LOCATION_USE_SCENE_DAILY_LIFE_SERVICE}\n. + * For a detailed definition, please refer to {@link Location_UseScene}.\n + * @since 13 + */ +void OH_LocationRequestConfig_SetUseScene(Location_RequestConfig* requestConfig, + Location_UseScene useScene); + +/** + * @brief Set the power consumption scenario in the location request parameters. + * + * @param requestConfig - Pointer to the {@link Location_RequestConfig} instance.\n + * The instance was created by {@link OH_Location_CreateRequestConfig}.\n + * @param powerConsumptionScene - Represents the power consumption scenario for location requests.\n + * The recognition value is {@link LOCATION_LOW_POWER_CONSUMPTION}.\n + * For a detailed definition, please refer to {@link Location_PowerConsumptionScene}.\n + * @since 13 + */ +void OH_LocationRequestConfig_SetPowerConsumptionScene(Location_RequestConfig* requestConfig, + Location_PowerConsumptionScene powerConsumptionScene); + +/** + * @brief Set the location reporting interval in the location request parameter. + * + * @param requestConfig - Pointer to the {@link Location_RequestConfig} instance.\n + * The instance was created by {@link OH_Location_CreateRequestConfig}.\n + * @param interval - Indicates the time interval for location reporting, in seconds.\n + * The value is greater than or equal to 1. The default value is 1.\n + * @since 13 + */ +void OH_LocationRequestConfig_SetInterval(Location_RequestConfig* requestConfig, + int interval); + +/** + * @brief Defines the callback function used to report location data. + * + * @param location - Pointer to the {@link Location_Info} instance. Carry the latest location information.\n + * The memory of the location instance is recycled at the end of {@link Location_InfoCallback}.\n + * Before that, call {@link OH_LocationInfo_GetBasicInfo} and other interfaces to obtain location information.\n + * @since 13 + */ +typedef void (*Location_InfoCallback)(Location_Info* location); +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // OH_LOCATION_TYPE_H \ No newline at end of file -- Gitee From 4898b887209a45744e1c39e58077550003bf4da0 Mon Sep 17 00:00:00 2001 From: ccfriend Date: Sat, 17 Aug 2024 20:55:12 +0800 Subject: [PATCH 231/359] add avsession ndk interface Signed-off-by: ccfriend --- multimedia/av_session/BUILD.gn | 36 + multimedia/av_session/libohavsession.ndk.json | 190 +++++ multimedia/av_session/native_avmetadata.h | 372 +++++++++ multimedia/av_session/native_avsession.h | 725 ++++++++++++++++++ .../av_session/native_avsession_errors.h | 90 +++ test.txt | 468 ----------- 6 files changed, 1413 insertions(+), 468 deletions(-) create mode 100644 multimedia/av_session/BUILD.gn create mode 100644 multimedia/av_session/libohavsession.ndk.json create mode 100644 multimedia/av_session/native_avmetadata.h create mode 100644 multimedia/av_session/native_avsession.h create mode 100644 multimedia/av_session/native_avsession_errors.h delete mode 100644 test.txt diff --git a/multimedia/av_session/BUILD.gn b/multimedia/av_session/BUILD.gn new file mode 100644 index 000000000..bf7c9da26 --- /dev/null +++ b/multimedia/av_session/BUILD.gn @@ -0,0 +1,36 @@ +# Copyright (C) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_headers("ohavsession_header") { + dest_dir = "$ndk_headers_out_dir/multimedia/av_session" + sources = [ + "native_avmetadata.h", + "native_avsession.h", + "native_avsession_errors.h", + ] +} + +ohos_ndk_library("libohavsession_ndk") { + output_name = "ohavsession" + output_extension = "so" + ndk_description_file = "./libohavsession.ndk.json" + system_capability = "SystemCapability.Multimedia.AVSession.Core" + system_capability_headers = [ + "multimedia/av_session/native_avmetadata.h", + "multimedia/av_session/native_avsession.h", + "multimedia/av_session/native_avsession_errors.h", + ] +} diff --git a/multimedia/av_session/libohavsession.ndk.json b/multimedia/av_session/libohavsession.ndk.json new file mode 100644 index 000000000..6438cd5e6 --- /dev/null +++ b/multimedia/av_session/libohavsession.ndk.json @@ -0,0 +1,190 @@ +[ + { + "first_introduced": "13", + "name": "OH_AVSession_Create" + }, + { + "first_introduced": "13", + "name": "OH_AVSession_Destroy" + }, + { + "first_introduced": "13", + "name": "OH_AVSession_Activate" + }, + { + "first_introduced": "13", + "name": "OH_AVSession_Deactivate" + }, + { + "first_introduced": "13", + "name": "OH_AVSession_GetSessionType" + }, + { + "first_introduced": "13", + "name": "OH_AVSession_GetSessionId" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_SetAVMetadata" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_SetPlaybackState" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_SetPlaybackPosition" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_SetBufferedTime" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_SetSpeed" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_SetFavorite" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_SetLoopMode" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_RegisterCommandCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_UnRegisterCommandCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_RegisterForwardCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_UnRegisterForwardCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_RegisterRewindCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_UnRegisterRewindCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_RegisterSeekCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_UnRegisterSeekCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_RegisterSpeedCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_UnRegisterSpeedCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_RegisterSetLoopModeCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_UnRegisterSetLoopModeCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_RegisterToggleFavoriteCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_UnRegisterToggleFavoriteCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_RegisterPlayFromAssetIdCallback" + }, + { + "first_introduced": "13", + "name":"OH_AVSession_UnRegisterPlayFromAssetIdCallback" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_Create" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_Destroy" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetAssetId" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetTitle" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetArtist" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetAuthor" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetAlbum" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetWriter" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetComposer" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetDuration" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetMediaImageUri" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetSubTitle" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetDescription" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetLyric" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetSkipIntervals" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_SetDisplayTags" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadataBuilder_GenerateAVMetadata" + }, + { + "first_introduced": "13", + "name": "OH_AVMetadata_Destroy" + } +] \ No newline at end of file diff --git a/multimedia/av_session/native_avmetadata.h b/multimedia/av_session/native_avmetadata.h new file mode 100644 index 000000000..3e6751d8c --- /dev/null +++ b/multimedia/av_session/native_avmetadata.h @@ -0,0 +1,372 @@ +/* + * Copyright (c) 2024 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 OHAVSession + * @{ + * + * @brief Provide the definition of the C interface for the avsession module. + * + * @syscap SystemCapability.Multimedia.AVSession.Core + * + * @since 13 + * @version 1.0 + */ + +/** + * @file native_avmetadata.h + * + * @brief Declare avmetadata builder related interfaces. + * + * @library libohavsession.so + * @syscap SystemCapability.Multimedia.AVSession.Core + * @kit AVSessionKit + * @since 13 + * @version 1.0 + */ + +#ifndef NATIVE_AVMETADATA_H +#define NATIVE_AVMETADATA_H + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief AVMetadata error code + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** + * @error The call was successful. + */ + AVMETADATA_SUCCESS = 0, + + /** + * @error This means that the function was executed with an invalid input parameter. + */ + AVMETADATA_ERROR_INVALID_PARAM = 1, + + /** + * @error This means there is no memory left. + */ + AVMETADATA_ERROR_NO_MEMORY = 2, +} AVMetadata_Result; + +/** + * @brief Defines the skip interval when fastforward or rewind. + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** + * @brief 10 seconds + */ + SECONDS_10 = 10, + + /** + * @brief 15 seconds + */ + SECONDS_15 = 15, + + /** + * @brief 30 seconds + */ + SECONDS_30 = 30, +} AVMetadata_SkipIntervals; + +/** + * @brief Display tag + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** + * @brief Indicate the audio vivid property. + */ + AVSESSION_DISPLAYTAG_AUDIO_VIVID = 1, +} AVMetadata_DisplayTag; + +/** + * @brief Declaring the avmetadata builder. + * The instance of builder is used for creating avmetadata. + * + * @since 13 + * @version 1.0 + */ +typedef struct OH_AVMetadataBuilderStruct OH_AVMetadataBuilder; + +/** + * @brief Declaring the avmetadata. + * The instance of avmetadata set by application for current resource. + * + * @since 13 + * @version 1.0 + */ +typedef struct OH_AVMetadataStruct OH_AVMetadata; + +/** + * @brief Creates an AVMetadataBuilder instance. + * + * @param builder The builder reference to the created result. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM} The param of builder is nullptr. + * {@link AVMETADATA_ERROR_NO_MEMORY} No memory to allocate a new instance. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_Create(OH_AVMetadataBuilder** builder); + +/** + * @brief Destroy a bulder. + * + * @param builder The metadata builder instance pointer + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM} The param of builder is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_Destroy(OH_AVMetadataBuilder* builder); + +/** + * @brief Set current asset id of the resource + * + * @param builder The metadata builder instance pointer + * @param assetId The current assetId of resource. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1.The param of builder is nullptr; + * 2.The param of assetId is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetAssetId(OH_AVMetadataBuilder* builder, const char* assetId); + +/** + * @brief Set the title of the resource + * + * @param builder The metadata builder instance pointer + * @param title The title of resource. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1.The param of builder is nullptr; + * 2.The param of title is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetTitle(OH_AVMetadataBuilder* builder, const char* title); + +/** + * @brief Set the artist of the resource + * + * @param builder The metadata builder instance pointer + * @param artist The artist of resource. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1.The param of builder is nullptr; + * 2.The param of artist is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetArtist(OH_AVMetadataBuilder* builder, const char* artist); + +/** + * @brief Set the author of the resource + * + * @param builder The metadata builder instance pointer + * @param author The author of resource. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1.The param of builder is nullptr; + * 2.The param of author is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetAuthor(OH_AVMetadataBuilder* builder, const char* author); + +/** + * @brief Set the album information + * + * @param builder The metadata builder instance pointer + * @param album The album name + * @return Return code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1. The param of builder is nullptr. + * 2. The param of album is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetAlbum(OH_AVMetadataBuilder* builder, const char* album); + +/** + * @brief Set the writer of the resource + * + * @param builder The metadata builder instance pointer + * @param writer The writer of resource. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1. The param of builder is nullptr. + * 2. The param of writer is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetWriter(OH_AVMetadataBuilder* builder, const char* writer); + +/** + * @brief Set the composer of the resource + * + * @param builder The metadata builder instance pointer + * @param composer The composer of resource. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1. The param of builder is nullptr. + * 2. The param of composer is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetComposer(OH_AVMetadataBuilder* builder, const char* composer); + +/** + * @brief Set the duration of the resource + * + * @param builder The metadata builder instance pointer + * @param duration The duration of resource, in miliseconds + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM} The param of builder is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetDuration(OH_AVMetadataBuilder* builder, int64_t duration); + +/** + * @brief Set the media image uri of the resource + * + * @param builder The metadata builder instance pointer + * @param mediaImageUri The mediaImageUri of resource. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1.The param of builder is nullptr; + * 2.The param of mediaImageUri nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetMediaImageUri(OH_AVMetadataBuilder* builder, const char* mediaImageUri); + +/** + * @brief Set the subtitle of the resource + * + * @param builder The metadata builder instance pointer + * @param subtitle The subtitle of resource. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1.The param of builder is nullptr; + * 2.The param of subtitle nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetSubtitle(OH_AVMetadataBuilder* builder, const char* subtitle); + +/** + * @brief Set the media description of the resource + * + * @param builder The metadata builder instance pointer + * @param description The description of resource. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1.The param of builder is nullptr; + * 2.The param of description nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetDescription(OH_AVMetadataBuilder* builder, const char* description); + +/** + * @brief Set the media lyric content of the resource + * + * @param builder The metadata builder instance pointer + * @param lyric The lyric of resource. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1.The param of builder is nullptr; + * 2.The param of lyric nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetLyric(OH_AVMetadataBuilder* builder, const char* lyric); + +/** + * @brief Set the skip intervals of the resource + * + * @param builder The metadata builder instance pointer + * @param intervals The intervals of resource, only can be set : 10, 15, 30 + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1.The param of builder is nullptr; + * 2.The param of intervals is invalid. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetSkipIntervals(OH_AVMetadataBuilder* builder, + AVMetadata_SkipIntervals intervals); + +/** + * @brief Set the display tags of the resource + * + * @param builder The metadata builder instance pointer + * @param tags The display tags of resource which are supported by this app to be displayed on the media center + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM} The param of builder is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_SetDisplayTags(OH_AVMetadataBuilder* builder, int32_t tags); + +/** + * @brief Create the avmetadta. + * + * @param builder The metadata builder instance pointer + * @param avMetadata Pointer to a viriable to receive the avMetadata object. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM}: + * 1.The param of builder is nullptr; + * 2.The param of avMetadata is nullptr. + * @since 13 + */ +AVMetadata_Result OH_AVMetadataBuilder_GenerateAVMetadata(OH_AVMetadataBuilder* builder, + OH_AVMetadata** avMetadata); + +/** + * @brief Request to release the avmetadta. + * + * @param avMetadata Pointer to a viriable to receive the avMetadata object. + * @return Function result code: + * {@link AVMETADATA_SUCCESS} If the execution is successful. + * @since 13 + */ +AVMetadata_Result OH_AVMetadata_Destroy(OH_AVMetadata* avMetadata); + +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_AVMETADATA_H +/** @} */ \ No newline at end of file diff --git a/multimedia/av_session/native_avsession.h b/multimedia/av_session/native_avsession.h new file mode 100644 index 000000000..2c6d9908f --- /dev/null +++ b/multimedia/av_session/native_avsession.h @@ -0,0 +1,725 @@ +/* + * Copyright (c) 2024 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 OHAVSession + * @{ + * + * @brief Provide the definition of the C interface for the avsession module. + * + * @syscap SystemCapability.Multimedia.AVSession.Core + * + * @since 13 + * @version 1.0 + */ + +/** + * @file native_avsession.h + * + * @brief Declare avsession interface. + * + * @library libohavsession.so + * @syscap SystemCapability.Multimedia.AVSession.Core + * @kit AVSessionKit + * @since 13 + * @version 1.0 + */ + +#ifndef NATIVE_AVSESSION_H +#define NATIVE_AVSESSION_H + +#include +#include "native_avsession_errors.h" +#include "native_avmetadata.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enum for avsession type. + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** + * @brief audio session type. + */ + SESSION_TYPE_AUDIO = 0, + + /** + * @brief video session type. + */ + SESSION_TYPE_VIDEO = 1, + + /** + * @brief voice call session type. + */ + SESSION_TYPE_VOICE_CALL = 2, + + /** + * @brief video call session type. + */ + SESSION_TYPE_VIDEO_CALL = 3 +} AVSession_Type; + +/** + * @brief Enum for playback state. + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** + * @brief Initial state. + */ + PLAYBACK_STATE_INITIAL = 0, + + /** + * @brief Preparing state. Indicates that the media file is not ready to play. + */ + PLAYBACK_STATE_PREPARING = 1, + + /** + * @brief Playing state. + */ + PLAYBACK_STATE_PLAYING = 2, + + /** + * @brief Pause state. + */ + PLAYBACK_STATE_PAUSED = 3, + + /** + * @brief Fast forward state. + */ + PLAYBACK_STATE_FAST_FORWARDING = 4, + + /** + * @brief Rewind state. + */ + PLAYBACK_STATE_REWINDED = 5, + + /** + * @brief Stopped state. + */ + PLAYBACK_STATE_STOPPED = 6, + + /** + * @brief Complete state. + */ + PLAYBACK_STATE_COMPLETED = 7, + + /** + * @brief Release state. + */ + PLAYBACK_STATE_RELEASED = 8, + + /** + * @brief Error state. + */ + PLAYBACK_STATE_ERROR = 9, + + /** + * @brief Idle state. + */ + PLAYBACK_STATE_IDLE = 10, + + /** + * @brief Buffering state. + */ + PLAYBACK_STATE_BUFFERING = 11, + + /** + * @brief Max state. + */ + PLAYBACK_STATE_MAX = 12, +} AVSession_PlaybackState; + +/** + * @brief Defines the playback position. + * + * @since 13 + */ +typedef struct AVSession_PlaybackPosition { + /** + * @brief Elapsed time(position) of this media set by the app. + */ + int64_t elapsedTime; + + /** + * @brief Record the system time when elapsedTime is set. + */ + int64_t updateTime; +} AVSession_PlaybackPosition; + +/** + * @brief Defines the playback mode. + * + * @since 13 + */ +typedef enum { + /** + * @brief sequential playback mode + */ + LOOP_MODE_SEQUENCE = 0, + + /** + * @brief single playback mode + */ + LOOP_MODE_SINGLE = 1, + + /** + * @brief list playback mode + */ + LOOP_MODE_LIST = 2, + + /** + * @brief shuffle playback mode + */ + LOOP_MODE_SHUFFLE = 3, + + /** + * @brief custom playback mode + */ + LOOP_MODE_CUSTOM = 4, +} AVSession_LoopMode; + +/** + * @brief Enum for different control command. + * + * @since 13 + * @version 1.0 + */ +typedef enum AVSession_ControlCommand { + /** + * @brief invalid control command + */ + CONTROL_CMD_INVALID = -1, + + /** + * @brief play command + */ + CONTROL_CMD_PLAY = 0, + + /** + * @brief pause command + */ + CONTROL_CMD_PAUSE = 1, + + /** + * @brief stop command + */ + CONTROL_CMD_STOP = 2, + + /** + * @brief playnext command + */ + CONTROL_CMD_PLAY_NEXT = 3, + + /** + * @brief playprevious command + */ + CONTROL_CMD_PLAY_PREVIOUS = 4, +} AVSession_ControlCommand; + +/** + * @brief Defines enumeration of avsession callback result. + * + * @since 13 + */ +typedef enum { + /** + * @brief Result of avsession callabck is success. + */ + AVSESSION_CALLBACK_RESULT_SUCCESS = 0, + + /** + * @brief Result of avsession callabck failed. + */ + AVSESSION_CALLBACK_RESULT_FAILURE = -1, +} AVSessionCallback_Result; + +/** + * @brief AVSession object + * + * A pointer can be created using {@link OH_AVSession_Create} method. + * + * @since 13 + * @version 1.0 + */ +typedef struct OH_AVSession OH_AVSession; + +/** + * @brief Declaring the callback struct for playback command + * + * @since 13 + * @version 1.0 + */ +typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnCommand)(OH_AVSession* session, + AVSession_ControlCommand command, void* userData); + +/** + * @brief Declaring the callback struct for forward command + * + * @since 13 + * @version 1.0 + */ +typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnFastForward)(OH_AVSession* session, + uint32_t seekTime, void* userData); + +/** + * @brief Declaring the callback struct for rewind command + * + * @since 13 + * @version 1.0 + */ +typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnRewind)(OH_AVSession* session, + uint32_t seekTime, void* userData); + +/** + * @brief Declaring the callback struct for seek command + * + * @since 13 + * @version 1.0 + */ +typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSeek)(OH_AVSession* session, + uint64_t seekTime, void* userData); + +/** + * @brief Declaring the callback struct for set speed command + * + * @since 13 + * @version 1.0 + */ +typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSetSpeed)(OH_AVSession* session, + uint32_t speed, void* userData); + +/** + * @brief Declaring the callback struct for set loop mode command + * + * @since 13 + * @version 1.0 + */ +typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSetLoopMode)(OH_AVSession* session, + AVSession_LoopMode curLoopMode, void* userData); + +/** + * @brief Declaring the callback struct for toggle favorite command + * + * @since 13 + * @version 1.0 + */ +typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnToggleFavorite)(OH_AVSession* session, + const char* assetId, void* userData); + +/** + * @brief Declaring the callback struct for play from assetid command + * + * @since 13 + * @version 1.0 + */ +typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnPlayFromAssetId)(OH_AVSession* session, + const char* assetId, void* userData); + +/** + * @brief Request to create the avsession. + * + * @param avsession The avsession instance pointer + * @param sessionTag The session tag set by the application + * @param bundleName The bundle name to set + * @param abilityName The abilityName name to set + * @param avsession Pointer to a viriable to receive the OH_AVSession + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER}: + * 1. The param of avsession is nullptr. + * 2. The param of bundleName is nullptr. + * 3. The param of abilityName is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_Create(AVSession_Type sessionType, const char* sessionTag, + const char* bundleName, const char* abilityName, OH_AVSession** avsession); + +/** + * @brief Request to destory the avsession. + * + * @param avsession The avsession instance pointer + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_Destroy(OH_AVSession* avsession); + +/** + * @brief Activate the avsession. + * + * @param avsession The avsession instance pointer + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_Activate(OH_AVSession* avsession); + +/** + * @brief Deactivate the avsession. + * + * @param avsession The avsession instance pointer + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_Deactivate(OH_AVSession* avsession); + +/** + * @brief Get session type. + * + * @param avsession The avsession instance pointer + * @param sessionType The returned session type + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_GetSessionType(OH_AVSession* avsession, AVSession_Type* sessionType); + +/** + * @brief Get session id. + * + * @param avsession The avsession instance pointer + * @param sessionId The returned session id + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_GetSessionId(OH_AVSession* avsession, const char** sessionId); + +/** + * @brief Request to set av metadata. + * + * @param avsession The avsession instance pointer + * @param avmetadata The metadata to set + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, OH_AVMetadata* avmetadata); + +/** + * @brief Request to set av playbackstate. + * + * @param avsession The avsession instance pointer + * @param playbackState The playbackState to set + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_SetPlaybackState(OH_AVSession* avsession, + AVSession_PlaybackState playbackState); + +/** + * @brief Request to set playback position. + * + * @param avsession The avsession instance pointer + * @param playbackPosition The playbackPosition to set + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_SetPlaybackPosition(OH_AVSession* avsession, + AVSession_PlaybackPosition* playbackPosition); + +/** + * @brief Request to set buffered time. + * + * @param avsession The avsession instance pointer + * @param bufferedTime The bufferedTime to set + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_SetBufferedTime(OH_AVSession* avsession, uint64_t bufferedTime); + +/** + * @brief Request to set speed. + * + * @param avsession The avsession instance pointer + * @param speed The speed to set + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_SetSpeed(OH_AVSession* avsession, uint32_t speed); + +/** + * @brief Request to set favorite state. + * + * @param avsession The avsession instance pointer + * @param favorite true means making the resource to be liked, false means dislike. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_SetFavorite(OH_AVSession* avsession, bool favorite); + +/** + * @brief Request to set loop mode. + * + * @param avsession The avsession instance pointer + * @param loopMode The loopmode to be set for playback. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_SetLoopMode(OH_AVSession* avsession, AVSession_LoopMode loopMode); + +/** + * @brief Request to register command callback. + * + * @param avsession The avsession instance pointer + * @param command The control command type to be registered. + * @param callback the {@link OH_AVSessionCallback_OnCommand} to be registered. + * @param userData User data which is passed by user. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_CODE_COMMAND_INVALID} The command is not invalid. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_RegisterCommandCallback(OH_AVSession* avsession, + AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback, void* userData); + +/** + * @brief Request to unregister command callback. + * + * @param avsession The avsession instance pointer + * @param command The control command type to be unregistered. + * @param callback the {@link OH_AVSessionCallback_OnCommand} to be unregistered. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_CODE_COMMAND_INVALID} The command is not invalid. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_UnregisterCommandCallback(OH_AVSession* avsession, + AVSession_ControlCommand command, OH_AVSessionCallback_OnCommand callback); + +/** + * @brief Request to register fastforward callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnFastForward} to be registered. + * @param userData User data which is passed by user. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_RegisterForwardCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnFastForward callback, void* userData); + +/** + * @brief Request to unregister fastforward callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnFastForward} to be unregistered. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_UnregisterForwardCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnFastForward callback); + +/** + * @brief Request to register rewind callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnRewind} to be registered. + * @param userData User data which is passed by user. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_RegisterRewindCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnRewind callback, void* userData); + +/** + * @brief Request to unregister rewind callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnRewind} to be unregistered. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_UnregisterRewindCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnRewind callback); + +/** + * @brief Request to register seek callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnSeek} to be registered. + * @param userData User data which is passed by user. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_RegisterSeekCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnSeek callback, void* userData); + +/** + * @brief Request to unregister seek callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnSeek} to be unregistered. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_UnregisterSeekCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnSeek callback); + +/** + * @brief Request to register set speed callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnSetSpeed} to be registered. + * @param userData User data which is passed by user. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_RegisterSpeedCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnSetSpeed callback, void* userData); + +/** + * @brief Request to unregister set speed callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnSetSpeed} to be unregistered. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_UnregisterSpeedCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnSetSpeed callback); + +/** + * @brief Request to register set loopmode callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnSetLoopMode} to be registered. + * @param userData User data which is passed by user. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_RegisterSetLoopModeCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnSetLoopMode callback, void* userData); + +/** + * @brief Request to unregister set loopmode callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnSetLoopMode} to be unregistered. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_UnregisterSetLoopModeCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnSetLoopMode callback); + +/** + * @brief Request to register toggle favorite callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnToggleFavorite} to be registered. + * @param userData User data which is passed by user. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnToggleFavorite callback, void* userData); + +/** + * @brief Request to unregister toggle favorite callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnToggleFavorite} to be unregistered. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_UnregisterToggleFavoriteCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnToggleFavorite callback); + +/** + * @brief Request to register play from aseetid callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnPlayFromAssetId} to be registered. + * @param userData User data which is passed by user. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_RegisterPlayFromAssetIdCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnPlayFromAssetId callback, void* userData); + +/** + * @brief Request to unregister play from aseetid callback. + * + * @param avsession The avsession instance pointer + * @param callback the {@link OH_AVSessionCallback_OnPlayFromAssetId} to be unregistered. + * @return Function result code: + * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * @since 13 + */ +AVSession_ErrCode OH_AVSession_UnregisterPlayFromAssetIdCallback(OH_AVSession* avsession, + OH_AVSessionCallback_OnPlayFromAssetId callback); + +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_AVSESSION_H +/** @} */ \ No newline at end of file diff --git a/multimedia/av_session/native_avsession_errors.h b/multimedia/av_session/native_avsession_errors.h new file mode 100644 index 000000000..e19406013 --- /dev/null +++ b/multimedia/av_session/native_avsession_errors.h @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2024 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 OHAVSession + * @{ + * + * @brief Provide the definition of the C interface for the avsession module. + * @since 13 + */ + +/** + * @file native_avsession_errors.h + * + * @brief Declare avsession related error. + * + * @library libohavsession.so + * @syscap SystemCapability.Multimedia.AVSession.Core + * @kit AVSessionKit + * @since 13 + */ + +#ifndef NATIVE_AVSESSION_ERRORS_H +#define NATIVE_AVSESSION_ERRORS_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief AVSession error code + * + * @since 13 + * @version 1.0 + */ +typedef enum { + /** + * @error The operation completed successfully. + */ + AV_SESSION_ERR_SUCCESS = 0, + + /** + * @error Invalid parameter。 + */ + AV_SESSION_ERR_INVALID_PARAMETER = 401, + + /** + * @error Service exception. + */ + AV_SESSION_ERR_SERVICE_EXCEPTION = 6600101, + + /** + * @error The session does not exist. + */ + AV_SESSION_ERR_CODE_SESSION_NOT_EXIST = 6600102, + + /** + * @error Invalid session command. + */ + AV_SESSION_ERR_CODE_COMMAND_INVALID = 6600105, + + /** + * @error The session is not activated. + */ + AV_SESSION_ERR_CODE_SESSION_INACTIVE = 6600106, + + /** + * @error Too many commands or events. + */ + AV_SESSION_ERR_CODE_MESSAGE_OVERLOAD = 6600107, +} AVSession_ErrCode; + +#ifdef __cplusplus +} +#endif + +#endif // NATIVE_AVSESSION_ERRORS_H +/** @} */ \ No newline at end of file diff --git a/test.txt b/test.txt deleted file mode 100644 index 5689b5143..000000000 --- a/test.txt +++ /dev/null @@ -1,468 +0,0 @@ -/* - * Copyright (c) 2024 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 OHAVSession - * @{ - * - * @brief Provide the definition of the C interface for the native avsession. - * - * @syscap SystemCapability.Multimedia.AVSession.Core - * - * @since 12 - * @version 1.0 - */ - -/** - * @file native_avsession.h - * - * @brief Declare avsession interface. - * - * @library libohavsession.so - * @syscap SystemCapability.Multimedia.AVSession.Core - * @kit AVSessionKit - * @since 12 - * @version 1.0 - */ - -#ifndef NATIVE_AVSESSION_H -#define NATIVE_AVSESSION_H - -#include "native_avsession_base.h" -#include "native_avsession_errors.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Capture session object - * - * A pointer can be created using {@link OH_AVSession} method. - * - * @since 12 - * @version 1.0 - */ -typedef struct OH_AVSession OH_AVSession; - -/* - * Request to create the avsession. - * - * @since 12 - * - * @param avsession reference - * @return Function result code - */ -OH_AVSession_ErrCode OH_AVSession_Create(AVSession_Type sessionType, const char* sessionTag, OH_AVSession** avsession); - -/* - * Request to release the avsession. - * - * @since 12 - * - * @param avsession reference - * @return Function result code - */ -OH_AVSession_ErrCode OH_AVSession_Destroy(OH_AVSession* avsession); - -/* - * Request to set av metadata. - * - * @since 12 - * - * @param avsession reference - * @return Function result code - */ -OH_AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, AVSession_AVMetadata* metadata); - -/* - * Request to set av playbackstate. - * - * @since 12 - * - * @param avsession reference - * @return Function result code - */ -OH_AVSession_ErrCode OH_AVSession_SetAVPlaybackState(OH_AVSession* avsession, AVSession_AVPlaybackState* playbackState); - -/* - * Request to register callback. - * - * @since 12 - * - * @param avsession reference - * @return Function result code - */ -OH_AVSession_ErrCode OH_AVSession_RegisterCallback(OH_AVSession* avsession, AVSession_Callbacks* callback); - -#ifdef __cplusplus -} -#endif -#endif // NATIVE_AVSESSION_H - -/* - * Copyright (C) 2024 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 AVSession - * @{ - * - * @brief Provides APIs of request capability for AVSession. - * @since 12 - */ - -/** - * @file native_avsession_base.h - * - * @brief Declare avsession related definations. - * - * @library libohavsession.so - * @syscap SystemCapability.Multimedia.AVSession.Core - * @kit AVSessionKit - * @since 12 - */ - -#ifndef NATIVE_AVSESSION_ERRORS_H -#define NATIVE_AVSESSION_ERRORS_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Enum for avsession type. - * - * @since 12 - * @version 1.0 - */ -typedef enum AVSession_Type { - SESSION_TYPE_INVALID = -1, - SESSION_TYPE_AUDIO = 0, - SESSION_TYPE_VIDEO = 1, - SESSION_TYPE_VOICE_CALL = 2, - SESSION_TYPE_VIDEO_CALL = 3 -} AVSession_Type; - -typedef struct AVSession_AVMetadata { - char* assetId; - char* title; - char* artist; - char* author; - // std::string avQueueName_ = ""; - // std::string avQueueId_ = ""; - // std::shared_ptr avQueueImage_ = nullptr; - // std::string avQueueImageUri_ = ""; - char* album; - // std::string writer_ = ""; - // std::string composer_ = ""; - int64_t duration; - // std::shared_ptr mediaImage_ = nullptr; - char* mediaImageUri; - // double publishDate_ = 0; - // std::string subTitle_ = ""; - // std::string description_ = ""; - // std::string lyric_ = ""; - // std::string previousAssetId_ = ""; - // std::string nextAssetId_ = ""; - // int32_t skipIntervals_ = SECONDS_15; - // int32_t filter_ = 2; - // int32_t mediaLength_ = 0; - // int32_t avQueueLength_ = 0; - // int32_t displayTags_ = 0; - // std::vector drmSchemes_; -} AVSession_AVMetadata; - -typedef enum AVSession_PlaybackState { - PLAYBACK_STATE_INITIAL = 0, - PLAYBACK_STATE_PREPARE = 1, - PLAYBACK_STATE_PLAY = 2, - PLAYBACK_STATE_PAUSE = 3, - PLAYBACK_STATE_FAST_FORWARD = 4, - PLAYBACK_STATE_REWIND = 5, - PLAYBACK_STATE_STOP = 6, - PLAYBACK_STATE_COMPLETED = 7, - PLAYBACK_STATE_RELEASED = 8, - PLAYBACK_STATE_ERROR = 9, - PLAYBACK_STATE_IDLE = 10, - PLAYBACK_STATE_BUFFERING = 11, - PLAYBACK_STATE_MAX = 12, -} AVSession_PlaybackState; - -typedef struct AVSession_PlaybackPosition { - int64_t elapsedTime_; - int64_t updateTime_; -} AVSession_PlaybackPosition; - -typedef struct AVSession_AVPlaybackState { - AVSession_PlaybackState state; - AVSession_PlaybackPosition position; - int64_t duration; -} AVSession_AVPlaybackState; - - -typedef enum AVSession_LoopMode { - LOOP_MODE_SEQUENCE = 0, - LOOP_MODE_SINGLE = 1, - LOOP_MODE_LIST = 2, - LOOP_MODE_SHUFFLE = 3, - LOOP_MODE_CUSTOM = 4, -} AVSession_LoopMode; - - -/////////////////////////////////////////////////////////////////////////////////////////// - -/** - * @brief Enum for command state. - * - * @since 12 - * @version 1.0 - */ -typedef enum AVSession_ControlCommand { - SESSION_CMD_INVALID = -1, - SESSION_CMD_PLAY = 0, - SESSION_CMD_PAUSE = 1, - SESSION_CMD_STOP = 2, - SESSION_CMD_PLAY_NEXT = 3, - SESSION_CMD_PLAY_PREVIOUS = 4, - SESSION_CMD_FAST_FORWARD = 5, - SESSION_CMD_REWIND = 6, - SESSION_CMD_SEEK = 7, - SESSION_CMD_SET_SPEED = 8, - SESSION_CMD_SET_LOOP_MODE = 9, - SESSION_CMD_TOGGLE_FAVORITE = 10, - SESSION_CMD_PLAY_FROM_ASSETID = 11, - SESSION_CMD_AVCALL_ANSWER = 12, - SESSION_CMD_AVCALL_HANG_UP = 13, - SESSION_CMD_AVCALL_TOGGLE_CALL_MUTE = 14, - SESSION_CMD_MEDIA_KEY_SUPPORT = 15, - SESSION_CMD_PLAYFROM_ASSET_ID = 16, - SESSION_CMD_MAX -} AVSession_ControlCommand; - -/** - * parameter of the command. Whether this command requires parameters, see {@link AVSessionCommand} - * seek command requires a number parameter - * setSpeed command requires a number parameter - * setLoopMode command requires a {@link LoopMode} parameter. - * toggleFavorite command requires assetId {@link AVMetadata.assetId} parameter - * other commands need no parameter - * @type { ?(LoopMode | string | number) } - * @syscap SystemCapability.Multimedia.AVSession.Core - * @atomicservice - * @since 12 - */ -// parameter?: LoopMode | string | number; -typedef union AVSession_ControlParameters { - int32_t elapsedTime_; - int64_t updateTime_; - // int32_t - // double - // int64_t - // bool - // std::string -} AVSession_ControlParameters; - -/** - * @brief Control callback to be called in {@link OH_AVSession_ControlCallback}. - * - * @param session the {@link OH_AVSession} which object delivers the callback. - * @param command the {@link AVSession_ControlCommand} which command to be received by the callback. - * @since 11 - */ -typedef void (*OH_AVSession_ControlCallback)(OH_AVSession* session, - AVSession_ControlCommand command, AVSession_ControlParameters controlParameters); - -typedef struct AVSession_Callbacks { - /** - * Control command event callback. - */ - OH_AVSession_ControlCallback onControlCallback; -} AVSession_Callbacks; - - -/////////////////////////////////////////////////////////////////////////////////////////// - -typedef void (*OH_AVSession_Callback_Play)(OH_AVSession* session); -typedef void (*OH_AVSession_Callback_Pause)(OH_AVSession* session); -typedef void (*OH_AVSession_Callback_Stop)(OH_AVSession* session); -typedef void (*OH_AVSession_Callback_Next)(OH_AVSession* session); -typedef void (*OH_AVSession_Callback_Previous)(OH_AVSession* session); -typedef void (*OH_AVSession_Callback_Forward)(OH_AVSession* session); -typedef void (*OH_AVSession_Callback_Rewind)(OH_AVSession* session); -typedef void (*OH_AVSession_Callback_SetSpeed)(OH_AVSession* session, int32_t speed); -typedef void (*OH_AVSession_Callback_SetLoopMode)(OH_AVSession* session, AVSession_LoopMode curLoopMode); -typedef void (*OH_AVSession_Callback_ToggleFavorite)(OH_AVSession* session, char* assetId); -typedef void (*OH_AVSession_Callback_Seek)(OH_AVSession* session, int64_t seekTime); -typedef void (*OH_AVSession_Callback_PlayFromAssetId)(OH_AVSession* session, char* assetId); -typedef void (*OH_AVSession_Callback_Answer)(OH_AVSession* session); -typedef void (*OH_AVSession_Callback_Hangup)(OH_AVSession* session); -typedef void (*OH_AVSession_Callback_ToggleCallMute)(OH_AVSession* session); -typedef void (*OH_AVSession_Callback_HandleKeyEvent)(OH_AVSession* session, Input_KeyEvent keyEvent); - -#ifdef __cplusplus -} -#endif - -#endif // NATIVE_AVSESSION_ERRORS_H -/** @} */ - -/* - * Copyright (C) 2024 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 AVSession - * @{ - * - * @brief Provides APIs of request capability for AVSession. - * @since 12 - */ - -/** - * @file native_avsession_errors.h - * - * @brief Declare avsession related error. - * - * @library libohavsession.so - * @syscap SystemCapability.Multimedia.AVSession.Core - * @kit AVSessionKit - * @since 12 - */ - -#ifndef NATIVE_AVSESSION_ERRORS_H -#define NATIVE_AVSESSION_ERRORS_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief AVSession error code - * @syscap SystemCapability.Multimedia.AVSession.Core - * @since 10 - * @version 1.0 - */ -typedef enum OH_AVSession_ErrCode { - /** - * @error the operation completed successfully. - */ - AV_SESSION_ERR_SUCCESS = 0, - /** - * @error basic error mask. - */ - AV_SESSION_ERR_BASE = 1000, - /** - * @error no memory. - */ - AV_SESSION_ERR_NO_MEMORY = AV_SESSION_ERR_BASE + 1, - - - AV_SESSION_ERR_INVALID_PARAM = AV_SESSION_ERR_BASE + 2, - - AV_SESSION_ERR_SERVICE_NOT_EXIST = AV_SESSION_ERR_BASE + 3, - - AV_SESSION_ERR_SESSION_LISTENER_EXIST = AV_SESSION_ERR_BASE + 4, -} OH_AVSession_ErrCode; - -#ifdef __cplusplus -} -#endif - -#endif // NATIVE_AVSESSION_ERRORS_H -/** @} */ - - -[ - { - "first_introduced": "12", - "name": "OH_AVSession_Create" - }, - { - "first_introduced": "12", - "name": "OH_AVSession_Destroy" - }, - { - "first_introduced": "12", - "name": "OH_AVSession_SetAVMetadata" - }, - { - "first_introduced": "12", - "name": "OH_AVSession_SetAVPlaybackState" - }, - { - "first_introduced": "12", - "name": "OH_AVSession_RegisterCallback" - } -] - -# Copyright (C) 2024 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. - -import("//build/ohos.gni") -import("//build/ohos/ndk/ndk.gni") - -ohos_ndk_headers("avsession_header") { - dest_dir = "$ndk_headers_out_dir/multimedia/av_session" - sources = [ - "native_avsesion.h", - "native_avsesion_base.h", - "native_avsesion_errors.h", - ] -} - -ohos_ndk_library("libohavsession_ndk") { - output_name = "ohavsession" - output_extension = "so" - ndk_description_file = "./libavsession.ndk.json" - system_capability = "SystemCapability.Multimedia.AVSession.Core" - system_capability_headers = [ - "multimedia/av_session/native_avsesion.h", - "multimedia/av_session/native_avsesion_base.h", - "multimedia/av_session/native_avsesion_errors.h", - ] -} \ No newline at end of file -- Gitee From 8aa0addecd827bd1b8b97d7845a35e6a8aad6ae6 Mon Sep 17 00:00:00 2001 From: yanghaiming Date: Wed, 4 Sep 2024 10:24:24 +0800 Subject: [PATCH 232/359] apply for clang with -std=c++xx is on Signed-off-by: yanghaiming --- ark_runtime/jsvm/jsvm_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ark_runtime/jsvm/jsvm_types.h b/ark_runtime/jsvm/jsvm_types.h index 1f4145245..1141b051f 100644 --- a/ark_runtime/jsvm/jsvm_types.h +++ b/ark_runtime/jsvm/jsvm_types.h @@ -679,7 +679,7 @@ typedef struct { /** int type. */ int num; /** bool type. */ - _Bool boolean; + bool boolean; } content; } JSVM_CompileOptions; -- Gitee From d798329e232abb7558875c2a0e2cc64f0be98b97 Mon Sep 17 00:00:00 2001 From: HYH Date: Wed, 4 Sep 2024 14:26:38 +0800 Subject: [PATCH 233/359] dsa Signed-off-by: HYH --- multimodalinput/kits/c/input/oh_input_manager.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 18204bd8c..9d8243301 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -1350,7 +1350,7 @@ void OH_Input_SetRepeat(Input_Hotkey* hotkey, bool isRepeat); * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -Input_Result OH_Input_IsRepeat(const Input_Hotkey* hotkey, bool *isRepeat); +Input_Result OH_Input_GetRepeat(const Input_Hotkey* hotkey, bool *isRepeat); /** * @brief Subscribes to shortcut key events. @@ -1359,8 +1359,8 @@ Input_Result OH_Input_IsRepeat(const Input_Hotkey* hotkey, bool *isRepeat); * @param callback Callback used to return shortcut key events. * @return OH_Input_AddHotkeyMonitor status code, specifically, * {@link INPUT_SUCCESS} if the operation is successful;\n - * {@link INPUT_PARAMETER_ERROR} if parameter verification fails;\n - * {@link INPUT_SERVICE_EXCEPTION} if the service is abnormal probably + * {@link INPUT_PARAMETER_ERROR} if hotkey or callback is NULL;\n + * {@link INPUT_HOTKEY_ALREADY_REGISTER} if the service is abnormal probably * because subscription to shortcut key events has been enabled.\n * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 @@ -1374,7 +1374,7 @@ Input_Result OH_Input_AddHotkeyMonitor(const Input_Hotkey* hotkey, Input_HotkeyC * @param callback Callback used to return shortcut key events. * @return OH_Input_RemoveHotkeyMonitor status code, specifically, * {@link INPUT_SUCCESS} if the operation is successful;\n - * {@link INPUT_PARAMETER_ERROR} if parameter verification fails;\n + * {@link INPUT_PARAMETER_ERROR} if hotkey or callback is NULL;\n * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -- Gitee From dd04e0d0c3993710b6f63ca9d7da302ac405041b Mon Sep 17 00:00:00 2001 From: huchang Date: Wed, 10 Jul 2024 18:40:14 +0800 Subject: [PATCH 234/359] support for mic blocked in audio Signed-off-by: huchang Change-Id: I255c5c691babee2dcf0ef68dacacdb092bec5a09 --- .../native_audio_routing_manager.h | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h index 153d37d39..af16c23bc 100644 --- a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h +++ b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h @@ -237,6 +237,39 @@ OH_AudioCommon_Result OH_AudioRoutingManager_UnregisterDeviceChangeCallback( OH_AudioCommon_Result OH_AudioRoutingManager_ReleaseDevices( OH_AudioRoutingManager *audioRoutingManager, OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray); + +/** + * @brief This function pointer will point to the callback function that is used to return the microphones that + * are blocked. + * @param audioDeviceDescriptorArray The {@link OH_AudioDeviceDescriptorArray} + * pointer variable which will be set the audio device descriptors value. + * Do not release the audioDeviceDescriptorArray pointer separately instead of calling + * {@link OH_AudioRoutingManager_ReleaseDevices} to release the DeviceDescriptor array when it is no use anymore. + * @param userData User data which is passed by user. + * @since 12 + */ +typedef void (*OH_AudioRoutingManager_OnMicrophoneBlockedCallback)( + OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray, + void *userData); + +/** + * @brief Set the micophone blocked callback. + * @param audioRoutingManager The {@link OH_AudioRoutingManager} handle returned by + * {@link OH_AudioManager_GetAudioRoutingManager}. + * @param callback The function pointer will point to the callback function that is used to return the microphones that + * are blocked. + * @param userData User data which is passed by user. + * @return Function result code: + * {@link AUDIOCOMMON_RESULT_SUCCESS} If the execution is successful. + * {@link AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM}: + * 1.The param of audioRoutingManager is nullptr; + * 2.The param of callback is nullptr. + * @since 12 + */ +OH_AudioCommon_Result OH_AudioRoutingManager_SetMicrophoneBlockedCallback( + OH_AudioRoutingManager *audioRoutingManager, + OH_AudioRoutingManager_OnMicrophoneBlockedCallback callback, + void *userData); #ifdef __cplusplus } #endif -- Gitee From 2dfbbe86bdd47b50cb26da9cfe3a98fdfc662f79 Mon Sep 17 00:00:00 2001 From: huchang Date: Thu, 18 Jul 2024 09:41:20 +0800 Subject: [PATCH 235/359] add micblocked json Signed-off-by: huchang Change-Id: Ida090f4484c431699123229fab15e9c7ba12cf24 --- .../audio_manager/native_audio_routing_manager.h | 4 ++-- multimedia/audio_framework/ohaudio.ndk.json | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h index af16c23bc..2e19d9f26 100644 --- a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h +++ b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h @@ -246,7 +246,7 @@ OH_AudioCommon_Result OH_AudioRoutingManager_ReleaseDevices( * Do not release the audioDeviceDescriptorArray pointer separately instead of calling * {@link OH_AudioRoutingManager_ReleaseDevices} to release the DeviceDescriptor array when it is no use anymore. * @param userData User data which is passed by user. - * @since 12 + * @since 13 */ typedef void (*OH_AudioRoutingManager_OnMicrophoneBlockedCallback)( OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray, @@ -264,7 +264,7 @@ typedef void (*OH_AudioRoutingManager_OnMicrophoneBlockedCallback)( * {@link AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM}: * 1.The param of audioRoutingManager is nullptr; * 2.The param of callback is nullptr. - * @since 12 + * @since 13 */ OH_AudioCommon_Result OH_AudioRoutingManager_SetMicrophoneBlockedCallback( OH_AudioRoutingManager *audioRoutingManager, diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index 06d09d6f0..6b1328f5a 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -370,5 +370,9 @@ { "first_introduced": "12", "name":"OH_AudioRenderer_SetDefaultOutputDevice" + }, + { + "first_introduced": "13", + "name": "OH_AudioRoutingManager_SetMicrophoneBlockedCallback" } ] -- Gitee From ae38849bdeb448b214cc068be35f4916bfb04136 Mon Sep 17 00:00:00 2001 From: HYH Date: Wed, 4 Sep 2024 16:30:49 +0800 Subject: [PATCH 236/359] dah Signed-off-by: HYH --- multimodalinput/kits/c/input/oh_input_manager.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 9d8243301..3e23ca4b8 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -214,6 +214,8 @@ typedef struct Input_AxisEvent Input_AxisEvent; * @since 12 */ typedef enum Input_Result { + /** Hotkey has been registered */ + INPUT_HOTKEY_ERROR_COMBINATION_KEY = -2, /** @error Success return code on success*/ INPUT_SUCCESS = 0, /** @error Permission verification failed */ -- Gitee From 9373646806d93fb4c4d8eeb0118da72aac345804 Mon Sep 17 00:00:00 2001 From: HYH Date: Wed, 4 Sep 2024 16:37:35 +0800 Subject: [PATCH 237/359] dada Signed-off-by: HYH --- multimodalinput/kits/c/input/oh_input_manager.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 3e23ca4b8..af29b4abe 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -215,7 +215,7 @@ typedef struct Input_AxisEvent Input_AxisEvent; */ typedef enum Input_Result { /** Hotkey has been registered */ - INPUT_HOTKEY_ERROR_COMBINATION_KEY = -2, + INPUT_HOTKEY_ALREADY_REGISTER = -2, /** @error Success return code on success*/ INPUT_SUCCESS = 0, /** @error Permission verification failed */ -- Gitee From bf1845316e3869c1639f4dd1677c64731b8c77fe Mon Sep 17 00:00:00 2001 From: shenshiyi2 Date: Mon, 2 Sep 2024 20:45:15 +0800 Subject: [PATCH 238/359] =?UTF-8?q?pixelmap=20native=E5=B1=82=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=93=8D=E4=BD=9Ccolorspace?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: shenshiyi2 --- .../include/image/pixelmap_native.h | 35 +++++++++++++++++++ .../include/image_mdk_common.h | 6 ++-- .../include/image_pixel_map_mdk.h | 4 +-- .../include/image_source_mdk.h | 6 ++-- .../image_framework/libpixelmap.ndk.json | 8 +++++ 5 files changed, 51 insertions(+), 8 deletions(-) diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index 0e5956cfe..ec7dfd496 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -62,6 +62,13 @@ typedef struct OH_PixelmapNative OH_PixelmapNative; struct OH_NativeBuffer; typedef struct OH_NativeBuffer OH_NativeBuffer; +/** + * @brief Define a native ColorSpaceManager type, used for retrieving a native ColorSpaceManager. + * + * @since 13 + */ +typedef struct OH_NativeColorSpaceManager OH_NativeColorSpaceManager; + /** * @brief Define a pixelmap alpha type. * @@ -834,6 +841,34 @@ Image_ErrorCode OH_PixelmapNative_SetMetadata(OH_PixelmapNative *pixelmap, OH_Pi */ Image_ErrorCode OH_PixelmapNative_GetNativeBuffer(OH_PixelmapNative *pixelmap, OH_NativeBuffer **nativeBuffer); +/** + * @brief Get the native colorspace from the PixelMap. + * + * @param pixelmap The native pixelmap to get the native colorspace from. + * @param colorSpaceNative The native colorspace to retrieve. + * @return Function result code: + * {@link IMAGE_SUCCESS} If the execution is successful. + * {@link IMAGE_BAD_PARAMETER} The param of pixelmap or colorSpaceNative is nullptr or invalid. + * @see OH_PixelmapNative + * @since 13 + */ +Image_ErrorCode OH_PixelmapNative_GetColorSpaceNative(OH_PixelmapNative *pixelmap, + OH_NativeColorSpaceManager **colorSpaceNative); + +/** + * @brief Set the native colorspace for the PixelMap. + * + * @param pixelmap The native pixelmap to set the native colorspace for. + * @param colorSpaceNative The native colorspace to set. + * @return Function result code: + * {@link IMAGE_SUCCESS} If the execution is successful. + * {@link IMAGE_BAD_PARAMETER} The param of pixelmap or colorSpaceNative is nullptr or invalid. + * @see OH_PixelmapNative + * @since 13 + */ +Image_ErrorCode OH_PixelmapNative_SetColorSpaceNative(OH_PixelmapNative *pixelmap, + OH_NativeColorSpaceManager *colorSpaceNative); + #ifdef __cplusplus }; #endif diff --git a/multimedia/image_framework/include/image_mdk_common.h b/multimedia/image_framework/include/image_mdk_common.h index 5b89d31d3..2ed208982 100644 --- a/multimedia/image_framework/include/image_mdk_common.h +++ b/multimedia/image_framework/include/image_mdk_common.h @@ -52,7 +52,7 @@ typedef enum { IMAGE_RESULT_SUCCESS = 0, // Operation success IMAGE_RESULT_BAD_PARAMETER = -1, // Invalid parameter IMAGE_RESULT_IMAGE_RESULT_BASE = IMAGE_RESULT_BASE, // Operation failed - IMAGE_RESULT_ERR_IPC = IMAGE_RESULT_BASE + 1, // IPC error. + IMAGE_RESULT_ERR_IPC = IMAGE_RESULT_BASE + 1, // ipc error IMAGE_RESULT_ERR_SHAMEM_NOT_EXIST = IMAGE_RESULT_BASE + 2, // sharememory error IMAGE_RESULT_ERR_SHAMEM_DATA_ABNORMAL = IMAGE_RESULT_BASE + 3, // sharememory data abnormal IMAGE_RESULT_DECODE_ABNORMAL = IMAGE_RESULT_BASE + 4, // image decode error @@ -129,8 +129,8 @@ typedef enum { IMAGE_RESULT_MEDIA_DENCODE_ICC_FAILED = IMAGE_RESULT_BASE + 75, // image dencode ICC fail IMAGE_RESULT_MEDIA_ENCODE_ICC_FAILED = IMAGE_RESULT_BASE + 76, // image encode ICC fail - IMAGE_RESULT_MEDIA_READ_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 150, // Failed to read the pixel map. - IMAGE_RESULT_MEDIA_WRITE_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 151, // Failed to write the pixel map. + IMAGE_RESULT_MEDIA_READ_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 150, // read pixelmap failed + IMAGE_RESULT_MEDIA_WRITE_PIXELMAP_FAILED = IMAGE_RESULT_BASE + 151, // write pixelmap failed IMAGE_RESULT_MEDIA_PIXELMAP_NOT_ALLOW_MODIFY = IMAGE_RESULT_BASE + 152, // pixelmap not allow modify IMAGE_RESULT_MEDIA_CONFIG_FAILED = IMAGE_RESULT_BASE + 153, // config error IMAGE_RESULT_JNI_ENV_ABNORMAL = IMAGE_RESULT_BASE + 154, // Abnormal JNI environment diff --git a/multimedia/image_framework/include/image_pixel_map_mdk.h b/multimedia/image_framework/include/image_pixel_map_mdk.h index 53105e9f4..b05dc9ca7 100644 --- a/multimedia/image_framework/include/image_pixel_map_mdk.h +++ b/multimedia/image_framework/include/image_pixel_map_mdk.h @@ -197,7 +197,7 @@ struct OhosPixelMapCreateOps { * returns {@link IRNdkErrCode} IMAGE_RESULT_ENCODE_FAILED - if image add pixel map fail. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_UNSUPPORT - if image hardware decode unsupported. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_FAILED - if hard decode failed. - * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if IPC error. + * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if ipc error. * returns {@link IRNdkErrCode} IMAGE_RESULT_INDEX_INVALID - if invalid index. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALPHA_TYPE_ERROR - if hard decode failed. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALLOCATER_TYPE_ERROR - if hard decode failed. @@ -264,7 +264,7 @@ int32_t OH_PixelMap_CreatePixelMapWithStride(napi_env env, OhosPixelMapCreateOps * returns {@link IRNdkErrCode} IMAGE_RESULT_ENCODE_FAILED - if image add pixel map fail. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_UNSUPPORT - if image hardware decode unsupported. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_FAILED - if hard decode failed. - * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if IPC error. + * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if ipc error. * returns {@link IRNdkErrCode} IMAGE_RESULT_INDEX_INVALID - if invalid index. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALPHA_TYPE_ERROR - if hard decode failed. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALLOCATER_TYPE_ERROR - if hard decode failed. diff --git a/multimedia/image_framework/include/image_source_mdk.h b/multimedia/image_framework/include/image_source_mdk.h index f51f27dd8..ae7cadf4d 100644 --- a/multimedia/image_framework/include/image_source_mdk.h +++ b/multimedia/image_framework/include/image_source_mdk.h @@ -668,7 +668,7 @@ ImageSourceNative* OH_ImageSource_InitNative(napi_env env, napi_value source); * returns {@link IRNdkErrCode} IMAGE_RESULT_ENCODE_FAILED - if image add pixel map fail. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_UNSUPPORT - if image hardware decode unsupported. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_FAILED - if hard decode failed. - * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if IPC error. + * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if ipc error. * returns {@link IRNdkErrCode} IMAGE_RESULT_INDEX_INVALID - if invalid index. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALPHA_TYPE_ERROR - if hard decode failed. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALLOCATER_TYPE_ERROR - if hard decode failed. @@ -714,7 +714,7 @@ int32_t OH_ImageSource_CreatePixelMap(const ImageSourceNative* native, * returns {@link IRNdkErrCode} IMAGE_RESULT_ENCODE_FAILED - if image add pixel map fail. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_UNSUPPORT - if image hardware decode unsupported. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_FAILED - if hard decode failed. - * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if IPC error. + * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if ipc error. * returns {@link IRNdkErrCode} IMAGE_RESULT_INDEX_INVALID - if invalid index. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALPHA_TYPE_ERROR - if hard decode failed. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALLOCATER_TYPE_ERROR - if hard decode failed. @@ -928,7 +928,7 @@ int32_t OH_ImageSource_ModifyImageProperty(const ImageSourceNative* native, * returns {@link IRNdkErrCode} IMAGE_RESULT_ENCODE_FAILED - image add pixel map fail. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_UNSUPPORT - if image hardware decode unsupported. * returns {@link IRNdkErrCode} IMAGE_RESULT_HW_DECODE_FAILED - if hard decode failed. - * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if IPC error. + * returns {@link IRNdkErrCode} IMAGE_RESULT_ERR_IPC - if ipc error. * returns {@link IRNdkErrCode} IMAGE_RESULT_INDEX_INVALID - if invalid index. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALPHA_TYPE_ERROR - if hard decode failed. * returns {@link IRNdkErrCode} IMAGE_RESULT_ALLOCATER_TYPE_ERROR - if hard decode failed. diff --git a/multimedia/image_framework/libpixelmap.ndk.json b/multimedia/image_framework/libpixelmap.ndk.json index 78c1a0235..a70c33369 100644 --- a/multimedia/image_framework/libpixelmap.ndk.json +++ b/multimedia/image_framework/libpixelmap.ndk.json @@ -159,6 +159,14 @@ "first_introduced": "12", "name": "OH_PixelmapNative_GetNativeBuffer" }, + { + "first_introduced": "13", + "name": "OH_PixelmapNative_GetColorSpaceNative" + }, + { + "first_introduced": "13", + "name": "OH_PixelmapNative_SetColorSpaceNative" + }, { "first_introduced": "12", "name": "OH_PixelmapNative_ConvertPixelmapNativeToNapi" -- Gitee From e7ce80f760aea2d41e850f294d169db1281c9a7c Mon Sep 17 00:00:00 2001 From: zheng_zhi_hao Date: Wed, 4 Sep 2024 13:17:27 +0800 Subject: [PATCH 239/359] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zheng_zhi_hao --- BasicServicesKit/ohprint.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/BasicServicesKit/ohprint.h b/BasicServicesKit/ohprint.h index 32fa197f1..66b71c05b 100644 --- a/BasicServicesKit/ohprint.h +++ b/BasicServicesKit/ohprint.h @@ -491,7 +491,7 @@ typedef struct { /** * @brief Write files result callback. * - * @param joibId The print job id of one print task. + * @param jobId The print job id of one print task. * @param code The result of write files. * @since 13 */ @@ -772,7 +772,7 @@ Print_ErrorCode OH_Print_UpdatePrinterProperties(const char *printerId, const Pr Print_ErrorCode OH_Print_RestorePrinterProperties(const char *printerId, const Print_StringList *propertyKeyList); /** - * @brief This API restores printer properties to default settings based on the list of property keywords. + * @brief This API provide capacity to start print dialog. * * @permission {@code ohos.permission.PRINT} * @param printJobName The name of this print job. -- Gitee From 8df533a26edff16ae86f712dae984d14a880a315 Mon Sep 17 00:00:00 2001 From: HYH Date: Thu, 5 Sep 2024 11:34:13 +0800 Subject: [PATCH 240/359] dad Signed-off-by: HYH --- multimodalinput/kits/c/input/oh_input_manager.h | 9 +++++---- multimodalinput/kits/c/ohinput.ndk.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index af29b4abe..7b0f34c95 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -214,8 +214,6 @@ typedef struct Input_AxisEvent Input_AxisEvent; * @since 12 */ typedef enum Input_Result { - /** Hotkey has been registered */ - INPUT_HOTKEY_ALREADY_REGISTER = -2, /** @error Success return code on success*/ INPUT_SUCCESS = 0, /** @error Permission verification failed */ @@ -227,7 +225,9 @@ typedef enum Input_Result { /** @error Service error */ INPUT_SERVICE_EXCEPTION = 3800001, /** @error Interceptor repeatedly created for an application */ - INPUT_REPEAT_INTERCEPTOR = 4200001 + INPUT_REPEAT_INTERCEPTOR = 4200001, + /** @error Hotkey has been preempted subscription */ + INPUT_HOTKEY_ALREADY_REGISTER = 4200002, } Input_Result; /** @@ -1362,7 +1362,8 @@ Input_Result OH_Input_GetRepeat(const Input_Hotkey* hotkey, bool *isRepeat); * @return OH_Input_AddHotkeyMonitor status code, specifically, * {@link INPUT_SUCCESS} if the operation is successful;\n * {@link INPUT_PARAMETER_ERROR} if hotkey or callback is NULL;\n - * {@link INPUT_HOTKEY_ALREADY_REGISTER} if the service is abnormal probably + * {@link INPUT_HOTKEY_ALREADY_REGISTER} if hotkey has been preempted subscription;\n + * {@link INPUT_REPEAT_INTERCEPTOR} if the service is abnormal probably * because subscription to shortcut key events has been enabled.\n * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 diff --git a/multimodalinput/kits/c/ohinput.ndk.json b/multimodalinput/kits/c/ohinput.ndk.json index ac5694b14..128f479e5 100644 --- a/multimodalinput/kits/c/ohinput.ndk.json +++ b/multimodalinput/kits/c/ohinput.ndk.json @@ -369,6 +369,6 @@ }, { "first_introduced": "13", - "name": "OH_Input_IsRepeat" + "name": "OH_Input_GetRepeat" } ] \ No newline at end of file -- Gitee From ddd5fe98640eaa735714d5280d276a4bca842390 Mon Sep 17 00:00:00 2001 From: HYH Date: Thu, 5 Sep 2024 12:22:19 +0800 Subject: [PATCH 241/359] das Signed-off-by: HYH --- multimodalinput/kits/c/input/oh_input_manager.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 7b0f34c95..e139e0b7c 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -226,7 +226,7 @@ typedef enum Input_Result { INPUT_SERVICE_EXCEPTION = 3800001, /** @error Interceptor repeatedly created for an application */ INPUT_REPEAT_INTERCEPTOR = 4200001, - /** @error Hotkey has been preempted subscription */ + /** @error Subscription has been enabled */ INPUT_HOTKEY_ALREADY_REGISTER = 4200002, } Input_Result; @@ -1362,9 +1362,9 @@ Input_Result OH_Input_GetRepeat(const Input_Hotkey* hotkey, bool *isRepeat); * @return OH_Input_AddHotkeyMonitor status code, specifically, * {@link INPUT_SUCCESS} if the operation is successful;\n * {@link INPUT_PARAMETER_ERROR} if hotkey or callback is NULL;\n - * {@link INPUT_HOTKEY_ALREADY_REGISTER} if hotkey has been preempted subscription;\n - * {@link INPUT_REPEAT_INTERCEPTOR} if the service is abnormal probably - * because subscription to shortcut key events has been enabled.\n + * {@link INPUT_HOTKEY_ALREADY_REGISTER} Subscription has been enabled;\n + * {@link INPUT_REPEAT_INTERCEPTOR} The shortcut key has been occupied. + * You can use {@link getAllSystemHotkeys} to query all system shortcut keys.\n * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -- Gitee From 61aca5d5c5cea9a1a313dc799c141585f2ca5ee4 Mon Sep 17 00:00:00 2001 From: hellohyh001 Date: Thu, 5 Sep 2024 09:49:38 +0000 Subject: [PATCH 242/359] capi configuration Signed-off-by: hellohyh001 Change-Id: I96673d200d8bab7b9e19713cb3a44cab7b2cb445 --- multimodalinput/kits/c/ohinput.ndk.json | 60 +++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/multimodalinput/kits/c/ohinput.ndk.json b/multimodalinput/kits/c/ohinput.ndk.json index 60da3d2a8..dd6878ec3 100644 --- a/multimodalinput/kits/c/ohinput.ndk.json +++ b/multimodalinput/kits/c/ohinput.ndk.json @@ -354,5 +354,65 @@ { "first_introduced": "13", "name": "OH_Input_GetFinalKey" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetDeviceIds" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetDevice" + }, + { + "first_introduced": "13", + "name": "OH_Input_CreateDeviceInfo" + }, + { + "first_introduced": "13", + "name": "OH_Input_DestroyDeviceInfo" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetKeyboardType" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetDeviceId" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetDeviceName" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetCapabilities" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetDeviceVersion" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetDeviceProduct" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetDeviceVendor" + }, + { + "first_introduced": "13", + "name": "OH_Input_GetDeviceAddress" + }, + { + "first_introduced": "13", + "name": "OH_Input_RegisterDeviceListener" + }, + { + "first_introduced": "13", + "name": "OH_Input_UnregisterDeviceListener" + }, + { + "first_introduced": "13", + "name": "OH_Input_UnregisterDeviceListeners" } ] \ No newline at end of file -- Gitee From c993cae739a810efb74446a1abaf90bea822cf76 Mon Sep 17 00:00:00 2001 From: HYH Date: Thu, 5 Sep 2024 20:03:09 +0800 Subject: [PATCH 243/359] hyb Signed-off-by: HYH --- multimodalinput/kits/c/input/oh_input_manager.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index e139e0b7c..939641642 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -226,8 +226,10 @@ typedef enum Input_Result { INPUT_SERVICE_EXCEPTION = 3800001, /** @error Interceptor repeatedly created for an application */ INPUT_REPEAT_INTERCEPTOR = 4200001, - /** @error Subscription has been enabled */ - INPUT_HOTKEY_ALREADY_REGISTER = 4200002, + /** @error Already occupied by the system */ + INPUT_OCCUPIED_BY_SYSTEM = 4200002, + /** @error Already occupied by the other */ + INPUT_OCCUPIED_BY_OTHER = 4200003, } Input_Result; /** @@ -1362,9 +1364,9 @@ Input_Result OH_Input_GetRepeat(const Input_Hotkey* hotkey, bool *isRepeat); * @return OH_Input_AddHotkeyMonitor status code, specifically, * {@link INPUT_SUCCESS} if the operation is successful;\n * {@link INPUT_PARAMETER_ERROR} if hotkey or callback is NULL;\n - * {@link INPUT_HOTKEY_ALREADY_REGISTER} Subscription has been enabled;\n - * {@link INPUT_REPEAT_INTERCEPTOR} The shortcut key has been occupied. - * You can use {@link getAllSystemHotkeys} to query all system shortcut keys.\n + * {@Link INPUT_OCCUPIED_BY_SYSTEM} The hotkey has been used by the system. You can call the {@Link + * GetAllSystemHotkeys} interface to query all system shortcut keys.\n + * {@Link INPUT_OCCUPIED_BY_OTHER} The hotkey has been subscribed to by another.\n * @syscap SystemCapability.MultimodalInput.Input.Core * @since 13 */ -- Gitee From a8ca035e138d836ad76aaf945f7e6dab9e5dcc5a Mon Sep 17 00:00:00 2001 From: dujingcheng Date: Tue, 3 Sep 2024 13:58:36 +0000 Subject: [PATCH 244/359] add fanyi Signed-off-by: dujingcheng --- arkui/ace_engine/native/libace.ndk.json | 92 +- .../native/native_interface_accessibility.h | 1038 +++++++++-------- .../native/native_interface_xcomponent.h | 11 +- 3 files changed, 626 insertions(+), 515 deletions(-) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index 108067435..c6daa0bf7 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -2149,167 +2149,167 @@ }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoParentId" + "name": "OH_ArkUI_AccessibilityElementInfoSetParentId" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoComponentType" + "name": "OH_ArkUI_AccessibilityElementInfoSetComponentType" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoContents" + "name": "OH_ArkUI_AccessibilityElementInfoSetContents" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoHintText" + "name": "OH_ArkUI_AccessibilityElementInfoSetHintText" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityText" + "name": "OH_ArkUI_AccessibilityElementInfoSetAccessibilityText" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityDescription" + "name": "OH_ArkUI_AccessibilityElementInfoSetAccessibilityDescription" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoChildNodeIds" + "name": "OH_ArkUI_AccessibilityElementInfoSetChildNodeIds" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoOperationActions" + "name": "OH_ArkUI_AccessibilityElementInfoSetOperationActions" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoScreenRect" + "name": "OH_ArkUI_AccessibilityElementInfoSetScreenRect" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoCheckable" + "name": "OH_ArkUI_AccessibilityElementInfoSetCheckable" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoChecked" + "name": "OH_ArkUI_AccessibilityElementInfoSetChecked" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoFocusable" + "name": "OH_ArkUI_AccessibilityElementInfoSetFocusable" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoFocused" + "name": "OH_ArkUI_AccessibilityElementInfoSetFocused" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoVisible" + "name": "OH_ArkUI_AccessibilityElementInfoSetVisible" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityFocused" + "name": "OH_ArkUI_AccessibilityElementInfoSetAccessibilityFocused" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoSelected" + "name": "OH_ArkUI_AccessibilityElementInfoSetSelected" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoClickable" + "name": "OH_ArkUI_AccessibilityElementInfoSetClickable" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoLongClickable" + "name": "OH_ArkUI_AccessibilityElementInfoSetLongClickable" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoEnabled" + "name": "OH_ArkUI_AccessibilityElementInfoSetEnabled" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoIsPassword" + "name": "OH_ArkUI_AccessibilityElementInfoSetIsPassword" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoScrollable" + "name": "OH_ArkUI_AccessibilityElementInfoSetScrollable" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoEditable" + "name": "OH_ArkUI_AccessibilityElementInfoSetEditable" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoIsHint" + "name": "OH_ArkUI_AccessibilityElementInfoSetIsHint" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoRangeInfo" + "name": "OH_ArkUI_AccessibilityElementInfoSetRangeInfo" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoGridInfo" + "name": "OH_ArkUI_AccessibilityElementInfoSetGridInfo" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoGridItemInfo" + "name": "OH_ArkUI_AccessibilityElementInfoSetGridItemInfo" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoTextBeginSelected" + "name": "OH_ArkUI_AccessibilityElementInfoSetSelectedTextStart" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoTextEndSelected" + "name": "OH_ArkUI_AccessibilityElementInfoSetSelectedTextEnd" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoCurrentItemIndex" + "name": "OH_ArkUI_AccessibilityElementInfoSetCurrentItemIndex" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoBeginItemIndex" + "name": "OH_ArkUI_AccessibilityElementInfoSetStartItemIndex" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoEndItemIndex" + "name": "OH_ArkUI_AccessibilityElementInfoSetEndItemIndex" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoItemCount" + "name": "OH_ArkUI_AccessibilityElementInfoSetItemCount" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityOffset" + "name": "OH_ArkUI_AccessibilityElementInfoSetAccessibilityOffset" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityGroup" + "name": "OH_ArkUI_AccessibilityElementInfoSetAccessibilityGroup" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityLevel" + "name": "OH_ArkUI_AccessibilityElementInfoSetAccessibilityLevel" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoZIndex" + "name": "OH_ArkUI_AccessibilityElementInfoSetZIndex" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoAccessibilityOpacity" + "name": "OH_ArkUI_AccessibilityElementInfoSetAccessibilityOpacity" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoBackgroundColor" + "name": "OH_ArkUI_AccessibilityElementInfoSetBackgroundColor" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoBackgroundImage" + "name": "OH_ArkUI_AccessibilityElementInfoSetBackgroundImage" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoBlur" + "name": "OH_ArkUI_AccessibilityElementInfoSetBlur" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoHitTestBehavior" + "name": "OH_ArkUI_AccessibilityElementInfoSetHitTestBehavior" }, { "first_introduced": "13", @@ -2321,19 +2321,19 @@ }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityEventEventType" + "name": "OH_ArkUI_AccessibilityEventSetEventType" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityEventTextAnnouncedForAccessibility" + "name": "OH_ArkUI_AccessibilityEventSetTextAnnouncedForAccessibility" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityEventRequestFocusId" + "name": "OH_ArkUI_AccessibilityEventSetRequestFocusId" }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityEventElementInfo" + "name": "OH_ArkUI_AccessibilityEventSetElementInfo" }, { "first_introduced": "13", @@ -2353,6 +2353,6 @@ }, { "first_introduced": "13", - "name": "OH_ArkUI_SetAccessibilityElementInfoElementId" + "name": "OH_ArkUI_AccessibilityElementInfoSetElementId" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/native_interface_accessibility.h b/arkui/ace_engine/native/native_interface_accessibility.h index 3c0aafba1..4150edcec 100644 --- a/arkui/ace_engine/native/native_interface_accessibility.h +++ b/arkui/ace_engine/native/native_interface_accessibility.h @@ -14,22 +14,22 @@ */ /** - * @addtogroup ArkUI_AccessibilityProvider + * @addtogroup ArkUI_Accessibility * @{ * - * @brief + * @brief Describes the native capabilities supported by ArkUI Accessibility, such as querying accessibility nodes and + * reporting accessibility events. * * @since 13 - * @version 1.0 */ /** * @file native_interface_accessibility.h * - * @brief - * + * @brief Declares the APIs used to access the native Accessibility. + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @kit ArkUI * @since 13 - * @version 1.0 */ #ifndef _NATIVE_INTERFACE_ACCESSIBILITY_H #define _NATIVE_INTERFACE_ACCESSIBILITY_H @@ -41,878 +41,988 @@ extern "C"{ #endif /** - * @brief Provides an encapsulated ArkUI_AccessibilityElementInfo instance. + * @brief Defines a struct for accessibility element information. * * @since 13 */ typedef struct ArkUI_AccessibilityElementInfo ArkUI_AccessibilityElementInfo; /** - * @brief Defines the accessibility event info. + * @brief Defines a struct for accessibility event information. * * @since 13 */ typedef struct ArkUI_AccessibilityEventInfo ArkUI_AccessibilityEventInfo; /** - * @brief Definesthe accessibility native provider. + * @brief Defines a struct for the local provider of accessibility. * * @since 13 */ typedef struct ArkUI_AccessibilityProvider ArkUI_AccessibilityProvider; /** - * @brief Provides an encapsulated OH_NativeAccessibilityDictionary instance, Implement the function of cpp dictionary. + * @brief Defines a struct for accessibility action arguments. * * @since 13 - * @version 1.0 */ -typedef struct ArkUI_AccessibilityActionArguments ArkUI_AccessibilityActionArguments; +typedef struct ArkUI_AccessibilityActionArguments ArkUI_AccessibilityActionArguments; /** - * @brief Enumerates the API accessibility actions. + * @brief Defines an enum for accessibility action types. * * @since 13 - * @version 1.0 */ typedef enum { - /** Invalid */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_INVALID = 0, - /** After receiving the event, the component needs to respond to the click. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_CLICK = 0x00000010, - /** After receiving the event, the component needs to respond to the long click. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_LONG_CLICK = 0x00000020, - /** Indicates the operation of obtaining the accessibility focus. The specific component is focused */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_ACCESSIBILITY_FOCUS = 0x00000040, - /** Indicates the operation of clearing the accessibility focus. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080, - /** The scrolling component responds to forward scrolling action. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_SCROLL_FORWARD = 0x00000100, - /** The scrolling component responds to backwrad scrolling action. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_SCROLL_BACKWARD = 0x00000200, - /** Coping the selected content for the text component. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_COPY = 0x00000400, - /** Paste the selected content for the text component. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_PASTE = 0x00000800, - /** Cut the selected content for the text component. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_CUT = 0x00001000, - /** Indicates the selection operation. The selectTextBegin, selectTextEnd, and selectTextInForWard parameters need to be set. Select a text segment in the edit box. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_SET_SELECTION = 0x00002000, - /** Set the text Content for the text component. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_SET_TEXT = 0x00004000, - /** Set the cursor position for the text component. */ - ARKUI_NATIVE_ACCESSIBILITY_ACTION_SET_CURSOR_POSITION = 0x00100000, + /** Invalid action. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_INVALID = 0, + /** Response to a click. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CLICK = 0x00000010, + /** Response to a long click. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_LONG_CLICK = 0x00000020, + /** Accessibility focus acquisition. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_GAIN_ACCESSIBILITY_FOCUS = 0x00000040, + /** Accessibility focus clearance. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CLEAR_ACCESSIBILITY_FOCUS = 0x00000080, + /** Forward scroll action. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SCROLL_FORWARD = 0x00000100, + /** Backward scroll action. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SCROLL_BACKWARD = 0x00000200, + /** Copy action for text content. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_COPY = 0x00000400, + /** Paste action for text content. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_PASTE = 0x00000800, + /** Cut action for text content. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_CUT = 0x00001000, + /** Text selection action, requiring the setting of selectTextBegin, TextEnd, and TextInForward + * parameters to select a text segment in the text box. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SELECT_TEXT = 0x00002000, + /** Text content setting action. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_TEXT = 0x00004000, + /** Cursor position setting action. */ + ARKUI_ACCESSIBILITY_NATIVE_ACTION_TYPE_SET_CURSOR_POSITION = 0x00100000, } ArkUI_Accessibility_ActionType; /** - * @brief Enumerates the API accessibility event types. + * @brief Defines an enum for accessibility event types. * * @since 13 - * @version 1.0 */ typedef enum { - /** Invalid */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_INVALID = 0, - /** Clicked event, which is sent after the UI component responds. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_CLICKED_EVENT = 0x00000001, - /** Long-Clicked event, which is sent after the UI component responds. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_LONG_CLICKED_EVENT = 0x00000002, - /** Selected event, which is sent after the UI component responds. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_SELECTED_EVENT = 0x00000004, - /** Text update event, needs to be send when the text is updated. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_TEXT_UPDATE_EVENT = 0x00000010, - /** Page update event, which is sent when the page jumps, switchs, changes in size, or moves. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_PAGE_STATE_UPDATE = 0x00000020, - /** Content update event, which is sent when the page content changes. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_PAGE_CONTENT_UPDATE = 0x00000800, - /** scrolled event, this event is send when a scrolling event occurs on a component that can be scrolled. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_SCROLLED_EVENT = 0x000001000, - /** Accessibility focus event, which is send after the UI component responds. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_ACCESSIBILITY_FOCUSED_EVENT = 0x00008000, - /** Accessibility focus clear event, which is send after the UI component responds. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED_EVENT = 0x00010000, - /** Request focus for accessibility event, proactively reqeust to focus on a specified node. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_REQUEST_FOCUS_FOR_ACCESSIBILITY = 0x02000000, - /** Page open event. the event is reported when the UI component */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_PAGE_OPEN = 0x20000000, - /** Page close event. the event is reported when the UI component */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_PAGE_CLOSE = 0x08000000, - /** Announce for accessibility event, requesting to actively play the specified content event. */ - ARKUI_NATIVE_ACCESSIBILITY_TYPE_VIEW_ANNOUNCE_FOR_ACCESSIBILITY = 0x10000000, + /** Invalid event. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_INVALID = 0, + /** Click event, sent after the UI component responds. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_CLICKED = 0x00000001, + /** Long click event, sent after the UI component responds. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_LONG_CLICKED = 0x00000002, + /** Selection event, sent after the UI component responds. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_SELECTED = 0x00000004, + /** Text update event, sent when text is updated. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_TEXT_UPDATE = 0x00000010, + /** Page state update event, sent when the page transitions, switches, resizes, or moves. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_STATE_UPDATE = 0x00000020, + /** Page content update event, sent when the page content changes. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_CONTENT_UPDATE = 0x00000800, + /** Scrolled event, sent when a scrollable component experiences a scroll event. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_SCROLLED = 0x000001000, + /** Accessibility focus event, sent after the UI component responds. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ACCESSIBILITY_FOCUSED = 0x00008000, + /** Accessibility focus cleared event, sent after the UI component responds. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ACCESSIBILITY_FOCUS_CLEARED = 0x00010000, + /** FOcus request for a specific node. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_REQUEST_ACCESSIBILITY_FOCUS = 0x02000000, + /** Page open event reported by the UI component. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_OPEN = 0x20000000, + /** Page close event reported by the UI component. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_PAGE_CLOSE = 0x08000000, + /** Announcement event, indicating a request to proactively announce specified content. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_ANNOUNCE_FOR_ACCESSIBILITY = 0x10000000, + /** Focus update event, used for focus update scenarios. */ + ARKUI_ACCESSIBILITY_NATIVE_EVENT_TYPE_FOCUS_NODE_UPDATE = 0x10000001, } ArkUI_AccessibilityEventType; /** - * @brief Defines the accessible of action + * @brief Defines a struct for the accessible action. * * @since 13 - * @version 1.0 */ typedef struct { - /** action type. */ + /** Action type. */ ArkUI_Accessibility_ActionType actionType; - /** the description message of action. */ + /** Action description. */ const char* description; } ArkUI_AccessibleAction; /** - * @brief Defines the accessible of rect. + * @brief Defines a struct for the accessible rectangle. * * @since 13 - * @version 1.0 */ typedef struct { - /** the left top x pixel corrdinates. */ + /** X coordinate of the upper left corner. */ int32_t leftTopX; - /** the left top y pixel corrdinates. */ + /** Y coordinate of the upper left corner. */ int32_t leftTopY; - /** the right bottom x pixel corrdinates. */ + /** X coordinate of the lower right corner. */ int32_t rightBottomX; - /** the right bottom y pixel corrdinates. */ + /** Y coordinate of the lower right corner. */ int32_t rightBottomY; } ArkUI_AccessibleRect; /** - * @brief Defines the accessible of range info. + * @brief Define a struct for the accessible range information. * * @since 13 - * @version 1.0 */ typedef struct { - /** the min value. */ + /** Minimum value. */ double min; - /** the max value. */ + /** Maximum value. */ double max; - /** the current value. */ + /** Current value. */ double current; } ArkUI_AccessibleRangeInfo; /** - * @brief Defines the accessible of grid info. + * @brief Defines a struct for the accessible grid information. * * @since 13 - * @version 1.0 */ typedef struct { - /** The number of row. */ + /** Number of rows. */ int32_t rowCount; - /** The number of column. */ + /** Number of columns. */ int32_t columnCount; - /** 0: select one line only, otherwise select multilines. */ + /** Selection mode. The value 0 indicates that only one row can be selected. */ int32_t selectionMode; } ArkUI_AccessibleGridInfo; /** - * @brief Defines the accessible of grid item info. + * @brief Defines a struct for the accessible grid item information. * * @since 13 - * @version 1.0 */ typedef struct { - /** true: The item isHeading, otherwise is not */ + /** Whether it is a header. */ bool heading; - /** true: The item selected, otherwise is not */ + /** Whether it is selected. */ bool selected; - /** the index of column */ + /** Column index. */ int32_t columnIndex; - /** the index of row */ + /** Row index. */ int32_t rowIndex; - /** the column spanned */ + /** Column span. */ int32_t columnSpan; - /** the row spanned */ + /** Row span. */ int32_t rowSpan; } ArkUI_AccessibleGridItemInfo; /** - * @brief Enumerates the API accessibility ErrorCode states. + * @brief Enumerates the accessibility error codes. * * @since 13 - * @version 1.0 */ -enum AcessbilityErrorCode{ - /** Successful. */ - OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS = 0, - /** Failed. */ - OH_ARKUI_ACCESSIBILITY_RESULT_FAILED = -1, - /** Invalid parameters. */ - OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER = -2, - /** Out of memory. */ - OH_ARKUI_ACCESSIBILITY_RESULT_OUT_OF_MEMORY = -3, -} ; - -/** - * @brief Enumerates the API accessibility search mode. +typedef enum { + /** + * @error Success. + */ + ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL = 0, + /** + * @error Failure. + */ + ARKUI_ACCESSIBILITY_NATIVE_RESULT_FAILED = -1, + /** + * @error Invalid parameter. + */ + ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER = -2, + /** + * @error Out of memory. + */ + ARKUI_ACCESSIBILITY_NATIVE_RESULT_OUT_OF_MEMORY = -3, +} ArkUI_AcessbilityErrorCode; + +/** + * @brief Defines an enum for the accessibility search modes. * * @since 13 - * @version 1.0 */ typedef enum { - /** predecessors */ - NATIVE_SEARCH_MODE_PREFETCH_PREDECESSORS = 1 << 0, - /** slbings */ - NATIVE_SEARCH_MODE_PREFETCH_SIBLINGS = 1 << 1, - /** children */ - NATIVE_SEARCH_MODE_PREFETCH_CHILDREN = 1 << 2, - /** recusive children */ - NATIVE_SEARCH_MODE_PREFETCH_RECURSIVE_CHILDREN = 1 << 3, + /** Search for current nodes. */ + ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_CURRENT = 0, + /** Search for parent nodes. */ + ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_PREDECESSORS = 1 << 0, + /** Search for sibling nodes. */ + ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_SIBLINGS = 1 << 1, + /** Search for child nodes at the next level. */ + ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_CHILDREN = 1 << 2, + /** Search for all child nodes. */ + ARKUI_ACCESSIBILITY_NATIVE_SEARCH_MODE_PREFETCH_RECURSIVE_CHILDREN = 1 << 3, } ArkUI_AccessibilitySearchMode; /** - * @brief Enumerates the API accessibility focus type. + * @brief Defines an enum for the accessibility focus types. * * @since 13 - * @version 1.0 */ typedef enum { - /** Invalid */ - NATIVE_FOCUS_TYPE_INVALID = -1, - /** Input focus type */ - NATIVE_FOCUS_TYPE_INPUT = 1 << 0, - /** Accessibility focus type */ - NATIVE_FOCUS_TYPE_ACCESSIBILITY = 1 << 1, + /** Invalid type. */ + ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_INVALID = -1, + /** Input focus type. */ + ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_INPUT = 1 << 0, + /** Accessibility focus type. */ + ARKUI_ACCESSIBILITY_NATIVE_FOCUS_TYPE_ACCESSIBILITY = 1 << 1, } ArkUI_AccessibilityFocusType; /** - * @brief Enumerates the API accessibility focus move direction. + * @brief Enumerates the directions for moving the accessibility focus. * * @since 13 - * @version 1.0 */ typedef enum { - /** Invalid */ - NATIVE_DIRECTION_INVALID = 0, - /** up direction. */ - NATIVE_DIRECTION_UP = 0x00000001, - /** down direction. */ - NATIVE_DIRECTION_DOWN = 0x00000002, - /** left direction. */ - NATIVE_DIRECTION_LEFT = 0x00000004, - /** right direction. */ - NATIVE_DIRECTION_RIGHT = 0x00000008, - /** forward direction. */ - NATIVE_DIRECTION_FORWARD = 0x00000010, - /** backward direction. */ - NATIVE_DIRECTION_BACKWARD = 0x00000020, + /** Invalid direction. */ + ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_INVALID = 0, + /** Up. */ + ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_UP = 0x00000001, + /** Down. */ + ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_DOWN = 0x00000002, + /** Left. */ + ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_LEFT = 0x00000004, + /** Right. */ + ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_RIGHT = 0x00000008, + /** Forward. */ + ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_FORWARD = 0x00000010, + /** Backward. */ + ARKUI_ACCESSIBILITY_NATIVE_DIRECTION_BACKWARD = 0x00000020, } ArkUI_AccessibilityFocusMoveDirection; /** - * @brief Provides an encapsulated ArkUI_AccessibilityElementInfoList instance. + * @brief Defines a struct for the accessibility element information list. * * @since 13 - * @version 1.0 */ typedef struct ArkUI_AccessibilityElementInfoList ArkUI_AccessibilityElementInfoList; /** - * @brief Registers the accessibility provider callbacks + * @brief Registers callbacks for the accessibility provider. * * @since 13 - * @version 1.0 */ typedef struct ArkUI_AccessibilityProviderCallbacks { - /** Called when need to get element infos based on a specified node. */ - int32_t (*FindAccessibilityNodeInfosById)(int64_t elementId, ArkUI_AccessibilitySearchMode mode, int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList); - /** Called when need to get element infos based on a specified node and text content. */ - int32_t (*FindAccessibilityNodeInfosByText)(int64_t elementId, const char* text, int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList); - /** Called when need to get the focused element info based on a specified node. */ - int32_t (*FindFocusedAccessibilityNode)(int64_t elementId, ArkUI_AccessibilityFocusType focusType, int32_t requestId, ArkUI_AccessibilityElementInfo* elementinfo); - /** Query the node that can be focused based on the reference node. Query the next node that can be focused based on the mode and direction. */ - int32_t (*FindNextFocusAccessibilityNode)(int64_t elementId, ArkUI_AccessibilityFocusMoveDirection direction, int32_t requestId, ArkUI_AccessibilityElementInfo* elementList); - /** Performing the Action operation on a specified node. */ - int32_t (*ExecuteAccessibilityAction)(int64_t elementId, ArkUI_Accessibility_ActionType action, ArkUI_AccessibilityActionArguments *actionArguments, int32_t requestId); - /** Clears the focus status of the currently focused node */ - int32_t (*ClearFocusedFocusAccessibilityNode)(); - /** Queries the current cursor position of a specified node. */ - int32_t (*GetAccessibilityNodeCursorPosition)(int64_t elementId, int32_t requestId, int32_t* index); + /** + * @brief Called to obtain element information based on a specified node. + * + * @param elementId Indicates the element ID. + * @param mode Indicates accessibility search mode. + * @param requestId Indicates the request ID. + * @param elementList Indicates accessibility elementInfo list. + * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. + * Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. + */ + int32_t (*findAccessibilityNodeInfosById)(int64_t elementId, ArkUI_AccessibilitySearchMode mode, + int32_t requestId, ArkUI_AccessibilityElementInfoList* elementList); + /** + * @brief Called to obtain element information based on a specified node and text content. + * + * @param elementId Indicates the element ID. + * @param text Indicates accessibility text. + * @param requestId Indicates the request ID. + * @param elementList Indicates accessibility elementInfo list. + * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. + * Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. + */ + int32_t (*findAccessibilityNodeInfosByText)(int64_t elementId, const char* text, int32_t requestId, + ArkUI_AccessibilityElementInfoList* elementList); + /** + * @brief Called to obtain focused element information based on a specified node. + * + * @param elementId Indicates the element ID. + * @param focusType Indicates focus type. + * @param requestId Indicates the request ID. + * @param elementInfo Indicates accessibility elementInfo. + * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. + * Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. + */ + int32_t (*findFocusedAccessibilityNode)(int64_t elementId, ArkUI_AccessibilityFocusType focusType, + int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo); + /** + * @brief Called to find the next focusable node based on the reference node. + * + * @param elementId Indicates the element ID. + * @param direction Indicates direction. + * @param requestId Indicates the request ID. + * @param elementInfo Indicates accessibility elementInfo. + * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. + * Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. + */ + int32_t (*findNextFocusAccessibilityNode)( + int64_t elementId, ArkUI_AccessibilityFocusMoveDirection direction, + int32_t requestId, ArkUI_AccessibilityElementInfo* elementInfo); + /** + * @brief Called to execute a specified action on a specified node. + * + * @param elementId Indicates the element ID. + * @param action Indicates action. + * @param actionArguments Indicates action arguments. + * @param requestId Indicates the request ID. + * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. + * Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. + */ + int32_t (*executeAccessibilityAction)(int64_t elementId, ArkUI_Accessibility_ActionType action, + ArkUI_AccessibilityActionArguments *actionArguments, int32_t requestId); + /** + * @brief Called to clear the focus state of the current focused node. + * + * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. + * Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_FAILED} if the operation is failed. + */ + int32_t (*clearFocusedFocusAccessibilityNode)(); + /** + * @brief Called to query the current cursor position of the specified node. + * + * @param elementId Indicates the element ID. + * @param requestId Indicates the request ID. + * @param index Indicates index. + * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. + * Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. + */ + int32_t (*getAccessibilityNodeCursorPosition)(int64_t elementId, int32_t requestId, int32_t* index); } ArkUI_AccessibilityProviderCallbacks; /** * @brief Registers a callback for this ArkUI_AccessibilityProvider instance. * - * @param provider Indicates the pointer to this ArkUI_AccessibilityProvider instance. - * @param callbacks Indicates the pointer to a GetAccessibilityNodeCursorPosition callback. - * @return Returns the status code of the execution. + * @param provider Indicates the pointer to the ArkUI_AccessibilityProvider instance. + * @param callbacks Indicates the pointer to the GetAccessibilityNodeCursorPosition callback. + * @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. + * Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 - * @version 1.0 */ int32_t OH_ArkUI_AccessibilityProviderRegisterCallback( - ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityProviderCallbacks* callbacks); + ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityProviderCallbacks* callbacks); /** - * @brief send accessibility event info. - * - * @param provider Indicates the pointer to this ArkUI_AccessibilityProvider instance. - * @param eventInfo Indicates the pointer to the accessibility event info. - * @param callback Indicates the pointer to a SendAccessibilityAsyncEvent callback. - * @return Returns the status code of the execution. + * @brief Sends accessibility event information. + * + * @param provider Indicates the pointer to the ArkUI_AccessibilityProvider instance. + * @param eventInfo Indicates the pointer to the accessibility event information. + * @param callback Indicates the pointer to the callback that is called after the event is sent. * @since 13 - * @version 1.0 - */ + */ void OH_ArkUI_SendAccessibilityAsyncEvent( - ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityEventInfo* eventInfo, void (*callback)(int32_t errorCode)); + ArkUI_AccessibilityProvider* provider, ArkUI_AccessibilityEventInfo* eventInfo, + void (*callback)(int32_t errorCode)); /** - * @brief Adds an element to the list. - * - * @param list Indicates the pointer to the accessibility element list. - * @return Returns the pointer to the accessibility elementInfo. + * @brief Adds and obtains the pointer to an ArkUI_AccessibilityElementInfo object. + * + * @param list Indicates the pointer to an ArkUI_AccessibilityElementInfoList object. + * @return Returns the pointer to the ArkUI_AccessibilityElementInfo object. * @since 13 - * @version 1.0 */ -ArkUI_AccessibilityElementInfo* OH_ArkUI_AddAndGetAccessibilityElementInfo(ArkUI_AccessibilityElementInfoList* list); +ArkUI_AccessibilityElementInfo* OH_ArkUI_AddAndGetAccessibilityElementInfo( + ArkUI_AccessibilityElementInfoList* list); /** -* @brief Sets the element id of the accessibility element information. +* @brief Sets the element ID for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param elementId Indicates the page id. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param elementId Indicates the element ID. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoElementId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t elementId); +int32_t OH_ArkUI_AccessibilityElementInfoSetElementId( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t elementId); /** -* @brief Sets the parent id of the accessibility element information. +* @brief Sets the parent ID for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param parentId Indicates the parent id. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param parentId Indicates the parent ID. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoParentId(ArkUI_AccessibilityElementInfo* elementInfo, int32_t parentId); +int32_t OH_ArkUI_AccessibilityElementInfoSetParentId( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t parentId); /** -* @brief Sets the component type of the accessibility element information. +* @brief Sets the component type for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param componentType Indicates the component type. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoComponentType(ArkUI_AccessibilityElementInfo* elementInfo, const char* componentType); +int32_t OH_ArkUI_AccessibilityElementInfoSetComponentType( + ArkUI_AccessibilityElementInfo* elementInfo, const char* componentType); /** -* @brief Sets the component contents of the accessibility element information. +* @brief Sets the component content for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param contents Indicates the component contents. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param contents Indicates the component content. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoContents(ArkUI_AccessibilityElementInfo* elementInfo, const char* contents); +int32_t OH_ArkUI_AccessibilityElementInfoSetContents( + ArkUI_AccessibilityElementInfo* elementInfo, const char* contents); /** -* @brief Sets the hint text of the accessibility element information. +* @brief Sets the hint text for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param hintText Indicates the hint text. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoHintText(ArkUI_AccessibilityElementInfo* elementInfo, const char* hintText); +int32_t OH_ArkUI_AccessibilityElementInfoSetHintText( + ArkUI_AccessibilityElementInfo* elementInfo, const char* hintText); /** -* @brief Sets the accessibility text of the accessibility element information. +* @brief Sets the accessibility text for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param accessibilityText Indicates the accessibility text. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityText(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityText); +int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityText( + ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityText); /** -* @brief Sets the accessibility description of the accessibility element information. +* @brief Sets the accessibility description for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param accessibilityDescription Indicates the accessibility description. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityDescription(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityDescription); +int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityDescription( + ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityDescription); /** -* @brief Sets the child node ids of the accessibility element information. +* @brief Set the number of child nodes and child node IDs for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param childCount Indicates the child count. -* @param childNodeIds Indicates the child node ids. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param childCount Indicates the number of child nodes. +* @param childNodeIds Indicates an array of child node IDs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoChildNodeIds(ArkUI_AccessibilityElementInfo* elementInfo, int32_t childCount, int64_t* childNodeIds); +int32_t OH_ArkUI_AccessibilityElementInfoSetChildNodeIds( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t childCount, int64_t* childNodeIds); /** -* @brief Sets the child count of the accessibility element information. +* @brief Sets the operation actions for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param operationActions Indicates All actions supported by the element. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param operationCount Indicates the operation count. +* @param operationActions Indicates the operation actions. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoOperationActions(ArkUI_AccessibilityElementInfo* elementInfo, int32_t operationCount, ArkUI_AccessibleAction* operationActions); +int32_t OH_ArkUI_AccessibilityElementInfoSetOperationActions(ArkUI_AccessibilityElementInfo* elementInfo, + int32_t operationCount, ArkUI_AccessibleAction* operationActions); /** -* @brief Sets the screen rect of the accessibility element information. +* @brief Sets the screen area for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param screenRect Indicates screen rect. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param screenRect Indicates the screen area. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoScreenRect(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRect* screenRect); +int32_t OH_ArkUI_AccessibilityElementInfoSetScreenRect( + ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRect* screenRect); /** -* @brief Sets the checkable of the accessibility element information. +* @brief Sets whether the element is checkable for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param checkable Indicates checkable. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param checkable Indicates whether the element is checkable. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoCheckable(ArkUI_AccessibilityElementInfo* elementInfo, bool checkable); +int32_t OH_ArkUI_AccessibilityElementInfoSetCheckable( + ArkUI_AccessibilityElementInfo* elementInfo, bool checkable); /** -* @brief Sets the checked of the accessibility element information. +* @brief Sets whether the element is checked for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param checked Indicates whether the element is checked. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoChecked(ArkUI_AccessibilityElementInfo* elementInfo, bool checked); +int32_t OH_ArkUI_AccessibilityElementInfoSetChecked( + ArkUI_AccessibilityElementInfo* elementInfo, bool checked); /** -* @brief Sets the focusable of the accessibility element information. -* @param elementInfo Indicates the pointer to the accessibility element information. +* @brief Sets whether the element is focusable for an ArkUI_AccessibilityElementInfo object. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param focusable Indicates whether the element is focusable. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoFocusable(ArkUI_AccessibilityElementInfo* elementInfo, bool focusable); +int32_t OH_ArkUI_AccessibilityElementInfoSetFocusable( + ArkUI_AccessibilityElementInfo* elementInfo, bool focusable); /** -* @brief Sets the isFocused of the accessibility element information. +* @brief Sets whether the element is focused for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param isFocused Indicates whether the element is focused. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoFocused(ArkUI_AccessibilityElementInfo* elementInfo, bool isFocused); +int32_t OH_ArkUI_AccessibilityElementInfoSetFocused( + ArkUI_AccessibilityElementInfo* elementInfo, bool isFocused); /** -* @brief Sets the isVisible of the accessibility element information. +* @brief Sets whether the element is visible for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param isVisible Indicates whether the element is visible. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoVisible(ArkUI_AccessibilityElementInfo* elementInfo, bool isVisible); +int32_t OH_ArkUI_AccessibilityElementInfoSetVisible( + ArkUI_AccessibilityElementInfo* elementInfo, bool isVisible); /** -* @brief Sets the accessibilityFocused of the accessibility element information. +* @brief Sets the accessibility focus state for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param accessibilityFocused Indicates whether the element is accessibility focused. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param accessibilityFocused Indicates whether the element has accessibility focus. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityFocused(ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityFocused); +int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityFocused( + ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityFocused); /** -* @brief Sets the selected of the accessibility element information. +* @brief Sets whether the element is selected for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param selected Indicates whether the element is selected. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoSelected(ArkUI_AccessibilityElementInfo* elementInfo, bool selected); +int32_t OH_ArkUI_AccessibilityElementInfoSetSelected( + ArkUI_AccessibilityElementInfo* elementInfo, bool selected); /** -* @brief Sets the clickable of the accessibility element information. +* @brief Sets whether the element is clickable for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param clickable Indicates whether the element is clickable. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoClickable(ArkUI_AccessibilityElementInfo* elementInfo, bool clickable); +int32_t OH_ArkUI_AccessibilityElementInfoSetClickable( + ArkUI_AccessibilityElementInfo* elementInfo, bool clickable); /** -* @brief Sets the longClickable of the accessibility element information. +* @brief Sets whether the element is long clickable for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param longClickable Indicates whether the element is long clickable. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoLongClickable(ArkUI_AccessibilityElementInfo* elementInfo, bool longClickable); +int32_t OH_ArkUI_AccessibilityElementInfoSetLongClickable( + ArkUI_AccessibilityElementInfo* elementInfo, bool longClickable); /** -* @brief Sets the isEnabled of the accessibility element information. +* @brief Sets whether the element is enabled for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param isEnable Indicates whether the element is enable. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param isEnabled Indicates whether the element is enabled. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoEnabled(ArkUI_AccessibilityElementInfo* elementInfo, bool isEnabled); +int32_t OH_ArkUI_AccessibilityElementInfoSetEnabled( + ArkUI_AccessibilityElementInfo* elementInfo, bool isEnabled); /** -* @brief Sets the isPassword of the accessibility element information. +* @brief Sets whether the element is a password for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param isPassword Indicates whether the element is a password. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoIsPassword(ArkUI_AccessibilityElementInfo* elementInfo, bool isPassword); +int32_t OH_ArkUI_AccessibilityElementInfoSetIsPassword( + ArkUI_AccessibilityElementInfo* elementInfo, bool isPassword); /** -* @brief Sets the scrollable of the accessibility element information. +* @brief Sets whether the element is scrollable for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param scrollable Indicates whether the element is scrollable. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoScrollable(ArkUI_AccessibilityElementInfo* elementInfo, bool scrollable); +int32_t OH_ArkUI_AccessibilityElementInfoSetScrollable( + ArkUI_AccessibilityElementInfo* elementInfo, bool scrollable); /** -* @brief Sets the editable of the accessibility element information. +* @brief Sets whether the element is editable for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. * @param editable Indicates whether the element is editable. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoEditable(ArkUI_AccessibilityElementInfo* elementInfo, bool editable); +int32_t OH_ArkUI_AccessibilityElementInfoSetEditable( + ArkUI_AccessibilityElementInfo* elementInfo, bool editable); /** -* @brief Sets the isHint of the accessibility element information. +* @brief Sets whether the element is a hint for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param isHint Indicates whether the element is in the hint state. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param isHint Indicates whether the element is a hint. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoIsHint(ArkUI_AccessibilityElementInfo* elementInfo, bool isHint); +int32_t OH_ArkUI_AccessibilityElementInfoSetIsHint( + ArkUI_AccessibilityElementInfo* elementInfo, bool isHint); /** -* @brief Sets the rangeInfo of the accessibility element information. +* @brief Sets the range information for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param rangeInfo Indicates element's range info. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param rangeInfo Indicates the range information. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoRangeInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRangeInfo* rangeInfo); +int32_t OH_ArkUI_AccessibilityElementInfoSetRangeInfo( + ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleRangeInfo* rangeInfo); /** -* @brief Sets the grid of the accessibility element information. +* @brief Sets the grid information for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param gridInfo Indicates element's grid info. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param gridInfo Indicates the grid information. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoGridInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridInfo* gridInfo); +int32_t OH_ArkUI_AccessibilityElementInfoSetGridInfo( + ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridInfo* gridInfo); /** -* @brief Sets the gridItem of the accessibility element information. +* @brief Sets the grid item for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param gridItem Indicates element's grid item info. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param gridItem Indicates the grid item. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoGridItemInfo(ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridItemInfo* gridItem); +int32_t OH_ArkUI_AccessibilityElementInfoSetGridItemInfo( + ArkUI_AccessibilityElementInfo* elementInfo, ArkUI_AccessibleGridItemInfo* gridItem); /** -* @brief Sets the textBeginSelected of the accessibility element information. +* @brief Sets the starting index of the selected text for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param textBeginSelected Indicates the start position of the selection. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param selectedTextStart Indicates the starting index of the selected text +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoTextBeginSelected(ArkUI_AccessibilityElementInfo* elementInfo, int32_t textBeginSelected); +int32_t OH_ArkUI_AccessibilityElementInfoSetSelectedTextStart( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t selectedTextStart); /** -* @brief Sets the textEndSelected of the accessibility element information. +* @brief Sets the end index of the selected text for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param textEndSelected Indicates the end position of the selection. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param selectedTextEnd Indicates the end index of the selected text +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoTextEndSelected(ArkUI_AccessibilityElementInfo* elementInfo, int32_t textEndSelected); +int32_t OH_ArkUI_AccessibilityElementInfoSetSelectedTextEnd( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t selectedTextEnd); /** -* @brief Sets the currentItemIndex of the accessibility element information. +* @brief Sets the index of the currently selected item for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param currentItemIndex Indicates index of the current item. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param currentItemIndex Indicates the index of the currently selected item. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoCurrentItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t currentItemIndex); +int32_t OH_ArkUI_AccessibilityElementInfoSetCurrentItemIndex( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t currentItemIndex); /** -* @brief Sets the beginItemIndex of the accessibility element information. +* @brief Sets the index of the first item for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param beginItemIndex Indicates index of the begin item. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param startItemIndex Indicates the index of the first item. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoBeginItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t beginItemIndex); +int32_t OH_ArkUI_AccessibilityElementInfoSetStartItemIndex( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t startItemIndex); /** -* @brief Sets the endItemIndex of the accessibility element information. +* @brief Sets the index of the last item for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param endItemIndex Indicates index of the end item. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param endItemIndex Indicates the index of the last item. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoEndItemIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t endItemIndex); +int32_t OH_ArkUI_AccessibilityElementInfoSetEndItemIndex( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t endItemIndex); /** -* @brief Sets the itemCount of the accessibility element information. +* @brief Sets the number of items for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param itemCount Indicates total number of items. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param itemCount Indicates the number of items. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoItemCount(ArkUI_AccessibilityElementInfo* elementInfo, int32_t itemCount); +int32_t OH_ArkUI_AccessibilityElementInfoSetItemCount( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t itemCount); /** -* @brief Sets the offset of the accessibility element information. +* @brief Sets the offset for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param offset Indicates pixel offset for scrolling relative to the top coordinate of the element. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param offset Indicates the scroll pixel offset relative to the top of the element. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityOffset(ArkUI_AccessibilityElementInfo* elementInfo, int32_t offset); +int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityOffset( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t offset); /** -* @brief Sets the accessibilityGroup of the accessibility element information. +* @brief Sets the accessibility group for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param accessibilityGroup Indicates accessibility group. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param accessibilityGroup Indicates the accessibility group. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityGroup(ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityGroup); +int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityGroup( + ArkUI_AccessibilityElementInfo* elementInfo, bool accessibilityGroup); /** -* @brief Sets the accessibilityLevel of the accessibility element information. +* @brief Sets the accessibility level for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param accessibilityLevel Indicates accessibility level. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param accessibilityLevel Indicates the accessibility level. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityLevel(ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityLevel); +int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityLevel( + ArkUI_AccessibilityElementInfo* elementInfo, const char* accessibilityLevel); /** -* @brief Sets the zIndex of the accessibility element information. +* @brief Sets the z-index for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param zIndex Indicates z index. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param zIndex Indicates the z-index value. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoZIndex(ArkUI_AccessibilityElementInfo* elementInfo, int32_t zIndex); +int32_t OH_ArkUI_AccessibilityElementInfoSetZIndex( + ArkUI_AccessibilityElementInfo* elementInfo, int32_t zIndex); /** -* @brief Sets the opacity of the accessibility element information. +* @brief Sets the opacity for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param opacity Indicates opacity. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param opacity Indicates the opacity. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoAccessibilityOpacity(ArkUI_AccessibilityElementInfo* elementInfo, float opacity); +int32_t OH_ArkUI_AccessibilityElementInfoSetAccessibilityOpacity( + ArkUI_AccessibilityElementInfo* elementInfo, float opacity); /** -* @brief Sets the backgroundColor of the accessibility element information. +* @brief Sets the background color for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param backgroundColor Indicates background color. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param backgroundColor Indicates the background color. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoBackgroundColor(ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundColor); +int32_t OH_ArkUI_AccessibilityElementInfoSetBackgroundColor( + ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundColor); /** -* @brief Sets the backgroundImage of the accessibility element information. +* @brief Sets the background image for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param backgroundImage Indicates background image. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param backgroundImage Indicates the backgroundImage. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoBackgroundImage(ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundImage); +int32_t OH_ArkUI_AccessibilityElementInfoSetBackgroundImage( + ArkUI_AccessibilityElementInfo* elementInfo, const char* backgroundImage); /** -* @brief Sets the blur of the accessibility element information. +* @brief Sets the blur effect for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param blur Indicates blur. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param blur Indicates the blur effect. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoBlur(ArkUI_AccessibilityElementInfo* elementInfo, const char* blur); +int32_t OH_ArkUI_AccessibilityElementInfoSetBlur( + ArkUI_AccessibilityElementInfo* elementInfo, const char* blur); /** -* @brief Sets the hitTestBehavior of the accessibility element information. +* @brief Sets the hit test behavior for an ArkUI_AccessibilityElementInfo object. * -* @param elementInfo Indicates the pointer to the accessibility element information. -* @param hitTestBehavior Indicates hitTest behavior. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @param hitTestBehavior Indicates the hit test behavior. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityElementInfoHitTestBehavior(ArkUI_AccessibilityElementInfo* elementInfo, const char* hitTestBehavior); +int32_t OH_ArkUI_AccessibilityElementInfoSetHitTestBehavior( + ArkUI_AccessibilityElementInfo* elementInfo, const char* hitTestBehavior); /** - * @brief Create an accessibility elementInfo. + * @brief Creates an ArkUI_AccessibilityElementInfo object. * - * @return Returns the pointer to the accessibility elementInfo. + * @return Returns the ArkUI_AccessibilityElementInfo object, or NULL if it fails to create. + * The possible reason for failure is that the memory error occurred during object creation. * @since 13 * @version 1.0 */ ArkUI_AccessibilityElementInfo* OH_ArkUI_CreateAccessibilityElementInfo(void); /** - * @brief Destorys an accessibility elementInfo. + * @brief Destroys an ArkUI_AccessibilityElementInfo object. * - * @param elementInfo Indicates the pointer to to the accessibility elementInfo info to be destoryed. + * @param elementInfo Indicates the pointer to the ArkUI_AccessibilityElementInfo object to destroy. * @since 13 * @version 1.0 */ void OH_ArkUI_DestoryAccessibilityElementInfo(ArkUI_AccessibilityElementInfo* elementInfo); /** - * @brief Create an accessibility eventInfo. + * @brief Creates an ArkUI_AccessibilityEventInfo object. * - * @return Returns the pointer to the accessibility event info. + * @return Returns the ArkUI_AccessibilityEventInfo object, or NULL if it fails to create. + * The possible reason for failure is that the memory error occurred during object creation. * @since 13 - * @version 1.0 */ ArkUI_AccessibilityEventInfo* OH_ArkUI_CreateAccessibilityEventInfo(void); /** - * @brief Destorys an accessibility eventInfo. + * @brief Destroys an ArkUI_AccessibilityEventInfo object. * - * @param eventInfo Indicates the pointer to to the accessibility event info to be destoryed. + * @param eventInfo Indicates the pointer to the ArkUI_AccessibilityEventInfo object to destroy. * @since 13 - * @version 1.0 */ void OH_ArkUI_DestoryAccessibilityEventInfo(ArkUI_AccessibilityEventInfo* eventInfo); /** -* @brief Sets the eventType of the accessibility event information. +* @brief Sets the event type for an ArkUI_AccessibilityEventInfo object. * -* @param eventInfo Indicates the pointer to the accessibility event information. -* @param eventType Indicates event type. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param eventInfo Indicates the pointer to an ArkUI_AccessibilityEventInfo object. +* @param eventType Indicates the event type. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityEventEventType(ArkUI_AccessibilityEventInfo* eventInfo, ArkUI_AccessibilityEventType eventType); +int32_t OH_ArkUI_AccessibilityEventSetEventType( + ArkUI_AccessibilityEventInfo* eventInfo, ArkUI_AccessibilityEventType eventType); /** -* @brief Sets the textAnnouncedForAccessibility of the accessibility event information. +* @brief Sets the text announced for accessibility for an ArkUI_AccessibilityEventInfo object. * -* @param eventInfo Indicates the pointer to the accessibility event information. -* @param textAnnouncedForAccessibility Indicates text announced for accessibility. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param eventInfo Indicates the pointer to an ArkUI_AccessibilityEventInfo object. +* @param textAnnouncedForAccessibility Indicates the text announced for accessibility. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityEventTextAnnouncedForAccessibility(ArkUI_AccessibilityEventInfo* eventInfo, const char* textAnnouncedForAccessibility); +int32_t OH_ArkUI_AccessibilityEventSetTextAnnouncedForAccessibility( + ArkUI_AccessibilityEventInfo* eventInfo, const char* textAnnouncedForAccessibility); /** -* @brief Sets the requestFocusId of the accessibility event information. +* @brief Sets the request focus ID for an ArkUI_AccessibilityEventInfo object. * -* @param eventInfo Indicates the pointer to the accessibility event information. -* @param requestFocusId Indicates ID of the request for active focus. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param eventInfo Indicates the pointer to an ArkUI_AccessibilityEventInfo object. +* @param requestFocusId Indicates the request focus ID. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityEventRequestFocusId(ArkUI_AccessibilityEventInfo* eventInfo, int32_t requestFocusId); +int32_t OH_ArkUI_AccessibilityEventSetRequestFocusId( + ArkUI_AccessibilityEventInfo* eventInfo, int32_t requestFocusId); /** -* @brief Sets the elementInfo of the accessibility event information. +* @brief Sets the element information for an ArkUI_AccessibilityEventInfo object. * -* @param eventInfo Indicates the pointer to the accessibility event information. -* @param elementInfo Indicates element Info. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param eventInfo Indicates the pointer to an ArkUI_AccessibilityEventInfo object. +* @param elementInfo Indicates the pointer to an ArkUI_AccessibilityElementInfo object. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_SetAccessibilityEventElementInfo(ArkUI_AccessibilityEventInfo* eventInfo, ArkUI_AccessibilityElementInfo* elementInfo); +int32_t OH_ArkUI_AccessibilityEventSetElementInfo( + ArkUI_AccessibilityEventInfo* eventInfo, ArkUI_AccessibilityElementInfo* elementInfo); /** -* @brief Gets the value of the accessibility action argument by key. +* @brief Obtains the value of a key from an ArkUI_AccessibilityActionArguments object. * -* @param arguments Indicates the pointer to the accessibility action arguments. -* @param key Indicates key. -* @param value Indicates value. -* @return Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_SUCCESS} if success. -* Returns {@link OH_ARKUI_ACCESSIBILITY_RESULT_BAD_PARAMETER} if a parameter exception occurs. +* @param arguments Indicates the pointer to an ArkUI_AccessibilityActionArguments object. +* @param key Indicates the key. +* @param value Indicates the value. +* @return Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_SUCCESSFUL} if the operation is successful. +* Returns {@link ARKUI_ACCESSIBILITY_NATIVE_RESULT_BAD_PARAMETER} if a parameter is incorrect. * @since 13 */ -int32_t OH_ArkUI_FindAccessibilityActionArgumentByKey(ArkUI_AccessibilityActionArguments* arguments, const char* key, char** value); +int32_t OH_ArkUI_FindAccessibilityActionArgumentByKey( + ArkUI_AccessibilityActionArguments* arguments, const char* key, char** value); #ifdef __cplusplus }; #endif diff --git a/arkui/ace_engine/native/native_interface_xcomponent.h b/arkui/ace_engine/native/native_interface_xcomponent.h index ae0edc011..0dbaa75af 100644 --- a/arkui/ace_engine/native/native_interface_xcomponent.h +++ b/arkui/ace_engine/native/native_interface_xcomponent.h @@ -817,13 +817,14 @@ int32_t OH_NativeXComponent_GetTouchEventSourceType( OH_NativeXComponent* OH_NativeXComponent_GetNativeXComponent(ArkUI_NodeHandle node); /** - * @brief Obtains the accessibility handle by the ArkUI XComponent. + * @brief Obtains the pointer to the ArkUI_AccessibilityProvider + * instance of this OH_NativeXComponent instance. * - * @param component Indicates the pointer to this OH_NativeXComponent instance. - * @param provider Indicates the pointer to pointer of ArkUI_AccessibilityProvider instance. - * @return Returns the status code of the execution. + * @param component Indicates the pointer to the OH_NativeXComponent instance. + * @param handle Indicates the pointer to the ArkUI_AccessibilityProvider instance. + * @return Returns {@link OH_NATIVEXCOMPONENT_RESULT_SUCCESS} if the operation is successful. + * Returns {@link OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER} if a parameter error occurs. * @since 13 - * @version 1.0 */ int32_t OH_NativeXComponent_GetNativeAccessibilityProvider( OH_NativeXComponent* component, ArkUI_AccessibilityProvider** handle); -- Gitee From 0a8044d4ddc269bbe5fd81212eed330b509e84ae Mon Sep 17 00:00:00 2001 From: ccfriend Date: Thu, 5 Sep 2024 22:43:53 +0800 Subject: [PATCH 245/359] remove unused interface Signed-off-by: ccfriend --- multimedia/av_session/libohavsession.ndk.json | 24 ----- multimedia/av_session/native_avsession.h | 96 ------------------- 2 files changed, 120 deletions(-) diff --git a/multimedia/av_session/libohavsession.ndk.json b/multimedia/av_session/libohavsession.ndk.json index 6438cd5e6..a87d19b90 100644 --- a/multimedia/av_session/libohavsession.ndk.json +++ b/multimedia/av_session/libohavsession.ndk.json @@ -35,14 +35,6 @@ "first_introduced": "13", "name":"OH_AVSession_SetPlaybackPosition" }, - { - "first_introduced": "13", - "name":"OH_AVSession_SetBufferedTime" - }, - { - "first_introduced": "13", - "name":"OH_AVSession_SetSpeed" - }, { "first_introduced": "13", "name":"OH_AVSession_SetFavorite" @@ -83,14 +75,6 @@ "first_introduced": "13", "name":"OH_AVSession_UnRegisterSeekCallback" }, - { - "first_introduced": "13", - "name":"OH_AVSession_RegisterSpeedCallback" - }, - { - "first_introduced": "13", - "name":"OH_AVSession_UnRegisterSpeedCallback" - }, { "first_introduced": "13", "name":"OH_AVSession_RegisterSetLoopModeCallback" @@ -107,14 +91,6 @@ "first_introduced": "13", "name":"OH_AVSession_UnRegisterToggleFavoriteCallback" }, - { - "first_introduced": "13", - "name":"OH_AVSession_RegisterPlayFromAssetIdCallback" - }, - { - "first_introduced": "13", - "name":"OH_AVSession_UnRegisterPlayFromAssetIdCallback" - }, { "first_introduced": "13", "name": "OH_AVMetadataBuilder_Create" diff --git a/multimedia/av_session/native_avsession.h b/multimedia/av_session/native_avsession.h index 2c6d9908f..caab9f203 100644 --- a/multimedia/av_session/native_avsession.h +++ b/multimedia/av_session/native_avsession.h @@ -299,15 +299,6 @@ typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnRewind)(OH_AVSession* typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSeek)(OH_AVSession* session, uint64_t seekTime, void* userData); -/** - * @brief Declaring the callback struct for set speed command - * - * @since 13 - * @version 1.0 - */ -typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSetSpeed)(OH_AVSession* session, - uint32_t speed, void* userData); - /** * @brief Declaring the callback struct for set loop mode command * @@ -326,15 +317,6 @@ typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnSetLoopMode)(OH_AVSess typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnToggleFavorite)(OH_AVSession* session, const char* assetId, void* userData); -/** - * @brief Declaring the callback struct for play from assetid command - * - * @since 13 - * @version 1.0 - */ -typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnPlayFromAssetId)(OH_AVSession* session, - const char* assetId, void* userData); - /** * @brief Request to create the avsession. * @@ -449,30 +431,6 @@ AVSession_ErrCode OH_AVSession_SetPlaybackState(OH_AVSession* avsession, AVSession_ErrCode OH_AVSession_SetPlaybackPosition(OH_AVSession* avsession, AVSession_PlaybackPosition* playbackPosition); -/** - * @brief Request to set buffered time. - * - * @param avsession The avsession instance pointer - * @param bufferedTime The bufferedTime to set - * @return Function result code: - * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. - * @since 13 - */ -AVSession_ErrCode OH_AVSession_SetBufferedTime(OH_AVSession* avsession, uint64_t bufferedTime); - -/** - * @brief Request to set speed. - * - * @param avsession The avsession instance pointer - * @param speed The speed to set - * @return Function result code: - * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. - * @since 13 - */ -AVSession_ErrCode OH_AVSession_SetSpeed(OH_AVSession* avsession, uint32_t speed); - /** * @brief Request to set favorite state. * @@ -609,33 +567,6 @@ AVSession_ErrCode OH_AVSession_RegisterSeekCallback(OH_AVSession* avsession, AVSession_ErrCode OH_AVSession_UnregisterSeekCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnSeek callback); -/** - * @brief Request to register set speed callback. - * - * @param avsession The avsession instance pointer - * @param callback the {@link OH_AVSessionCallback_OnSetSpeed} to be registered. - * @param userData User data which is passed by user. - * @return Function result code: - * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. - * @since 13 - */ -AVSession_ErrCode OH_AVSession_RegisterSpeedCallback(OH_AVSession* avsession, - OH_AVSessionCallback_OnSetSpeed callback, void* userData); - -/** - * @brief Request to unregister set speed callback. - * - * @param avsession The avsession instance pointer - * @param callback the {@link OH_AVSessionCallback_OnSetSpeed} to be unregistered. - * @return Function result code: - * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. - * @since 13 - */ -AVSession_ErrCode OH_AVSession_UnregisterSpeedCallback(OH_AVSession* avsession, - OH_AVSessionCallback_OnSetSpeed callback); - /** * @brief Request to register set loopmode callback. * @@ -690,33 +621,6 @@ AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback(OH_AVSession* avse AVSession_ErrCode OH_AVSession_UnregisterToggleFavoriteCallback(OH_AVSession* avsession, OH_AVSessionCallback_OnToggleFavorite callback); -/** - * @brief Request to register play from aseetid callback. - * - * @param avsession The avsession instance pointer - * @param callback the {@link OH_AVSessionCallback_OnPlayFromAssetId} to be registered. - * @param userData User data which is passed by user. - * @return Function result code: - * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. - * @since 13 - */ -AVSession_ErrCode OH_AVSession_RegisterPlayFromAssetIdCallback(OH_AVSession* avsession, - OH_AVSessionCallback_OnPlayFromAssetId callback, void* userData); - -/** - * @brief Request to unregister play from aseetid callback. - * - * @param avsession The avsession instance pointer - * @param callback the {@link OH_AVSessionCallback_OnPlayFromAssetId} to be unregistered. - * @return Function result code: - * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. - * @since 13 - */ -AVSession_ErrCode OH_AVSession_UnregisterPlayFromAssetIdCallback(OH_AVSession* avsession, - OH_AVSessionCallback_OnPlayFromAssetId callback); - #ifdef __cplusplus } #endif -- Gitee From a75e323d9e2a49452aa9d0386c80aeca6083e0a1 Mon Sep 17 00:00:00 2001 From: shanhaiyang Date: Thu, 5 Sep 2024 23:19:43 +0800 Subject: [PATCH 246/359] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BE=AE=E4=BF=A1ndk?= =?UTF-8?q?=E6=89=93=E5=8D=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: shanhaiyang --- BasicServicesKit/ohprint.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/BasicServicesKit/ohprint.ndk.json b/BasicServicesKit/ohprint.ndk.json index 8d2491d0f..e4e54c4fd 100644 --- a/BasicServicesKit/ohprint.ndk.json +++ b/BasicServicesKit/ohprint.ndk.json @@ -66,5 +66,9 @@ { "first_introduced": "12", "name": "OH_Print_RestorePrinterProperties" + }, + { + "first_introduced": "13", + "name": "OH_Print_StartPrintByNative" } ] -- Gitee From 5dca68614956ec8d53f2212d423569836ea0a633 Mon Sep 17 00:00:00 2001 From: HYH Date: Fri, 6 Sep 2024 01:10:21 +0000 Subject: [PATCH 247/359] update multimodalinput/kits/c/ohinput.ndk.json. 1 Signed-off-by: HYH --- multimodalinput/kits/c/ohinput.ndk.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/multimodalinput/kits/c/ohinput.ndk.json b/multimodalinput/kits/c/ohinput.ndk.json index 4e5accf18..0a906be71 100644 --- a/multimodalinput/kits/c/ohinput.ndk.json +++ b/multimodalinput/kits/c/ohinput.ndk.json @@ -370,6 +370,9 @@ { "first_introduced": "13", "name": "OH_Input_GetRepeat" + }, + { + "first_introduced": "13", "name": "OH_Input_GetDeviceIds" }, { -- Gitee From 958988b15e25312c31f76674b545bc051d467fb1 Mon Sep 17 00:00:00 2001 From: cuile4 Date: Fri, 6 Sep 2024 09:41:31 +0800 Subject: [PATCH 248/359] Add ndk interface of udmf into ndk json. > Signed-off-by: cuile4 --- distributeddatamgr/udmf/libudmf.ndk.json | 124 +++++++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/distributeddatamgr/udmf/libudmf.ndk.json b/distributeddatamgr/udmf/libudmf.ndk.json index 6011e71c0..fc246ae6d 100644 --- a/distributeddatamgr/udmf/libudmf.ndk.json +++ b/distributeddatamgr/udmf/libudmf.ndk.json @@ -334,5 +334,129 @@ { "first_introduced": "12", "name": "OH_Udmf_SetUnifiedData" + }, + { + "first_introduced": "13", + "name": "OH_UdmfRecordProvider_Create" + }, + { + "first_introduced": "13", + "name": "OH_UdmfRecordProvider_Destroy" + }, + { + "first_introduced": "13", + "name": "OH_UdmfRecordProvider_SetData" + }, + { + "first_introduced": "13", + "name": "OH_UdmfRecord_AddFileUri" + }, + { + "first_introduced": "13", + "name": "OH_UdmfRecord_AddPixelMap" + }, + { + "first_introduced": "13", + "name": "OH_UdmfRecord_AddArrayBuffer" + }, + { + "first_introduced": "13", + "name": "OH_UdmfRecord_SetProvider" + }, + { + "first_introduced": "13", + "name": "OH_UdmfRecord_GetFileUri" + }, + { + "first_introduced": "13", + "name": "OH_UdmfRecord_GetPixelMap" + }, + { + "first_introduced": "13", + "name": "OH_UdmfRecord_GetArrayBuffer" + }, + { + "first_introduced": "13", + "name": "OH_UdmfData_GetPrimaryPlainText" + }, + { + "first_introduced": "13", + "name": "OH_UdmfData_GetPrimaryHtml" + }, + { + "first_introduced": "13", + "name": "OH_UdmfData_GetRecordCount" + }, + { + "first_introduced": "13", + "name": "OH_UdmfData_GetRecord" + }, + { + "first_introduced": "13", + "name": "OH_UdmfData_IsLocal" + }, + { + "first_introduced": "13", + "name": "OH_UdsFileUri_Create" + }, + { + "first_introduced": "13", + "name": "OH_UdsFileUri_Destroy" + }, + { + "first_introduced": "13", + "name": "OH_UdsFileUri_GetType" + }, + { + "first_introduced": "13", + "name": "OH_UdsFileUri_GetFileUri" + }, + { + "first_introduced": "13", + "name": "OH_UdsFileUri_GetFileType" + }, + { + "first_introduced": "13", + "name": "OH_UdsFileUri_SetFileUri" + }, + { + "first_introduced": "13", + "name": "OH_UdsFileUri_SetFileType" + }, + { + "first_introduced": "13", + "name": "OH_UdsPixelMap_Create" + }, + { + "first_introduced": "13", + "name": "OH_UdsPixelMap_Destroy" + }, + { + "first_introduced": "13", + "name": "OH_UdsPixelMap_GetType" + }, + { + "first_introduced": "13", + "name": "OH_UdsPixelMap_GetPixelMap" + }, + { + "first_introduced": "13", + "name": "OH_UdsPixelMap_SetPixelMap" + }, + { + "first_introduced": "13", + "name": "OH_UdsArrayBuffer_Create" + }, + { + "first_introduced": "13", + "name": "OH_UdsArrayBuffer_Destroy" + }, + { + "first_introduced": "13", + "name": "OH_UdsArrayBuffer_SetData" + }, + { + "first_introduced": "13", + "name": "OH_UdsArrayBuffer_GetData" } ] \ No newline at end of file -- Gitee From acb06a3c877dd9bed7679d9c698dd18ebb70e439 Mon Sep 17 00:00:00 2001 From: jiang-qunchao Date: Fri, 6 Sep 2024 10:16:25 +0800 Subject: [PATCH 249/359] add some JSVM function's result code Signed-off-by: jiang-qunchao --- ark_runtime/jsvm/jsvm.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ark_runtime/jsvm/jsvm.h b/ark_runtime/jsvm/jsvm.h index 0d9fa9ad1..3f47366b4 100644 --- a/ark_runtime/jsvm/jsvm.h +++ b/ark_runtime/jsvm/jsvm.h @@ -2839,7 +2839,9 @@ JSVM_Status JSVM_CDECL OH_JSVM_IsConstructor(JSVM_Env env, * @return Only returns JSVM function's result code. * {@link JSVM_OK } If the API succeeded.\n * {@link JSVM_INVALID_ARG } If the input parameter is invalid.\n - * {@link JSVM_PENDING_EXCPTION } If the API throws an exception during runtime.\n + * {@link JSVM_STRING_EXPECTED } If the value of 'value' is not a string.\n + * {@link JSVM_GENERIC_FAILURE } If create RegExp failed.\n + * {@link JSVM_PENDING_EXCEPTION } If the API throws an exception during runtime.\n * @since 12 */ JSVM_Status JSVM_CDECL OH_JSVM_CreateRegExp(JSVM_Env env, -- Gitee From b32e38272e6825751286b65e1d6b42a5e836e2af Mon Sep 17 00:00:00 2001 From: ccfriend Date: Fri, 6 Sep 2024 11:39:39 +0800 Subject: [PATCH 250/359] modify json config Signed-off-by: ccfriend --- multimedia/av_session/libohavsession.ndk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/av_session/libohavsession.ndk.json b/multimedia/av_session/libohavsession.ndk.json index 6438cd5e6..a410da167 100644 --- a/multimedia/av_session/libohavsession.ndk.json +++ b/multimedia/av_session/libohavsession.ndk.json @@ -161,7 +161,7 @@ }, { "first_introduced": "13", - "name": "OH_AVMetadataBuilder_SetSubTitle" + "name": "OH_AVMetadataBuilder_SetSubtitle" }, { "first_introduced": "13", -- Gitee From 885bf4bd2d112b6b2dd972d691ebad923f37a6a7 Mon Sep 17 00:00:00 2001 From: liushang Date: Fri, 6 Sep 2024 13:41:51 +0800 Subject: [PATCH 251/359] fix colorspaceinfo Signed-off-by: liushang --- multimedia/video_processing_engine/image_processing_types.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/multimedia/video_processing_engine/image_processing_types.h b/multimedia/video_processing_engine/image_processing_types.h index 5f9562325..f05531332 100644 --- a/multimedia/video_processing_engine/image_processing_types.h +++ b/multimedia/video_processing_engine/image_processing_types.h @@ -148,11 +148,11 @@ extern const char* IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL; * @since 13 */ typedef struct ImageProcessing_ColorSpaceInfo { - /** define metadata type */ + /** define metadata type, {@link enum OH_Pixelmap_HdrMetadataKey} */ int32_t metadataType; - /** define color space, {@link enum OH_NativeBuffer_ColorSpace} */ + /** define color space */ int32_t colorSpace; - /** define pixel format, {@link enum OH_NativeBuffer_Format} */ + /** define pixel format, {@link enum PIXEL_FORMAT} */ int32_t pixelFormat; } ImageProcessing_ColorSpaceInfo; -- Gitee From b127c20d2d73811a0d8802f91f785ad2d0b2786b Mon Sep 17 00:00:00 2001 From: liu-binjun Date: Thu, 5 Sep 2024 19:44:29 +0800 Subject: [PATCH 252/359] bugfix:add userData Signed-off-by: liu-binjun --- LocationKit/liblocation.ndk.json | 3 +++ LocationKit/oh_location.h | 22 +++++++++------------- LocationKit/oh_location_type.h | 26 +++++++++++++++++++++----- 3 files changed, 33 insertions(+), 18 deletions(-) diff --git a/LocationKit/liblocation.ndk.json b/LocationKit/liblocation.ndk.json index 82814ba00..181ff9dc1 100644 --- a/LocationKit/liblocation.ndk.json +++ b/LocationKit/liblocation.ndk.json @@ -28,5 +28,8 @@ }, { "name": "OH_LocationRequestConfig_SetInterval" + }, + { + "name": "OH_LocationRequestConfig_SetCallback" } ] \ No newline at end of file diff --git a/LocationKit/oh_location.h b/LocationKit/oh_location.h index d99c30c8c..b4d3bbc5c 100644 --- a/LocationKit/oh_location.h +++ b/LocationKit/oh_location.h @@ -60,13 +60,10 @@ Location_ResultCode OH_Location_IsLocatingEnabled(bool* enabled); * @param requestConfig - Pointer to the locating request parameters.\n * For details, see {@link Location_RequestConfig}.\n * You can use {@link OH_Location_CreateRequestConfig} to create an instance.\n - * @param callback - Pointer to the callback function for reporting the location.\n - * For details, see {@link Location_InfoCallback}.\n - * A non-null pointer is required, otherwise an error is returned.\n * @return Location functions result code.\n * For a detailed definition, please refer to {@link Location_ResultCode}.\n * {@link LOCAION_SUCCESS} Successfully start locating.\n - * {@link LOCATION_INVALID_PARAM} The input parameter requestConfig or callback is a null pointer.\n + * {@link LOCATION_INVALID_PARAM} The input parameter requestConfig is a null pointer.\n * {@link LOCATION_PERMISSION_DENIED} Permission verification failed. The application does not have the\n * permission required to call the API.\n * {@link LOCATION_NOT_SUPPORTED} Capability not supported.\n @@ -76,21 +73,20 @@ Location_ResultCode OH_Location_IsLocatingEnabled(bool* enabled); * @permission ohos.permission.APPROXIMATELY_LOCATION * @since 13 */ -Location_ResultCode OH_Location_StartLocating(const Location_RequestConfig* requestConfig, - Location_InfoCallback callback); +Location_ResultCode OH_Location_StartLocating(const Location_RequestConfig* requestConfig); /** * @brief Stop locating and unsubscribe location changed. * - * @param callback - Pointer to the callback function for reporting the location.\n - * This parameter needs to be the same as the callback pointer passed in {@link OH_Location_StartLocating}.\n - * For details, see {@link Location_InfoCallback}.\n - * A non-null pointer is required, otherwise an error is returned.\n + * @param requestConfig - Pointer to the locating request parameters.\n + * For details, see {@link Location_RequestConfig}.\n + * This parameter needs to be the same as the requestConfig pointer passed in\n + * {@link OH_Location_StartLocating}.\n * @return Location functions result code.\n * For a detailed definition, please refer to {@link Location_ResultCode}.\n * {@link LOCAION_SUCCESS} Successfully stop locationg.\n - * {@link LOCATION_INVALID_PARAM} 1.The input parameter callback is a null pointer. - * 2.Different from the callback passed from {@link OH_Location_StartLocating}.\n + * {@link LOCATION_INVALID_PARAM} 1.The input parameter is a null pointer.\n + * 2.Different from the requestConfig pointer passed from {@link OH_Location_StartLocating}.\n * {@link LOCATION_PERMISSION_DENIED} Permission verification failed. The application does not have the\n * permission required to call the API.\n * {@link LOCATION_NOT_SUPPORTED} Capability not supported.\n @@ -100,7 +96,7 @@ Location_ResultCode OH_Location_StartLocating(const Location_RequestConfig* requ * @permission ohos.permission.APPROXIMATELY_LOCATION * @since 13 */ -Location_ResultCode OH_Location_StopLocating(Location_InfoCallback callback); +Location_ResultCode OH_Location_StopLocating(const Location_RequestConfig* requestConfig); #ifdef __cplusplus } #endif diff --git a/LocationKit/oh_location_type.h b/LocationKit/oh_location_type.h index 8a376cda2..235c436ff 100644 --- a/LocationKit/oh_location_type.h +++ b/LocationKit/oh_location_type.h @@ -270,6 +270,18 @@ Location_BasicInfo OH_LocationInfo_GetBasicInfo(Location_Info* location); Location_ResultCode OH_LocationInfo_GetAdditionalInfo(Location_Info* location, char* additionalInfo, uint32_t length); +/** + * @brief Defines the callback function used to report location data. + * + * @param location - Pointer to the {@link Location_Info} instance. Carry the latest location information.\n + * The memory of the location instance is recycled at the end of {@link Location_InfoCallback}.\n + * Before that, call {@link OH_LocationInfo_GetBasicInfo} and other interfaces to obtain location information.\n + * @param userData - Pointer to an application data structure, this parameter is passed in\n + * through {@link OH_LocationRequestConfig_SetCallback}.\n + * @since 13 + */ +typedef void (*Location_InfoCallback)(Location_Info* location, void* userData); + /** * @brief Define the structure of location request parameters. * @since 13 @@ -341,14 +353,18 @@ void OH_LocationRequestConfig_SetInterval(Location_RequestConfig* requestConfig, int interval); /** - * @brief Defines the callback function used to report location data. + * @brief Set up a callback function for receiving location information. * - * @param location - Pointer to the {@link Location_Info} instance. Carry the latest location information.\n - * The memory of the location instance is recycled at the end of {@link Location_InfoCallback}.\n - * Before that, call {@link OH_LocationInfo_GetBasicInfo} and other interfaces to obtain location information.\n + * @param requestConfig - Pointer to the {@link Location_RequestConfig} instance.\n + * The instance was created by {@link OH_Location_CreateRequestConfig}.\n + * @param callback - Pointer to the callback function for receiving the location.\n + * For details, see {@link Location_InfoCallback}.\n + * @param userData - Pointer to the application data structure, which will be\n + * carried in the callback function.\n * @since 13 */ -typedef void (*Location_InfoCallback)(Location_Info* location); +void OH_LocationRequestConfig_SetCallback(Location_RequestConfig* requestConfig, + Location_InfoCallback callback, void* userData); #ifdef __cplusplus } #endif -- Gitee From b0d5f1f604f823a03e64f16ac24605eb6430a3b5 Mon Sep 17 00:00:00 2001 From: ccfriend Date: Fri, 6 Sep 2024 18:16:29 +0800 Subject: [PATCH 253/359] modify json config name Signed-off-by: ccfriend --- multimedia/av_session/libohavsession.ndk.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/multimedia/av_session/libohavsession.ndk.json b/multimedia/av_session/libohavsession.ndk.json index a410da167..bb1890b89 100644 --- a/multimedia/av_session/libohavsession.ndk.json +++ b/multimedia/av_session/libohavsession.ndk.json @@ -57,7 +57,7 @@ }, { "first_introduced": "13", - "name":"OH_AVSession_UnRegisterCommandCallback" + "name":"OH_AVSession_UnregisterCommandCallback" }, { "first_introduced": "13", @@ -65,7 +65,7 @@ }, { "first_introduced": "13", - "name":"OH_AVSession_UnRegisterForwardCallback" + "name":"OH_AVSession_UnregisterForwardCallback" }, { "first_introduced": "13", @@ -73,7 +73,7 @@ }, { "first_introduced": "13", - "name":"OH_AVSession_UnRegisterRewindCallback" + "name":"OH_AVSession_UnregisterRewindCallback" }, { "first_introduced": "13", @@ -81,7 +81,7 @@ }, { "first_introduced": "13", - "name":"OH_AVSession_UnRegisterSeekCallback" + "name":"OH_AVSession_UnregisterSeekCallback" }, { "first_introduced": "13", @@ -89,7 +89,7 @@ }, { "first_introduced": "13", - "name":"OH_AVSession_UnRegisterSpeedCallback" + "name":"OH_AVSession_UnregisterSpeedCallback" }, { "first_introduced": "13", @@ -97,7 +97,7 @@ }, { "first_introduced": "13", - "name":"OH_AVSession_UnRegisterSetLoopModeCallback" + "name":"OH_AVSession_UnregisterSetLoopModeCallback" }, { "first_introduced": "13", @@ -105,7 +105,7 @@ }, { "first_introduced": "13", - "name":"OH_AVSession_UnRegisterToggleFavoriteCallback" + "name":"OH_AVSession_UnregisterToggleFavoriteCallback" }, { "first_introduced": "13", @@ -113,7 +113,7 @@ }, { "first_introduced": "13", - "name":"OH_AVSession_UnRegisterPlayFromAssetIdCallback" + "name":"OH_AVSession_UnregisterPlayFromAssetIdCallback" }, { "first_introduced": "13", -- Gitee From f22f09ce25df2d113f8d6b2a65d4ba09a514fc4f Mon Sep 17 00:00:00 2001 From: zwtmichael Date: Wed, 4 Sep 2024 15:56:46 +0800 Subject: [PATCH 254/359] modify build gn file name Signed-off-by: zwtmichael --- distributeddatamgr/preferences/BUILD.gn | 10 +++++----- .../preferences/include/oh_preferences.h | 3 ++- .../preferences/include/oh_preferences_option.h | 2 +- .../preferences/include/oh_preferences_value.h | 3 ++- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/distributeddatamgr/preferences/BUILD.gn b/distributeddatamgr/preferences/BUILD.gn index 90671c646..77c03331c 100644 --- a/distributeddatamgr/preferences/BUILD.gn +++ b/distributeddatamgr/preferences/BUILD.gn @@ -21,7 +21,7 @@ ohos_ndk_headers("preferences_ndk_header") { "./include/oh_preferences.h", "./include/oh_preferences_err_code.h", "./include/oh_preferences_option.h", - "./include/oh_preferences_values.h", + "./include/oh_preferences_value.h", ] } @@ -32,9 +32,9 @@ ohos_ndk_library("libohpreferences") { ndk_description_file = "./libpreferences.ndk.json" min_compact_version = "13" system_capability_headers = [ - "$ndk_headers_out_dir/database/preferences/oh_preferences.h", - "$ndk_headers_out_dir/database/preferences/oh_preferences_err_code.h", - "$ndk_headers_out_dir/database/preferences/oh_preferences_values.h", - "$ndk_headers_out_dir/database/preferences/oh_preferences_option.h", + "database/preferences/oh_preferences.h", + "database/preferences/oh_preferences_err_code.h", + "database/preferences/oh_preferences_value.h", + "database/preferences/oh_preferences_option.h", ] } diff --git a/distributeddatamgr/preferences/include/oh_preferences.h b/distributeddatamgr/preferences/include/oh_preferences.h index b3ee03cb2..f7531f81c 100644 --- a/distributeddatamgr/preferences/include/oh_preferences.h +++ b/distributeddatamgr/preferences/include/oh_preferences.h @@ -39,7 +39,8 @@ #ifndef OH_PREFERENCES_H #define OH_PREFERENCES_H -#include +#include +#include #include "oh_preferences_value.h" #include "oh_preferences_option.h" diff --git a/distributeddatamgr/preferences/include/oh_preferences_option.h b/distributeddatamgr/preferences/include/oh_preferences_option.h index 4b2d1d953..2c616d055 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_option.h +++ b/distributeddatamgr/preferences/include/oh_preferences_option.h @@ -39,7 +39,7 @@ #ifndef OH_PREFERENCES_OPTION_H #define OH_PREFERENCES_OPTION_H -#include +#include #ifdef __cplusplus extern "C" { diff --git a/distributeddatamgr/preferences/include/oh_preferences_value.h b/distributeddatamgr/preferences/include/oh_preferences_value.h index 5fd358f32..c1a0e3579 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_value.h +++ b/distributeddatamgr/preferences/include/oh_preferences_value.h @@ -39,7 +39,8 @@ #ifndef OH_PREFERENCES_VALUE_H #define OH_PREFERENCES_VALUE_H -#include +#include +#include #ifdef __cplusplus extern "C" { -- Gitee From 4677d991d57fc856a1fa99fc7d60889c1486d6ff Mon Sep 17 00:00:00 2001 From: caochuan Date: Mon, 2 Sep 2024 14:38:59 +0800 Subject: [PATCH 255/359] add media library 0826 api Signed-off-by: caochuan --- .../media_library/media_access_helper_capi.h | 2 +- .../media_library/media_asset_base_capi.h | 25 ++++ multimedia/media_library/media_asset_capi.h | 141 +++++++++++++++++- .../media_asset_change_request_capi.h | 40 ++++- .../media_asset_manager/BUILD.gn | 2 + .../lib_media_asset_namager_capi.ndk.json | 72 +++++++++ .../media_library/media_asset_manager_capi.h | 37 +++++ multimedia/media_library/moving_photo_capi.h | 138 +++++++++++++++++ 8 files changed, 454 insertions(+), 3 deletions(-) create mode 100644 multimedia/media_library/moving_photo_capi.h diff --git a/multimedia/media_library/media_access_helper_capi.h b/multimedia/media_library/media_access_helper_capi.h index 776bc9e2c..7579ee148 100644 --- a/multimedia/media_library/media_access_helper_capi.h +++ b/multimedia/media_library/media_access_helper_capi.h @@ -14,7 +14,7 @@ */ /** - * @addtogroup MediaAccessHelper + * @addtogroup MediaAssetManager * @{ * * @brief Provides APIs of request capability for Media Source. diff --git a/multimedia/media_library/media_asset_base_capi.h b/multimedia/media_library/media_asset_base_capi.h index a0caef2b3..57391fb1e 100644 --- a/multimedia/media_library/media_asset_base_capi.h +++ b/multimedia/media_library/media_asset_base_capi.h @@ -82,6 +82,15 @@ typedef struct OH_MediaAssetManager OH_MediaAssetManager; */ typedef struct OH_MediaAssetChangeRequest OH_MediaAssetChangeRequest; +/** + * @brief Define Moving Photo + * + * This structure provides the ability to obtain information about moving photo. + * + * @since 13 + */ +typedef struct OH_MovingPhoto OH_MovingPhoto; + /** * @brief Define Media Asset * @@ -291,6 +300,22 @@ typedef void (*OH_MediaLibrary_OnImageDataPrepared)(MediaLibrary_ErrorCode resul MediaLibrary_RequestId requestId, MediaLibrary_MediaQuality mediaQuality, MediaLibrary_MediaContentType type, OH_ImageSourceNative* imageSourceNative); +/** + * @brief Called when a requested moving photo is prepared. + * + * This function is called when the requested moving photo is prepared. + * + * @param result results {@link MediaLibrary_ErrorCode} of the processing of the requested resources. + * @param requestId indicates the {@link MediaLibrary_RequestId} of the request. + * @param mediaQuality the {@link MediaLibrary_MediaQuality} of the requested source. + * @param type the {@link MediaLibrary_MediaContentType} of the requested source. + * @param movingPhoto it used to obtain {@link OH_MovingPhoto} information when the data is prepared. + * @since 13 + */ +typedef void (*OH_MediaLibrary_OnMovingPhotoDataPrepared)(MediaLibrary_ErrorCode result, + MediaLibrary_RequestId requestId, MediaLibrary_MediaQuality mediaQuality, MediaLibrary_MediaContentType type, + OH_MovingPhoto* movingPhoto); + #ifdef __cplusplus } #endif diff --git a/multimedia/media_library/media_asset_capi.h b/multimedia/media_library/media_asset_capi.h index 772e4be5d..04fb1b2d6 100644 --- a/multimedia/media_library/media_asset_capi.h +++ b/multimedia/media_library/media_asset_capi.h @@ -14,7 +14,7 @@ */ /** - * @addtogroup MediaAsset + * @addtogroup MediaAssetManager * @{ * * @brief Provides APIs of request capability for Media Source. @@ -59,6 +59,37 @@ extern "C" { */ MediaLibrary_ErrorCode OH_MediaAsset_GetUri(OH_MediaAsset* mediaAsset, const char** uri); +/** + * @brief Get the media file type of the media asset. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param mediaType the media file type of the media asset. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetMediaType(OH_MediaAsset* mediaAsset, MediaLibrary_MediaType* mediaType); + +/** + * @brief Get the subtype of the media asset. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param mediaSubType the subtype of the media asset. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetMediaSubType(OH_MediaAsset* mediaAsset, + MediaLibrary_MediaSubType* mediaSubType); + /** * @brief Get the display name of the media asset. * @@ -89,6 +120,69 @@ MediaLibrary_ErrorCode OH_MediaAsset_GetDisplayName(OH_MediaAsset* mediaAsset, c */ MediaLibrary_ErrorCode OH_MediaAsset_GetSize(OH_MediaAsset* mediaAsset, uint32_t* size); +/** + * @brief Get the date of asset creation. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param dateAdded the creation date of the asset. + * The value is the number of seconds elapsed since the Epoch time (00:00:00 UTC on January 1, 1970). + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetDateAdded(OH_MediaAsset* mediaAsset, uint32_t* dateAdded); + +/** + * @brief Get the modified date of the asset. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param dateModified the modified date of the asset. + * The value is the number of seconds elapsed since the Epoch time. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetDateModified(OH_MediaAsset* mediaAsset, uint32_t* dateModified); + +/** + * @brief Get the date taken of the asset. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param dateTaken the date taken of the asset. + * The value is the number of seconds elapsed since the Epoch time. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetDateTaken(OH_MediaAsset* mediaAsset, uint32_t* dateTaken); + +/** + * @brief Get the creation time of the asset in milliseconds. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param dateAddedMs the creation time of the asset in milliseconds. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetDateAddedMs(OH_MediaAsset* mediaAsset, uint32_t* dateAddedMs); + /** * @brief Get the modified time of the asset in milliseconds. * @@ -104,6 +198,21 @@ MediaLibrary_ErrorCode OH_MediaAsset_GetSize(OH_MediaAsset* mediaAsset, uint32_t */ MediaLibrary_ErrorCode OH_MediaAsset_GetDateModifiedMs(OH_MediaAsset* mediaAsset, uint32_t* dateModifiedMs); +/** + * @brief Get the duration of the media asset in milliseconds. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param duration the duration of the media asset in milliseconds. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetDuration(OH_MediaAsset* mediaAsset, uint32_t* duration); + /** * @brief Get the image width(in pixels) of the media asset. * @@ -149,6 +258,36 @@ MediaLibrary_ErrorCode OH_MediaAsset_GetHeight(OH_MediaAsset* mediaAsset, uint32 */ MediaLibrary_ErrorCode OH_MediaAsset_GetOrientation(OH_MediaAsset* mediaAsset, uint32_t* orientation); +/** + * @brief Get the favorite state of the asset. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param favorite the favorite state of the media asset. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_IsFavorite(OH_MediaAsset* mediaAsset, uint32_t* favorite); + +/** + * @brief Get the title of the media asset. + * + * @param mediaAsset the {@link OH_MediaAsset} instance. + * @param title the title of the media asset. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAsset_GetTitle(OH_MediaAsset* mediaAsset, const char** title); + /** * @brief Release the media asset * diff --git a/multimedia/media_library/media_asset_change_request_capi.h b/multimedia/media_library/media_asset_change_request_capi.h index d4bb6a772..aedbff48a 100644 --- a/multimedia/media_library/media_asset_change_request_capi.h +++ b/multimedia/media_library/media_asset_change_request_capi.h @@ -14,7 +14,7 @@ */ /** - * @addtogroup MediaAssetChangeRequest + * @addtogroup MediaAssetManager * @{ * * @brief Provides APIs of request capability for Media Source. @@ -58,6 +58,25 @@ extern "C" { */ OH_MediaAssetChangeRequest* OH_MediaAssetChangeRequest_Create(OH_MediaAsset* mediaAsset); +/** + * @brief Add resource of the asset using file uri. + * + * @param changeRequest the {@link OH_MediaAssetChangeRequest} instance. + * @param resourceType the {@link MediaLibrary_ResourceType} of the resource to add. + * @param fileUri the file uri. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_NO_SUCH_FILE} if file does not exist. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * {@link #MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED} if operation is not supported. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_AddResourceWithUri(OH_MediaAssetChangeRequest* changeRequest, + MediaLibrary_ResourceType resourceType, char* fileUri); + /** * @brief Add resource of the asset using ArrayBuffer. * @@ -77,6 +96,25 @@ OH_MediaAssetChangeRequest* OH_MediaAssetChangeRequest_Create(OH_MediaAsset* med MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_AddResourceWithBuffer(OH_MediaAssetChangeRequest* changeRequest, MediaLibrary_ResourceType resourceType, uint8_t* buffer, uint32_t length); +/** + * @brief Get write cache handler. + * + * @permission ohos.permission.WRITE_IMAGEVIDEO + * @param changeRequest the {@link OH_MediaAssetChangeRequest} instance. + * @param fd the write cache handler. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * {@link #MEDIA_LIBRARY_PERMISSION_DENIED} if permission is denied. + * {@link #MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED} if operation is not supported. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAssetChangeRequest_GetWriteCacheHandler(OH_MediaAssetChangeRequest* changeRequest, + int32_t* fd); + /** * @brief Save the photo asset captured by camera. * diff --git a/multimedia/media_library/media_asset_manager/BUILD.gn b/multimedia/media_library/media_asset_manager/BUILD.gn index a56329237..9385e2e92 100644 --- a/multimedia/media_library/media_asset_manager/BUILD.gn +++ b/multimedia/media_library/media_asset_manager/BUILD.gn @@ -23,6 +23,7 @@ ohos_ndk_headers("media_asset_manager_header") { "../media_asset_capi.h", "../media_asset_change_request_capi.h", "../media_asset_manager_capi.h", + "../moving_photo_capi.h", ] } @@ -36,6 +37,7 @@ ohos_ndk_library("libmedia_asset_manager") { "multimedia/media_library/media_asset_base_capi.h", "multimedia/media_library/media_access_helper_capi.h", "multimedia/media_library/media_asset_capi.h", + "multimedia/media_library/moving_photo_capi.h", "multimedia/media_library/media_asset_change_request_capi.h", ] } diff --git a/multimedia/media_library/media_asset_manager/lib_media_asset_namager_capi.ndk.json b/multimedia/media_library/media_asset_manager/lib_media_asset_namager_capi.ndk.json index 6cc799cb7..077fecaab 100644 --- a/multimedia/media_library/media_asset_manager/lib_media_asset_namager_capi.ndk.json +++ b/multimedia/media_library/media_asset_manager/lib_media_asset_namager_capi.ndk.json @@ -15,10 +15,18 @@ "first_introduced": "12", "name": "OH_MediaAssetManager_CancelRequest" }, + { + "first_introduced": "13", + "name": "OH_MediaAssetManager_RequestMovingPhoto" + }, { "first_introduced": "12", "name": "OH_MediaAssetManager_RequestImage" }, + { + "first_introduced": "13", + "name": "OH_MediaAssetManager_Release" + }, { "first_introduced": "12", "name": "OH_MediaAccessHelper_ApplyChanges" @@ -27,6 +35,14 @@ "first_introduced": "12", "name": "OH_MediaAsset_GetUri" }, + { + "first_introduced": "13", + "name": "OH_MediaAsset_GetMediaType" + }, + { + "first_introduced": "13", + "name": "OH_MediaAsset_GetMediaSubType" + }, { "first_introduced": "12", "name": "OH_MediaAsset_GetDisplayName" @@ -35,10 +51,30 @@ "first_introduced": "12", "name": "OH_MediaAsset_GetSize" }, + { + "first_introduced": "13", + "name": "OH_MediaAsset_GetDateAdded" + }, + { + "first_introduced": "13", + "name": "OH_MediaAsset_GetDateModified" + }, + { + "first_introduced": "13", + "name": "OH_MediaAsset_GetDateTaken" + }, + { + "first_introduced": "13", + "name": "OH_MediaAsset_GetDateAddedMs" + }, { "first_introduced": "12", "name": "OH_MediaAsset_GetDateModifiedMs" }, + { + "first_introduced": "13", + "name": "OH_MediaAsset_GetDuration" + }, { "first_introduced": "12", "name": "OH_MediaAsset_GetWidth" @@ -51,18 +87,54 @@ "first_introduced": "12", "name": "OH_MediaAsset_GetOrientation" }, + { + "first_introduced": "13", + "name": "OH_MediaAsset_IsFavorite" + }, + { + "first_introduced": "13", + "name": "OH_MediaAsset_GetTitle" + }, { "first_introduced": "12", "name": "OH_MediaAsset_Release" }, + { + "first_introduced": "13", + "name": "OH_MovingPhoto_GetUri" + }, + { + "first_introduced": "13", + "name": "OH_MovingPhoto_RequestContentWithUris" + }, + { + "first_introduced": "13", + "name": "OH_MovingPhoto_RequestContentWithUri" + }, + { + "first_introduced": "13", + "name": "OH_MovingPhoto_RequestContentWithBuffer" + }, + { + "first_introduced": "13", + "name": "OH_MovingPhoto_Release" + }, { "first_introduced": "12", "name": "OH_MediaAssetChangeRequest_Create" }, + { + "first_introduced": "13", + "name": "OH_MediaAssetChangeRequest_AddResourceWithUri" + }, { "first_introduced": "12", "name": "OH_MediaAssetChangeRequest_AddResourceWithBuffer" }, + { + "first_introduced": "13", + "name": "OH_MediaAssetChangeRequest_GetWriteCacheHandler" + }, { "first_introduced": "12", "name": "OH_MediaAssetChangeRequest_SaveCameraPhoto" diff --git a/multimedia/media_library/media_asset_manager_capi.h b/multimedia/media_library/media_asset_manager_capi.h index 6be1ab5e4..67b5d4b79 100644 --- a/multimedia/media_library/media_asset_manager_capi.h +++ b/multimedia/media_library/media_asset_manager_capi.h @@ -96,6 +96,30 @@ MediaLibrary_RequestId OH_MediaAssetManager_RequestVideoForPath(OH_MediaAssetMan */ bool OH_MediaAssetManager_CancelRequest(OH_MediaAssetManager* manager, const MediaLibrary_RequestId requestId); +/** + * @brief Request moving photo object. + * + * @permission ohos.permission.READ_IMAGEVIDEO + * @param manager the pointer to {@link OH_MediaAssetManager} instance. + * @param mediaAsset the {@link OH_MediaAsset} instance of media file object to be requested. + * @param requestOptions the {@link MediaLibrary_RequestOptions} for image request strategy mode. + * @param requestId indicates the {@link MediaLibrary_RequestId} of the request, which is an output parameter. + * @param callback the {@link OH_MediaLibrary_OnMovingPhotoDataPrepared} that will be called + * when the requested source is prepared. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_OPERATION_NOT_SUPPORTED} if operation is not supported. + * {@link #MEDIA_LIBRARY_PERMISSION_DENIED} if permission is denied. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAssetManager_RequestMovingPhoto(OH_MediaAssetManager* manager, + OH_MediaAsset* mediaAsset, MediaLibrary_RequestOptions requestOptions, MediaLibrary_RequestId* requestId, + OH_MediaLibrary_OnMovingPhotoDataPrepared callback); + /** * @brief Request image resources based on different strategy modes. * @@ -120,6 +144,19 @@ MediaLibrary_ErrorCode OH_MediaAssetManager_RequestImage(OH_MediaAssetManager* m MediaLibrary_RequestOptions requestOptions, MediaLibrary_RequestId* requestId, OH_MediaLibrary_OnImageDataPrepared callback); +/** + * @brief Release the {@link OH_MediaAssetManager} instance. + * + * @param manager the {@link OH_MediaAssetManager} instance. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MediaAssetManager_Release(OH_MediaAssetManager* manager); + #ifdef __cplusplus } #endif diff --git a/multimedia/media_library/moving_photo_capi.h b/multimedia/media_library/moving_photo_capi.h new file mode 100644 index 000000000..ce079ecd3 --- /dev/null +++ b/multimedia/media_library/moving_photo_capi.h @@ -0,0 +1,138 @@ +/* + * Copyright (C) 2024 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 MediaAssetManager + * @{ + * + * @brief Provides APIs of request capability for Media Source. + * + * @since 13 + */ + +/** + * @file moving_photo_capi.h + * + * @brief Defines APIs related to moving photo. + * + * Provides the ability to obtain moving photo information. + * + * @kit MediaLibraryKit + * @syscap SystemCapability.FileManagement.PhotoAccessHelper.Core + * @library libmedia_asset_manager.so + * @since 13 + */ + +#ifndef MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MOVING_PHOTO_H +#define MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MOVING_PHOTO_H + +#include "media_asset_base_capi.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Get uri of the moving photo. + * + * @param movingPhoto the {@link OH_MovingPhoto} instance. + * @param uri the uri of the moving photo. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MovingPhoto_GetUri(OH_MovingPhoto* movingPhoto, const char** uri); + +/** + * @brief Request the image and video content of the moving photo and write to destination uri. + * + * @permission ohos.permission.READ_IMAGEVIDEO + * @param movingPhoto the {@link OH_MovingPhoto} instance. + * @param imageUri the destination file uri to save the image data. + * @param videoUri the destination file uri to save the video data. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_PERMISSION_DENIED} if permission is denied. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MovingPhoto_RequestContentWithUris(OH_MovingPhoto* movingPhoto, char* imageUri, + char* videoUri); + +/** + * @brief Request the image or video content of the moving photo and write to destination uri. + * + * @permission ohos.permission.READ_IMAGEVIDEO + * @param movingPhoto the {@link OH_MovingPhoto} instance. + * @param resourceType the {@link MediaLibrary_ResourceType} of the moving photo content to request. + * @param uri the destination file uri to save the data. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_PERMISSION_DENIED} if permission is denied. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MovingPhoto_RequestContentWithUri(OH_MovingPhoto* movingPhoto, + MediaLibrary_ResourceType resourceType, char* uri); + +/** + * @brief Request data of the moving photo. + * + * @permission ohos.permission.READ_IMAGEVIDEO + * @param movingPhoto the {@link OH_MovingPhoto} instance. + * @param resourceType the {@link MediaLibrary_ResourceType} of the moving photo content to request. + * @param buffer the buffer of the content. + * @param size the size of the buffer. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * {@link #MEDIA_LIBRARY_PERMISSION_DENIED} if permission is denied. + * {@link #MEDIA_LIBRARY_INTERNAL_SYSTEM_ERROR} if internal system error. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MovingPhoto_RequestContentWithBuffer(OH_MovingPhoto* movingPhoto, + MediaLibrary_ResourceType resourceType, const uint8_t** buffer, uint32_t* size); + +/** + * @brief Release the {@link OH_MovingPhoto} instance. + * + * @param movingPhoto the {@link OH_MovingPhoto} instance. + * @return {@link #MEDIA_LIBRARY_OK} if the method call succeeds. + * {@link #MEDIA_LIBRARY_PARAMETER_ERROR} Parameter error. Possible causes: + * 1. Mandatory parameters are left unspecified. + * 2. Incorrect parameter types. + * 3. Parameter verification failed. + * @since 13 +*/ +MediaLibrary_ErrorCode OH_MovingPhoto_Release(OH_MovingPhoto* movingPhoto); + +#ifdef __cplusplus +} +#endif + +#endif // MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MOVING_PHOTO_H +/** @} */ \ No newline at end of file -- Gitee From 9a419f7eff1572744bb2e7e9085a00f42d1f9fc6 Mon Sep 17 00:00:00 2001 From: huanghuijin Date: Wed, 4 Sep 2024 20:48:20 +0800 Subject: [PATCH 256/359] add build targets section Signed-off-by: huanghuijin --- .gitee/ISSUE_TEMPLATE.en.md | 11 +++++++++++ .gitee/ISSUE_TEMPLATE.zh-CN.md | 11 +++++++++++ .gitee/PULL_REQUEST_TEMPLATE.en.md | 19 +++++++++++++++++++ .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md | 19 +++++++++++++++++++ docs/howto_add.md | 18 +++++++++++++++++- 5 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 .gitee/ISSUE_TEMPLATE.en.md create mode 100644 .gitee/ISSUE_TEMPLATE.zh-CN.md create mode 100644 .gitee/PULL_REQUEST_TEMPLATE.en.md create mode 100644 .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md diff --git a/.gitee/ISSUE_TEMPLATE.en.md b/.gitee/ISSUE_TEMPLATE.en.md new file mode 100644 index 000000000..f1a77b33d --- /dev/null +++ b/.gitee/ISSUE_TEMPLATE.en.md @@ -0,0 +1,11 @@ +### Description? + + + +### Steps to reproduce + + + +### Error results + + diff --git a/.gitee/ISSUE_TEMPLATE.zh-CN.md b/.gitee/ISSUE_TEMPLATE.zh-CN.md new file mode 100644 index 000000000..84543046a --- /dev/null +++ b/.gitee/ISSUE_TEMPLATE.zh-CN.md @@ -0,0 +1,11 @@ +### 该问题是怎么引起的? + + + +### 重现步骤 + + + +### 报错信息 + + diff --git a/.gitee/PULL_REQUEST_TEMPLATE.en.md b/.gitee/PULL_REQUEST_TEMPLATE.en.md new file mode 100644 index 000000000..073fa0eac --- /dev/null +++ b/.gitee/PULL_REQUEST_TEMPLATE.en.md @@ -0,0 +1,19 @@ +### Issue + + +### Reason + + +### how to fix + + +### Test (libc-test is mandatory, but not limited to) +- [ ] pass c syntax checker +- [ ] pass interface checker +- [ ] add symbol to json +- [ ] merge the implementation +- [ ] add target to ndk.targets in build + +### Compatibility impact assessment, please indicate (Y/N) +- [ ] not compatible + - [ ] evaluated by committee diff --git a/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md b/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md new file mode 100644 index 000000000..5af541eea --- /dev/null +++ b/.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md @@ -0,0 +1,19 @@ +### 相关的Issue + + +### 原因(目的、解决的问题等) + + +### 描述(做了什么,变更了什么) + + +### 自检结果(结果截图添加到下面) +- [ ] 是否通过C语法扫描 +- [ ] 是否通过注释规则扫描 +- [ ] 是否更新json文件 +- [ ] 实现代码是否已经合入 +- [ ] 目标是否已经添加到build仓ndk依赖目标里 + +### 兼容性影响评估,如有影响请写明(Y/N) +- [ ] 不兼容 + - [ ] 是否经过评审 diff --git a/docs/howto_add.md b/docs/howto_add.md index aeb70e52f..9ff64faba 100644 --- a/docs/howto_add.md +++ b/docs/howto_add.md @@ -17,7 +17,7 @@ GN语法,https://zhuanlan.zhihu.com/p/136954435 ``` ./build.sh --product-name ohos-sdk ``` -更加详细的SDK编译指导,请参考[如何编译full-SDK](http://https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-compile-guide.md)。 +更加详细的SDK编译指导,请参考[如何编译full-SDK](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-compile-guide.md)。 ## 编译结果 @@ -113,6 +113,22 @@ sources = [ 这个模板只针对mac/win/linux平台的几个工具链,一般开发同学使用不到。 输入参数含义同ohos_ndk_headers。ohos_ndk_toolchains目标的默认dest_dir为$root_out_dir/sdk-native/sysroot/usr/lib +## 添加到build系统 + +上面添加的目标需要加到build的[ndk依赖目标](https://gitee.com/openharmony/build/blob/master/ohos/ndk/ndk_targets.gni)文件的_ndk_library_targets变量里面,这样在编译 +SDK的时候,才会被依赖到。 + +新增如下 +``` +_ndk_library_targets = [ + "//interface/sdk_c/sensors/miscdevice/vibrator:lib_vibrator_ndk", + "//interface/sdk_c/sensors/miscdevice/vibrator:ndk_vibrator_header", + ... + "//interface/sdk_c/sensors/sensor:libsensor_ndk", + "//interface/sdk_c/sensors/sensor:sensor_ndk_header", +] +``` + ## 文档 C API的文档生成在docs目录,需要安装doxygen工具,在ubuntu上使用`sudo apt-get install doxygen`即可安装。如果编译机上没有安装doxygen,文档将无法生成。 -- Gitee From 31167a5019944877ddff4db0743fd688b5b79d30 Mon Sep 17 00:00:00 2001 From: cuile4 Date: Sun, 8 Sep 2024 14:54:50 +0800 Subject: [PATCH 257/359] paste board ndk json fix Signed-off-by: cuile4 --- .../pasteboard/libpasteboard.ndk.json | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/distributeddatamgr/pasteboard/libpasteboard.ndk.json b/distributeddatamgr/pasteboard/libpasteboard.ndk.json index 37b1151fb..829a3ba45 100644 --- a/distributeddatamgr/pasteboard/libpasteboard.ndk.json +++ b/distributeddatamgr/pasteboard/libpasteboard.ndk.json @@ -17,42 +17,42 @@ }, { "first_introduced": "13", - "name": "OH_PasteBoard_Destroy" + "name": "OH_Pasteboard_Destroy" }, { "first_introduced": "13", - "name": "OH_PasteBoard_Subcribe" + "name": "OH_Pasteboard_Subscribe" }, { "first_introduced": "13", - "name": "OH_PasteBoard_Unsubcribe" + "name": "OH_Pasteboard_Unsubscribe" }, { "first_introduced": "13", - "name": "OH_PasteBoard_IsRemoteData" + "name": "OH_Pasteboard_IsRemoteData" }, { "first_introduced": "13", - "name": "OH_PasteBoard_GetDataSrouce" + "name": "OH_Pasteboard_GetDataSource" }, { "first_introduced": "13", - "name": "OH_PasteBoard_HasType" + "name": "OH_Pasteboard_HasType" }, { "first_introduced": "13", - "name": "OH_PasteBoard_HasData" + "name": "OH_Pasteboard_HasData" }, { "first_introduced": "13", - "name": "OH_PasteBoard_GetData" + "name": "OH_Pasteboard_GetData" }, { "first_introduced": "13", - "name": "OH_PasteBoard_SetData" + "name": "OH_Pasteboard_SetData" }, { "first_introduced": "13", - "name": "OH_PasteBoard_ClearData" + "name": "OH_Pasteboard_ClearData" } ] \ No newline at end of file -- Gitee From f1895005754d3a497552b8cfdc307f76e885e234 Mon Sep 17 00:00:00 2001 From: yangzk Date: Sun, 8 Sep 2024 17:18:49 +0800 Subject: [PATCH 258/359] =?UTF-8?q?Description:=20=E6=96=B0=E5=A2=9Eapplic?= =?UTF-8?q?ationContext=E9=94=99=E8=AF=AF=E7=A0=81ABILITY=5FRUNTIME=5FERRO?= =?UTF-8?q?R=5FCODE=5FCONTEXT=5FNOT=5FEXIST=20IssueNo:=20#IAPOX6=20Sig:=20?= =?UTF-8?q?SIG=5FApplicationFramework=20Feature=20or=20Bugfix:=20Bugfix=20?= =?UTF-8?q?Binary=20Source:=20No?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yangzk Change-Id: I25509e923f6ebaeffaec07ee0bdc852b60762ee5 --- AbilityKit/ability_runtime/ability_runtime_common.h | 4 +++- AbilityKit/ability_runtime/application_context.h | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/AbilityKit/ability_runtime/ability_runtime_common.h b/AbilityKit/ability_runtime/ability_runtime_common.h index d6220b080..e4cf556e4 100644 --- a/AbilityKit/ability_runtime/ability_runtime_common.h +++ b/AbilityKit/ability_runtime/ability_runtime_common.h @@ -51,6 +51,8 @@ typedef enum { ABILITY_RUNTIME_ERROR_CODE_NO_ERROR = 0, /** @error Invalid parameters. */ ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID = 401, + /** @error The context does not exist. */ + ABILITY_RUNTIME_ERROR_CODE_CONTEXT_NOT_EXIST = 16000011, } AbilityRuntime_ErrorCode; #ifdef __cplusplus @@ -58,4 +60,4 @@ typedef enum { #endif /** @} */ -#endif //ABILITY_RUNTIME_COMMON_H +#endif // ABILITY_RUNTIME_COMMON_H diff --git a/AbilityKit/ability_runtime/application_context.h b/AbilityKit/ability_runtime/application_context.h index 374a99bd8..1ba53503d 100644 --- a/AbilityKit/ability_runtime/application_context.h +++ b/AbilityKit/ability_runtime/application_context.h @@ -57,6 +57,7 @@ extern "C" { * {@link ABILITY_RUNTIME_ERROR_CODE_NO_ERROR} if the operation is successful. * {@link ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID} if the buffer or writeLength is null, * or the buffer size is less than the minimum buffer size. + * {@link ABILITY_RUNTIME_ERROR_CODE_CONTEXT_NOT_EXIST} if the application context does not exist. * @since 13 */ AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetCacheDir( @@ -69,6 +70,7 @@ AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetCacheDir( * @return The error code. * {@link ABILITY_RUNTIME_ERROR_CODE_NO_ERROR} if the operation is successful. * {@link ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID} if the areaMode is null. + * {@link ABILITY_RUNTIME_ERROR_CODE_CONTEXT_NOT_EXIST} if the application context does not exist. * @since 13 */ AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetAreaMode(AbilityRuntime_AreaMode* areaMode); @@ -84,6 +86,7 @@ AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetAreaMode(Ability * {@link ABILITY_RUNTIME_ERROR_CODE_NO_ERROR} if the operation is successful. * {@link ABILITY_RUNTIME_ERROR_CODE_PARAM_INVALID} if the buffer or writeLength is null, * or the buffer size is less than the minimum buffer size. + * {@link ABILITY_RUNTIME_ERROR_CODE_CONTEXT_NOT_EXIST} if the application context does not exist. * @since 13 */ AbilityRuntime_ErrorCode OH_AbilityRuntime_ApplicationContextGetBundleName( -- Gitee From 1a48032a8878793739c8cc307890895a9f8bb0d1 Mon Sep 17 00:00:00 2001 From: HYH Date: Mon, 9 Sep 2024 09:03:50 +0000 Subject: [PATCH 259/359] update multimodalinput/kits/c/input/oh_input_manager.h. dadad Signed-off-by: HYH --- multimodalinput/kits/c/input/oh_input_manager.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/multimodalinput/kits/c/input/oh_input_manager.h b/multimodalinput/kits/c/input/oh_input_manager.h index 2dd62840e..0a2b5b471 100644 --- a/multimodalinput/kits/c/input/oh_input_manager.h +++ b/multimodalinput/kits/c/input/oh_input_manager.h @@ -253,9 +253,15 @@ typedef enum Input_Result { INPUT_SERVICE_EXCEPTION = 3800001, /** @error Interceptor repeatedly created for an application */ INPUT_REPEAT_INTERCEPTOR = 4200001, - /** @error Already occupied by the system */ + /** + * @error Already occupied by the system + * @since 13 + */ INPUT_OCCUPIED_BY_SYSTEM = 4200002, - /** @error Already occupied by the other */ + /** + * @error Already occupied by the other + * @since 13 + */ INPUT_OCCUPIED_BY_OTHER = 4200003, } Input_Result; -- Gitee From c4cf172c5e62d8248a1d624671c584fbbce1172c Mon Sep 17 00:00:00 2001 From: PengKejie Date: Tue, 10 Sep 2024 12:03:32 +0800 Subject: [PATCH 260/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: PengKejie --- graphic/graphic_2d/native_drawing/drawing_text_typography.h | 2 +- graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/graphic/graphic_2d/native_drawing/drawing_text_typography.h b/graphic/graphic_2d/native_drawing/drawing_text_typography.h index 66254efd5..e4546ed6c 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_typography.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_typography.h @@ -1040,7 +1040,7 @@ double OH_Drawing_TypographyGetLongestLine(OH_Drawing_Typography*); * @param OH_Drawing_Typography Pointer to an OH_Drawing_Typography object, which is obtained by * {@link OH_Drawing_CreateTypography}. * @return Returns the width of the longest line with indent. - * @since 12 + * @since 13 * @version 1.1 */ double OH_Drawing_TypographyGetLongestLineWithIndent(OH_Drawing_Typography*); diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index 492754ecc..ad9a1739c 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -700,7 +700,7 @@ { "name": "OH_Drawing_TypographyGetHeight" }, { "name": "OH_Drawing_TypographyGetLongestLine" }, { - "first_introduced": "12", + "first_introduced": "13", "name": "OH_Drawing_TypographyGetLongestLineWithIndent" }, { "name": "OH_Drawing_TypographyGetMinIntrinsicWidth" }, -- Gitee From 413009a19d242465b686395afd249dc0b292e234 Mon Sep 17 00:00:00 2001 From: huchang Date: Tue, 10 Sep 2024 12:22:09 +0800 Subject: [PATCH 261/359] add mic unblocked callback Signed-off-by: huchang Change-Id: Ib3d438faf355ad06e8bf6032b5cc46599694660d --- .../native_audio_routing_manager.h | 20 ++++++++++------- .../common/native_audio_device_base.h | 22 +++++++++++++++++++ multimedia/audio_framework/ohaudio.ndk.json | 2 +- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h index 2e19d9f26..2f44c5b11 100644 --- a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h +++ b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h @@ -239,25 +239,29 @@ OH_AudioCommon_Result OH_AudioRoutingManager_ReleaseDevices( OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray); /** - * @brief This function pointer will point to the callback function that is used to return the microphones that - * are blocked. + * @brief This type defines the callback function that is used to receive the audio devices' block status. + * * @param audioDeviceDescriptorArray The {@link OH_AudioDeviceDescriptorArray} * pointer variable which will be set the audio device descriptors value. * Do not release the audioDeviceDescriptorArray pointer separately instead of calling * {@link OH_AudioRoutingManager_ReleaseDevices} to release the DeviceDescriptor array when it is no use anymore. + * @param status The {@link OH_AudioDevice_BlockStatus} is the block status. * @param userData User data which is passed by user. * @since 13 */ -typedef void (*OH_AudioRoutingManager_OnMicrophoneBlockedCallback)( +typedef void (*OH_AudioRoutingManager_OnDeviceBlockStatusCallback)( OH_AudioDeviceDescriptorArray *audioDeviceDescriptorArray, + OH_AudioDevice_BlockStatus status, void *userData); /** - * @brief Set the micophone blocked callback. + * @brief Set the microphone block status callback. The caller will receive the callback only when it is recording + * and the used microphones' block status have changed. Currently, block detecting is only support for microphones + * located on the local device. + * * @param audioRoutingManager The {@link OH_AudioRoutingManager} handle returned by * {@link OH_AudioManager_GetAudioRoutingManager}. - * @param callback The function pointer will point to the callback function that is used to return the microphones that - * are blocked. + * @param callback The function pointer will point to the callback function that is used to receive the block status. * @param userData User data which is passed by user. * @return Function result code: * {@link AUDIOCOMMON_RESULT_SUCCESS} If the execution is successful. @@ -266,9 +270,9 @@ typedef void (*OH_AudioRoutingManager_OnMicrophoneBlockedCallback)( * 2.The param of callback is nullptr. * @since 13 */ -OH_AudioCommon_Result OH_AudioRoutingManager_SetMicrophoneBlockedCallback( +OH_AudioCommon_Result OH_AudioRoutingManager_SetMicrophoneBlockStatusCallback( OH_AudioRoutingManager *audioRoutingManager, - OH_AudioRoutingManager_OnMicrophoneBlockedCallback callback, + OH_AudioRoutingManager_OnDeviceBlockStatusCallback callback, void *userData); #ifdef __cplusplus } diff --git a/multimedia/audio_framework/common/native_audio_device_base.h b/multimedia/audio_framework/common/native_audio_device_base.h index 436fc6683..573e07fed 100644 --- a/multimedia/audio_framework/common/native_audio_device_base.h +++ b/multimedia/audio_framework/common/native_audio_device_base.h @@ -250,6 +250,28 @@ typedef struct OH_AudioDeviceDescriptorArray { OH_AudioDeviceDescriptor **descriptors; } OH_AudioDeviceDescriptorArray; +/** + * @brief Declaring the audio device blocked status. By default, the audio device is considered as unbloked. + * + * @since 13 + */ +typedef enum { + /** + * @brief Audio device is unblocked. + * + * @since 13 + */ + AUDIO_DEVICE_UNBLOCKED = 0, + + /** + * @brief Audio Device is blocked. + * + * @since 13 + */ + AUDIO_DEVICE_BLOCKED = 1, +} OH_AudioDevice_BlockStatus; + + /** * @brief Query the device role of the target audio device descriptor. * diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index 6b1328f5a..d4f849c54 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -373,6 +373,6 @@ }, { "first_introduced": "13", - "name": "OH_AudioRoutingManager_SetMicrophoneBlockedCallback" + "name": "OH_AudioRoutingManager_SetMicrophoneBlockStatusCallback" } ] -- Gitee From c35ce38163a1794fd9b150fbbedc74388b700af3 Mon Sep 17 00:00:00 2001 From: zwtmichael Date: Tue, 10 Sep 2024 12:15:07 +0800 Subject: [PATCH 262/359] modify interface param Signed-off-by: zwtmichael --- distributeddatamgr/preferences/include/oh_preferences.h | 8 ++++---- .../preferences/include/oh_preferences_option.h | 4 ++-- distributeddatamgr/preferences/libpreferences.ndk.json | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/distributeddatamgr/preferences/include/oh_preferences.h b/distributeddatamgr/preferences/include/oh_preferences.h index f7531f81c..c3a56fd95 100644 --- a/distributeddatamgr/preferences/include/oh_preferences.h +++ b/distributeddatamgr/preferences/include/oh_preferences.h @@ -230,7 +230,7 @@ int OH_Preferences_Delete(OH_Preferences *preference, const char *key); * * @param preference Pointer to the target {@Link OH_Preferences} instance. * @param context Pointer to the context of the data observer. - * @param observer Pointer to the {@Link OH_PreferencesDataObserver} to register. + * @param observer the {@Link OH_PreferencesDataObserver} to register. * @param keys Pointer to the keys to observe. * @param keyCount Number of keys to observe. * @return Returns the status code of the execution. @@ -243,14 +243,14 @@ int OH_Preferences_Delete(OH_Preferences *preference, const char *key); * @since 13 */ int OH_Preferences_RegisterDataObserver(OH_Preferences *preference, void *context, - const OH_PreferencesDataObserver *observer, const char *keys[], uint32_t keyCount); + OH_PreferencesDataObserver observer, const char *keys[], uint32_t keyCount); /** * @brief Unregisters a data observer for a Preferences object. * * @param preference Pointer to the target {@Link OH_Preferences} instance. * @param context Pointer to the context of the data observer. - * @param observer Pointer to the {@Link OH_PreferencesDataObserver} to unregister. + * @param observer the {@Link OH_PreferencesDataObserver} to unregister. * @param keys Pointer to the keys observed. If this parameter is null, this API unregisters the listening for all keys. * @param keyCount Number of the keys. * @return Returns the status code of the execution. @@ -262,7 +262,7 @@ int OH_Preferences_RegisterDataObserver(OH_Preferences *preference, void *contex * @since 13 */ int OH_Preferences_UnregisterDataObserver(OH_Preferences *preference, void *context, - const OH_PreferencesDataObserver *observer, const char *keys[], uint32_t keyCount); + OH_PreferencesDataObserver observer, const char *keys[], uint32_t keyCount); #ifdef __cplusplus }; diff --git a/distributeddatamgr/preferences/include/oh_preferences_option.h b/distributeddatamgr/preferences/include/oh_preferences_option.h index 2c616d055..a8a25af9f 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_option.h +++ b/distributeddatamgr/preferences/include/oh_preferences_option.h @@ -66,14 +66,14 @@ OH_PreferencesOption *OH_PreferencesOption_Create(void); * @brief Sets the file path in an {@Link OH_PreferencesOption} instance. * * @param option Pointer to the target {@Link OH_PreferencesOption} instance. - * @param filePath Pointer to the file path to set. + * @param fileName Pointer to the file name to set. * @return Returns the status code of the execution. * {@link PREFERENCES_OK} success. * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. * @see OH_PreferencesOption. * @since 13 */ -int OH_PreferencesOption_SetFilePath(OH_PreferencesOption *option, const char *filePath); +int OH_PreferencesOption_SetFileName(OH_PreferencesOption *option, const char *fileName); /** * @brief Sets the bundle name in an {@Link OH_PreferencesOption} instance. diff --git a/distributeddatamgr/preferences/libpreferences.ndk.json b/distributeddatamgr/preferences/libpreferences.ndk.json index fa4a164ed..9c41566f5 100644 --- a/distributeddatamgr/preferences/libpreferences.ndk.json +++ b/distributeddatamgr/preferences/libpreferences.ndk.json @@ -53,7 +53,7 @@ }, { "first_introduced": "13", - "name": "OH_PreferencesOption_SetFilePath" + "name": "OH_PreferencesOption_SetFileName" }, { "first_introduced": "13", -- Gitee From c5a0ca382a9fb9054b30466fb1858c5177e0d739 Mon Sep 17 00:00:00 2001 From: huchang Date: Tue, 10 Sep 2024 22:35:09 +0800 Subject: [PATCH 263/359] add camcorder Signed-off-by: huchang Change-Id: Ida9d396228dfa7614b4d63254295fceb12380c6e --- .../audio_framework/common/native_audiostream_base.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/multimedia/audio_framework/common/native_audiostream_base.h b/multimedia/audio_framework/common/native_audiostream_base.h index 84015d364..44dacf0d0 100644 --- a/multimedia/audio_framework/common/native_audiostream_base.h +++ b/multimedia/audio_framework/common/native_audiostream_base.h @@ -439,7 +439,13 @@ typedef enum { * * @since 12 */ - AUDIOSTREAM_SOURCE_TYPE_VOICE_MESSAGE = 10 + AUDIOSTREAM_SOURCE_TYPE_VOICE_MESSAGE = 10, + /** + * Camcorder source type. + * + * @since 13 + */ + AUDIOSTREAM_SOURCE_TYPE_CAMCORDER = 13 } OH_AudioStream_SourceType; /** -- Gitee From 0948262a2583b3016221decf6b85830e31b6aa71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BF=9E=E8=B6=85=E9=BA=92?= Date: Wed, 11 Sep 2024 11:51:30 +0800 Subject: [PATCH 264/359] add colorSpaceManagerNDK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 俞超麒 --- .../native_color_space_manager/BUILD.gn | 29 +++ .../libnative_color_space_manager.ndk.json | 26 ++ .../native_color_space_manager.h | 230 ++++++++++++++++++ 3 files changed, 285 insertions(+) create mode 100644 graphic/graphic_2d/native_color_space_manager/BUILD.gn create mode 100644 graphic/graphic_2d/native_color_space_manager/libnative_color_space_manager.ndk.json create mode 100644 graphic/graphic_2d/native_color_space_manager/native_color_space_manager.h diff --git a/graphic/graphic_2d/native_color_space_manager/BUILD.gn b/graphic/graphic_2d/native_color_space_manager/BUILD.gn new file mode 100644 index 000000000..9c88300e6 --- /dev/null +++ b/graphic/graphic_2d/native_color_space_manager/BUILD.gn @@ -0,0 +1,29 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_headers("native_color_space_manager_header") { + dest_dir = "$ndk_headers_out_dir/native_color_space_manager" + sources = [ "./native_color_space_manager.h" ] +} + +ohos_ndk_library("libnative_color_space_manager_ndk") { + output_name = "native_color_space_manager" + output_extension = "so" + ndk_description_file = "./libnative_color_space_manager.ndk.json" + system_capability = "SystemCapability.Graphic.Graphic2D.ColorManager.Core" + system_capability_headers = + [ "native_color_space_manager/native_color_space_manager.h" ] +} diff --git a/graphic/graphic_2d/native_color_space_manager/libnative_color_space_manager.ndk.json b/graphic/graphic_2d/native_color_space_manager/libnative_color_space_manager.ndk.json new file mode 100644 index 000000000..2dc8c4372 --- /dev/null +++ b/graphic/graphic_2d/native_color_space_manager/libnative_color_space_manager.ndk.json @@ -0,0 +1,26 @@ +[ + { + "first_introduced": "13", + "name": "OH_NativeColorSpaceManager_CreateFromName" + }, + { + "first_introduced": "13", + "name": "OH_NativeColorSpaceManager_CreateFromPrimariesAndGamma" + }, + { + "first_introduced": "13", + "name": "OH_NativeColorSpaceManager_Destroy" + }, + { + "first_introduced": "13", + "name": "OH_NativeColorSpaceManager_GetColorSpaceName" + }, + { + "first_introduced": "13", + "name": "OH_NativeColorSpaceManager_GetWhitePoint" + }, + { + "first_introduced": "13", + "name": "OH_NativeColorSpaceManager_GetGamma" + } +] \ No newline at end of file diff --git a/graphic/graphic_2d/native_color_space_manager/native_color_space_manager.h b/graphic/graphic_2d/native_color_space_manager/native_color_space_manager.h new file mode 100644 index 000000000..e4634b474 --- /dev/null +++ b/graphic/graphic_2d/native_color_space_manager/native_color_space_manager.h @@ -0,0 +1,230 @@ +/* + * Copyright (c) 2024 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 NativeColorSpaceManager + * @{ + * + * @brief Provides the native colorSpaceManager capability. + * + * @syscap SystemCapability.Graphic.Graphic2D.ColorManager.Core + * @since 13 + * @version 1.0 + */ + +/** + * @file native_color_space_manager.h + * + * @brief Defines the functions for obtaining and using a native colorSpaceManager. + * + * @library libnative_color_space_manager.so + * @syscap SystemCapability.Graphic.Graphic2D.ColorManager.Core + * @since 13 + * @version 1.0 + */ +#ifndef C_INCLUDE_NATIVE_COLOR_SPACE_MANAGER_H_ +#define C_INCLUDE_NATIVE_COLOR_SPACE_MANAGER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Defines a colorspace manager. + * @since 13 + */ +typedef struct OH_NativeColorSpaceManager OH_NativeColorSpaceManager; + +/** + * @brief Enumerates color space types. + * @since 13 + */ +typedef enum { + /** Indicates an unknown color space. */ + NONE = 0, + /** Indicates the color space based on Adobe RGB. */ + ADOBE_RGB = 1, + /** Indicates the color space based on SMPTE RP 431-2-2007 and IEC 61966-2.1:1999. */ + DCI_P3 = 2, + /** Indicates the color space based on SMPTE RP 431-2-2007 and IEC 61966-2.1:1999. */ + DISPLAY_P3 = 3, + /** Indicates the standard red green blue (SRGB) color space based on IEC 61966-2.1:1999. */ + SRGB = 4, + /** Indicates the color space based on ITU-R BT.709. */ + BT709 = 6, + /** Indicates the color space based on ITU-R BT.601. */ + BT601_EBU = 7, + /** Indicates the color space based on ITU-R BT.601. */ + BT601_SMPTE_C = 8, + /** Indicates the color space based on ITU-R BT.2020. */ + BT2020_HLG = 9, + /** Indicates the color space based on ITU-R BT.2020. */ + BT2020_PQ = 10, + /** PRIMARIES_P3_D65 | TRANSFUNC_HLG | RANGE_FULL */ + P3_HLG = 11, + /** PRIMARIES_P3_D65 | TRANSFUNC_PQ | RANGE_FULL */ + P3_PQ = 12, + /** PRIMARIES_ADOBE_RGB | TRANSFUNC_ADOBE_RGB | RANGE_LIMIT */ + ADOBE_RGB_LIMIT = 13, + /** PRIMARIES_P3_D65 | TRANSFUNC_SRGB | RANGE_LIMIT */ + DISPLAY_P3_LIMIT = 14, + /** PRIMARIES_SRGB | TRANSFUNC_SRGB | RANGE_LIMIT */ + SRGB_LIMIT = 15, + /** PRIMARIES_BT709 | TRANSFUNC_BT709 | RANGE_LIMIT */ + BT709_LIMIT = 16, + /** PRIMARIES_BT601_P | TRANSFUNC_BT709 | RANGE_LIMIT */ + BT601_EBU_LIMIT = 17, + /** PRIMARIES_BT601_N | TRANSFUNC_BT709 | RANGE_LIMIT */ + BT601_SMPTE_C_LIMIT = 18, + /** PRIMARIES_BT2020 | TRANSFUNC_HLG | RANGE_LIMIT */ + BT2020_HLG_LIMIT = 19, + /** PRIMARIES_BT2020 | TRANSFUNC_PQ | RANGE_LIMIT */ + BT2020_PQ_LIMIT = 20, + /** PRIMARIES_P3_D65 | TRANSFUNC_HLG | RANGE_LIMIT */ + P3_HLG_LIMIT = 21, + /** PRIMARIES_P3_D65 | TRANSFUNC_PQ | RANGE_LIMIT */ + P3_PQ_LIMIT = 22, + /** PRIMARIES_P3_D65 | TRANSFUNC_LINEAR */ + LINEAR_P3 = 23, + /** PRIMARIES_SRGB | TRANSFUNC_LINEAR */ + LINEAR_SRGB = 24, + /** PRIMARIES_BT709 | TRANSFUNC_LINEAR */ + LINEAR_BT709 = LINEAR_SRGB, + /** PRIMARIES_BT2020 | TRANSFUNC_LINEAR */ + LINEAR_BT2020 = 25, + /** PRIMARIES_SRGB | TRANSFUNC_SRGB | RANGE_FULL */ + DISPLAY_SRGB = SRGB, + /** PRIMARIES_P3_D65 | TRANSFUNC_SRGB | RANGE_FULL */ + DISPLAY_P3_SRGB = DISPLAY_P3, + /** PRIMARIES_P3_D65 | TRANSFUNC_HLG | RANGE_FULL */ + DISPLAY_P3_HLG = P3_HLG, + /** PRIMARIES_DISPLAY_P3 | TRANSFUNC_PQ | RANGE_FULL */ + DISPLAY_P3_PQ = P3_PQ, + /** Indicates a customized color space. */ + CUSTOM = 5, +} ColorSpaceName; + +/** + * @brief Describes the primary colors red, green, blue and white point coordinated as (x, y) + * in color space, in terms of real world chromaticities. + * @since 13 + */ +typedef struct { + /** Coordinate value x of red color */ + float rX; + /** Coordinate value y of red color */ + float rY; + /** Coordinate value x of green color */ + float gX; + /** Coordinate value y of green color */ + float gY; + /** Coordinate value x of blue color */ + float bX; + /** Coordinate value y of blue color */ + float bY; + /** Coordinate value x of white point */ + float wX; + /** Coordinate value y of white point */ + float wY; +} ColorSpacePrimaries; + +/** + * @brief Indicates white point coordinated as (x, y) return array. + * @since 13 + */ +typedef struct { + /** Indicates white point return array */ + float arr[2]; +} WhitePointArray; + +/** + * @brief Creates a NativeColorSpaceManager instance by colorSpaceName. + * A new NativeColorSpaceManager instance is created each time this function is called. + * + * @syscap SystemCapability.Graphic.Graphic2D.ColorManager.Core + * @param colorSpaceName Indicates the NativeColorSpace connection name. + * @return Returns the pointer to the NativeColorSpaceManager instance created. + * Creation failed, cause memory shortage. + * @since 13 + * @version 1.0 + */ +OH_NativeColorSpaceManager* OH_NativeColorSpaceManager_CreateFromName(ColorSpaceName colorSpaceName); + +/** + * @brief Creates a NativeColorSpaceManager instance by primaries and gamma. + * A new NativeColorSpaceManager instance is created each time this function is called. + * + * @syscap SystemCapability.Graphic.Graphic2D.ColorManager.Core + * @param primaries Indicates the NativeColorSpace connection primaries. + * @param gamma Indicates the NativeColorSpace connection gamma. + * @return Returns the pointer to the NativeColorSpaceManager instance created. + * Creation failed, cause memory shortage. + * @since 13 + * @version 1.0 + */ +OH_NativeColorSpaceManager* OH_NativeColorSpaceManager_CreateFromPrimariesAndGamma( + ColorSpacePrimaries primaries, float gamma); + +/** + * @brief Delete the NativeColorSpaceManager instance. + * + * @syscap SystemCapability.Graphic.Graphic2D.ColorManager.Core + * @param nativeColorSpaceManager Indicates the pointer to a NativeColorSpaceManager instance. + * @since 13 + * @version 1.0 + */ +void OH_NativeColorSpaceManager_Destroy(OH_NativeColorSpaceManager* nativeColorSpaceManager); + +/** + * @brief Get colorSpace name. + * + * @syscap SystemCapability.Graphic.Graphic2D.ColorManager.Core + * @param nativeColorSpaceManager Indicates the pointer to a NativeColorSpaceManager instance. + * @return Returns value, return value > 0 && value <= 25, success, return value == 0 , failed. + * @since 13 + * @version 1.0 + */ +int OH_NativeColorSpaceManager_GetColorSpaceName( + OH_NativeColorSpaceManager* nativeColorSpaceManager); + +/** + * @brief Get white point. + * + * @syscap SystemCapability.Graphic.Graphic2D.ColorManager.Core + * @param nativeColorSpaceManager Indicates the pointer to a NativeColorSpaceManager instance. + * @return Returns float array, return array = <0.f, 0.f>, failed, otherwise, true. + * @since 13 + * @version 1.0 + */ +WhitePointArray OH_NativeColorSpaceManager_GetWhitePoint( + OH_NativeColorSpaceManager* nativeColorSpaceManager); + +/** + * @brief Get gamma. + * + * @syscap SystemCapability.Graphic.Graphic2D.ColorManager.Core + * @param nativeColorSpaceManager Indicates the pointer to a NativeColorSpaceManager instance. + * @return Returns float, return value == 0.f, failed, otherwise, true. + * @since 13 + * @version 1.0 + */ +float OH_NativeColorSpaceManager_GetGamma(OH_NativeColorSpaceManager* nativeColorSpaceManager); + +#ifdef __cplusplus +} +#endif + +/** @} */ +#endif \ No newline at end of file -- Gitee From 167668f5aae2cd58fcf1ba1eb82560e41c5b0bd1 Mon Sep 17 00:00:00 2001 From: ustc-tianyu Date: Wed, 4 Sep 2024 10:10:38 +0800 Subject: [PATCH 265/359] add fontVariation C API Signed-off-by: ustc-tianyu --- .../native_drawing/drawing_typeface.h | 84 ++++++++++++++++++- .../graphic_2d/native_drawing/drawing_types.h | 8 ++ .../native_drawing/libnative_drawing.ndk.json | 20 +++++ 3 files changed, 110 insertions(+), 2 deletions(-) diff --git a/graphic/graphic_2d/native_drawing/drawing_typeface.h b/graphic/graphic_2d/native_drawing/drawing_typeface.h index 0208f5ff9..fa3d016e9 100644 --- a/graphic/graphic_2d/native_drawing/drawing_typeface.h +++ b/graphic/graphic_2d/native_drawing/drawing_typeface.h @@ -40,6 +40,7 @@ * @version 1.0 */ +#include "drawing_error_code.h" #include "drawing_types.h" #ifdef __cplusplus @@ -57,7 +58,7 @@ extern "C" { OH_Drawing_Typeface* OH_Drawing_TypefaceCreateDefault(void); /** - * @brief Creates a OH_Drawing_Typeface object by file. + * @brief Creates an OH_Drawing_Typeface object by file. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param path file path. @@ -69,7 +70,44 @@ OH_Drawing_Typeface* OH_Drawing_TypefaceCreateDefault(void); OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromFile(const char* path, int index); /** - * @brief Creates a OH_Drawing_Typeface object by given a stream. If the stream is not a valid + * @brief Creates an OH_Drawing_Typeface object with the specified font arguments from a file. + * If the OH_Drawing_Typeface object does not support the variations described in fontArguments, + * this function creates an OH_Drawing_Typeface object without font arguments. + * In this case, this function provides the same capability as {@link OH_Drawing_TypefaceCreateFromFile}. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param path Indicates the file path. + * @param fontArguments Indicates the pointer to an OH_Drawing_FontArguments object. + * @return Returns the pointer to the OH_Drawing_Typeface object created. + * If nullptr is returned, the creation fails. + * The possible cause of the failure is that the available memory is empty, + * or either path or fontArguments is nullptr, or the path is invalid. + * @since 13 + * @version 1.0 + */ +OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromFileWithArguments(const char* path, + const OH_Drawing_FontArguments* fontArguments); + +/** + * @brief Creates an OH_Drawing_Typeface object with the specified font arguments from + * an existing OH_Drawing_Typeface object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param current Indicates the existing OH_Drawing_Typeface object. + * @param fontArguments Indicates the pointer to an OH_Drawing_FontArguments object. + * @return Returns the pointer to the OH_Drawing_Typeface object created. + * If nullptr is returned, the creation fails. + * The possible cause of the failure is that the available memory is empty, + * or either current or fontArguments is nullptr, + * or current does not support the variations described in fontArguments. + * @since 13 + * @version 1.0 + */ +OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromCurrent(const OH_Drawing_Typeface* current, + const OH_Drawing_FontArguments* fontArguments); + +/** + * @brief Creates an OH_Drawing_Typeface object by given a stream. If the stream is not a valid * font file, returns nullptr. Ownership of the stream is transferred, so the caller must not reference * it or free it again. * @@ -92,6 +130,48 @@ OH_Drawing_Typeface* OH_Drawing_TypefaceCreateFromStream(OH_Drawing_MemoryStream */ void OH_Drawing_TypefaceDestroy(OH_Drawing_Typeface*); +/** + * @brief Creates an OH_Drawing_FontArguments object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @return Returns the pointer to the OH_Drawing_FontArguments object created. + * If nullptr is returned, the creation fails. + * The possible cause of the failure is that the available memory is empty. + * @since 13 + * @version 1.0 + */ +OH_Drawing_FontArguments* OH_Drawing_FontArgumentsCreate(void); + +/** + * @brief Adds a font variation axis for an OH_Drawing_FontArguments object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param fontArguments Indicates the pointer to an OH_Drawing_FontArguments object. + * @param axis Indicates the axis tag, which must contain four ASCII characters. + * @param value Indicates the value of the axis field. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if either fontArguments or axis is nullptr, + * or the length of axis is not 4. + * @since 13 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_FontArgumentsAddVariation(OH_Drawing_FontArguments* fontArguments, + const char* axis, float value); + +/** + * @brief Destroys an OH_Drawing_FontArguments object and reclaims the memory occupied by the object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param fontArguments Indicates the pointer to an OH_Drawing_FontArguments object. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if fontArguments is nullptr. + * @since 13 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_FontArgumentsDestroy(OH_Drawing_FontArguments* fontArguments); + #ifdef __cplusplus } #endif diff --git a/graphic/graphic_2d/native_drawing/drawing_types.h b/graphic/graphic_2d/native_drawing/drawing_types.h index e040acdfc..a505833ac 100644 --- a/graphic/graphic_2d/native_drawing/drawing_types.h +++ b/graphic/graphic_2d/native_drawing/drawing_types.h @@ -240,6 +240,14 @@ typedef struct OH_Drawing_Font OH_Drawing_Font; */ typedef struct OH_Drawing_MemoryStream OH_Drawing_MemoryStream; +/** + * @brief Defines fontArguments, which is used to describe the arguments for a font. + * + * @since 13 + * @version 1.0 + */ +typedef struct OH_Drawing_FontArguments OH_Drawing_FontArguments; + /** * @brief Defines a typeface, which is used to describe the typeface. * diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index 9c5b0d269..81d6f7021 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -176,6 +176,18 @@ }, { "name": "OH_Drawing_FilterSetMaskFilter" }, { "name": "OH_Drawing_FilterDestroy" }, + { + "first_introduced": "13", + "name": "OH_Drawing_FontArgumentsAddVariation" + }, + { + "first_introduced": "13", + "name": "OH_Drawing_FontArgumentsCreate" + }, + { + "first_introduced": "13", + "name": "OH_Drawing_FontArgumentsDestroy" + }, { "name": "OH_Drawing_FontCreate" }, { "name": "OH_Drawing_FontDestroy" }, { @@ -680,7 +692,15 @@ { "name": "OH_Drawing_MemoryStreamCreate" }, { "name": "OH_Drawing_MemoryStreamDestroy" }, { "name": "OH_Drawing_TypefaceCreateDefault" }, + { + "first_introduced": "13", + "name": "OH_Drawing_TypefaceCreateFromCurrent" + }, { "name": "OH_Drawing_TypefaceCreateFromFile" }, + { + "first_introduced": "13", + "name": "OH_Drawing_TypefaceCreateFromFileWithArguments" + }, { "name": "OH_Drawing_TypefaceCreateFromStream" }, { "name": "OH_Drawing_TypefaceDestroy" }, { "name": "OH_Drawing_CreateTypographyHandler" }, -- Gitee From a481d10b11cc7c856832c9e7b4970f0258118e54 Mon Sep 17 00:00:00 2001 From: bluhuang Date: Wed, 11 Sep 2024 22:38:01 +0800 Subject: [PATCH 266/359] change enum type name Change-Id: I4097658a6c43b38ee1a8f2826663752582398c10 Signed-off-by: bluhuang --- .../preferences/include/oh_preferences_value.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/distributeddatamgr/preferences/include/oh_preferences_value.h b/distributeddatamgr/preferences/include/oh_preferences_value.h index c1a0e3579..945e28fc6 100644 --- a/distributeddatamgr/preferences/include/oh_preferences_value.h +++ b/distributeddatamgr/preferences/include/oh_preferences_value.h @@ -55,23 +55,23 @@ typedef enum Preference_ValueType { /** * @brief Null. */ - TYPE_NULL = 0, + PREFERENCE_TYPE_NULL = 0, /** * @brief Int. */ - TYPE_INT, + PREFERENCE_TYPE_INT, /** * @brief boolean. */ - TYPE_BOOL, + PREFERENCE_TYPE_BOOL, /** * @brief String. */ - TYPE_STRING, + PREFERENCE_TYPE_STRING, /** * @brief end butt. */ - TYPE_BUTT + PREFERENCE_TYPE_BUTT } Preference_ValueType; /** @@ -117,7 +117,7 @@ const OH_PreferencesValue *OH_PreferencesPair_GetPreferencesValue(const OH_Prefe * * @param object Pointer to the target {@Link OH_PreferencesValue} instance. * @return Returns the value type obtained. - * {@link TYPE_NULL} indicates invalid args are passed in. + * {@link PREFERENCE_TYPE_NULL} indicates invalid args are passed in. * @see OH_PreferencesValue. * @since 13 */ -- Gitee From faabb0fc5c73cad25a3a5c66b2e289c5473b99c9 Mon Sep 17 00:00:00 2001 From: huchang Date: Thu, 12 Sep 2024 11:07:43 +0800 Subject: [PATCH 267/359] add block detection query function Signed-off-by: huchang Change-Id: I3f7a7c7b61941fc88e0f7e8db22fd2ec6807e117 --- .../native_audio_routing_manager.h | 20 ++++++++++++++++++- multimedia/audio_framework/ohaudio.ndk.json | 4 ++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h index 2f44c5b11..e79aa1d24 100644 --- a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h +++ b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h @@ -255,7 +255,25 @@ typedef void (*OH_AudioRoutingManager_OnDeviceBlockStatusCallback)( void *userData); /** - * @brief Set the microphone block status callback. The caller will receive the callback only when it is recording + * @brief Query whether microphone block detection is supported on current device. + * + * @param audioRoutingManager the {@link OH_AudioRoutingManager} handle returned by + * {@link OH_AudioManager_GetAudioRoutingManager}. + * @param supported query result. + * @return Function result code: + * {@link AUDIOCOMMON_RESULT_SUCCESS} If the execution is successful. + * {@link AUDIOCOMMON_RESULT_ERROR_INVALID_PARAM}: + * 1.The param of audioRoutingManager is nullptr; + * 2.The param of supported is nullptr. + * @since 13 + */ +OH_AudioCommon_Result OH_AudioRoutingManager_IsMicrophoneBlockDetectionSupported( + OH_AudioRoutingManager *audioRoutingManager, + bool *supported); + +/** + * @brief Set the microphone block status callback. Before using this function, users should query whether block + * detection is supported on current device. The caller will receive the callback only when it is recording * and the used microphones' block status have changed. Currently, block detecting is only support for microphones * located on the local device. * diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index d4f849c54..256f72c69 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -371,6 +371,10 @@ "first_introduced": "12", "name":"OH_AudioRenderer_SetDefaultOutputDevice" }, + { + "first_introduced": "13", + "name": "OH_AudioRoutingManager_IsMicrophoneBlockDetectionSupported" + }, { "first_introduced": "13", "name": "OH_AudioRoutingManager_SetMicrophoneBlockStatusCallback" -- Gitee From c628dd556bc41a4b21a9b2bd7010e0b5450218b5 Mon Sep 17 00:00:00 2001 From: huchang Date: Thu, 12 Sep 2024 11:35:52 +0800 Subject: [PATCH 268/359] abbr mic Signed-off-by: huchang Change-Id: I0c3ce24032686b76929171d7dfc60682e371e502 --- .../audio_manager/native_audio_routing_manager.h | 4 ++-- multimedia/audio_framework/ohaudio.ndk.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h index e79aa1d24..b5f363ac7 100644 --- a/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h +++ b/multimedia/audio_framework/audio_manager/native_audio_routing_manager.h @@ -267,7 +267,7 @@ typedef void (*OH_AudioRoutingManager_OnDeviceBlockStatusCallback)( * 2.The param of supported is nullptr. * @since 13 */ -OH_AudioCommon_Result OH_AudioRoutingManager_IsMicrophoneBlockDetectionSupported( +OH_AudioCommon_Result OH_AudioRoutingManager_IsMicBlockDetectionSupported( OH_AudioRoutingManager *audioRoutingManager, bool *supported); @@ -288,7 +288,7 @@ OH_AudioCommon_Result OH_AudioRoutingManager_IsMicrophoneBlockDetectionSupported * 2.The param of callback is nullptr. * @since 13 */ -OH_AudioCommon_Result OH_AudioRoutingManager_SetMicrophoneBlockStatusCallback( +OH_AudioCommon_Result OH_AudioRoutingManager_SetMicBlockStatusCallback( OH_AudioRoutingManager *audioRoutingManager, OH_AudioRoutingManager_OnDeviceBlockStatusCallback callback, void *userData); diff --git a/multimedia/audio_framework/ohaudio.ndk.json b/multimedia/audio_framework/ohaudio.ndk.json index 256f72c69..961c75dae 100644 --- a/multimedia/audio_framework/ohaudio.ndk.json +++ b/multimedia/audio_framework/ohaudio.ndk.json @@ -373,10 +373,10 @@ }, { "first_introduced": "13", - "name": "OH_AudioRoutingManager_IsMicrophoneBlockDetectionSupported" + "name": "OH_AudioRoutingManager_IsMicBlockDetectionSupported" }, { "first_introduced": "13", - "name": "OH_AudioRoutingManager_SetMicrophoneBlockStatusCallback" + "name": "OH_AudioRoutingManager_SetMicBlockStatusCallback" } ] -- Gitee From 08b8693cfd1eaf42919ede2a28b395455faea823 Mon Sep 17 00:00:00 2001 From: zhangwuf Date: Thu, 12 Sep 2024 16:26:15 +0800 Subject: [PATCH 269/359] =?UTF-8?q?=E4=B8=8D=E5=86=8D=E5=AF=B9NDK=E7=BC=96?= =?UTF-8?q?=E8=AF=91=E5=90=8E=E7=9A=84=E7=89=B9=E5=AE=9A=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangwuf --- .../src/coreImpl/diff/diff_file.py | 23 +++++----- .../src/coreImpl/parser/parse_include.py | 44 +++++++++---------- 2 files changed, 33 insertions(+), 34 deletions(-) diff --git a/build-tools/capi_parser/src/coreImpl/diff/diff_file.py b/build-tools/capi_parser/src/coreImpl/diff/diff_file.py index 202841f38..e8f7d3d9c 100644 --- a/build-tools/capi_parser/src/coreImpl/diff/diff_file.py +++ b/build-tools/capi_parser/src/coreImpl/diff/diff_file.py @@ -292,7 +292,7 @@ def diff_list(old_file_list, new_file_list, old_dir, new_dir): def add_new_file(diff_file_path): if os.path.isdir(diff_file_path): add_file(diff_file_path) - elif filter_ignore_file(diff_file_path): + else: result_map = parse_file_result(diff_parser_include_ast(global_new_dir, [diff_file_path], flag=1)) for new_info in result_map.values(): diff_info_list.extend(judgment_entrance(None, new_info)) @@ -301,7 +301,7 @@ def add_new_file(diff_file_path): def del_old_file(diff_file_path): if os.path.isdir(diff_file_path): del_file(diff_file_path) - elif filter_ignore_file(diff_file_path): + else: result_map = parse_file_result(diff_parser_include_ast(global_old_dir, [diff_file_path], flag=0)) for old_info in result_map.values(): diff_info_list.extend(judgment_entrance(old_info, None)) @@ -324,14 +324,13 @@ def get_same_file_diff(target_file, old_file_list, new_file_list, old_dir, new_d def get_file_result_diff(old_target_file, new_target_file): - if filter_ignore_file(old_target_file): - old_file_result_map = parse_file_result(diff_parser_include_ast(global_old_dir, [old_target_file], flag=0)) - new_file_result_map = parse_file_result(diff_parser_include_ast(global_new_dir, [new_target_file], flag=1)) - if old_file_result_map and new_file_result_map: - merged_dict = OrderedDict(list(old_file_result_map.items()) + list(new_file_result_map.items())) - all_key_list = merged_dict.keys() - for key in all_key_list: - diff_info_list.extend(judgment_entrance(old_file_result_map.get(key), new_file_result_map.get(key))) + old_file_result_map = parse_file_result(diff_parser_include_ast(global_old_dir, [old_target_file], flag=0)) + new_file_result_map = parse_file_result(diff_parser_include_ast(global_new_dir, [new_target_file], flag=1)) + if old_file_result_map and new_file_result_map: + merged_dict = OrderedDict(list(old_file_result_map.items()) + list(new_file_result_map.items())) + all_key_list = merged_dict.keys() + for key in all_key_list: + diff_info_list.extend(judgment_entrance(old_file_result_map.get(key), new_file_result_map.get(key))) def del_file(dir_path): @@ -342,7 +341,7 @@ def del_file(dir_path): file_path = os.path.join(dir_path, i) if os.path.isdir(file_path): del_file(file_path) - if get_file_ext(i) == '.h' and filter_ignore_file(file_path): + if get_file_ext(i) == '.h': result_map = parse_file_result(diff_parser_include_ast(global_old_dir, [file_path], flag=0)) for old_info in result_map.values(): diff_info_list.extend(judgment_entrance(old_info, None)) @@ -356,7 +355,7 @@ def add_file(dir_path): file_path = os.path.join(dir_path, i) if os.path.isdir(file_path): add_file(file_path) - if get_file_ext(i) == '.h' and filter_ignore_file(file_path): + if get_file_ext(i) == '.h': result_map = parse_file_result(diff_parser_include_ast(global_new_dir, [file_path], flag=1)) for new_info in result_map.values(): diff_info_list.extend(judgment_entrance(None, new_info)) diff --git a/build-tools/capi_parser/src/coreImpl/parser/parse_include.py b/build-tools/capi_parser/src/coreImpl/parser/parse_include.py index 841af8f82..c27ef98f7 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/parse_include.py +++ b/build-tools/capi_parser/src/coreImpl/parser/parse_include.py @@ -260,7 +260,7 @@ def get_node_class_name(data): return class_name -def processing_special_node(cursor, data, key, gn_path): # 处理需要特殊处理的节点 +def processing_special_node(cursor, data, key, directory_path): # 处理需要特殊处理的节点 if key == 0: location_path = cursor.spelling kind_name = CursorKind.TRANSLATION_UNIT.name @@ -273,15 +273,15 @@ def processing_special_node(cursor, data, key, gn_path): # 处理需要特殊 "location_line": cursor.location.line, "location_column": cursor.location.column } - if gn_path: - relative_path = os.path.relpath(location_path, gn_path) # 获取头文件相对路 + if directory_path: + relative_path = os.path.relpath(location_path, directory_path) # 获取头文件相对路 loc["location_path"] = relative_path data["location"] = loc data["class_name"] = get_node_class_name(data) data["unique_id"] = get_api_unique_id(cursor, loc, data) if key == 0: data["unique_id"] = data["name"] - syntax_error_message = diagnostic_callback(cursor.translation_unit.diagnostics, gn_path) + syntax_error_message = diagnostic_callback(cursor.translation_unit.diagnostics, directory_path) data["syntax_error"] = syntax_error_message if kind_name in special_node_process.keys(): node_process = special_node_process[kind_name] @@ -321,12 +321,12 @@ def define_comment(cursor, current_file, data): data['comment'] = matches.group() -def get_default_node_data(cursor, gn_path): +def get_default_node_data(cursor, directory_path): data = { "name": cursor.spelling, "kind": '', "type": cursor.type.spelling, - "gn_path": gn_path, + "gn_path": directory_path, "node_content": {}, "comment": '', "syscap": '', @@ -374,15 +374,15 @@ def diagnostic_callback(diagnostic, dir_path): return syntax_error_message -def parser_data_assignment(cursor, current_file, gn_path, comment=None, key=0): - data = get_default_node_data(cursor, gn_path) +def parser_data_assignment(cursor, current_file, directory_path, comment=None, key=0): + data = get_default_node_data(cursor, directory_path) get_comment(cursor, data) if key == 0: data["kind"] = CursorKind.TRANSLATION_UNIT.name if comment: data["comment"] = comment - if gn_path: - relative_path = os.path.relpath(cursor.spelling, gn_path) + if directory_path: + relative_path = os.path.relpath(cursor.spelling, directory_path) data["name"] = relative_path else: content = node_extent(cursor, current_file) @@ -396,15 +396,15 @@ def parser_data_assignment(cursor, current_file, gn_path, comment=None, key=0): get_permission_value(data) get_module_name_value(data) get_deprecate_since_value(data) - processing_special_node(cursor, data, key, gn_path) # 节点处理 + processing_special_node(cursor, data, key, directory_path) # 节点处理 get_file_kit_or_system(data) return data -def ast_to_dict(cursor, current_file, last_data, gn_path, comment=None, key=0): # 解析数据的整理 +def ast_to_dict(cursor, current_file, last_data, directory_path, comment=None, key=0): # 解析数据的整理 # 通用赋值 - data = parser_data_assignment(cursor, current_file, gn_path, comment, key) + data = parser_data_assignment(cursor, current_file, directory_path, comment, key) if last_data: data['module_name'] = last_data['module_name'] data['kit_name'] = last_data['kit_name'] @@ -430,7 +430,7 @@ def ast_to_dict(cursor, current_file, last_data, gn_path, comment=None, key=0): and child.kind.name != CursorKind.MACRO_INSTANTIATION.name \ and child.kind.name != CursorKind.INCLUSION_DIRECTIVE.name \ and (child.location.file.name == current_file): - processing_ast_node(child, current_file, data, name, gn_path) + processing_ast_node(child, current_file, data, name, directory_path) else: if cursor.kind == CursorKind.FUNCTION_DECL: # 防止clang默认处理(对于头文件没有的情况)出现没有该键值对 data["parm"] = [] @@ -552,17 +552,17 @@ def get_comment(cursor, data: dict): data["comment"] = 'none_comment' -def processing_ast_node(child, current_file, data, name, gn_path): - child_data = ast_to_dict(child, current_file, data, gn_path, key=1) +def processing_ast_node(child, current_file, data, name, directory_path): + child_data = ast_to_dict(child, current_file, data, directory_path, key=1) if child.kind == CursorKind.TYPE_REF: data["type_ref"] = child_data else: data[name].append(child_data) -def preorder_travers_ast(cursor, comment, current_file, gn_path): # 获取属性 +def preorder_travers_ast(cursor, comment, current_file, directory_path): # 获取属性 previous_data = {} - ast_dict = ast_to_dict(cursor, current_file, previous_data, gn_path, comment) # 获取节点属性 + ast_dict = ast_to_dict(cursor, current_file, previous_data, directory_path, comment) # 获取节点属性 return ast_dict @@ -617,7 +617,7 @@ def get_start_comments(include_path): # 获取每个头文件的最开始注释 return content -def api_entrance(share_lib, include_path, gn_path, link_path): # 统计入口 +def api_entrance(share_lib, include_path, directory_path, link_path): # 统计入口 # clang.cindex需要用到libclang.dll共享库 所以配置共享库 if not Config.loaded: Config.set_library_file(share_lib) @@ -636,7 +636,7 @@ def api_entrance(share_lib, include_path, gn_path, link_path): # 统计入口 ast_root_node = tu.cursor # 获取根节点 matches = get_start_comments(item) # 接收文件最开始的注释 # 前序遍历AST - file_result_data = preorder_travers_ast(ast_root_node, matches, item, gn_path) # 调用处理函数 + file_result_data = preorder_travers_ast(ast_root_node, matches, item, directory_path) # 调用处理函数 data_total.append(file_result_data) iter_line_dist = iter(line_dist) first = next(iter_line_dist) @@ -648,12 +648,12 @@ def api_entrance(share_lib, include_path, gn_path, link_path): # 统计入口 return data_total -def get_include_file(include_file_path, link_path, gn_path): # 库路径、.h文件路径、链接头文件路径 +def get_include_file(include_file_path, link_path, directory_path): # 库路径、.h文件路径、链接头文件路径 # libclang.dll库路径 libclang_path = StringConstant.LIB_CLG_PATH.value # c头文件的路径 file_path = include_file_path # 头文件链接路径 link_include_path = link_path # 可以通过列表传入 - data = api_entrance(libclang_path, file_path, gn_path, link_include_path) # 调用接口 + data = api_entrance(libclang_path, file_path, directory_path, link_include_path) # 调用接口 return data -- Gitee From 2b6f1dcc3e3906749ef667aa66ac84e16c61eb1b Mon Sep 17 00:00:00 2001 From: lsh <450972247@qq.com> Date: Fri, 13 Sep 2024 12:42:01 +0800 Subject: [PATCH 270/359] =?UTF-8?q?lsh=20native=5Fnode.h=20=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lsh <450972247@qq.com> Change-Id: I0689a2297ad1f95d60813e7e669ec1c771d6fee1 --- arkui/ace_engine/native/native_node.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index b5e8f080d..ca9b8cb20 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -7500,7 +7500,7 @@ typedef struct ArkUI_NodeContentEvent ArkUI_NodeContentEvent; typedef void (*ArkUI_NodeContentCallback)(ArkUI_NodeContentEvent* event); /** - * @brief register a callback functoin to a node content. + * @brief register a callback function to a node content. * * @param content Indicates the pointer to the node content instance. * @param callback Indicates the callback function. @@ -7567,7 +7567,7 @@ int32_t OH_ArkUI_NodeContent_AddNode(ArkUI_NodeContentHandle content, ArkUI_Node * * @param content Indicates the pointer to the node content instance. * @param node Indicates the pointer to the node - * @return Returns the error code. + * @return Returns the error code. * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. * @since 12 -- Gitee From 4e0027d18055dded98386d0a1b449886a24d4d8f Mon Sep 17 00:00:00 2001 From: yaozhupeng Date: Fri, 13 Sep 2024 15:12:06 +0800 Subject: [PATCH 271/359] add pixelmap interface Signed-off-by: yaozhupeng --- .../image_framework/include/image/image_common.h | 4 ++++ .../include/image/pixelmap_native.h | 14 ++++++++++++++ multimedia/image_framework/libpixelmap.ndk.json | 4 ++++ 3 files changed, 22 insertions(+) diff --git a/multimedia/image_framework/include/image/image_common.h b/multimedia/image_framework/include/image/image_common.h index b9173661c..b6cf5943d 100644 --- a/multimedia/image_framework/include/image/image_common.h +++ b/multimedia/image_framework/include/image/image_common.h @@ -165,6 +165,10 @@ typedef enum { IMAGE_UNSUPPORTED_CONVERSION = 7600203, /** invalid region */ IMAGE_INVALID_REGION = 7600204, + /** @error unsupported memory format + * @since 13 + */ + IMAGE_UNSUPPORTED_MEMORY_FORMAT = 7600205, /** failed to allocate memory */ IMAGE_ALLOC_FAILED = 7600301, /** memory copy failed */ diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index 0e5956cfe..dfadc930b 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -834,6 +834,20 @@ Image_ErrorCode OH_PixelmapNative_SetMetadata(OH_PixelmapNative *pixelmap, OH_Pi */ Image_ErrorCode OH_PixelmapNative_GetNativeBuffer(OH_PixelmapNative *pixelmap, OH_NativeBuffer **nativeBuffer); +/** + * @brief Set pixelmap memory name. + * + * @param pixelmap The Pixelmap pointer to be operated. + * @param name The pointer of name that needs to be set. + * @param size The size of name size that needs to be set. + * @return Function result code: + * {@link IMAGE_SUCCESS} If the operation is successful. + * {@link IMAGE_BAD_PARAMETER} If invalid parameter, name and size are incorrect. + * {@link IMAGE_UNSUPPORTED_MEMORY_FORMAT} If memory format is unsupported. + * @see OH_PixelmapNative + * @since 13 + */ +Image_ErrorCode OH_PixelmapNative_SetMemoryName(OH_PixelmapNative *pixelmap, char *name, size_t *size); #ifdef __cplusplus }; #endif diff --git a/multimedia/image_framework/libpixelmap.ndk.json b/multimedia/image_framework/libpixelmap.ndk.json index 78c1a0235..add12ebb4 100644 --- a/multimedia/image_framework/libpixelmap.ndk.json +++ b/multimedia/image_framework/libpixelmap.ndk.json @@ -166,5 +166,9 @@ { "first_introduced": "12", "name": "OH_PixelmapNative_ConvertPixelmapNativeFromNapi" + }, + { + "first_introduced": "13", + "name": "OH_PixelmapNative_SetMemoryName" } ] \ No newline at end of file -- Gitee From 8d653652893ffefe65a5599c378f4feef8963746 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=B9=94=E5=BC=82?= Date: Fri, 13 Sep 2024 18:05:36 +0800 Subject: [PATCH 272/359] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=B0=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈乔异 --- .../include/image/pixelmap_native.h | 14 ++++++++++++++ multimedia/image_framework/libpixelmap.ndk.json | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index 0e5956cfe..eeaf48c9f 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -643,6 +643,20 @@ Image_ErrorCode OH_PixelmapNative_ConvertPixelmapNativeFromNapi(napi_env env, na */ Image_ErrorCode OH_PixelmapNative_ReadPixels(OH_PixelmapNative *pixelmap, uint8_t *destination, size_t *bufferSize); +/** + * @brief Reads the pixel data of a PixelMap into a buffer. The data read is in ARGB_8888 format. + * + * @param pixelmap The PixelMap pointer to be operated. + * @param destination Buffer to which the image PixelMap data will be written. + * @param bufferSize Buffer size to which the image PixelMap data will be written. + * @return Returns {@link Image_ErrorCode} IMAGE_RESULT_SUCCESS - if the operation is successful. + * returns {@link Image_ErrorCode} IMAGE_BAD_PARAMETER - if invalid parameter, pixelmap, destination, or bufferSize is + * null. + * @see OH_PixelmapNative + * @since 13 + */ +Image_ErrorCode OH_PixelmapNative_ReadARGBPixels(OH_PixelmapNative *pixelmap, uint8_t *destination, size_t *bufferSize); + /** * @brief Reads image data in an Buffer and writes the data to a Pixelmap object. * diff --git a/multimedia/image_framework/libpixelmap.ndk.json b/multimedia/image_framework/libpixelmap.ndk.json index 78c1a0235..cc03f82ba 100644 --- a/multimedia/image_framework/libpixelmap.ndk.json +++ b/multimedia/image_framework/libpixelmap.ndk.json @@ -95,6 +95,10 @@ "first_introduced": "12", "name": "OH_PixelmapNative_ReadPixels" }, + { + "first_introduced": "13", + "name": "OH_PixelmapNative_ReadARGBPixels" + }, { "first_introduced": "12", "name": "OH_PixelmapNative_WritePixels" -- Gitee From 346354d3ad2b552eab164eaa2d888d8d0d4d7fc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=B9=94=E5=BC=82?= Date: Fri, 13 Sep 2024 18:13:49 +0800 Subject: [PATCH 273/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AE=9A=E4=B9=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 陈乔异 --- .../include/image/pixelmap_native.h | 31 ++++++++++--------- .../image_framework/libpixelmap.ndk.json | 8 ++--- 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/multimedia/image_framework/include/image/pixelmap_native.h b/multimedia/image_framework/include/image/pixelmap_native.h index eeaf48c9f..f3c5f66bc 100644 --- a/multimedia/image_framework/include/image/pixelmap_native.h +++ b/multimedia/image_framework/include/image/pixelmap_native.h @@ -643,20 +643,6 @@ Image_ErrorCode OH_PixelmapNative_ConvertPixelmapNativeFromNapi(napi_env env, na */ Image_ErrorCode OH_PixelmapNative_ReadPixels(OH_PixelmapNative *pixelmap, uint8_t *destination, size_t *bufferSize); -/** - * @brief Reads the pixel data of a PixelMap into a buffer. The data read is in ARGB_8888 format. - * - * @param pixelmap The PixelMap pointer to be operated. - * @param destination Buffer to which the image PixelMap data will be written. - * @param bufferSize Buffer size to which the image PixelMap data will be written. - * @return Returns {@link Image_ErrorCode} IMAGE_RESULT_SUCCESS - if the operation is successful. - * returns {@link Image_ErrorCode} IMAGE_BAD_PARAMETER - if invalid parameter, pixelmap, destination, or bufferSize is - * null. - * @see OH_PixelmapNative - * @since 13 - */ -Image_ErrorCode OH_PixelmapNative_ReadARGBPixels(OH_PixelmapNative *pixelmap, uint8_t *destination, size_t *bufferSize); - /** * @brief Reads image data in an Buffer and writes the data to a Pixelmap object. * @@ -668,6 +654,23 @@ Image_ErrorCode OH_PixelmapNative_ReadARGBPixels(OH_PixelmapNative *pixelmap, ui */ Image_ErrorCode OH_PixelmapNative_WritePixels(OH_PixelmapNative *pixelmap, uint8_t *source, size_t bufferSize); +/** + * @brief Get argb pixel buffer from pixelmap. + * + * @param pixelmap The Pixelmap pointer to be operated. + * @param destination Buffer to which the image pixel map data will be written. + * @param bufferSize Buffer size to which the image pixel map data will be written. + * @return Function result code: + * {@link IMAGE_SUCCESS} If the operation is successful. + * {@link IMAGE_BAD_PARAMETER} If invalid parameter, destination and bufferSize are incorrect. + * {@link IMAGE_UNSUPPORTED_CONVERSION} If format does not support conversion to argb or conversion failed. + * {@link IMAGE_ALLOC_FAILED} If device has no memory. + * {@link IMAGE_COPY_FAILED} If memory copy failed. + * @see OH_PixelmapNative + * @since 13 + */ +Image_ErrorCode OH_PixelmapNative_GetArgbPixels(OH_PixelmapNative *pixelmap, uint8_t *destination, size_t *bufferSize); + /** * @brief Convert {@link OH_PixelmapNative} to standard dynamic range. * diff --git a/multimedia/image_framework/libpixelmap.ndk.json b/multimedia/image_framework/libpixelmap.ndk.json index cc03f82ba..fe644851c 100644 --- a/multimedia/image_framework/libpixelmap.ndk.json +++ b/multimedia/image_framework/libpixelmap.ndk.json @@ -95,14 +95,14 @@ "first_introduced": "12", "name": "OH_PixelmapNative_ReadPixels" }, - { - "first_introduced": "13", - "name": "OH_PixelmapNative_ReadARGBPixels" - }, { "first_introduced": "12", "name": "OH_PixelmapNative_WritePixels" }, + { + "first_introduced": "13", + "name": "OH_PixelmapNative_GetArgbPixels" + }, { "first_introduced": "12", "name": "OH_PixelmapNative_ToSdr" -- Gitee From d807e93c9a88f8917fc2e8c2fd191bee3cac94da Mon Sep 17 00:00:00 2001 From: wanjining Date: Sat, 14 Sep 2024 17:27:04 +0800 Subject: [PATCH 274/359] =?UTF-8?q?=E3=80=90CAPI=E3=80=91imageSpan?= =?UTF-8?q?=E6=96=B0=E5=A2=9Ebaseline=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wanjining --- arkui/ace_engine/native/native_node.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index ca9b8cb20..d6e4b89e1 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -2286,6 +2286,21 @@ typedef enum { * */ NODE_IMAGE_SPAN_ALT, + /** + * @brief Defines the baseline offset attribute of the ImageSpan component. + * This attribute can be set, reset, and obtained as required through APIs. + * A positive value means an upward offset, while a negative value means a downward offset. + * The default value is 0, and the unit is fp. \n + * + * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n + * .value[0].f32: baseline offset, in fp.\n + * \n + * Format of the return value {@link ArkUI_AttributeItem}:\n + * .value[0].f32: baseline offset, in fp. \n + * + * @since 13 + */ + NODE_IMAGE_SPAN_BASELINE_OFFSET = 3003, /** * @brief Defines the image source of the component. * This attribute can be set, reset, and obtained as required through APIs. -- Gitee From ea0f4cc777667162ef9f2a46e969034d96151eb9 Mon Sep 17 00:00:00 2001 From: liushang Date: Sat, 14 Sep 2024 20:22:13 +0800 Subject: [PATCH 275/359] colorspace name Signed-off-by: liushang --- multimedia/video_processing_engine/image_processing_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/video_processing_engine/image_processing_types.h b/multimedia/video_processing_engine/image_processing_types.h index f05531332..d42f56586 100644 --- a/multimedia/video_processing_engine/image_processing_types.h +++ b/multimedia/video_processing_engine/image_processing_types.h @@ -150,7 +150,7 @@ extern const char* IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL; typedef struct ImageProcessing_ColorSpaceInfo { /** define metadata type, {@link enum OH_Pixelmap_HdrMetadataKey} */ int32_t metadataType; - /** define color space */ + /** define color space, {@link enum ColorSpaceName} */ int32_t colorSpace; /** define pixel format, {@link enum PIXEL_FORMAT} */ int32_t pixelFormat; -- Gitee From 3a7f02254ec7ac72997127ff6434b0317d4b63c4 Mon Sep 17 00:00:00 2001 From: z30049243 Date: Sun, 15 Sep 2024 16:04:43 +0800 Subject: [PATCH 276/359] =?UTF-8?q?=E6=97=8B=E8=BD=ACndk=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?js=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: z30049243 --- multimedia/camera_framework/camera.ndk.json | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/multimedia/camera_framework/camera.ndk.json b/multimedia/camera_framework/camera.ndk.json index 50cc20db4..e5faf336c 100644 --- a/multimedia/camera_framework/camera.ndk.json +++ b/multimedia/camera_framework/camera.ndk.json @@ -487,6 +487,10 @@ "first_introduced": "12", "name": "OH_PhotoOutput_EnableMovingPhoto" }, + { + "first_introduced": "12", + "name": "OH_PhotoOutput_GetPhotoRotation" + }, { "first_introduced": "11", "name": "OH_PreviewOutput_RegisterCallback" @@ -531,6 +535,14 @@ "first_introduced": "12", "name": "OH_PreviewOutput_GetActiveFrameRate" }, + { + "first_introduced": "12", + "name": "OH_PreviewOutput_GetPreviewRotation" + }, + { + "first_introduced": "12", + "name": "OH_PreviewOutput_SetPreviewRotation" + }, { "first_introduced": "11", "name": "OH_VideoOutput_RegisterCallback" @@ -575,6 +587,10 @@ "first_introduced": "12", "name": "OH_VideoOutput_GetActiveFrameRate" }, + { + "first_introduced": "12", + "name": "OH_VideoOutput_GetVideoRotation" + }, { "first_introduced": "12", "name": "OH_CameraDevice_GetCameraOrientation" -- Gitee From c1481408d871e0ade2c500e95b2e2895ddc24c31 Mon Sep 17 00:00:00 2001 From: lihui Date: Wed, 11 Sep 2024 17:34:58 +0800 Subject: [PATCH 277/359] =?UTF-8?q?=E6=96=B0=E5=A2=9Enative=20window?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lihui --- .../graphic_2d/native_buffer/native_buffer.h | 26 +++---- .../graphic_2d/native_image/native_image.h | 34 ++++----- .../native_window/external_window.h | 75 ++++++++++--------- 3 files changed, 71 insertions(+), 64 deletions(-) diff --git a/graphic/graphic_2d/native_buffer/native_buffer.h b/graphic/graphic_2d/native_buffer/native_buffer.h index aee47ec3f..154df76d3 100644 --- a/graphic/graphic_2d/native_buffer/native_buffer.h +++ b/graphic/graphic_2d/native_buffer/native_buffer.h @@ -290,7 +290,7 @@ typedef struct { * A new OH_NativeBuffer instance is created each time this function is called.\n * This interface needs to be used in conjunction with OH_NativeBuffer_Unreference<\b>, * otherwise memory leaks will occur.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param config Indicates the pointer to a BufferRequestConfig instance. @@ -305,7 +305,7 @@ OH_NativeBuffer* OH_NativeBuffer_Alloc(const OH_NativeBuffer_Config* config); * @brief Adds the reference count of a OH_NativeBuffer.\n * This interface needs to be used in conjunction with OH_NativeBuffer_Unreference<\b>, * otherwise memory leaks will occur.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -318,7 +318,7 @@ int32_t OH_NativeBuffer_Reference(OH_NativeBuffer *buffer); /** * @brief Decreases the reference count of a OH_NativeBuffer and, when the reference count reaches 0, * destroys this OH_NativeBuffer.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -330,7 +330,7 @@ int32_t OH_NativeBuffer_Unreference(OH_NativeBuffer *buffer); /** * @brief Return a config of the OH_NativeBuffer in the passed OHNativeBufferConfig struct.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -344,7 +344,7 @@ void OH_NativeBuffer_GetConfig(OH_NativeBuffer *buffer, OH_NativeBuffer_Config* /** * @brief Provide direct cpu access to the OH_NativeBuffer in the process's address space.\n * This interface needs to be used in conjunction with OH_NativeBuffer_Unmap<\b>.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -358,7 +358,7 @@ int32_t OH_NativeBuffer_Map(OH_NativeBuffer *buffer, void **virAddr); /** * @brief Remove direct cpu access ability of the OH_NativeBuffer in the process's address space.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -370,7 +370,7 @@ int32_t OH_NativeBuffer_Unmap(OH_NativeBuffer *buffer); /** * @brief Get the systen wide unique sequence number of the OH_NativeBuffer.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -382,7 +382,7 @@ uint32_t OH_NativeBuffer_GetSeqNum(OH_NativeBuffer *buffer); /** * @brief Provide direct cpu access to the potentially multi-plannar OH_NativeBuffer in the process's address space.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -396,7 +396,7 @@ int32_t OH_NativeBuffer_MapPlanes(OH_NativeBuffer *buffer, void **virAddr, OH_Na /** * @brief Converts an OHNativeWindowBuffer instance to an OH_NativeBuffer.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param nativeWindowBuffer Indicates the pointer to a OHNativeWindowBuffer instance. @@ -409,7 +409,7 @@ int32_t OH_NativeBuffer_FromNativeWindowBuffer(OHNativeWindowBuffer *nativeWindo /** * @brief Set the color space of the OH_NativeBuffer.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -422,7 +422,7 @@ int32_t OH_NativeBuffer_SetColorSpace(OH_NativeBuffer *buffer, OH_NativeBuffer_C /** * @brief Get the color space of the OH_NativeBuffer.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -437,7 +437,7 @@ int32_t OH_NativeBuffer_GetColorSpace(OH_NativeBuffer *buffer, OH_NativeBuffer_C /** * @brief Set the metadata type of the OH_NativeBuffer.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. @@ -456,7 +456,7 @@ int32_t OH_NativeBuffer_SetMetadataValue(OH_NativeBuffer *buffer, OH_NativeBuffe /** * @brief Set the metadata type of the OH_NativeBuffer.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeBuffer * @param buffer Indicates the pointer to a OH_NativeBuffer instance. diff --git a/graphic/graphic_2d/native_image/native_image.h b/graphic/graphic_2d/native_image/native_image.h index eca8af106..cc8653a64 100644 --- a/graphic/graphic_2d/native_image/native_image.h +++ b/graphic/graphic_2d/native_image/native_image.h @@ -81,7 +81,7 @@ typedef struct OH_OnFrameAvailableListener { * @brief Create a OH_NativeImage related to an Opengl ES texture and target. \n * This interface needs to be used in conjunction with OH_NativeImage_Destroy<\b>, * otherwise memory leaks will occur.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param textureId Indicates the id of the Opengl ES texture which the native image attached to. @@ -95,7 +95,7 @@ OH_NativeImage* OH_NativeImage_Create(uint32_t textureId, uint32_t textureTarget /** * @brief Acquire the OHNativeWindow for the OH_NativeImage.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -108,7 +108,7 @@ OHNativeWindow* OH_NativeImage_AcquireNativeWindow(OH_NativeImage* image); /** * @brief Attach the OH_NativeImage to Opengl ES context, and the Opengl ES texture is bound to the \n * GL_TEXTURE_EXTERNAL_OES, which will update by the OH_NativeImage.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -121,7 +121,7 @@ int32_t OH_NativeImage_AttachContext(OH_NativeImage* image, uint32_t textureId); /** * @brief Detach the OH_NativeImage from the Opengl ES context.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -136,7 +136,7 @@ int32_t OH_NativeImage_DetachContext(OH_NativeImage* image); * @brief Update the related Opengl ES texture with the OH_NativeImage acquired buffer.\n * This interface needs to be called in the Opengl ES context thread.\n * This interface needs to be called after receiving the OH_OnFrameAvailableListener<\b> callback.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -148,7 +148,7 @@ int32_t OH_NativeImage_UpdateSurfaceImage(OH_NativeImage* image); /** * @brief Get the timestamp of the texture image set by the most recent call to OH_NativeImage_UpdateSurfaceImage.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -175,7 +175,7 @@ int32_t OH_NativeImage_GetTransformMatrix(OH_NativeImage* image, float matrix[16 /** * @brief Return the native image's surface id.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -189,7 +189,7 @@ int32_t OH_NativeImage_GetSurfaceId(OH_NativeImage* image, uint64_t* surfaceId); /** * @brief Set the frame available callback.\n * Not allow calling other interfaces in the callback function.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -202,7 +202,7 @@ int32_t OH_NativeImage_SetOnFrameAvailableListener(OH_NativeImage* image, OH_OnF /** * @brief Unset the frame available callback.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -215,7 +215,7 @@ int32_t OH_NativeImage_UnsetOnFrameAvailableListener(OH_NativeImage* image); /** * @brief Destroy the OH_NativeImage created by OH_NativeImage_Create, and the pointer to * OH_NativeImage will be null after this operation.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage pointer. @@ -227,7 +227,7 @@ void OH_NativeImage_Destroy(OH_NativeImage** image); /** * @brief Obtains the transform matrix of the texture image by producer transform type.\n * The matrix will not be update until OH_NativeImage_UpdateSurfaceImage<\b> is called.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -250,7 +250,7 @@ int32_t OH_NativeImage_GetTransformMatrixV2(OH_NativeImage* image, float matrix[ * This interface needs to be used in conjunction with OH_NativeImage_ReleaseNativeWindowBuffer<\b>, * otherwise memory leaks will occur.\n * When the fenceFd is used up, you need to close it.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -269,7 +269,7 @@ int32_t OH_NativeImage_AcquireNativeWindowBuffer(OH_NativeImage* image, * @brief Release the OHNativeWindowBuffer to the buffer queue through an * OH_NativeImage instance for reuse.\n * The fenceFd will be close by system.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -290,7 +290,7 @@ int32_t OH_NativeImage_ReleaseNativeWindowBuffer(OH_NativeImage* image, * This method can not be used at the same time with OH_NativeImage_UpdateSurfaceImage.\n * This interface needs to be used in conjunction with OH_NativeImage_Destroy<\b>, * otherwise memory leaks will occur.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @return Returns the pointer to the OH_NativeImage instance created if the operation is successful, \n @@ -298,11 +298,11 @@ int32_t OH_NativeImage_ReleaseNativeWindowBuffer(OH_NativeImage* image, * @since 12 * @version 1.0 */ -OH_NativeImage* OH_ConsumerSurface_Create(); +OH_NativeImage* OH_ConsumerSurface_Create(void); /** * @brief Set the default usage of the OH_NativeImage.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. @@ -316,7 +316,7 @@ int32_t OH_ConsumerSurface_SetDefaultUsage(OH_NativeImage* image, uint64_t usage /** * @brief Set the default size of the OH_NativeImage.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeImage * @param image Indicates the pointer to a OH_NativeImage instance. diff --git a/graphic/graphic_2d/native_window/external_window.h b/graphic/graphic_2d/native_window/external_window.h index b8717daf2..ef2144879 100644 --- a/graphic/graphic_2d/native_window/external_window.h +++ b/graphic/graphic_2d/native_window/external_window.h @@ -117,25 +117,25 @@ typedef enum NativeWindowOperation { /** * get native window buffer format, * variable parameter in function is - * [out] int32_t *format + * [out] int32_t *format, the enumeration value refers to {@link OH_NativeBuffer_Format}. */ GET_FORMAT, /** * set native window buffer format, * variable parameter in function is - * [in] int32_t format + * [in] int32_t format, the enumeration value refers to {@link OH_NativeBuffer_Format}. */ SET_FORMAT, /** * get native window buffer usage, * variable parameter in function is - * [out] uint64_t *usage. + * [out] uint64_t *usage, the enumeration value refers to {@link OH_NativeBuffer_Usage}. */ GET_USAGE, /** * set native window buffer usage, * variable parameter in function is - * [in] uint64_t usage. + * [in] uint64_t usage, the enumeration value refers to {@link OH_NativeBuffer_Usage}. */ SET_USAGE, /** @@ -177,25 +177,25 @@ typedef enum NativeWindowOperation { /** * set native window buffer colorGamut, * variable parameter in function is - * [in] int32_t colorGamut. + * [in] int32_t colorGamut, the enumeration value refers to {@link OH_NativeBuffer_ColorGamut}. */ SET_COLOR_GAMUT, /** * get native window buffer colorGamut, * variable parameter in function is - * [out int32_t *colorGamut]. + * [out int32_t *colorGamut], the enumeration value refers to {@link OH_NativeBuffer_ColorGamut}. */ GET_COLOR_GAMUT, /** * set native window buffer transform, * variable parameter in function is - * [in] int32_t transform. + * [in] int32_t transform, the enumeration value refers to {@link OH_NativeBuffer_TransformType}. */ SET_TRANSFORM, /** * get native window buffer transform, * variable parameter in function is - * [out] int32_t *transform. + * [out] int32_t *transform, the enumeration value refers to {@link OH_NativeBuffer_TransformType}. */ GET_TRANSFORM, /** @@ -214,14 +214,14 @@ typedef enum NativeWindowOperation { /** * set surface source type, * variable parameter in function is - * [in] int32_t sourceType. + * [in] int32_t sourceType, the enumeration value refers to {@link OHSurfaceSource}. * @since 12 */ SET_SOURCE_TYPE, /** * get surface source type, * variable parameter in function is - * [out] int32_t *sourceType. + * [out] int32_t *sourceType, the enumeration value refers to {@link OHSurfaceSource}. * @since 12 */ GET_SOURCE_TYPE, @@ -253,6 +253,13 @@ typedef enum NativeWindowOperation { * @since 12 */ SET_SDR_WHITE_POINT_BRIGHTNESS, + /** + * set native window buffer desiredPresentTimestamp, + * variable parameter in function is + * [in] int64_t desiredPresentTimestamp. + * @since 13 + */ + SET_DESIRED_PRESENT_TIMESTAMP = 24, } NativeWindowOperation; /** @@ -401,7 +408,7 @@ OHNativeWindow* OH_NativeWindow_CreateNativeWindow(void* pSurface); /** * @brief Decreases the reference count of a OHNativeWindow instance by 1, * and when the reference count reaches 0, destroys the instance.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -428,7 +435,7 @@ OHNativeWindowBuffer* OH_NativeWindow_CreateNativeWindowBufferFromSurfaceBuffer( * A new OHNativeWindowBuffer instance is created each time this function is called.\n * This interface needs to be used in conjunction with OH_NativeWindow_DestroyNativeWindowBuffer<\b>, * otherwise memory leaks will occur.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param nativeBuffer Indicates the pointer to a native buffer. The type is OH_NativeBuffer*. @@ -441,7 +448,7 @@ OHNativeWindowBuffer* OH_NativeWindow_CreateNativeWindowBufferFromNativeBuffer(O /** * @brief Decreases the reference count of a OHNativeWindowBuffer instance by 1 and, * when the reference count reaches 0, destroys the instance.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param buffer Indicates the pointer to a OHNativeWindowBuffer instance. @@ -457,7 +464,7 @@ void OH_NativeWindow_DestroyNativeWindowBuffer(OHNativeWindowBuffer* buffer); * This interface needs to be used in conjunction with OH_NativeWindow_NativeWindowFlushBuffer<\b>, * otherwise buffer will be exhausted.\n * When the fenceFd is used up, you need to close it.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -474,7 +481,7 @@ int32_t OH_NativeWindow_NativeWindowRequestBuffer(OHNativeWindow *window, * @brief Flushes the OHNativeWindowBuffer filled with the content to the buffer queue * through a OHNativeWindow instance for content consumption.\n * The fenceFd will be close by system.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -508,7 +515,7 @@ int32_t OH_NativeWindow_GetLastFlushedBuffer(OHNativeWindow *window, OHNativeWin /** * @brief Returns the OHNativeWindowBuffer to the buffer queue through a OHNativeWindow instance, * without filling in any content. The OHNativeWindowBuffer can be used for another request.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -521,7 +528,7 @@ int32_t OH_NativeWindow_NativeWindowAbortBuffer(OHNativeWindow *window, OHNative /** * @brief Sets or obtains the attributes of a native window, including the width, height, and content format.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -535,7 +542,7 @@ int32_t OH_NativeWindow_NativeWindowHandleOpt(OHNativeWindow *window, int code, /** * @brief Obtains the pointer to a BufferHandle of a OHNativeWindowBuffer instance.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param buffer Indicates the pointer to a OHNativeWindowBuffer instance. @@ -549,7 +556,7 @@ BufferHandle *OH_NativeWindow_GetBufferHandleFromNative(OHNativeWindowBuffer *bu * @brief Adds the reference count of a native object.\n * This interface needs to be used in conjunction with OH_NativeWindow_NativeObjectUnreference<\b>, * otherwise memory leaks will occur.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param obj Indicates the pointer to a OHNativeWindow or OHNativeWindowBuffer instance. @@ -562,7 +569,7 @@ int32_t OH_NativeWindow_NativeObjectReference(void *obj); /** * @brief Decreases the reference count of a native object and, * when the reference count reaches 0, destroys this object.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param obj Indicates the pointer to a OHNativeWindow or OHNativeWindowBuffer instance. @@ -574,7 +581,7 @@ int32_t OH_NativeWindow_NativeObjectUnreference(void *obj); /** * @brief Obtains the magic ID of a native object.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param obj Indicates the pointer to a OHNativeWindow or OHNativeWindowBuffer instance. @@ -649,7 +656,7 @@ int32_t OH_NativeWindow_NativeWindowSetTunnelHandle(OHNativeWindow *window, cons * @brief Attach a buffer to an OHNativeWindow instance.\n * This interface needs to be used in conjunction with OH_NativeWindow_NativeWindowDetachBuffer<\b>, * otherwise buffer management will be chaotic.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. @@ -662,7 +669,7 @@ int32_t OH_NativeWindow_NativeWindowAttachBuffer(OHNativeWindow *window, OHNativ /** * @brief Detach a buffer from an OHNativeWindow instance.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. @@ -675,7 +682,7 @@ int32_t OH_NativeWindow_NativeWindowDetachBuffer(OHNativeWindow *window, OHNativ /** * @brief Get surfaceId from native window.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. @@ -695,7 +702,7 @@ int32_t OH_NativeWindow_GetSurfaceId(OHNativeWindow *window, uint64_t *surfaceId * OH_NativeWindow_NativeObjectUnreference<\b>.\n * If the surface obtained through surfaceId is created in this process, the surface cannot be obtained * across processes.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param surfaceId Indicates the surfaceId to a surface. @@ -708,7 +715,7 @@ int32_t OH_NativeWindow_CreateNativeWindowFromSurfaceId(uint64_t surfaceId, OHNa /** * @brief Sets scalingMode of a native window.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window indicates the pointer to an OHNativeWindow instance. @@ -721,7 +728,7 @@ int32_t OH_NativeWindow_NativeWindowSetScalingModeV2(OHNativeWindow *window, OHS /** * @brief Set native window buffer hold.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. @@ -732,7 +739,7 @@ void OH_NativeWindow_SetBufferHold(OHNativeWindow *window); /** * @brief Write an OHNativeWindow to an OHIPCParcel.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. @@ -746,7 +753,7 @@ int32_t OH_NativeWindow_WriteToParcel(OHNativeWindow *window, OHIPCParcel *parce /** * @brief Read an OHNativeWindow from an OHIPCParcel.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param parcel Indicates the pointer to an OHIPCParcel instance. @@ -763,7 +770,7 @@ int32_t OH_NativeWindow_ReadFromParcel(OHIPCParcel *parcel, OHNativeWindow **win * When the fenceFd is used up, you need to close it.\n * This interface needs to be used in conjunction with OH_NativeWindow_NativeObjectUnreference<\b>, * otherwise memory leaks will occur.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to an OHNativeWindow instance. @@ -781,7 +788,7 @@ int32_t OH_NativeWindow_GetLastFlushedBufferV2(OHNativeWindow *window, OHNativeW int *fenceFd, float matrix[16]); /** * @brief Set the color space of the native window.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -796,7 +803,7 @@ int32_t OH_NativeWindow_SetColorSpace(OHNativeWindow *window, OH_NativeBuffer_Co /** * @brief Get the color space of the native window.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -811,7 +818,7 @@ int32_t OH_NativeWindow_GetColorSpace(OHNativeWindow *window, OH_NativeBuffer_Co /** * @brief Set the metadata type of the native window.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. @@ -830,7 +837,7 @@ int32_t OH_NativeWindow_SetMetadataValue(OHNativeWindow *window, OH_NativeBuffer /** * @brief Set the metadata type of the native window.\n - * This interface dose not support concurrency.\n + * This interface is a non-thread-safe type interface.\n * * @syscap SystemCapability.Graphic.Graphic2D.NativeWindow * @param window Indicates the pointer to a OHNativeWindow instance. -- Gitee From 969293ed3ccf4f30241ad9c469e1d028133c014d Mon Sep 17 00:00:00 2001 From: changleipeng Date: Mon, 29 Jul 2024 10:30:06 +0800 Subject: [PATCH 278/359] update NDK interface Signed-off-by: changleipeng Change-Id: I2f4c65d8b45afdfdc037822c435e8d7280562a6e --- .../kit_sub_system/c_file_kit_sub_system.json | 15 + graphic/graphic_2d/native_drawing/BUILD.gn | 8 + .../graphic_2d/native_drawing/drawing_font.h | 55 ++++ .../graphic_2d/native_drawing/drawing_rect.h | 59 ++++ .../native_drawing/drawing_text_declaration.h | 32 ++ .../drawing_text_font_descriptor.h | 190 ++++++++++++ .../native_drawing/drawing_text_line.h | 283 ++++++++++++++++++ .../drawing_text_lineTypography.h | 103 +++++++ .../native_drawing/drawing_text_run.h | 225 ++++++++++++++ .../native_drawing/drawing_text_typography.h | 123 ++++++-- .../graphic_2d/native_drawing/drawing_types.h | 21 ++ .../native_drawing/libnative_drawing.ndk.json | 232 ++++++++++++++ 12 files changed, 1317 insertions(+), 29 deletions(-) create mode 100644 graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h create mode 100644 graphic/graphic_2d/native_drawing/drawing_text_line.h create mode 100644 graphic/graphic_2d/native_drawing/drawing_text_lineTypography.h create mode 100644 graphic/graphic_2d/native_drawing/drawing_text_run.h diff --git a/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json b/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json index 668e349de..44c8cffcf 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json +++ b/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json @@ -269,6 +269,21 @@ "kitName": "ArkGraphicsD", "subSystem": "图形图像" }, + { + "filePath": "graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h", + "kitName": "ArkGraphicsD", + "subSystem": "图形图像" + }, + { + "filePath": "graphic/graphic_2d/native_drawing/drawing_text_line.h", + "kitName": "ArkGraphicsD", + "subSystem": "图形图像" + }, + { + "filePath": "graphic/graphic_2d/native_drawing/drawing_text_run.h", + "kitName": "ArkGraphicsD", + "subSystem": "图形图像" + }, { "filePath": "graphic/graphic_2d/native_drawing/drawing_text_typography.h", "kitName": "ArkGraphicsD", diff --git a/graphic/graphic_2d/native_drawing/BUILD.gn b/graphic/graphic_2d/native_drawing/BUILD.gn index aea6e1dc4..88c0459bc 100644 --- a/graphic/graphic_2d/native_drawing/BUILD.gn +++ b/graphic/graphic_2d/native_drawing/BUILD.gn @@ -50,6 +50,10 @@ ohos_ndk_headers("native_drawing_header") { "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_surface.h", "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_text_blob.h", "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_text_declaration.h", + "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h", + "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_text_line.h", + "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_text_lineTypography.h", + "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_text_run.h", "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_text_typography.h", "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_typeface.h", "//interface/sdk_c/graphic/graphic_2d/native_drawing/drawing_types.h", @@ -95,6 +99,10 @@ ohos_ndk_library("libnative_drawing_ndk") { "native_drawing/drawing_surface.h", "native_drawing/drawing_text_blob.h", "native_drawing/drawing_text_declaration.h", + "native_drawing/drawing_text_font_descriptor.h", + "native_drawing/drawing_text_line.h", + "native_drawing/drawing_text_lineTypography.h", + "native_drawing/drawing_text_run.h", "native_drawing/drawing_text_typography.h", "native_drawing/drawing_typeface.h", "native_drawing/drawing_types.h", diff --git a/graphic/graphic_2d/native_drawing/drawing_font.h b/graphic/graphic_2d/native_drawing/drawing_font.h index 38ea644f3..0f0428395 100644 --- a/graphic/graphic_2d/native_drawing/drawing_font.h +++ b/graphic/graphic_2d/native_drawing/drawing_font.h @@ -497,6 +497,61 @@ typedef struct OH_Drawing_Font_Metrics { */ float OH_Drawing_FontGetMetrics(OH_Drawing_Font*, OH_Drawing_Font_Metrics*); +/** + * @brief Retrieves the bound rect for each glyph in glyph array. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param font Indicates the pointer to an OH_Drawing_Font object. + * @param glyphs Indicates the array of glyph indices to be measured. + * @param count Indicates the number of glyphs. + * @param bounds The bound rect array for each glyph, returned to the caller. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if any of font, glyphs + * and bounds is nullptr or count is 0. + * @since 14 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_FontGetBounds(const OH_Drawing_Font* font, const uint16_t* glyphs, uint32_t count, + OH_Drawing_Array* bounds); + +/** + * @brief Retrieves the path for specified Glyph. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param font Indicates the pointer to an OH_Drawing_Font object. + * @param glyph glyph index to be obtained. + * @param path The path object, returned to the caller. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if any of font, path + * is nullptr or glyph not exist. + * @since 14 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_FontGetPathForGlyph(const OH_Drawing_Font* font, uint16_t glyph, + OH_Drawing_Path* path); + +/** + * @brief Get the text outline path. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param font Indicates the pointer to an OH_Drawing_Font object. + * @param text Indicates the character storage encoded with text encoding. + * @param byteLength Indicates the text length in bytes. + * @param encoding Indicates the text encoding. + * @param x Indicates x coordinates of the text. + * @param y Indicates y coordinates of the text. + * @param path The path object, returned to the caller. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if any of font, text or path is nullptr. + * @since 14 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_FontGetTextPath(const OH_Drawing_Font* font, const void* text, size_t byteLength, + OH_Drawing_TextEncoding encoding, float x, float y, OH_Drawing_Path* path); + #ifdef __cplusplus } #endif diff --git a/graphic/graphic_2d/native_drawing/drawing_rect.h b/graphic/graphic_2d/native_drawing/drawing_rect.h index e07abff68..02c134f2b 100644 --- a/graphic/graphic_2d/native_drawing/drawing_rect.h +++ b/graphic/graphic_2d/native_drawing/drawing_rect.h @@ -214,6 +214,65 @@ void OH_Drawing_RectCopy(OH_Drawing_Rect* src, OH_Drawing_Rect* dst); */ void OH_Drawing_RectDestroy(OH_Drawing_Rect*); +/** + * @brief Creates an OH_Drawing_Array object, which is used to store multiple OH_Drawing_Rect object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param size Indicates the size of the array object. + * @return Returns the pointer to the OH_Drawing_Array object created. + * If nullptr is returned, the creation fails. + * The possible cause of the failure is that the available memory is empty, + * or size is invalid. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Array* OH_Drawing_RectCreateArray(size_t size); + +/** + * @brief Gets the size of an OH_Drawing_Array object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param rectArray Indicates the array object. + * @param pSize Indicates the size pointer. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if rectArray or pSize is nullptr. + * @since 14 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_RectGetArraySize(OH_Drawing_Array* rectArray, size_t* pSize); + +/** + * @brief Gets the specified OH_Drawing_Rect object from OH_Drawing_Array object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param rectArray Indicates the array object. + * @param index Indicates the index of array, caller must make sure the index is valid. + * @param rect Pointers to Pointer of OH_Drawing_Rect object, returned to the caller. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if rectArray or pprect is nullptr, + * or index is valid. + * @since 14 + * @version 1.0 + * @note Return nullptr if OH_Drawing_Array or index invalid. + */ +OH_Drawing_ErrorCode OH_Drawing_RectGetArrayElement(OH_Drawing_Array* rectArray, size_t index, + OH_Drawing_Rect** rect); + +/** + * @brief Destroys an array OH_Drawing_Rect object and reclaims the memory occupied by the object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param rectArray Indicates the pointer to an OH_Drawing_Array object. + * @return Returns the error code. + * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if rectArray is nullptr. + * @since 14 + * @version 1.0 + */ +OH_Drawing_ErrorCode OH_Drawing_RectDestroyArray(OH_Drawing_Array* rectArray); + #ifdef __cplusplus } #endif diff --git a/graphic/graphic_2d/native_drawing/drawing_text_declaration.h b/graphic/graphic_2d/native_drawing/drawing_text_declaration.h index 9a324c807..24ec0b365 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_declaration.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_declaration.h @@ -60,6 +60,14 @@ typedef struct OH_Drawing_FontCollection OH_Drawing_FontCollection; */ typedef struct OH_Drawing_Typography OH_Drawing_Typography; +/** + * @brief Defines an OH_Drawing_LineTypography, which is used to perform line layout. + * + * @since 14 + * @version 1.0 + */ +typedef struct OH_Drawing_LineTypography OH_Drawing_LineTypography; + /** * @brief Defines an OH_Drawing_TextStyle, which is used to manage text colors and decorations. * @@ -125,6 +133,30 @@ typedef struct OH_Drawing_FontParser OH_Drawing_FontParser; */ typedef struct OH_Drawing_TextShadow OH_Drawing_TextShadow; +/** + * @brief Defines an OH_Drawing_TextTab, which is used to to store the tab alignment type and position. + * + * @since 14 + * @version 1.0 + */ +typedef struct OH_Drawing_TextTab OH_Drawing_TextTab; + +/** + * @brief Defines an OH_Drawing_TextLine, which is used to manage text line. + * + * @since 14 + * @version 1.0 + */ +typedef struct OH_Drawing_TextLine OH_Drawing_TextLine; + +/** + * @brief Defines an OH_Drawing_Run, which is used to manage run. + * + * @since 14 + * @version 1.0 + */ +typedef struct OH_Drawing_Run OH_Drawing_Run; + #ifdef __cplusplus } #endif diff --git a/graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h b/graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h new file mode 100644 index 000000000..270e7c602 --- /dev/null +++ b/graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h @@ -0,0 +1,190 @@ +/* + * Copyright (c) 2021-2024 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. + */ + +#ifndef C_INCLUDE_DRAWING_TEXT_FONT_DESCRIPTOR_H +#define C_INCLUDE_DRAWING_TEXT_FONT_DESCRIPTOR_H + +/** + * @addtogroup Drawing + * @{ + * + * @brief Provides the font descriptor capability. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * + * @since 8 + * @version 1.0 + */ + +/** + * @file drawing_text_font_descriptor.h + * + * @brief Provide the ability to provide OH_Drawing_FontDescriptor. + * + * @kit ArkGraphics2D + * @library libnative_drawing.so + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @since 8 + * @version 1.0 + */ + +#include "drawing_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Type style flag. + * + * @since 14 + * @version 1.0 + */ +typedef enum { + /** Italic font */ + ITALIC = 1 << 0, + /** Bold font */ + BOLD = 1 << 1, +} OH_Drawing_FontTypeStyle; + +/** + * @brief An enumeration of system font types. + * + * @since 14 + * @version 1.0 + */ +typedef enum { + /** All font types */ + ALL = 1 << 0, + /** System generic font type */ + GENERIC = 1 << 1, + /** Stylish font type */ + STYLISH = 1 << 2, + /** Installed font types */ + INSTALLED = 1 << 3, +} OH_Drawing_SystemFontType; + +/** + * @brief Describes the font information. + * + * @since 12 + * @version 1.0 + */ +typedef struct OH_Drawing_FontDescriptor { + /** The file path of System font */ + char* path; + /** A name that uniquely identifies the font */ + char* postScriptName; + /** The name of System font */ + char* fullName; + /** The family of System font */ + char* fontFamily; + /** The subfont family of the system font */ + char* fontSubfamily; + /** The weight of System font */ + int weight; + /** The width of System font */ + int width; + /** Whether the system font is tilted */ + int italic; + /** Whether the system font is compact */ + bool monoSpace; + /** whether symbolic fonts are supported */ + bool symbolic; + /** Font size */ + size_t size; + /** Font style flag, from OH_Drawing_FontTypeStyle */ + int typeStyle; +} OH_Drawing_FontDescriptor; + +/** + * @brief Obtain all system font descriptive symbols that match the specified font descriptor. Where the 'path' and + * 'size' fields are not considered as valid matching values, It takes effect when the remaining fields are not + * default values, If all the fields of the parameters OH_Drawing_FontDescriptor are default, obtain all system + * font descriptors. If the match fails, return nullptr. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_FontDescriptor The pointer to the OH_Drawing_FontDescriptor object. It is recommended to + * use OH_Drawing_CreateFontDescriptor to obtain a valid OH_Drawing_FontDescriptor instance. If you create your own + * OH_Drawing_FontDescriptor object, ensure that fields not intended for matching are set to their default values. + * @param size_t Indicates the count of obtained OH_Drawing_FontDescriptor. + * @return Returns an array of OH_Drawing_FontDescriptor. + * @since 14 + * @version 1.0 + */ +OH_Drawing_FontDescriptor* OH_Drawing_MatchFontDescriptors(OH_Drawing_FontDescriptor*, size_t*); + +/** + * @brief Releases the OH_Drawing_FontDescriptor array. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_FontDescriptor Pointer to OH_Drawing_FontDescriptor array. + * @param size_t Represents the number of members of the OH_Drawing_FontDescriptor array. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroyFontDescriptors(OH_Drawing_FontDescriptor*, size_t); + +/** + * @brief Get the OH_Drawing_FontDescriptor object by the full name of the font, supporting generic fonts, + * stylish fonts, and installed fonts. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_String* Indicates the full name object OH_Drawing_String. + * @return Returns the pointer to a font descriptor object OH_Drawing_FontDescriptor. + * @since 14 + * @version 1.0 + */ +OH_Drawing_FontDescriptor* OH_Drawing_GetFontDescriptorByFullName(const OH_Drawing_String*); + +/** + * @brief Obtain the corresponding font full name list by the font type. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_SystemFontType Indicates enumerates of system font type. + * @return Returns the pointer to full name array object OH_Drawing_Array. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Array* OH_Drawing_GetSystemFontFullNamesByType(OH_Drawing_SystemFontType); + +/** + * @brief Get the specified full name object OH_Drawing_String by index from the + * OH_Drawing_Array object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Array Indicates an array of full name object OH_Drawing_Array. + * @param size_t The index of full name. + * @return Returns a full name object OH_Drawing_String. + * @since 14 + * @version 1.0 + */ +const OH_Drawing_String* OH_Drawing_GetSystemFontFullNamesElement(OH_Drawing_Array*, size_t); + +/** + * @brief Releases the memory occupied by a list of system font names. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Array Indicates an array of full name. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroySystemFontFullNames(OH_Drawing_Array*); + +#ifdef __cplusplus +} +#endif +/** @} */ +#endif \ No newline at end of file diff --git a/graphic/graphic_2d/native_drawing/drawing_text_line.h b/graphic/graphic_2d/native_drawing/drawing_text_line.h new file mode 100644 index 000000000..e83eead09 --- /dev/null +++ b/graphic/graphic_2d/native_drawing/drawing_text_line.h @@ -0,0 +1,283 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef C_INCLUDE_DRAWING_TEXT_LINE_H +#define C_INCLUDE_DRAWING_TEXT_LINE_H + +/** + * @addtogroup Drawing + * @{ + * + * @brief Provides the 2D drawing capability. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * + * @since 14 + * @version 1.0 + */ + +/** + * @file drawing_text_line.h + * + * @brief Declares functions related to textLine in the drawing module. + * + * @since 14 + * @version 1.0 + */ + +#include "drawing_text_declaration.h" +#include "drawing_types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Get text line information. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Typography Indicates the pointer to a typography object OH_Drawing_Typography. + * @return Indicates the pointer to a text line array object OH_Drawing_Array. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Array* OH_Drawing_TypographyGetTextLines(OH_Drawing_Typography* typography); + +/** + * @brief Releases the memory occupied by the text line array object OH_Drawing_Array. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param lines Indicates the pointer to the text line array object OH_Drawing_Array. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroyTextLines(OH_Drawing_Array* lines); + +/** + * @brief Releases the memory occupied by the text line object OH_Drawing_TextLine. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to the text line object OH_Drawing_TextLine. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroyTextLine(OH_Drawing_TextLine* line); + +/** + * @brief Get the text line object by index. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param lines Indicates the pointer to the text line array object OH_Drawing_Array. + * @param index text line object index. + * @return Indicates the pointer to a text line object OH_Drawing_TextLine. + * @since 14 + * @version 1.0 + */ +OH_Drawing_TextLine* OH_Drawing_GetTextLinesIndex(OH_Drawing_Array* lines, size_t index); + +/** + * @brief Get the count of glyphs. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @return Returns the count of glyphs. + * @since 14 + * @version 1.0 + */ +double OH_Drawing_TextLineGetGlyphCount(OH_Drawing_TextLine* line); + +/** + * @brief Get the range of text line. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @param start Indicates the pointer to text line start position. + * @param end Indicates the pointer to text line end position. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_TextLineGetTextRange(OH_Drawing_TextLine* line, size_t* start, size_t* end); + +/** + * @brief Get the glyph runs array of text line. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @return Indicates the pointer to a glyph runs array object of text line OH_Drawing_Array. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Array* OH_Drawing_TextLineGetGlyphRuns(OH_Drawing_TextLine* line); + +/** + * @brief Releases the memory occupied by the run array object OH_Drawing_Array. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param runs Indicates the pointer to the run array object OH_Drawing_Array. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroyRuns(OH_Drawing_Array* runs); + +/** + * @brief Get the run object by index. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param runs Indicates the pointer to the run array object OH_Drawing_Array. + * @param index run object index. + * @return Indicates the pointer to a run object OH_Drawing_Run. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Run* OH_Drawing_GetRunsIndex(OH_Drawing_Array* runs, size_t index); + +/** + * @brief Paint the range of text line. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @param canvas Draw the text line on the canvas. + * @param x Represents the X-axis position on the canvas. + * @param y Represents the Y-axis position on the canvas. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_TextLinePaint(OH_Drawing_TextLine* line, OH_Drawing_Canvas* canvas, double x, double y); + +/** + * @brief Creates a truncated text line object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @param width Indicates the text line width to set. + * @param mode Indicates the ellipsis model to set, EllipsisMode:MIDDLE is not supported. + * For details, see the enum OH_Drawing_EllipsisModal. + * @param ellipsis Indicates the ellipsis string to set. + * @return Returns the pointer to the OH_Drawing_TextLine object created. + * @since 14 + * @version 1.0 + */ +OH_Drawing_TextLine* OH_Drawing_TextLineCreateTruncatedLine(OH_Drawing_TextLine* line, double width, int mode, + const char* ellipsis); + +/** + * @brief Gets the text line typographic bounds. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @param ascent Indicates the distance that the pointer points to remain above the baseline. + * @param descent Indicates the pointer to the distance that remains below the baseline. + * @param leading Indicates the pointer to the line Spacing. + * @return Returns The total width of the typesetting border. + * @since 14 + * @version 1.0 + */ +double OH_Drawing_TextLineGetTypographicBounds(OH_Drawing_TextLine* line, double* ascent, double* descent, + double* leading); + +/** + * @brief Gets the text line image bounds. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @return Returns the pointer to the OH_Drawing_Rect struct created. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Rect* OH_Drawing_TextLineGetImageBounds(OH_Drawing_TextLine* line); + +/** + * @brief Gets the tail space width. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @return Returns the tail space width. + * @since 14 + * @version 1.0 + */ +double OH_Drawing_TextLineGetTrailingSpaceWidth(OH_Drawing_TextLine* line); + +/** + * @brief Gets the string index of the given position. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @param point The given position. + * @return Returns the string index for a given position. + * @since 14 + * @version 1.0 + */ +int32_t OH_Drawing_TextLineGetStringIndexForPosition(OH_Drawing_TextLine* line, OH_Drawing_Point* point); + +/** + * @brief Gets the offset of the given string index. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @param index The given string index. + * @param secondOffset Indicates the pointer to the offset of compound character, not supported. + * @return Returns the offset info for a given string index. + * @since 14 + * @version 1.0 + */ +double OH_Drawing_TextLineGetOffsetForStringIndex(OH_Drawing_TextLine* line, int32_t index, double* secondOffset); + +/** + * @brief User-defined callback functions for using offsets and indexes. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param offset Character offset is traversed as an argument to the callback function. + * @param index Character index is traversed as an argument to the callback function. + * @param leadingEdge Whether the current offset is at the character front, as an argument to the callback function. + * @return The return value of the user-defined callback function. + * If false is returned, the traversal continues. + * If true is returned, the traversal stops. + * @since 14 + * @version 1.0 + */ +typedef bool (*CustomCallback)(double offset, int32_t index, bool leadingEdge); + +/** + * @brief Enumerate caret offset and index in text lines. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @param callback User-defined callback functions, see CustomCallback. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_TextLineEnumerateCaretOffsets(OH_Drawing_TextLine* line, CustomCallback callback); + +/** + * @brief Gets the text offset based on the given alignment factor and alignment width. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @param alignmentFactor The coefficients that text needs to be aligned. + * Less than or equal to 0 is left justified, 0.5 is center justified, + * and greater than or equal to 1 is right justified. + * @param alignmentWidth The width of the text to be aligned. + * Returns 0 if it is less than the actual width of the text. + * @return Returns the offset of the aligned text. + * @since 14 + * @version 1.0 + */ +double OH_Drawing_TextLineGetAlignmentOffset(OH_Drawing_TextLine* line, double alignmentFactor, double alignmentWidth); + +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // C_INCLUDE_DRAWING_TEXT_LINE_H \ No newline at end of file diff --git a/graphic/graphic_2d/native_drawing/drawing_text_lineTypography.h b/graphic/graphic_2d/native_drawing/drawing_text_lineTypography.h new file mode 100644 index 000000000..f480cd643 --- /dev/null +++ b/graphic/graphic_2d/native_drawing/drawing_text_lineTypography.h @@ -0,0 +1,103 @@ +/* + * Copyright (c) 2024 Huawei Device Co., Ltd.. All rights reserved. + * 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. + */ + +#ifndef C_INCLUDE_DRAWING_TEXT_LINETYPOGRAPHY_H +#define C_INCLUDE_DRAWING_TEXT_LINETYPOGRAPHY_H + +/** + * @addtogroup Drawing + * @{ + * + * @brief Provides the 2D drawing capability. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * + * @since 14 + * @version 1.0 + */ + +/** + * @file drawing_text_linetypography.h + * + * @brief Declares functions related to lineTypography in the drawing module. + * + * @kit ArkGraphics2D + * @library libnative_drawing.so + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @since 14 + * @version 1.0 + */ + +#include "cstddef" +#include "drawing_text_declaration.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Creates an OH_Drawing_LineTypography object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyCreate Indicates the pointer to an OH_Drawing_TypographyCreate object. + * @return Returns the pointer to the OH_Drawing_LineTypography object created. + * @since 14 + * @version 1.0 + */ +OH_Drawing_LineTypography* OH_Drawing_CreateLineTypography(OH_Drawing_TypographyCreate* handler); + +/** + * @brief Releases the memory occupied by an OH_Drawing_LineTypography object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_LineTypography Indicates the pointer to an OH_Drawing_LineTypography object. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroyLineTypography(OH_Drawing_LineTypography* lineTypography); + +/** + * @brief Calculate the line breakpoint based on the width provided. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyCreate Indicates the pointer to an OH_Drawing_TypographyCreate object. + * @param startIndex Indicates the starting point for the line-break calculations. + * @param width Indicates the requested line-break width. + * @return Returns the count of the characters from startIndex that would cause the line break. + * @since 14 + * @version 1.0 + */ +size_t OH_Drawing_LineTypographyGetLineBreak(OH_Drawing_LineTypography* lineTypography, + size_t startIndex, double width); + +/** + * @brief Creates a text line object based on the text range provided. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_LineTypography Indicates the pointer to an OH_Drawing_TypographyCreate object. + * @param startIndex Indicates the starting index of the text range. + * @param count Indicates the characters count of the text range. + * @return Returns the pointer to the OH_Drawing_TextLine object created. + * @since 14 + * @version 1.0 + */ +OH_Drawing_TextLine* OH_Drawing_LineTypographyCreateLine(OH_Drawing_LineTypography* lineTypography, + size_t startIndex, size_t count); + +#ifdef __cplusplus +} +#endif +/** @} */ +#endif diff --git a/graphic/graphic_2d/native_drawing/drawing_text_run.h b/graphic/graphic_2d/native_drawing/drawing_text_run.h new file mode 100644 index 000000000..28949dc42 --- /dev/null +++ b/graphic/graphic_2d/native_drawing/drawing_text_run.h @@ -0,0 +1,225 @@ +/* + * Copyright (c) 2024 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. + */ + +#ifndef C_INCLUDE_DRAWING_TEXT_RUN_H +#define C_INCLUDE_DRAWING_TEXT_RUN_H + +/** + * @addtogroup Drawing + * @{ + * + * @brief Provides the text run capability. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * + * @since 14 + * @version 1.0 + */ + +/** + * @file drawing_text_run.h + * + * @brief Declares functions related to run in the drawing module. + * + * @since 14 + * @version 1.0 + */ + +#include "drawing_text_declaration.h" +#include "drawing_types.h" + +#ifdef __cplusplus +extern "C" { +#endif +/** + * @brief Gets the run glyph indices ,the offset of the index relative to the entire paragraph. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param start The run of start index. + * @param length The run of length, if start and length are set to 0, then get all of the current run. + * @return Run of glyph indices array. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Array* OH_Drawing_GetRunStringIndices(OH_Drawing_Run* run, int64_t start, int64_t length); + +/** + * @brief Gets the run glyph indices by index. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Array the run glyph indices array. + * @param index The run of glyph index. + * @return Run of glyph indices element. + * @since 14 + * @version 1.0 + */ +uint64_t OH_Drawing_GetRunStringIndicesElement(OH_Drawing_Array* stringIndices, size_t index); + +/** + * @brief Releases the memory run glyph indices array. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param stringIndices glyph indices the pointer. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroyRunStringIndices(OH_Drawing_Array* stringIndices); + +/** + * @brief Gets the range run glyph location and length. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param location The run of glyph location. + * @param length The run of glyph length. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_GetRunStringRange(OH_Drawing_Run* run, uint64_t* location, uint64_t* length); + +/** + * @brief Gets the run typographic bound. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param ascent The run of ascent. + * @param descent The run of descent. + * @param leading The run of leading. + * @return run typographic width. + * @since 14 + * @version 1.0 + */ +float OH_Drawing_GetRunTypographicBounds(OH_Drawing_Run* run, float* ascent, float* descent, float* leading); + +/** + * @brief Paints text on the canvas. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Canvas Indicates the pointer to an OH_Drawing_Canvas object. + * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param x Indicates the x coordinate. + * @param y Indicates the y coordinate. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_RunPaint(OH_Drawing_Canvas* canvas, OH_Drawing_Run* run, double x, double y); + +/** + * @brief Gets the run image bound. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @return OH_Drawing_Rect The run image bounds. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Rect* OH_Drawing_GetRunImageBounds(OH_Drawing_Run* run); + + /** + * @brief Releases the memory run image bounds pointer. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Rect Run image bounds pointer. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroyRunImageBounds(OH_Drawing_Rect* rect); + +/** + * @brief Gets the range glyph identifier for each character. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param start The run of start index. + * @param length The run of length, if start and length are set to 0, then get all of the current run. + * @return Run of glyph array. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Array* OH_Drawing_GetRunGlyphs(OH_Drawing_Run* run, int64_t start, int64_t length); + +/** + * @brief Gets the glyph identifier by index. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param glyphs The run of glyph array. + * @param index The run of glyph index. + * @return Run of glyph element. + * @since 14 + * @version 1.0 + */ +uint16_t OH_Drawing_GetRunGlyphsElement(OH_Drawing_Array* glyphs, size_t index); + +/** + * @brief Releases the memory run glyph array. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param glyphs The run of glyph array. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroyRunGlyphs(OH_Drawing_Array* glyphs); + +/** + * @brief Gets the range glyph position array. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param start The run of start index. + * @param length The run of length, if start and length are set to 0, then get all of the current run. + * @return Run of position array. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Array* OH_Drawing_GetRunPositions(OH_Drawing_Run* run, int64_t start, int64_t length); + +/** + * @brief Gets the glyph position by index. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Array The run of position array. + * @param index The run of glyph index. + * @return Run of glyph position pointer. + * @since 14 + * @version 1.0 + */ +OH_Drawing_Point* OH_Drawing_GetRunPositionsElement(OH_Drawing_Array* positions, size_t index); + +/** + * @brief Releases the memory run of position array. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param positions The run of position array. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroyRunPositions(OH_Drawing_Array* positions); + +/** + * @brief Gets the number of glyph. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @return The number of glyph. + * @since 14 + * @version 1.0 + */ +uint32_t OH_Drawing_GetRunGlyphCount(OH_Drawing_Run* run); +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // C_INCLUDE_DRAWING_TEXT_RUN_H diff --git a/graphic/graphic_2d/native_drawing/drawing_text_typography.h b/graphic/graphic_2d/native_drawing/drawing_text_typography.h index d821c3855..977062e81 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_typography.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_typography.h @@ -45,6 +45,7 @@ #include "drawing_color.h" #include "drawing_font.h" #include "drawing_text_declaration.h" +#include "drawing_text_font_descriptor.h" #include "drawing_types.h" #include "stdint.h" @@ -412,35 +413,6 @@ typedef struct OH_Drawing_FontConfigInfo { OH_Drawing_FontFallbackGroup* fallbackGroupSet; } OH_Drawing_FontConfigInfo; -/** - * @brief Describes the font information. - * - * @since 12 - * @version 1.0 - */ -typedef struct OH_Drawing_FontDescriptor { - /** The file path of System font */ - char* path; - /** A name that uniquely identifies the font */ - char* postScriptName; - /** The name of System font */ - char* fullName; - /** The family of System font */ - char* fontFamily; - /** The subfont family of the system font */ - char* fontSubfamily; - /** The weight of System font */ - int weight; - /** The width of System font */ - int width; - /** Whether the system font is tilted */ - int italic; - /** Whether the system font is compact */ - bool monoSpace; - /** whether symbolic fonts are supported */ - bool symbolic; -} OH_Drawing_FontDescriptor; - /** * @brief The metrics of line. * @@ -734,6 +706,29 @@ void OH_Drawing_SetTextStyleBaseLine(OH_Drawing_TextStyle*, int /* OH_Drawing_Te */ void OH_Drawing_SetTextStyleDecoration(OH_Drawing_TextStyle*, int /* OH_Drawing_TextDecoration */); +/** + * @brief Add the text decoration. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextStyle Indicates the pointer to an OH_Drawing_TextStyle object. + * @param int Indicates the text decoration to add. For details, see the enum OH_Drawing_TextDecoration. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_AddTextStyleDecoration(OH_Drawing_TextStyle*, int /* OH_Drawing_TextDecoration */); + +/** + * @brief Remove the text decoration. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextStyle Indicates the pointer to an OH_Drawing_TextStyle object. + * @param int Indicates the text decoration to remove, shoud be match existing text decorations. + * For details, see the enum OH_Drawing_TextDecoration. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_RemoveTextStyleDecoration(OH_Drawing_TextStyle*, int /* OH_Drawing_TextDecoration */); + /** * @brief Sets the color for the text decoration. * @@ -2753,6 +2748,76 @@ void OH_Drawing_TypographyDestroyTextBox(OH_Drawing_TextBox*); void OH_Drawing_SetTextShadow(OH_Drawing_TextShadow* shadow, uint32_t color, OH_Drawing_Point* offset, double blurRadius); +/** + * @brief Creates an OH_Drawing_TextTab object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextAlign Indicates enumerates text tab alignment modes. TAB alignment, Support left alignment + * right alignment center alignment, other enumeration values are left alignment effect. + * @param float Indicates location if text tab. + * @return Returns the pointer to the OH_Drawing_TextTab object created. + * @since 14 + * @version 1.0 + */ +OH_Drawing_TextTab* OH_Drawing_CreateTextTab(OH_Drawing_TextAlign alignment, float location); + +/** + * @brief Releases the memory occupied by an OH_Drawing_TextTab object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextTab Indicates the pointer to an OH_Drawing_TextTab object. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_DestroyTextTab(OH_Drawing_TextTab*); + +/** + * @brief Get align of an OH_Drawing_TextTab object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextTab Indicates the pointer to an OH_Drawing_TextTab object. + * @return Returns align of an OH_Drawing_TextTab object. + * @since 14 + * @version 1.0 + */ +OH_Drawing_TextAlign OH_Drawing_GetTextTabAlign(OH_Drawing_TextTab*); + +/** + * @brief Get location of an OH_Drawing_TextTab object. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TextTab Indicates the pointer to an OH_Drawing_TextTab object. + * @return Returns location of an OH_Drawing_TextTab object. + * @since 14 + * @version 1.0 + */ +float OH_Drawing_GetTextTabLocation(OH_Drawing_TextTab*); + +/** + * @brief Sets the text tab of OH_Drawing_TypographyStyle object. + * TAB alignment does not take effect when text alignment is also set. Or when the TAB's location property + * is less than or equal to 0. When the TAB is not set, it is the default space effect, and all tabs in the paragraph + * after the setting are aligned according to this tab effect. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param OH_Drawing_TypographyStyle Indicates the pointer to an OH_Drawing_TypographyStyle object. + * @param OH_Drawing_TextTab Indicates the pointer to an OH_Drawing_TextTab object. + * @since 14 + * @version 1.0 + */ +void OH_Drawing_SetTypographyTextTab(OH_Drawing_TypographyStyle*, OH_Drawing_TextTab* TextTab); + +/** + * @brief Get DrawingArray size. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param drawingArray Indicates the pointer to the array object OH_Drawing_Array. + * @return Size of array. + * @since 14 + * @version 1.0 + */ +size_t OH_Drawing_GetDrawingArraySize(OH_Drawing_Array* drawingArray); + #ifdef __cplusplus } #endif diff --git a/graphic/graphic_2d/native_drawing/drawing_types.h b/graphic/graphic_2d/native_drawing/drawing_types.h index e040acdfc..22f860ebb 100644 --- a/graphic/graphic_2d/native_drawing/drawing_types.h +++ b/graphic/graphic_2d/native_drawing/drawing_types.h @@ -471,6 +471,19 @@ typedef struct { double leftBottomRadius; } OH_Drawing_RectStyle_Info; +/** + * @brief Defines the string information struct. + * + * @since 14 + * @version 1.0 + */ +typedef struct { + /** A pointer to a byte string containing UTF-16BE(Big Endian) encoded entities */ + uint8_t* strData; + /** The length of `strData` in bytes */ + uint32_t strLen; +} OH_Drawing_String; + /** * @brief Enumerates text encoding types. * @since 12 @@ -518,6 +531,14 @@ typedef struct OH_Drawing_RecordCmdUtils OH_Drawing_RecordCmdUtils; * @version 1.0 */ typedef struct OH_Drawing_RecordCmd OH_Drawing_RecordCmd; + +/** + * @brief Defines an array object, which is used to store multiple NDK object. + * + * @since 14 + * @version 1.0 + */ +typedef struct OH_Drawing_Array OH_Drawing_Array; #ifdef __cplusplus } #endif diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index 9c5b0d269..264d710ff 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -615,6 +615,14 @@ { "name": "OH_Drawing_SetTextStyleFontWeight" }, { "name": "OH_Drawing_SetTextStyleBaseLine" }, { "name": "OH_Drawing_SetTextStyleDecoration" }, + { + "first_introduced": "14", + "name": "OH_Drawing_AddTextStyleDecoration" + }, + { + "first_introduced": "14", + "name": "OH_Drawing_RemoveTextStyleDecoration" + }, { "name": "OH_Drawing_SetTextStyleDecorationColor" }, { "name": "OH_Drawing_SetTextStyleFontHeight" }, { "name": "OH_Drawing_SetTextStyleFontFamilies" }, @@ -902,6 +910,14 @@ "first_introduced": "12", "name": "OH_Drawing_DestroyFontDescriptor" }, + { + "first_introduced": "14", + "name": "OH_Drawing_MatchFontDescriptors" + }, + { + "first_introduced": "14", + "name": "OH_Drawing_DestroyFontDescriptors" + }, { "first_introduced": "12", "name": "OH_Drawing_CreateFontParser" @@ -910,6 +926,22 @@ "first_introduced": "12", "name": "OH_Drawing_DestroyFontParser" }, + { + "first_introduced": "14", + "name": "OH_Drawing_GetFontDescriptorByFullName" + }, + { + "first_introduced": "14", + "name": "OH_Drawing_GetSystemFontFullNamesByType" + }, + { + "first_introduced": "14", + "name": "OH_Drawing_GetSystemFontFullNamesElement" + }, + { + "first_introduced": "14", + "name": "OH_Drawing_DestroySystemFontFullNames" + }, { "first_introduced": "12", "name": "OH_Drawing_FontParserGetSystemFontList" @@ -1465,5 +1497,205 @@ { "first_introduced": "13", "name":"OH_Drawing_RecordCmdDestroy" + }, + { + "first_introduced": "14", + "name": "OH_Drawing_CreateLineTypography" + }, + { + "first_introduced": "14", + "name": "OH_Drawing_DestroyLineTypography" + }, + { + "first_introduced": "14", + "name": "OH_Drawing_LineTypographyGetLineBreak" + }, + { + "first_introduced": "14", + "name": "OH_Drawing_LineTypographyCreateLine" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_FontGetBounds" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_FontGetPathForGlyph" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_RectCreateArray" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_RectGetArraySize" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_RectGetArrayElement" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_RectDestroyArray" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_CreateTextTab" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_DestroyTextTab" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetTextTabAlign" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetTextTabLocation" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_SetTypographyTextTab" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_FontGetTextPath" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetDrawingArraySize" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TypographyGetTextLines" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_DestroyTextLines" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_DestroyTextLine" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetTextLinesIndex" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineGetGlyphCount" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineGetTextRange" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineGetGlyphRuns" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_DestroyRuns" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunsIndex" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLinePaint" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineCreateTruncatedLine" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineGetTypographicBounds" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineGetImageBounds" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineGetTrailingSpaceWidth" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineGetStringIndexForPosition" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineGetOffsetForStringIndex" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineEnumerateCaretOffsets" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_TextLineGetAlignmentOffset" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunStringIndices" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunStringIndicesElement" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_DestroyRunStringIndices" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunStringRange" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunTypographicBounds" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_RunPaint" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunImageBounds" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_DestroyRunImageBounds" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunGlyphs" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunGlyphsElement" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_DestroyRunGlyphs" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunPositions" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunPositionsElement" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_DestroyRunPositions" + }, + { + "first_introduced": "14", + "name":"OH_Drawing_GetRunGlyphCount" } ] \ No newline at end of file -- Gitee From f8ed65b489c95256a97d924ea79f898a68e469a3 Mon Sep 17 00:00:00 2001 From: lihui Date: Thu, 19 Sep 2024 11:03:42 +0800 Subject: [PATCH 279/359] =?UTF-8?q?=E8=A1=A5=E5=85=85=E6=B3=A8=E9=87=8A?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lihui --- graphic/graphic_2d/native_window/external_window.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/graphic/graphic_2d/native_window/external_window.h b/graphic/graphic_2d/native_window/external_window.h index ef2144879..23d98d207 100644 --- a/graphic/graphic_2d/native_window/external_window.h +++ b/graphic/graphic_2d/native_window/external_window.h @@ -254,8 +254,15 @@ typedef enum NativeWindowOperation { */ SET_SDR_WHITE_POINT_BRIGHTNESS, /** - * set native window buffer desiredPresentTimestamp, - * variable parameter in function is + * Set native window buffer desiredPresentTimestamp, indicates the desired time to present the buffer.\n + * Which should be generated by std::chrono::steady_clock in nanoseconds.\n + * It is only effective when RenderService is the consumer.\n + * The buffer will wait until desiredPresentTimestamp is reached before being consumed and displayed.\n + * If multiple buffers reach desiredPresentTimestamp, the earlier buffer will be dropped.\n + * This Operation should be called before calling OH_NativeWindow_NativeWindowFlushBuffer.\n + * If desiredPresentTimestamp is greater than 1 second of the consumer-provided timestamp, + * the desiredPresentTimestamp will be ignored.\n + * Variable parameter in function is * [in] int64_t desiredPresentTimestamp. * @since 13 */ -- Gitee From 0fd1243fe202db385ec8123211577314dc59fe30 Mon Sep 17 00:00:00 2001 From: wangmengyao111 Date: Thu, 19 Sep 2024 12:35:05 +0800 Subject: [PATCH 280/359] =?UTF-8?q?TicketNo:DTS2024091316370=20Description?= =?UTF-8?q?:=E6=B7=BB=E5=8A=A0size=5Ft=E5=A4=B4=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Team:PDU_PTL Feature or Bugfix:Bugfix Binary Source:No PrivateCode(Yes/No):No Signed-off-by: wangmengyao111 --- network/netssl/include/net_ssl_c_type.h | 1 + 1 file changed, 1 insertion(+) diff --git a/network/netssl/include/net_ssl_c_type.h b/network/netssl/include/net_ssl_c_type.h index fcc9b6fd5..c7096a558 100644 --- a/network/netssl/include/net_ssl_c_type.h +++ b/network/netssl/include/net_ssl_c_type.h @@ -38,6 +38,7 @@ */ #include +#include #ifdef __cplusplus extern "C" { -- Gitee From 5e59225818e425ff9d7264b1d091588dc1b8b0a8 Mon Sep 17 00:00:00 2001 From: xuzhangchi Date: Thu, 19 Sep 2024 14:53:31 +0800 Subject: [PATCH 281/359] =?UTF-8?q?=E5=8F=AF=E5=8F=98=E5=B8=A7=E7=8E=87?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9E=9A=E4=B8=BE=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xuzhangchi --- multimedia/av_codec/native_avcodec_base.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index a3d3fb9a2..1bec2e144 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -953,6 +953,14 @@ extern const char *OH_MD_KEY_TRACK_START_TIME; * @since 12 */ extern const char *OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE; +/** + * @brief Key for describing if enable VRR or not, value type is int32_t (0 or 1): 1 is enabled, 0 otherwise. + * This is an optional key that applies only to video decoder. It is used in configure. + * + * @syscap SystemCapability.Multimedia.Media.CodecBase + * @since 13 + */ +extern const char *OH_MD_KEY_VIDEO_DECODER_ENABLE_VRR; /** * @brief Media type. -- Gitee From c08e0c8d5b4200bcea2555b4d3d211a6951be7bf Mon Sep 17 00:00:00 2001 From: caochuan Date: Mon, 23 Sep 2024 11:30:27 +0800 Subject: [PATCH 282/359] modify @file problem Signed-off-by: caochuan --- multimedia/media_library/media_asset_base_capi.h | 4 ++-- multimedia/media_library/media_asset_manager_capi.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/multimedia/media_library/media_asset_base_capi.h b/multimedia/media_library/media_asset_base_capi.h index 57391fb1e..53380d6de 100644 --- a/multimedia/media_library/media_asset_base_capi.h +++ b/multimedia/media_library/media_asset_base_capi.h @@ -26,7 +26,7 @@ */ /** - * @file media_asset_manager.h + * @file media_asset_base_capi.h * * @brief Defines the structure and enumeration for Media Asset Manager. * @@ -321,4 +321,4 @@ typedef void (*OH_MediaLibrary_OnMovingPhotoDataPrepared)(MediaLibrary_ErrorCode #endif #endif // MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_BASE_H -/** @} */ \ No newline at end of file +/** @} */ diff --git a/multimedia/media_library/media_asset_manager_capi.h b/multimedia/media_library/media_asset_manager_capi.h index 67b5d4b79..2d480e428 100644 --- a/multimedia/media_library/media_asset_manager_capi.h +++ b/multimedia/media_library/media_asset_manager_capi.h @@ -23,7 +23,7 @@ */ /** - * @file media_asset_manager.h + * @file media_asset_manager_capi.h * * @brief Defines the media asset manager APIs. * @@ -162,4 +162,4 @@ MediaLibrary_ErrorCode OH_MediaAssetManager_Release(OH_MediaAssetManager* manage #endif #endif // MULTIMEDIA_MEDIA_LIBRARY_NATIVE_MEDIA_ASSET_MANAGER_H -/** @} */ \ No newline at end of file +/** @} */ -- Gitee From 8b1e972b001a48e10d3a75d121f5d40f3b1ec0fc Mon Sep 17 00:00:00 2001 From: zhangqiang Date: Mon, 23 Sep 2024 11:39:18 +0800 Subject: [PATCH 283/359] =?UTF-8?q?20240923=20=20ScreenCapture=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E8=AE=BE=E7=BD=AE=E5=BD=95=E5=B1=8F=E6=9C=80=E5=A4=A7?= =?UTF-8?q?=E5=B8=A7=E7=8E=87=E7=9A=84=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangqiang --- .../libnative_avscreen_capture.ndk.json | 4 ++++ .../player_framework/native_avscreen_capture.h | 15 +++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json index 1e53ae7d7..8464ce4fd 100644 --- a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json +++ b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json @@ -98,5 +98,9 @@ { "first_introduced": "12", "name": "OH_AVScreenCapture_SkipPrivacyMode" + }, + { + "first_introduced": "14", + "name": "OH_AVScreenCapture_SetMaxVideoFrameRate" } ] \ No newline at end of file diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index c260023c6..48af8569d 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -416,6 +416,21 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ResizeCanvas(struct OH_AVScreenCa */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SkipPrivacyMode(struct OH_AVScreenCapture *capture, int32_t *windowIDs, int32_t windowCount); + +/** + * @brief set up the max number of video frame per second + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param max frame rate of video + * @return Function result code. + * {@link AV_SCREEN_CAPTURE_ERR_OK} if the execution is successful. + * {@link AV_SCREEN_CAPTURE_ERR_INVALID_VAL} input capture is nullptr or frameRate is not support. + * {@link AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT} opertation not be permitted. + * @since 14 + * @version 1.0 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetMaxVideoFrameRate(struct OH_AVScreenCapture *capture, + int32_t frameRate); #ifdef __cplusplus } #endif -- Gitee From d601799fc5a77e05bc27d3cd899a9bccf9a737d2 Mon Sep 17 00:00:00 2001 From: "wy524668781@icloud.com" Date: Thu, 5 Sep 2024 14:29:40 +0800 Subject: [PATCH 284/359] add vector field for rdb Signed-off-by: wy524668781@icloud.com --- .../include/relational_store.h | 252 +++++++++++++++++- .../relational_store/libnative_rdb.ndk.json | 68 +++++ 2 files changed, 318 insertions(+), 2 deletions(-) diff --git a/distributeddatamgr/relational_store/include/relational_store.h b/distributeddatamgr/relational_store/include/relational_store.h index a48ed22ee..50ff91164 100644 --- a/distributeddatamgr/relational_store/include/relational_store.h +++ b/distributeddatamgr/relational_store/include/relational_store.h @@ -104,7 +104,6 @@ typedef enum Rdb_SecurityArea { /** * @brief Manages relational database configurations. - * * @since 10 */ #pragma pack(1) @@ -158,6 +157,166 @@ typedef struct { int64_t id; } OH_Rdb_Store; +/** + * @brief Define OH_Rdb_ConfigV2 type. + * + * @since 13 + */ +typedef struct OH_Rdb_ConfigV2 OH_Rdb_ConfigV2; + +/** + * @brief Define Rdb_DBType type. + * + * @since 13 + */ +typedef enum Rdb_DBType { + /** + * @brief Means using SQLITE as the db kernal + */ + RDB_SQLITE = 1, + /** + * @brief Means using CARLEY_DB as the db kernal + */ + RDB_CAYLEY = 2, + /** + * @brief Means largest value for Rdb_DBType + */ + DBTYPE_BUTT = 64, +} Rdb_DBType; + +/** + * @brief Create OH_Rdb_ConfigV2 which is used to open store + * + * @return Returns the newly created OH_Rdb_ConfigV2 object. If NULL is returned, the creation fails. + * The possible cause is that the address space of the application is full, As a result, the space + * cannot be allocated. + * @see OH_Rdb_ConfigV2 + * @since 13 + */ +OH_Rdb_ConfigV2 *OH_Rdb_CreateConfig(); + +/** + * @brief Destroy OH_Rdb_ConfigV2 which is created by OH_Rdb_CreateConfig + * + * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. + * Indicates the configuration of the database related to this RDB store. + * @return Returns the status code of the execution. Successful execution returns RDB_OK, + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * @since 13 + */ +int OH_Rdb_DestroyConfig(OH_Rdb_ConfigV2 *config); + +/** + * @brief Set property databaseDir into config + * + * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. + * Indicates the configuration of the database related to this RDB store. + * @param dataBaseDir Indicates the directory of the database. + * @return Returns the status code of the execution. Successful execution returns RDB_OK, + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * @since 13 + */ +int OH_Rdb_SetDatabaseDir(OH_Rdb_ConfigV2 *config, const char *databaseDir); + +/** + * @brief Set property storeName into config + * + * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. + * Indicates the configuration of the database related to this RDB store. + * @param storeName Indicates the name of the database. + * @return Returns the status code of the execution. Successful execution returns RDB_OK, + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * @since 13 + */ +int OH_Rdb_SetStoreName(OH_Rdb_ConfigV2 *config, const char *storeName); + +/** + * @brief Set property bundleName into config + * + * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. + * Indicates the configuration of the database related to this RDB store. + * @param bundleName Indicates the bundle name of the application + * @return Returns the status code of the execution. Successful execution returns RDB_OK, + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * @since 13 + */ +int OH_Rdb_SetBundleName(OH_Rdb_ConfigV2 *config, const char *bundleName); + +/** + * @brief Set property moduleName into config + * + * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. + * Indicates the configuration of the database related to this RDB store. + * @param moduleName Indicates the module name of the application. + * @return Returns the status code of the execution. Successful execution returns RDB_OK, + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * @since 13 + */ +int OH_Rdb_SetModuleName(OH_Rdb_ConfigV2 *config, const char *moduleName); + +/** + * @brief Set property isEncrypted into config + * + * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. + * Indicates the configuration of the database related to this RDB store. + * @param isEncrypt Indicates whether the database is encrypted. + * @return Returns the status code of the execution. Successful execution returns RDB_OK, + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * @since 13 + */ +int OH_Rdb_SetEncrypted(OH_Rdb_ConfigV2 *config, bool isEncrypted); + +/** + * @brief Set property securityLevel into config + * + * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. + * Indicates the configuration of the database related to this RDB store. + * @param securityLevel Indicates the security level {@link OH_Rdb_SecurityLevel} of the database. + * @return Returns the status code of the execution. Successful execution returns RDB_OK, + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * @since 13 + */ +int OH_Rdb_SetSecurityLevel(OH_Rdb_ConfigV2 *config, int securityLevel); + +/** + * @brief Set property area into config + * + * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. + * Indicates the configuration of the database related to this RDB store + * @return Returns the status code of the execution. Successful execution returns RDB_OK, + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * @since 13 + */ +int OH_Rdb_SetArea(OH_Rdb_ConfigV2 *config, int area); + +/** + * @brief Set property dbType into config + * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. + * @param dbType Indicates the dbType {@link Rdb_DBType} of the database + * @return Returns the status code of the execution. Successful execution returns RDB_OK, + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * {@link RDB_E_NOT_SUPPORTED} - The error code for not support db types. + * @since 13 + */ +int OH_Rdb_SetDbType(OH_Rdb_ConfigV2 *config, int dbType); + +/** + * @brief Get support db type list + * @param numType The output parameter, which is used to recieve the length of the support db type array. + * @return Return Rdb_DBType array contains supported db type, array length is number of support type + * @since 13 + */ +const int *OH_Rdb_GetSupportedDbType(int *typeCount); + /** * @brief Creates an {@link OH_VObject} instance. * @@ -207,6 +366,24 @@ OH_Predicates *OH_Rdb_CreatePredicates(const char *table); */ OH_Rdb_Store *OH_Rdb_GetOrOpen(const OH_Rdb_Config *config, int *errCode); +/** + * @brief Obtains an RDB store with OH_Rdb_ConfigV2. + * + * You can set parameters of the RDB store as required. In general, + * this method is recommended to obtain a rdb store. + * + * @param config Represents a pointer to an {@link OH_Rdb_ConfigV2} instance. + * Indicates the configuration of the database related to this RDB store. + * @param errCode This parameter is the output parameter, + * and the execution status of a function is written to this variable. + * @return If the creation is successful, a pointer to the instance of the @link OH_Rdb_Store} structure is returned. + * If the Config is empty, config.size does not match, or errCode is empty. + * Get database path failed.Get RDB Store fail. Nullptr is returned. + * @see OH_Rdb_ConfigV2, OH_Rdb_Store. + * @since 13 + */ +OH_Rdb_Store *OH_Rdb_CreateOrOpen(const OH_Rdb_ConfigV2 *config, int *errCode); + /** * @brief Close the {@link OH_Rdb_Store} object and reclaim the memory occupied by the object. * @@ -234,6 +411,20 @@ int OH_Rdb_CloseStore(OH_Rdb_Store *store); */ int OH_Rdb_DeleteStore(const OH_Rdb_Config *config); +/** + * @brief Deletes the database with a specified path. + * + * @param config Represents a pointer to an {@link OH_Rdb_ConfigV2} instance. + * Indicates the configuration of the database related to this RDB store. + * @return Returns the status code of the execution. Successful execution returns RDB_OK, + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * while failure returns a specific error code. Specific error codes can be referenced {@link OH_Rdb_ErrCode}. + * @see OH_Rdb_ErrCode. + * @since 13 + */ +int OH_Rdb_DeleteStoreV2(const OH_Rdb_ConfigV2 *config); + /** * @brief Inserts a row of data into the target table. * @@ -308,6 +499,21 @@ OH_Cursor *OH_Rdb_Query(OH_Rdb_Store *store, OH_Predicates *predicates, const ch */ int OH_Rdb_Execute(OH_Rdb_Store *store, const char *sql); +/** + * @brief Write operations are performed using the specified transaction represented by the transaction ID + * + * @param store Represents a pointer to an {@link OH_Rdb_Store} instance. + * @param sql Indicates the SQL statement to execute. + * @param trxId The transaction ID of the specified transaction, must be greater than 0 + * @return Returns the status code of the execution. + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * {@link RDB_E_NOT_SUPPORTED} - The error code for not supprt. + * @see OH_Rdb_Store. + * @since 13 + */ +int OH_Rdb_ExecuteByTrxId(OH_Rdb_Store *store, int64_t trxId, const char *sql); + /** * @brief Queries data in the database based on an SQL statement. * @@ -356,6 +562,48 @@ int OH_Rdb_RollBack(OH_Rdb_Store *store); */ int OH_Rdb_Commit(OH_Rdb_Store *store); +/** + * @brief Begin a transaction and the transaction ID corresponding to the transaction. + * + * @param store Represents a pointer to an {@link OH_Rdb_Store} instance. + * @param trxId The output parameter, which is used to receive the transaction ID corresponding to the transaction + * @return Returns the status code of the execution. + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * {@link RDB_E_NOT_SUPPORTED} - The error code for not supprt. + * @see OH_Rdb_Store. + * @since 13 + */ +int OH_Rdb_BeginTransWithTrxId(OH_Rdb_Store *store, int64_t *trxId); + +/** + * @brief Roll back a transaction that is represented by a specified transaction ID + * + * @param store Represents a pointer to an {@link OH_Rdb_Store} instance. + * @param trxId The transaction ID of the specified transaction, must be greater than 0 + * @return Returns the status code of the execution. + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * {@link RDB_E_NOT_SUPPORTED} - The error code for not supprt. + * @see OH_Rdb_Store. + * @since 13 + */ +int OH_Rdb_RollBackByTrxId(OH_Rdb_Store *store, int64_t trxId); + +/** + * @brief Commit a transaction that is represented by a specified transaction ID + * + * @param store Represents a pointer to an {@link OH_Rdb_Store} instance. + * @param trxId The transaction ID of the specified transaction, must be greater than 0 + * @return Returns the status code of the execution. + * {@link RDB_OK} - success. + * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. + * {@link RDB_E_NOT_SUPPORTED} - The error code for not supprt. + * @see OH_Rdb_Store. + * @since 13 + */ +int OH_Rdb_CommitByTrxId(OH_Rdb_Store *store, int64_t trxId); + /** * @brief Backs up a database on specified path. * @@ -863,7 +1111,7 @@ typedef struct Rdb_ProgressDetails { * @param progress Represents a pointer to an {@link Rdb_ProgressDetails} instance. * @param version Indicates the version of current {@link Rdb_ProgressDetails}. * @return If the operation is successful, a pointer to the instance of the {@link Rdb_TableDetails} - * structure is returned.If get details is failed,nullptr is returned. + * structure is returned.If get details is failed, nullptr is returned. * @see Rdb_ProgressDetails * @see Rdb_TableDetails * @since 11 diff --git a/distributeddatamgr/relational_store/libnative_rdb.ndk.json b/distributeddatamgr/relational_store/libnative_rdb.ndk.json index 68882bc8a..4d72ebe84 100644 --- a/distributeddatamgr/relational_store/libnative_rdb.ndk.json +++ b/distributeddatamgr/relational_store/libnative_rdb.ndk.json @@ -2,18 +2,86 @@ {"name":"OH_Rdb_CreatePredicates" }, {"name":"OH_Rdb_CreateValueObject" }, {"name":"OH_Rdb_CreateValuesBucket" }, + { + "first_introduced":"13", + "name":"OH_Rdb_CreateConfig" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_SetDatabaseDir" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_SetStoreName" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_SetBundleName" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_SetModuleName" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_SetEncrypted" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_SetSecurityLevel" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_SetArea" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_SetDbType" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_GetSupportedDbType" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_DestroyConfig" + }, {"name":"OH_Rdb_GetOrOpen" }, + { + "first_introduced": "13", + "name":"OH_Rdb_CreateOrOpen" + }, {"name":"OH_Rdb_CloseStore" }, {"name":"OH_Rdb_DeleteStore" }, + { + "first_introduced": "13", + "name":"OH_Rdb_DeleteStoreV2" + }, {"name":"OH_Rdb_Insert" }, {"name":"OH_Rdb_Update" }, {"name":"OH_Rdb_Delete" }, {"name":"OH_Rdb_Query" }, {"name":"OH_Rdb_Execute" }, + { + "first_introduced": "13", + "name":"OH_Rdb_ExecuteByTrxId" + }, {"name":"OH_Rdb_ExecuteQuery" }, {"name":"OH_Rdb_BeginTransaction" }, {"name":"OH_Rdb_RollBack" }, {"name":"OH_Rdb_Commit" }, + { + "first_introduced": "13", + "name":"OH_Rdb_BeginTransWithTrxId" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_RollBackByTrxId" + }, + { + "first_introduced": "13", + "name":"OH_Rdb_CommitByTrxId" + }, {"name":"OH_Rdb_Backup" }, {"name":"OH_Rdb_Restore"}, {"name":"OH_Rdb_GetVersion"}, -- Gitee From 663035626d231e18a9edeab775f8592b3297bb17 Mon Sep 17 00:00:00 2001 From: zoulinken Date: Sat, 14 Sep 2024 15:28:47 +0800 Subject: [PATCH 285/359] =?UTF-8?q?C-API=20=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=B1=9E=E6=80=A7=E9=9C=80=E6=B1=82=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zoulinken --- arkui/ace_engine/native/libace.ndk.json | 8 ++++++++ arkui/ace_engine/native/native_node.h | 19 +++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index c6daa0bf7..3da27da07 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -1295,6 +1295,14 @@ "first_introduced": "12", "name": "OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen" }, + { + "first_introduced": "14", + "name": "OH_ArkUI_NodeUtils_AddCustomProperty" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_NodeUtils_RemoveCustomProperty" + }, { "first_introduced": "12", "name": "OH_ArkUI_ListChildrenMainSizeOption_Create" diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index ca9b8cb20..d7328246c 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -7665,6 +7665,25 @@ int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle nod */ int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); +/** + * @brief Add the custom property of the component. + * + * @param node ArkUI_NodeHandle pointer. + * @param key The key of the custom property. + * @param key The value of the custom property. + * @since 14 + */ +void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* key, const char* value); + +/** + * @brief Remove the custom property of the component. + * + * @param node ArkUI_NodeHandle pointer. + * @param key The key of the custom property. + * @since 14 + */ +void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* key); + /** * @brief Collapse the ListItem in its expanded state. * -- Gitee From c280ba17fe8e08af92b7476c4baa705e37155bf0 Mon Sep 17 00:00:00 2001 From: lee Date: Fri, 20 Sep 2024 17:30:52 +0800 Subject: [PATCH 286/359] add bluetooth capi Signed-off-by: lee --- ConnectivityKit/bluetooth/BUILD.gn | 29 ++++++ .../bluetooth/libbluetooth.ndk.json | 5 + ConnectivityKit/bluetooth/oh_bluetooth.h | 95 +++++++++++++++++++ 3 files changed, 129 insertions(+) create mode 100644 ConnectivityKit/bluetooth/BUILD.gn create mode 100644 ConnectivityKit/bluetooth/libbluetooth.ndk.json create mode 100644 ConnectivityKit/bluetooth/oh_bluetooth.h diff --git a/ConnectivityKit/bluetooth/BUILD.gn b/ConnectivityKit/bluetooth/BUILD.gn new file mode 100644 index 000000000..869366f31 --- /dev/null +++ b/ConnectivityKit/bluetooth/BUILD.gn @@ -0,0 +1,29 @@ +# Copyright (C) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_headers("bluetooth_ndk_header") { + dest_dir = "$ndk_headers_out_dir/ConnectivityKit/bluetooth" + sources = [ "./oh_bluetooth.h" ] +} + +ohos_ndk_library("libbluetooth_ndk") { + ndk_description_file = "./libbluetooth.ndk.json" + output_name = "bluetooth_ndk" + output_extension = "so" + min_compact_version = "13" + system_capability = "SystemCapability.Communication.Bluetooth.Core" + system_capability_headers = [ "./oh_bluetooth.h" ] +} diff --git a/ConnectivityKit/bluetooth/libbluetooth.ndk.json b/ConnectivityKit/bluetooth/libbluetooth.ndk.json new file mode 100644 index 000000000..d8b21f30c --- /dev/null +++ b/ConnectivityKit/bluetooth/libbluetooth.ndk.json @@ -0,0 +1,5 @@ +[ + { + "name": "OH_Bluetooth_GetBluetoothSwitchState" + } +] \ No newline at end of file diff --git a/ConnectivityKit/bluetooth/oh_bluetooth.h b/ConnectivityKit/bluetooth/oh_bluetooth.h new file mode 100644 index 000000000..cbe820916 --- /dev/null +++ b/ConnectivityKit/bluetooth/oh_bluetooth.h @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2024 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 Bluetooth + * @{ + * + * @brief Provide functions for querying the status of bluetooth switch. + * @since 13 + */ +/** + * @file oh_bluetooth.h + * @kit ConnectivityKit + * @brief Define interfaces for querying bluetooth switch status. + * @library libbluetooth.so + * @syscap SystemCapability.Communication.Bluetooth.Core + * @since 13 + */ + +#ifndef OH_BLUETOOTH_H +#define OH_BLUETOOTH_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumeration state of bluetooth switch. + * + * @since 13 + */ +typedef enum Bluetooth_SwitchState { + /** Indicates the local bluetooth is off. */ + BLUETOOTH_STATE_OFF = 0, + /** Indicates the local bluetooth is turning on. */ + BLUETOOTH_STATE_TURNING_ON = 1, + /** Indicates the local bluetooth is on, and ready for use. */ + BLUETOOTH_STATE_ON = 2, + /** Indicates the local bluetooth is turning off. */ + BLUETOOTH_STATE_TURNING_OFF = 3, + /** Indicates the local bluetooth is turning LE mode on. */ + BLUETOOTH_STATE_BLE_TURNING_ON = 4, + /** Indicates the local bluetooth is in LE only mode. */ + BLUETOOTH_STATE_BLE_ON = 5, + /** Indicates the local bluetooth is turning off LE only mode. */ + BLUETOOTH_STATE_BLE_TURNING_OFF = 6 +} Bluetooth_SwitchState; + +/** + * @brief Enumeration the bluetooth result codes. + * + * @since 13 + */ +typedef enum Bluetooth_ResultCode { + /** + * @error The operation is successful. + */ + BLUETOOTH_SUCCESS = 0, + /** + * @error Parameter error. Possible reasons: 1. The input parameter is a null pointer; + * 2. Parameter values exceed the defined range. + */ + BLUETOOTH_INVALID_PARAM = 401, +} Bluetooth_ResultCode; + +/** + * @brief Get the bluetooth switch state. + * + * @param state - It is a pointer used to receive bluetooth switch status values. + * The caller needs to pass in a non empty boolean pointer, otherwise an error will be returned. + * For a detailed definition, please refer to {@link Bluetooth_SwitchState}. + * @return Bluetooth functions result code. + * For a detailed definition, please refer to {@link Bluetooth_ResultCode}. + * {@link BLUETOOTH_SUCCESS} Successfully obtained the bluetooth switch status. + * {@link BLUETOOTH_INVALID_PARAM} The input parameter enabled is a null pointer. + * @since 13 + */ +Bluetooth_ResultCode OH_Bluetooth_GetBluetoothSwitchState(Bluetooth_SwitchState *state); +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // OH_BLUETOOTH_H \ No newline at end of file -- Gitee From c17b4fc3709d617f706dd1c248466529c15504e7 Mon Sep 17 00:00:00 2001 From: SubmarinePhantom Date: Wed, 5 Jun 2024 10:06:42 +0800 Subject: [PATCH 287/359] =?UTF-8?q?NDK=20OHOS=E6=8E=A5=E5=8F=A3=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: SubmarinePhantom --- network/netmanager/include/net_connection.h | 34 ++++++++++++++++++- network/netmanager/libnet_connection.ndk.json | 8 +++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/network/netmanager/include/net_connection.h b/network/netmanager/include/net_connection.h index 76d12d406..6c5c4c2f2 100644 --- a/network/netmanager/include/net_connection.h +++ b/network/netmanager/include/net_connection.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Huawei Device Co., Ltd. + * Copyright (c) 2023-2024 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 @@ -186,6 +186,8 @@ int32_t OH_NetConn_GetAllNets(NetConn_NetHandleList *netHandleList); * 2100003 - Internal error. * @permission ohos.permission.INTERNET * @syscap SystemCapability.Communication.NetManager.Core + * @deprecated since 13 + * @useinstead OH_NetConn_RegisterDnsResolver * @since 11 * @version 1.0 */ @@ -199,11 +201,41 @@ int32_t OHOS_NetConn_RegisterDnsResolver(OH_NetConn_CustomDnsResolver resolver); * 2100003 - Internal error. * @permission ohos.permission.INTERNET * @syscap SystemCapability.Communication.NetManager.Core + * @deprecated since 13 + * @useinstead OH_NetConn_UnregisterDnsResolver * @since 11 * @version 1.0 */ int32_t OHOS_NetConn_UnregisterDnsResolver(void); +/** + * @brief Registers a custom DNS resolver. + * + * @param resolver Pointer to the custom DNS resolver. + * @return Returns the result code. + * {@link NETMANAGER_EXT_SUCCESS} if the operation is successful. + * {@link NETMANAGER_ERR_PERMISSION_DENIED} Missing permissions, add permission. + * {@link NETMANAGER_ERR_PARAMETER_ERROR} Parameter error. Please enter a correct parameter. + * @permission ohos.permission.INTERNET + * @syscap SystemCapability.Communication.NetManager.Core + * @since 13 + * @version 1.0 + */ +int32_t OH_NetConn_RegisterDnsResolver(OH_NetConn_CustomDnsResolver resolver); + +/** + * @brief Unregisters a custom DNS resolver. + * + * @return 0 - Success. 201 - Missing permissions. + * 401 - Parameter error. 2100002 - Unable to connect to service. + * 2100003 - Internal error. + * @permission ohos.permission.INTERNET + * @syscap SystemCapability.Communication.NetManager.Core + * @since 13 + * @version 1.0 + */ +int32_t OH_NetConn_UnregisterDnsResolver(void); + /** * @brief Binds a socket to the specific network. * diff --git a/network/netmanager/libnet_connection.ndk.json b/network/netmanager/libnet_connection.ndk.json index 792eff18e..41b98af11 100644 --- a/network/netmanager/libnet_connection.ndk.json +++ b/network/netmanager/libnet_connection.ndk.json @@ -70,5 +70,13 @@ { "first_introduced": "12", "name": "OH_NetConn_UnregisterNetConnCallback" + }, + { + "first_introduced": "13", + "name": "OH_NetConn_RegisterDnsResolver" + }, + { + "first_introduced": "13", + "name": "OH_NetConn_UnregisterDnsResolver" } ] \ No newline at end of file -- Gitee From 00d57adbacaff8049e1175e0b2f9dfe45e97da53 Mon Sep 17 00:00:00 2001 From: ccfriend Date: Wed, 11 Sep 2024 21:05:27 +0800 Subject: [PATCH 288/359] add more error codes Signed-off-by: ccfriend --- multimedia/av_session/native_avmetadata.h | 2 + multimedia/av_session/native_avsession.h | 106 +++++++++++++++++----- 2 files changed, 84 insertions(+), 24 deletions(-) diff --git a/multimedia/av_session/native_avmetadata.h b/multimedia/av_session/native_avmetadata.h index 3e6751d8c..a37816c92 100644 --- a/multimedia/av_session/native_avmetadata.h +++ b/multimedia/av_session/native_avmetadata.h @@ -346,6 +346,7 @@ AVMetadata_Result OH_AVMetadataBuilder_SetDisplayTags(OH_AVMetadataBuilder* buil * @param avMetadata Pointer to a viriable to receive the avMetadata object. * @return Function result code: * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_NO_MEMORY} No memory to allocate a new instance. * {@link AVMETADATA_ERROR_INVALID_PARAM}: * 1.The param of builder is nullptr; * 2.The param of avMetadata is nullptr. @@ -360,6 +361,7 @@ AVMetadata_Result OH_AVMetadataBuilder_GenerateAVMetadata(OH_AVMetadataBuilder* * @param avMetadata Pointer to a viriable to receive the avMetadata object. * @return Function result code: * {@link AVMETADATA_SUCCESS} If the execution is successful. + * {@link AVMETADATA_ERROR_INVALID_PARAM} The param of avMetadata is nullptr. * @since 13 */ AVMetadata_Result OH_AVMetadata_Destroy(OH_AVMetadata* avMetadata); diff --git a/multimedia/av_session/native_avsession.h b/multimedia/av_session/native_avsession.h index caab9f203..50b7e6459 100644 --- a/multimedia/av_session/native_avsession.h +++ b/multimedia/av_session/native_avsession.h @@ -320,7 +320,7 @@ typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnToggleFavorite)(OH_AVS /** * @brief Request to create the avsession. * - * @param avsession The avsession instance pointer + * @param sessionType The session type to set * @param sessionTag The session tag set by the application * @param bundleName The bundle name to set * @param abilityName The abilityName name to set @@ -328,9 +328,11 @@ typedef AVSessionCallback_Result (*OH_AVSessionCallback_OnToggleFavorite)(OH_AVS * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. * {@link AV_SESSION_ERR_INVALID_PARAMETER}: - * 1. The param of avsession is nullptr. - * 2. The param of bundleName is nullptr. - * 3. The param of abilityName is nullptr. + * 1. The param of sessionType is invalid. + * 2. The param of sessionTag is nullptr. + * 3. The param of bundleName is nullptr. + * 4. The param of abilityName is nullptr. + * 5. The param of avsession is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_Create(AVSession_Type sessionType, const char* sessionTag, @@ -353,6 +355,7 @@ AVSession_ErrCode OH_AVSession_Destroy(OH_AVSession* avsession); * @param avsession The avsession instance pointer * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. * @since 13 */ @@ -364,6 +367,7 @@ AVSession_ErrCode OH_AVSession_Activate(OH_AVSession* avsession); * @param avsession The avsession instance pointer * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. * @since 13 */ @@ -376,7 +380,10 @@ AVSession_ErrCode OH_AVSession_Deactivate(OH_AVSession* avsession); * @param sessionType The returned session type * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is invalid. + * 2. The param of sessionType is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_GetSessionType(OH_AVSession* avsession, AVSession_Type* sessionType); @@ -388,7 +395,9 @@ AVSession_ErrCode OH_AVSession_GetSessionType(OH_AVSession* avsession, AVSession * @param sessionId The returned session id * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of sessionId is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_GetSessionId(OH_AVSession* avsession, const char** sessionId); @@ -400,7 +409,10 @@ AVSession_ErrCode OH_AVSession_GetSessionId(OH_AVSession* avsession, const char* * @param avmetadata The metadata to set * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of avmetadata is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, OH_AVMetadata* avmetadata); @@ -412,7 +424,10 @@ AVSession_ErrCode OH_AVSession_SetAVMetadata(OH_AVSession* avsession, OH_AVMetad * @param playbackState The playbackState to set * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of playbackState is invalid. * @since 13 */ AVSession_ErrCode OH_AVSession_SetPlaybackState(OH_AVSession* avsession, @@ -425,7 +440,10 @@ AVSession_ErrCode OH_AVSession_SetPlaybackState(OH_AVSession* avsession, * @param playbackPosition The playbackPosition to set * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of playbackPosition is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_SetPlaybackPosition(OH_AVSession* avsession, @@ -438,6 +456,7 @@ AVSession_ErrCode OH_AVSession_SetPlaybackPosition(OH_AVSession* avsession, * @param favorite true means making the resource to be liked, false means dislike. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. * @since 13 */ @@ -450,7 +469,10 @@ AVSession_ErrCode OH_AVSession_SetFavorite(OH_AVSession* avsession, bool favorit * @param loopMode The loopmode to be set for playback. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of loopMode is invalid. * @since 13 */ AVSession_ErrCode OH_AVSession_SetLoopMode(OH_AVSession* avsession, AVSession_LoopMode loopMode); @@ -464,8 +486,11 @@ AVSession_ErrCode OH_AVSession_SetLoopMode(OH_AVSession* avsession, AVSession_Lo * @param userData User data which is passed by user. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. - * {@link AV_SESSION_ERR_CODE_COMMAND_INVALID} The command is not invalid. + * {@link AV_SESSION_ERR_CODE_COMMAND_INVALID} The command is invalid. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_RegisterCommandCallback(OH_AVSession* avsession, @@ -479,8 +504,11 @@ AVSession_ErrCode OH_AVSession_RegisterCommandCallback(OH_AVSession* avsession, * @param callback the {@link OH_AVSessionCallback_OnCommand} to be unregistered. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. - * {@link AV_SESSION_ERR_CODE_COMMAND_INVALID} The command is not invalid. + * {@link AV_SESSION_ERR_CODE_COMMAND_INVALID} The command is invalid. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_UnregisterCommandCallback(OH_AVSession* avsession, @@ -494,7 +522,10 @@ AVSession_ErrCode OH_AVSession_UnregisterCommandCallback(OH_AVSession* avsession * @param userData User data which is passed by user. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_RegisterForwardCallback(OH_AVSession* avsession, @@ -507,7 +538,10 @@ AVSession_ErrCode OH_AVSession_RegisterForwardCallback(OH_AVSession* avsession, * @param callback the {@link OH_AVSessionCallback_OnFastForward} to be unregistered. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_UnregisterForwardCallback(OH_AVSession* avsession, @@ -521,7 +555,10 @@ AVSession_ErrCode OH_AVSession_UnregisterForwardCallback(OH_AVSession* avsession * @param userData User data which is passed by user. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_RegisterRewindCallback(OH_AVSession* avsession, @@ -534,7 +571,10 @@ AVSession_ErrCode OH_AVSession_RegisterRewindCallback(OH_AVSession* avsession, * @param callback the {@link OH_AVSessionCallback_OnRewind} to be unregistered. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_UnregisterRewindCallback(OH_AVSession* avsession, @@ -548,7 +588,10 @@ AVSession_ErrCode OH_AVSession_UnregisterRewindCallback(OH_AVSession* avsession, * @param userData User data which is passed by user. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_RegisterSeekCallback(OH_AVSession* avsession, @@ -561,7 +604,10 @@ AVSession_ErrCode OH_AVSession_RegisterSeekCallback(OH_AVSession* avsession, * @param callback the {@link OH_AVSessionCallback_OnSeek} to be unregistered. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_UnregisterSeekCallback(OH_AVSession* avsession, @@ -575,7 +621,10 @@ AVSession_ErrCode OH_AVSession_UnregisterSeekCallback(OH_AVSession* avsession, * @param userData User data which is passed by user. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_RegisterSetLoopModeCallback(OH_AVSession* avsession, @@ -588,7 +637,10 @@ AVSession_ErrCode OH_AVSession_RegisterSetLoopModeCallback(OH_AVSession* avsessi * @param callback the {@link OH_AVSessionCallback_OnSetLoopMode} to be unregistered. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_UnregisterSetLoopModeCallback(OH_AVSession* avsession, @@ -602,7 +654,10 @@ AVSession_ErrCode OH_AVSession_UnregisterSetLoopModeCallback(OH_AVSession* avses * @param userData User data which is passed by user. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback(OH_AVSession* avsession, @@ -615,7 +670,10 @@ AVSession_ErrCode OH_AVSession_RegisterToggleFavoriteCallback(OH_AVSession* avse * @param callback the {@link OH_AVSessionCallback_OnToggleFavorite} to be unregistered. * @return Function result code: * {@link AV_SESSION_ERR_SUCCESS} If the execution is successful. - * {@link AV_SESSION_ERR_INVALID_PARAMETER} The param of avsession is nullptr. + * {@link AV_SESSION_ERR_SERVICE_EXCEPTION} Internal server error. + * {@link AV_SESSION_ERR_INVALID_PARAMETER} + * 1. The param of avsession is nullptr. + * 2. The param of callback is nullptr. * @since 13 */ AVSession_ErrCode OH_AVSession_UnregisterToggleFavoriteCallback(OH_AVSession* avsession, -- Gitee From 21f061a23e989bbfc127534ae67af1267dc12a42 Mon Sep 17 00:00:00 2001 From: gaosong Date: Mon, 23 Sep 2024 20:58:24 +0800 Subject: [PATCH 289/359] ndk Signed-off-by: gaosong --- ConnectivityKit/wifi/BUILD.gn | 29 +++++++++ ConnectivityKit/wifi/libwifi.ndk.json | 5 ++ ConnectivityKit/wifi/oh_wifi.h | 90 +++++++++++++++++++++++++++ 3 files changed, 124 insertions(+) create mode 100644 ConnectivityKit/wifi/BUILD.gn create mode 100644 ConnectivityKit/wifi/libwifi.ndk.json create mode 100644 ConnectivityKit/wifi/oh_wifi.h diff --git a/ConnectivityKit/wifi/BUILD.gn b/ConnectivityKit/wifi/BUILD.gn new file mode 100644 index 000000000..053434890 --- /dev/null +++ b/ConnectivityKit/wifi/BUILD.gn @@ -0,0 +1,29 @@ +# Copyright (C) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") + +ohos_ndk_headers("wifi_ndk_header") { + dest_dir = "$ndk_headers_out_dir/ConnectivityKit/wifi" + sources = [ "./oh_wifi.h" ] +} + +ohos_ndk_library("libwifi_ndk") { + ndk_description_file = "./libwifi.ndk.json" + output_name = "wifi_ndk" + output_extension = "so" + min_compact_version = "13" + system_capability = "SystemCapability.Communication.WiFi.STA" + system_capability_headers = [ "./oh_wifi.h" ] +} \ No newline at end of file diff --git a/ConnectivityKit/wifi/libwifi.ndk.json b/ConnectivityKit/wifi/libwifi.ndk.json new file mode 100644 index 000000000..86a467898 --- /dev/null +++ b/ConnectivityKit/wifi/libwifi.ndk.json @@ -0,0 +1,5 @@ +[ + { + "name": "OH_Wifi_IsWifiEnabled" + } +] \ No newline at end of file diff --git a/ConnectivityKit/wifi/oh_wifi.h b/ConnectivityKit/wifi/oh_wifi.h new file mode 100644 index 000000000..4c84471c7 --- /dev/null +++ b/ConnectivityKit/wifi/oh_wifi.h @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2024 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 Wifi + * @{ + * + * @brief Provide functions for querying the status of wifi switch. + * @since 13 + */ +/** + * @file oh_wifi.h + * @kit ConnectivityKit + * @brief Define interfaces for querying wifi switch status. + * @library libwifi.so + * @syscap SystemCapability.Communication.WiFi.STA + * @since 13 + */ + +#ifndef OH_WIFI_H +#define OH_WIFI_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Enumerates the wifi result codes. + * + * @since 13 + */ +typedef enum WifiResultCode { + /** + * @error The operation is successful. + */ + WIFI_SUCCESS = 0, + /** + * @error Permission verification failed. The application does not have the + * permission required to call the API. + */ + WIFI_PERMISSION_DENIED = 201, + /** + * @error Parameter error. Possible reasons: 1. The input parameter is a null pointer;\n + * 2. Parameter values exceed the defined range.\n + */ + WIFI_INVALID_PARAM = 401, + /** + * @error Capability not supported. Failed to call function due to limited device capabilities. + */ + WIFI_NOT_SUPPORTED = 801, + /** + * @error Operation failed. + * Possible reasons: Internal execution failed. + */ + WIFI_OPERATION_FAILED = 1000 +} WifiResultCode; + +/** + * @brief Check whether the wifi switch is enabled. + * + * @param enabled - It is a boolean pointer used to receive wifi switch status values.\n + * Equal to true indicates that the wifi switch is turned on, false indicates that\n + * the wifi switch is turned off.\n + * The caller needs to pass in a non empty boolean pointer, otherwise an error will be returned.\n + * @return wifi functions result code.\n + * For a detailed definition, please refer to {@link WifiResultCode}.\n + * {@link WIFI_SUCCESS} Successfully obtained the wifi switch status.\n + * {@link WIFI_INVALID_PARAM} The input parameter enabled is a null pointer.\n + * {@link WIFI_PERMISSION_DENIED} The application does not have the permission required to call the API.\n + * @since 13 + */ +WifiResultCode OH_Wifi_IsWifiEnabled(bool *enabled); + +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // OH_WIFI_H \ No newline at end of file -- Gitee From 2fb9e99e16410d320c4c9415063befe027a3dac0 Mon Sep 17 00:00:00 2001 From: m00472246 Date: Thu, 26 Sep 2024 16:27:26 +0800 Subject: [PATCH 290/359] =?UTF-8?q?=E5=AF=B9native=5Fimage=20=20sdk?= =?UTF-8?q?=E6=B3=A8=E9=87=8A=E8=A1=A5=E5=85=85=E8=AF=B4=E6=98=8E=20Signed?= =?UTF-8?q?-off-by:=20m00472246=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: m00472246 --- graphic/graphic_2d/native_image/native_image.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/graphic/graphic_2d/native_image/native_image.h b/graphic/graphic_2d/native_image/native_image.h index cc8653a64..25d335441 100644 --- a/graphic/graphic_2d/native_image/native_image.h +++ b/graphic/graphic_2d/native_image/native_image.h @@ -287,7 +287,11 @@ int32_t OH_NativeImage_ReleaseNativeWindowBuffer(OH_NativeImage* image, /** * @brief Create a OH_NativeImage as a consumerSurface. \n + * This interface is only used for memory rotation on the surface consumer, + * the OH_NativeImage will not actively perform memory rendering processing.\n * This method can not be used at the same time with OH_NativeImage_UpdateSurfaceImage.\n + * This interface is used in conjunction with OH_NativeImage_AcquireNativeWindowBuffer<\b> and + * OH_NativeImage_ReleaseNativeWindowBuffer<\b>.\n * This interface needs to be used in conjunction with OH_NativeImage_Destroy<\b>, * otherwise memory leaks will occur.\n * This interface is a non-thread-safe type interface.\n -- Gitee From 65a65b9298b2d00889489c44cbfd11c24988f1c8 Mon Sep 17 00:00:00 2001 From: qano Date: Fri, 27 Sep 2024 10:57:54 +0800 Subject: [PATCH 291/359] api13 add enableMirror Signed-off-by: qano --- multimedia/camera_framework/camera.ndk.json | 4 ++++ multimedia/camera_framework/photo_output.h | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/multimedia/camera_framework/camera.ndk.json b/multimedia/camera_framework/camera.ndk.json index e5faf336c..aaa30c4e5 100644 --- a/multimedia/camera_framework/camera.ndk.json +++ b/multimedia/camera_framework/camera.ndk.json @@ -471,6 +471,10 @@ "first_introduced": "11", "name": "OH_PhotoOutput_IsMirrorSupported" }, + { + "first_introduced": "13", + "name": "OH_PhotoOutput_EnableMirror" + }, { "first_introduced": "12", "name": "OH_PhotoOutput_GetActiveProfile" diff --git a/multimedia/camera_framework/photo_output.h b/multimedia/camera_framework/photo_output.h index 70f909bcf..27e502b69 100644 --- a/multimedia/camera_framework/photo_output.h +++ b/multimedia/camera_framework/photo_output.h @@ -441,6 +441,18 @@ Camera_ErrorCode OH_PhotoOutput_Release(Camera_PhotoOutput* photoOutput); */ Camera_ErrorCode OH_PhotoOutput_IsMirrorSupported(Camera_PhotoOutput* photoOutput, bool* isSupported); +/** + * @brief Enable mirror for photo capture. + * + * @param photoOutput the {@link Camera_PhotoOutput} instance which used to configure mirror. + * @param enabled the flag indicates whether mirror is enabled. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 13 + */ +Camera_ErrorCode OH_PhotoOutput_EnableMirror(Camera_PhotoOutput* photoOutput, bool enabled); + /** * @brief Get active photo output profile. * -- Gitee From 4d19158fdb3b418f381e69f0fb615238841c46f1 Mon Sep 17 00:00:00 2001 From: AOL Date: Fri, 27 Sep 2024 07:12:24 +0000 Subject: [PATCH 292/359] fix typo Signed-off-by: AOL --- .../audio_framework/audio_renderer/native_audiorenderer.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h index 49c765ff6..90255a7fd 100644 --- a/multimedia/audio_framework/audio_renderer/native_audiorenderer.h +++ b/multimedia/audio_framework/audio_renderer/native_audiorenderer.h @@ -485,7 +485,7 @@ OH_AudioStream_Result OH_AudioRenderer_GetSilentModeAndMixWithOthers( * @brief Temporarily changes the current audio device * This function applys on audiorenderers whose StreamUsage are * STREAM_USAGE_VOICE_COMMUNICATIN/STREAM_USAGE_VIDEO_COMMUNICATION/STREAM_USAGE_VOICE_MESSAGE. - * Setting the device will ony takes effect if no other accessory such as headphoes are in use. + * Setting the device will only takes effect if no other accessory such as headphones are in use. * * @param renderer Renderer generated by OH_AudioStreamBuilder_GenerateRenderer() * @param deviceType The target device. The available deviceTypes are: -- Gitee From b8b98fb03bc12a0bd900007ac9476df93540f681 Mon Sep 17 00:00:00 2001 From: wangsen1994 Date: Sat, 28 Sep 2024 09:26:26 +0800 Subject: [PATCH 293/359] =?UTF-8?q?ans=E6=96=B0=E5=A2=9Ecapi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangsen1994 --- NotificationKit/BUILD.gn | 28 +++++++++++ NotificationKit/libohnotification.ndk.json | 6 +++ NotificationKit/notification.h | 58 ++++++++++++++++++++++ 3 files changed, 92 insertions(+) create mode 100644 NotificationKit/BUILD.gn create mode 100644 NotificationKit/libohnotification.ndk.json create mode 100644 NotificationKit/notification.h diff --git a/NotificationKit/BUILD.gn b/NotificationKit/BUILD.gn new file mode 100644 index 000000000..1e12b6983 --- /dev/null +++ b/NotificationKit/BUILD.gn @@ -0,0 +1,28 @@ +# Copyright (c) 2024 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. + +import("//build/ohos.gni") +import("//build/ohos/ndk/ndk.gni") +ohos_ndk_headers("ohnotification_header") { + dest_dir = "$ndk_headers_out_dir/NotificationKit/" + sources = [ "./notification.h" ] +} + +ohos_ndk_library("libnotification_ndk") { + output_name = "ohnotification" + output_extension = "so" + ndk_description_file = "./libohnotification.ndk.json" + min_compact_version = "14" + system_capability = "SystemCapability.Notification.Notification" + system_capability_headers = [ "NotificationKit/notification.h" ] +} diff --git a/NotificationKit/libohnotification.ndk.json b/NotificationKit/libohnotification.ndk.json new file mode 100644 index 000000000..4a929d5ce --- /dev/null +++ b/NotificationKit/libohnotification.ndk.json @@ -0,0 +1,6 @@ +[ + { + "first_introduced": "14", + "name": "OH_Notification_IsNotificationEnabled" + } +] diff --git a/NotificationKit/notification.h b/NotificationKit/notification.h new file mode 100644 index 000000000..236608ca5 --- /dev/null +++ b/NotificationKit/notification.h @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2024 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 NOTIFICATION + * @{ + * + * @brief Provides the definition of the C interface for the notification service. + * + * @since 14 + */ +/** + * @file notification.h + * + * @brief Declares the APIs of notification service. + * + * @library libohnotification.so + * @kit NotificationKit + * @syscap SystemCapability.Notification.Notification + * @since 14 + */ + +#ifndef OH_NOTIFICATION_H +#define OH_NOTIFICATION_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Checks whether this application is allowed to publish notifications. + * + * @return true - This application is allowed to publish notifications. + * false - This application is not allowed to publish notifications. + * @since 14 + */ +bool OH_Notification_IsNotificationEnabled(void); + +#ifdef __cplusplus +} +#endif +#endif // OH_NOTIFICATION_H +/** @} */ -- Gitee From da9c47f7f79018fce6b7bd242d1ce8dde2c1cfe9 Mon Sep 17 00:00:00 2001 From: changleipeng Date: Wed, 18 Sep 2024 16:50:57 +0800 Subject: [PATCH 294/359] restore OH_Drawing_FontDescriptor position Signed-off-by: changleipeng --- .../kit_sub_system/c_file_kit_sub_system.json | 15 --- .../graphic_2d/native_drawing/drawing_font.h | 7 +- .../graphic_2d/native_drawing/drawing_rect.h | 1 - .../drawing_text_font_descriptor.h | 102 +++++------------- .../native_drawing/drawing_text_line.h | 56 +++------- .../drawing_text_lineTypography.h | 11 +- .../native_drawing/drawing_text_run.h | 75 ++++++------- .../native_drawing/drawing_text_typography.h | 46 ++++++-- .../native_drawing/libnative_drawing.ndk.json | 18 ++-- 9 files changed, 120 insertions(+), 211 deletions(-) diff --git a/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json b/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json index 44c8cffcf..668e349de 100644 --- a/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json +++ b/build-tools/capi_parser/src/coreImpl/parser/kit_sub_system/c_file_kit_sub_system.json @@ -269,21 +269,6 @@ "kitName": "ArkGraphicsD", "subSystem": "图形图像" }, - { - "filePath": "graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h", - "kitName": "ArkGraphicsD", - "subSystem": "图形图像" - }, - { - "filePath": "graphic/graphic_2d/native_drawing/drawing_text_line.h", - "kitName": "ArkGraphicsD", - "subSystem": "图形图像" - }, - { - "filePath": "graphic/graphic_2d/native_drawing/drawing_text_run.h", - "kitName": "ArkGraphicsD", - "subSystem": "图形图像" - }, { "filePath": "graphic/graphic_2d/native_drawing/drawing_text_typography.h", "kitName": "ArkGraphicsD", diff --git a/graphic/graphic_2d/native_drawing/drawing_font.h b/graphic/graphic_2d/native_drawing/drawing_font.h index 0f0428395..ca4eac990 100644 --- a/graphic/graphic_2d/native_drawing/drawing_font.h +++ b/graphic/graphic_2d/native_drawing/drawing_font.h @@ -539,15 +539,14 @@ OH_Drawing_ErrorCode OH_Drawing_FontGetPathForGlyph(const OH_Drawing_Font* font, * @param font Indicates the pointer to an OH_Drawing_Font object. * @param text Indicates the character storage encoded with text encoding. * @param byteLength Indicates the text length in bytes. - * @param encoding Indicates the text encoding. - * @param x Indicates x coordinates of the text. + * @param encoding OH_Drawing_TextEncoding Indicates the text encoding. + * @param x Indicates x coordinates of the text. * @param y Indicates y coordinates of the text. - * @param path The path object, returned to the caller. + * @param path OH_Drawing_Path The path object, returned to the caller. * @return Returns the error code. * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if any of font, text or path is nullptr. * @since 14 - * @version 1.0 */ OH_Drawing_ErrorCode OH_Drawing_FontGetTextPath(const OH_Drawing_Font* font, const void* text, size_t byteLength, OH_Drawing_TextEncoding encoding, float x, float y, OH_Drawing_Path* path); diff --git a/graphic/graphic_2d/native_drawing/drawing_rect.h b/graphic/graphic_2d/native_drawing/drawing_rect.h index 02c134f2b..6ea9ca992 100644 --- a/graphic/graphic_2d/native_drawing/drawing_rect.h +++ b/graphic/graphic_2d/native_drawing/drawing_rect.h @@ -255,7 +255,6 @@ OH_Drawing_ErrorCode OH_Drawing_RectGetArraySize(OH_Drawing_Array* rectArray, si * or index is valid. * @since 14 * @version 1.0 - * @note Return nullptr if OH_Drawing_Array or index invalid. */ OH_Drawing_ErrorCode OH_Drawing_RectGetArrayElement(OH_Drawing_Array* rectArray, size_t index, OH_Drawing_Rect** rect); diff --git a/graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h b/graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h index 270e7c602..e6c262107 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_font_descriptor.h @@ -13,9 +13,6 @@ * limitations under the License. */ -#ifndef C_INCLUDE_DRAWING_TEXT_FONT_DESCRIPTOR_H -#define C_INCLUDE_DRAWING_TEXT_FONT_DESCRIPTOR_H - /** * @addtogroup Drawing * @{ @@ -24,7 +21,7 @@ * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * - * @since 8 + * @since 14 * @version 1.0 */ @@ -36,34 +33,23 @@ * @kit ArkGraphics2D * @library libnative_drawing.so * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @since 8 + * @since 14 * @version 1.0 */ -#include "drawing_types.h" +#ifndef DRAWING_TEXT_FONT_DESCRIPTOR_H +#define DRAWING_TEXT_FONT_DESCRIPTOR_H + +#include "drawing_text_typography.h" #ifdef __cplusplus extern "C" { #endif -/** - * @brief Type style flag. - * - * @since 14 - * @version 1.0 - */ -typedef enum { - /** Italic font */ - ITALIC = 1 << 0, - /** Bold font */ - BOLD = 1 << 1, -} OH_Drawing_FontTypeStyle; - /** * @brief An enumeration of system font types. * * @since 14 - * @version 1.0 */ typedef enum { /** All font types */ @@ -77,52 +63,20 @@ typedef enum { } OH_Drawing_SystemFontType; /** - * @brief Describes the font information. - * - * @since 12 - * @version 1.0 - */ -typedef struct OH_Drawing_FontDescriptor { - /** The file path of System font */ - char* path; - /** A name that uniquely identifies the font */ - char* postScriptName; - /** The name of System font */ - char* fullName; - /** The family of System font */ - char* fontFamily; - /** The subfont family of the system font */ - char* fontSubfamily; - /** The weight of System font */ - int weight; - /** The width of System font */ - int width; - /** Whether the system font is tilted */ - int italic; - /** Whether the system font is compact */ - bool monoSpace; - /** whether symbolic fonts are supported */ - bool symbolic; - /** Font size */ - size_t size; - /** Font style flag, from OH_Drawing_FontTypeStyle */ - int typeStyle; -} OH_Drawing_FontDescriptor; - -/** - * @brief Obtain all system font descriptive symbols that match the specified font descriptor. Where the 'path' and - * 'size' fields are not considered as valid matching values, It takes effect when the remaining fields are not + * @brief Obtain all system font descriptive symbols that match the specified font descriptor. Where the 'path' + * fields are not considered as valid matching values, It takes effect when the remaining fields are not * default values, If all the fields of the parameters OH_Drawing_FontDescriptor are default, obtain all system * font descriptors. If the match fails, return nullptr. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param OH_Drawing_FontDescriptor The pointer to the OH_Drawing_FontDescriptor object. It is recommended to - * use OH_Drawing_CreateFontDescriptor to obtain a valid OH_Drawing_FontDescriptor instance. If you create your own - * OH_Drawing_FontDescriptor object, ensure that fields not intended for matching are set to their default values. + * use OH_Drawing_CreateFontDescriptor to obtain a valid OH_Drawing_FontDescriptor instance. + * If you create your own OH_Drawing_FontDescriptor object, ensure that fields not intended for matching are + * set to their default values. * @param size_t Indicates the count of obtained OH_Drawing_FontDescriptor. - * @return Returns an array of OH_Drawing_FontDescriptor. + * @return Returns an array of OH_Drawing_FontDescriptor. Released through the + * OH_Drawing_DestroyFontDescriptors interface after use. * @since 14 - * @version 1.0 */ OH_Drawing_FontDescriptor* OH_Drawing_MatchFontDescriptors(OH_Drawing_FontDescriptor*, size_t*); @@ -130,38 +84,36 @@ OH_Drawing_FontDescriptor* OH_Drawing_MatchFontDescriptors(OH_Drawing_FontDescri * @brief Releases the OH_Drawing_FontDescriptor array. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_FontDescriptor Pointer to OH_Drawing_FontDescriptor array. - * @param size_t Represents the number of members of the OH_Drawing_FontDescriptor array. + * @param OH_Drawing_FontDescriptor OH_Drawing_FontDescriptor object array. + * @param size_t Represents the number of members of the OH_Drawing_FontDescriptor array. * @since 14 - * @version 1.0 */ void OH_Drawing_DestroyFontDescriptors(OH_Drawing_FontDescriptor*, size_t); /** - * @brief Get the OH_Drawing_FontDescriptor object by the full name of the font, supporting generic fonts, - * stylish fonts, and installed fonts. + * @brief Get the OH_Drawing_FontDescriptor object by the font full name and the font type, supporting generic + * fonts, stylish fonts, and installed fonts. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_String* Indicates the full name object OH_Drawing_String. + * @param OH_Drawing_String Indicates the full name object OH_Drawing_String. + * @param OH_Drawing_SystemFontType Indicates enumerates of system font type object OH_Drawing_SystemFontType. * @return Returns the pointer to a font descriptor object OH_Drawing_FontDescriptor. * @since 14 - * @version 1.0 */ -OH_Drawing_FontDescriptor* OH_Drawing_GetFontDescriptorByFullName(const OH_Drawing_String*); +OH_Drawing_FontDescriptor* OH_Drawing_GetFontDescriptorByFullName(const OH_Drawing_String*, OH_Drawing_SystemFontType); /** - * @brief Obtain the corresponding font full name list by the font type. + * @brief Obtain the corresponding font full name array by the font type. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_SystemFontType Indicates enumerates of system font type. + * @param OH_Drawing_SystemFontType Indicates enumerates of system font type object OH_Drawing_SystemFontType. * @return Returns the pointer to full name array object OH_Drawing_Array. * @since 14 - * @version 1.0 */ OH_Drawing_Array* OH_Drawing_GetSystemFontFullNamesByType(OH_Drawing_SystemFontType); /** - * @brief Get the specified full name object OH_Drawing_String by index from the + * @brief Get the specified full name object OH_Drawing_String by index from the * OH_Drawing_Array object. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing @@ -169,17 +121,15 @@ OH_Drawing_Array* OH_Drawing_GetSystemFontFullNamesByType(OH_Drawing_SystemFontT * @param size_t The index of full name. * @return Returns a full name object OH_Drawing_String. * @since 14 - * @version 1.0 */ -const OH_Drawing_String* OH_Drawing_GetSystemFontFullNamesElement(OH_Drawing_Array*, size_t); +const OH_Drawing_String* OH_Drawing_GetSystemFontFullNameByIndex(OH_Drawing_Array*, size_t); /** - * @brief Releases the memory occupied by a list of system font names. + * @brief Releases the memory occupied by an array of font full names. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Array Indicates an array of full name. + * @param OH_Drawing_Array Indicates an array of full name object OH_Drawing_Array. * @since 14 - * @version 1.0 */ void OH_Drawing_DestroySystemFontFullNames(OH_Drawing_Array*); diff --git a/graphic/graphic_2d/native_drawing/drawing_text_line.h b/graphic/graphic_2d/native_drawing/drawing_text_line.h index e83eead09..196907ed5 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_line.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_line.h @@ -13,9 +13,6 @@ * limitations under the License. */ -#ifndef C_INCLUDE_DRAWING_TEXT_LINE_H -#define C_INCLUDE_DRAWING_TEXT_LINE_H - /** * @addtogroup Drawing * @{ @@ -37,6 +34,9 @@ * @version 1.0 */ +#ifndef C_INCLUDE_DRAWING_TEXT_LINE_H +#define C_INCLUDE_DRAWING_TEXT_LINE_H + #include "drawing_text_declaration.h" #include "drawing_types.h" @@ -48,10 +48,9 @@ extern "C" { * @brief Get text line information. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Typography Indicates the pointer to a typography object OH_Drawing_Typography. + * @param typography Indicates the pointer to a typography object OH_Drawing_Typography. * @return Indicates the pointer to a text line array object OH_Drawing_Array. * @since 14 - * @version 1.0 */ OH_Drawing_Array* OH_Drawing_TypographyGetTextLines(OH_Drawing_Typography* typography); @@ -80,12 +79,11 @@ void OH_Drawing_DestroyTextLine(OH_Drawing_TextLine* line); * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param lines Indicates the pointer to the text line array object OH_Drawing_Array. - * @param index text line object index. + * @param index The text line object index. * @return Indicates the pointer to a text line object OH_Drawing_TextLine. * @since 14 - * @version 1.0 */ -OH_Drawing_TextLine* OH_Drawing_GetTextLinesIndex(OH_Drawing_Array* lines, size_t index); +OH_Drawing_TextLine* OH_Drawing_GetTextLineByIndex(OH_Drawing_Array* lines, size_t index); /** * @brief Get the count of glyphs. @@ -136,19 +134,18 @@ void OH_Drawing_DestroyRuns(OH_Drawing_Array* runs); * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param runs Indicates the pointer to the run array object OH_Drawing_Array. - * @param index run object index. + * @param index The run object index. * @return Indicates the pointer to a run object OH_Drawing_Run. * @since 14 - * @version 1.0 */ -OH_Drawing_Run* OH_Drawing_GetRunsIndex(OH_Drawing_Array* runs, size_t index); +OH_Drawing_Run* OH_Drawing_GetRunByIndex(OH_Drawing_Array* runs, size_t index); /** * @brief Paint the range of text line. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param line Indicates the pointer to an OH_Drawing_TextLine object. - * @param canvas Draw the text line on the canvas. + * @param canvas Indicates the pointer to an OH_Drawing_Canvas object. * @param x Represents the X-axis position on the canvas. * @param y Represents the Y-axis position on the canvas. * @since 14 @@ -214,10 +211,9 @@ double OH_Drawing_TextLineGetTrailingSpaceWidth(OH_Drawing_TextLine* line); * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param line Indicates the pointer to an OH_Drawing_TextLine object. - * @param point The given position. + * @param point Indicates the pointer to an OH_Drawing_Point object. * @return Returns the string index for a given position. * @since 14 - * @version 1.0 */ int32_t OH_Drawing_TextLineGetStringIndexForPosition(OH_Drawing_TextLine* line, OH_Drawing_Point* point); @@ -227,38 +223,10 @@ int32_t OH_Drawing_TextLineGetStringIndexForPosition(OH_Drawing_TextLine* line, * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param line Indicates the pointer to an OH_Drawing_TextLine object. * @param index The given string index. - * @param secondOffset Indicates the pointer to the offset of compound character, not supported. - * @return Returns the offset info for a given string index. - * @since 14 - * @version 1.0 - */ -double OH_Drawing_TextLineGetOffsetForStringIndex(OH_Drawing_TextLine* line, int32_t index, double* secondOffset); - -/** - * @brief User-defined callback functions for using offsets and indexes. - * - * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param offset Character offset is traversed as an argument to the callback function. - * @param index Character index is traversed as an argument to the callback function. - * @param leadingEdge Whether the current offset is at the character front, as an argument to the callback function. - * @return The return value of the user-defined callback function. - * If false is returned, the traversal continues. - * If true is returned, the traversal stops. + * @return Returns the offset for a given string index. * @since 14 - * @version 1.0 - */ -typedef bool (*CustomCallback)(double offset, int32_t index, bool leadingEdge); - -/** - * @brief Enumerate caret offset and index in text lines. - * - * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param line Indicates the pointer to an OH_Drawing_TextLine object. - * @param callback User-defined callback functions, see CustomCallback. - * @since 14 - * @version 1.0 */ -void OH_Drawing_TextLineEnumerateCaretOffsets(OH_Drawing_TextLine* line, CustomCallback callback); +double OH_Drawing_TextLineGetOffsetForStringIndex(OH_Drawing_TextLine* line, int32_t index); /** * @brief Gets the text offset based on the given alignment factor and alignment width. diff --git a/graphic/graphic_2d/native_drawing/drawing_text_lineTypography.h b/graphic/graphic_2d/native_drawing/drawing_text_lineTypography.h index f480cd643..6d20d529b 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_lineTypography.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_lineTypography.h @@ -13,9 +13,6 @@ * limitations under the License. */ -#ifndef C_INCLUDE_DRAWING_TEXT_LINETYPOGRAPHY_H -#define C_INCLUDE_DRAWING_TEXT_LINETYPOGRAPHY_H - /** * @addtogroup Drawing * @{ @@ -40,7 +37,9 @@ * @version 1.0 */ -#include "cstddef" +#ifndef DRAWING_TEXT_LINETYPOGRAPHY_H +#define DRAWING_TEXT_LINETYPOGRAPHY_H + #include "drawing_text_declaration.h" #ifdef __cplusplus @@ -54,7 +53,6 @@ extern "C" { * @param OH_Drawing_TypographyCreate Indicates the pointer to an OH_Drawing_TypographyCreate object. * @return Returns the pointer to the OH_Drawing_LineTypography object created. * @since 14 - * @version 1.0 */ OH_Drawing_LineTypography* OH_Drawing_CreateLineTypography(OH_Drawing_TypographyCreate* handler); @@ -64,7 +62,6 @@ OH_Drawing_LineTypography* OH_Drawing_CreateLineTypography(OH_Drawing_Typography * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param OH_Drawing_LineTypography Indicates the pointer to an OH_Drawing_LineTypography object. * @since 14 - * @version 1.0 */ void OH_Drawing_DestroyLineTypography(OH_Drawing_LineTypography* lineTypography); @@ -77,7 +74,6 @@ void OH_Drawing_DestroyLineTypography(OH_Drawing_LineTypography* lineTypography) * @param width Indicates the requested line-break width. * @return Returns the count of the characters from startIndex that would cause the line break. * @since 14 - * @version 1.0 */ size_t OH_Drawing_LineTypographyGetLineBreak(OH_Drawing_LineTypography* lineTypography, size_t startIndex, double width); @@ -91,7 +87,6 @@ size_t OH_Drawing_LineTypographyGetLineBreak(OH_Drawing_LineTypography* lineTypo * @param count Indicates the characters count of the text range. * @return Returns the pointer to the OH_Drawing_TextLine object created. * @since 14 - * @version 1.0 */ OH_Drawing_TextLine* OH_Drawing_LineTypographyCreateLine(OH_Drawing_LineTypography* lineTypography, size_t startIndex, size_t count); diff --git a/graphic/graphic_2d/native_drawing/drawing_text_run.h b/graphic/graphic_2d/native_drawing/drawing_text_run.h index 28949dc42..b71a197dd 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_run.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_run.h @@ -13,9 +13,6 @@ * limitations under the License. */ -#ifndef C_INCLUDE_DRAWING_TEXT_RUN_H -#define C_INCLUDE_DRAWING_TEXT_RUN_H - /** * @addtogroup Drawing * @{ @@ -37,6 +34,9 @@ * @version 1.0 */ +#ifndef C_INCLUDE_DRAWING_TEXT_RUN_H +#define C_INCLUDE_DRAWING_TEXT_RUN_H + #include "drawing_text_declaration.h" #include "drawing_types.h" @@ -47,12 +47,11 @@ extern "C" { * @brief Gets the run glyph indices ,the offset of the index relative to the entire paragraph. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param run Indicates the pointer to an OH_Drawing_Run object. * @param start The run of start index. * @param length The run of length, if start and length are set to 0, then get all of the current run. - * @return Run of glyph indices array. + * @return Run of glyph indices array object OH_Drawing_Array. * @since 14 - * @version 1.0 */ OH_Drawing_Array* OH_Drawing_GetRunStringIndices(OH_Drawing_Run* run, int64_t start, int64_t length); @@ -60,21 +59,19 @@ OH_Drawing_Array* OH_Drawing_GetRunStringIndices(OH_Drawing_Run* run, int64_t st * @brief Gets the run glyph indices by index. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Array the run glyph indices array. + * @param stringIndices the run glyph indices array object OH_Drawing_Array. * @param index The run of glyph index. * @return Run of glyph indices element. * @since 14 - * @version 1.0 */ -uint64_t OH_Drawing_GetRunStringIndicesElement(OH_Drawing_Array* stringIndices, size_t index); +uint64_t OH_Drawing_GetRunStringIndicesByIndex(OH_Drawing_Array* stringIndices, size_t index); /** * @brief Releases the memory run glyph indices array. - * + * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param stringIndices glyph indices the pointer. + * @param stringIndices glyph indices array object OH_Drawing_Array. * @since 14 - * @version 1.0 */ void OH_Drawing_DestroyRunStringIndices(OH_Drawing_Array* stringIndices); @@ -82,11 +79,10 @@ void OH_Drawing_DestroyRunStringIndices(OH_Drawing_Array* stringIndices); * @brief Gets the range run glyph location and length. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param run Indicates the pointer to an OH_Drawing_Run object. * @param location The run of glyph location. * @param length The run of glyph length. * @since 14 - * @version 1.0 */ void OH_Drawing_GetRunStringRange(OH_Drawing_Run* run, uint64_t* location, uint64_t* length); @@ -94,13 +90,12 @@ void OH_Drawing_GetRunStringRange(OH_Drawing_Run* run, uint64_t* location, uint6 * @brief Gets the run typographic bound. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param run Indicates the pointer to an OH_Drawing_Run object. * @param ascent The run of ascent. * @param descent The run of descent. * @param leading The run of leading. * @return run typographic width. * @since 14 - * @version 1.0 */ float OH_Drawing_GetRunTypographicBounds(OH_Drawing_Run* run, float* ascent, float* descent, float* leading); @@ -108,12 +103,11 @@ float OH_Drawing_GetRunTypographicBounds(OH_Drawing_Run* run, float* ascent, flo * @brief Paints text on the canvas. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Canvas Indicates the pointer to an OH_Drawing_Canvas object. - * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param canvas Indicates the pointer to an OH_Drawing_Canvas object. + * @param run Indicates the pointer to an OH_Drawing_Run object. * @param x Indicates the x coordinate. * @param y Indicates the y coordinate. * @since 14 - * @version 1.0 */ void OH_Drawing_RunPaint(OH_Drawing_Canvas* canvas, OH_Drawing_Run* run, double x, double y); @@ -121,10 +115,9 @@ void OH_Drawing_RunPaint(OH_Drawing_Canvas* canvas, OH_Drawing_Run* run, double * @brief Gets the run image bound. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. - * @return OH_Drawing_Rect The run image bounds. + * @param run Indicates the pointer to an OH_Drawing_Run object. + * @return The run image bounds to an OH_Drawing_Rect object. * @since 14 - * @version 1.0 */ OH_Drawing_Rect* OH_Drawing_GetRunImageBounds(OH_Drawing_Run* run); @@ -132,22 +125,20 @@ OH_Drawing_Rect* OH_Drawing_GetRunImageBounds(OH_Drawing_Run* run); * @brief Releases the memory run image bounds pointer. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Rect Run image bounds pointer. + * @param rect Run image bounds to an OH_Drawing_Rect object. * @since 14 - * @version 1.0 */ void OH_Drawing_DestroyRunImageBounds(OH_Drawing_Rect* rect); /** * @brief Gets the range glyph identifier for each character. - * + * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param run Indicates the pointer to an OH_Drawing_Run object. * @param start The run of start index. * @param length The run of length, if start and length are set to 0, then get all of the current run. - * @return Run of glyph array. + * @return Run of glyph array object OH_Drawing_ArrayOH_Drawing_Array. * @param index The run of glyph index. * @return Run of glyph element. * @since 14 * @version 1.0 */ -uint16_t OH_Drawing_GetRunGlyphsElement(OH_Drawing_Array* glyphs, size_t index); +uint16_t OH_Drawing_GetRunGlyphsByIndex(OH_Drawing_Array* glyphs, size_t index); /** * @brief Releases the memory run glyph array. - * + * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param glyphs The run of glyph array. + * @param glyphs The run of glyph array object OH_Drawing_Array. * @since 14 - * @version 1.0 */ void OH_Drawing_DestroyRunGlyphs(OH_Drawing_Array* glyphs); @@ -177,12 +167,11 @@ void OH_Drawing_DestroyRunGlyphs(OH_Drawing_Array* glyphs); * @brief Gets the range glyph position array. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param run Indicates the pointer to an OH_Drawing_Run object. * @param start The run of start index. * @param length The run of length, if start and length are set to 0, then get all of the current run. - * @return Run of position array. + * @return Run of position array object OH_Drawing_Array. * @since 14 - * @version 1.0 */ OH_Drawing_Array* OH_Drawing_GetRunPositions(OH_Drawing_Run* run, int64_t start, int64_t length); @@ -190,21 +179,20 @@ OH_Drawing_Array* OH_Drawing_GetRunPositions(OH_Drawing_Run* run, int64_t start, * @brief Gets the glyph position by index. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Array The run of position array. + * @param positions The run of position array object OH_Drawing_Array. * @param index The run of glyph index. - * @return Run of glyph position pointer. + * @return Run of glyph position pointer to an OH_Drawing_Point object. * @since 14 * @version 1.0 */ -OH_Drawing_Point* OH_Drawing_GetRunPositionsElement(OH_Drawing_Array* positions, size_t index); +OH_Drawing_Point* OH_Drawing_GetRunPositionsByIndex(OH_Drawing_Array* positions, size_t index); /** * @brief Releases the memory run of position array. - * + * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param positions The run of position array. + * @param positions The run of position array object OH_Drawing_Array. * @since 14 - * @version 1.0 */ void OH_Drawing_DestroyRunPositions(OH_Drawing_Array* positions); @@ -212,10 +200,9 @@ void OH_Drawing_DestroyRunPositions(OH_Drawing_Array* positions); * @brief Gets the number of glyph. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing - * @param OH_Drawing_Run Indicates the pointer to an OH_Drawing_Run object. + * @param run Indicates the pointer to an OH_Drawing_Run object. * @return The number of glyph. * @since 14 - * @version 1.0 */ uint32_t OH_Drawing_GetRunGlyphCount(OH_Drawing_Run* run); #ifdef __cplusplus diff --git a/graphic/graphic_2d/native_drawing/drawing_text_typography.h b/graphic/graphic_2d/native_drawing/drawing_text_typography.h index 977062e81..28ffa8f5a 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_typography.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_typography.h @@ -45,7 +45,6 @@ #include "drawing_color.h" #include "drawing_font.h" #include "drawing_text_declaration.h" -#include "drawing_text_font_descriptor.h" #include "drawing_types.h" #include "stdint.h" @@ -413,6 +412,35 @@ typedef struct OH_Drawing_FontConfigInfo { OH_Drawing_FontFallbackGroup* fallbackGroupSet; } OH_Drawing_FontConfigInfo; +/** + * @brief Describes the font information. + * + * @since 12 + * @version 1.0 + */ +typedef struct OH_Drawing_FontDescriptor { + /** The file path of System font */ + char* path; + /** A name that uniquely identifies the font */ + char* postScriptName; + /** The name of System font */ + char* fullName; + /** The family of System font */ + char* fontFamily; + /** The subfont family of the system font */ + char* fontSubfamily; + /** The weight of System font */ + int weight; + /** The width of System font */ + int width; + /** Whether the system font is tilted */ + int italic; + /** Whether the system font is compact */ + bool monoSpace; + /** whether symbolic fonts are supported */ + bool symbolic; +} OH_Drawing_FontDescriptor; + /** * @brief The metrics of line. * @@ -2754,8 +2782,10 @@ void OH_Drawing_SetTextShadow(OH_Drawing_TextShadow* shadow, uint32_t color, OH_ * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param OH_Drawing_TextAlign Indicates enumerates text tab alignment modes. TAB alignment, Support left alignment * right alignment center alignment, other enumeration values are left alignment effect. - * @param float Indicates location if text tab. - * @return Returns the pointer to the OH_Drawing_TextTab object created. + * @param float Indicates location of text tab. + * @return Returns the pointer to the OH_Drawing_TextTab object created. If the object returns NULL, + * the creation failed. The possible cause of the failure is that the application address space is used up. + * As a result, space cannot be allocated. * @since 14 * @version 1.0 */ @@ -2772,7 +2802,7 @@ OH_Drawing_TextTab* OH_Drawing_CreateTextTab(OH_Drawing_TextAlign alignment, flo void OH_Drawing_DestroyTextTab(OH_Drawing_TextTab*); /** - * @brief Get align of an OH_Drawing_TextTab object. + * @brief Get alignment of an OH_Drawing_TextTab object. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param OH_Drawing_TextTab Indicates the pointer to an OH_Drawing_TextTab object. @@ -2780,7 +2810,7 @@ void OH_Drawing_DestroyTextTab(OH_Drawing_TextTab*); * @since 14 * @version 1.0 */ -OH_Drawing_TextAlign OH_Drawing_GetTextTabAlign(OH_Drawing_TextTab*); +OH_Drawing_TextAlign OH_Drawing_GetTextTabAlignment(OH_Drawing_TextTab*); /** * @brief Get location of an OH_Drawing_TextTab object. @@ -2795,9 +2825,9 @@ float OH_Drawing_GetTextTabLocation(OH_Drawing_TextTab*); /** * @brief Sets the text tab of OH_Drawing_TypographyStyle object. - * TAB alignment does not take effect when text alignment is also set. Or when the TAB's location property - * is less than or equal to 0. When the TAB is not set, it is the default space effect, and all tabs in the paragraph - * after the setting are aligned according to this tab effect. + * Tab alignment does not take effect when text alignment is also set, Or when the ellipsis style is configured. + * When the tab is not set or the tab's location property is less than or equal to 0, it is the default space effect. + * And all tabs in the paragraph after the setting are aligned according to this tab effect. * * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing * @param OH_Drawing_TypographyStyle Indicates the pointer to an OH_Drawing_TypographyStyle object. diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index 264d710ff..870a68817 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -936,7 +936,7 @@ }, { "first_introduced": "14", - "name": "OH_Drawing_GetSystemFontFullNamesElement" + "name": "OH_Drawing_GetSystemFontFullNameByIndex" }, { "first_introduced": "14", @@ -1548,7 +1548,7 @@ }, { "first_introduced": "14", - "name":"OH_Drawing_GetTextTabAlign" + "name":"OH_Drawing_GetTextTabAlignment" }, { "first_introduced": "14", @@ -1580,7 +1580,7 @@ }, { "first_introduced": "14", - "name":"OH_Drawing_GetTextLinesIndex" + "name":"OH_Drawing_GetTextLineByIndex" }, { "first_introduced": "14", @@ -1600,7 +1600,7 @@ }, { "first_introduced": "14", - "name":"OH_Drawing_GetRunsIndex" + "name":"OH_Drawing_GetRunByIndex" }, { "first_introduced": "14", @@ -1630,10 +1630,6 @@ "first_introduced": "14", "name":"OH_Drawing_TextLineGetOffsetForStringIndex" }, - { - "first_introduced": "14", - "name":"OH_Drawing_TextLineEnumerateCaretOffsets" - }, { "first_introduced": "14", "name":"OH_Drawing_TextLineGetAlignmentOffset" @@ -1644,7 +1640,7 @@ }, { "first_introduced": "14", - "name":"OH_Drawing_GetRunStringIndicesElement" + "name":"OH_Drawing_GetRunStringIndicesByIndex" }, { "first_introduced": "14", @@ -1676,7 +1672,7 @@ }, { "first_introduced": "14", - "name":"OH_Drawing_GetRunGlyphsElement" + "name":"OH_Drawing_GetRunGlyphsByIndex" }, { "first_introduced": "14", @@ -1688,7 +1684,7 @@ }, { "first_introduced": "14", - "name":"OH_Drawing_GetRunPositionsElement" + "name":"OH_Drawing_GetRunPositionsByIndex" }, { "first_introduced": "14", -- Gitee From c6bdb322b0541e8cbbc6a0a79787a8d5a35e8d86 Mon Sep 17 00:00:00 2001 From: changleipeng Date: Sun, 29 Sep 2024 11:24:11 +0800 Subject: [PATCH 295/359] fix callback interface Signed-off-by: changleipeng --- .../native_drawing/drawing_text_line.h | 25 +++++++++++++++++++ .../native_drawing/libnative_drawing.ndk.json | 4 +++ 2 files changed, 29 insertions(+) diff --git a/graphic/graphic_2d/native_drawing/drawing_text_line.h b/graphic/graphic_2d/native_drawing/drawing_text_line.h index 196907ed5..760769b4b 100644 --- a/graphic/graphic_2d/native_drawing/drawing_text_line.h +++ b/graphic/graphic_2d/native_drawing/drawing_text_line.h @@ -228,6 +228,31 @@ int32_t OH_Drawing_TextLineGetStringIndexForPosition(OH_Drawing_TextLine* line, */ double OH_Drawing_TextLineGetOffsetForStringIndex(OH_Drawing_TextLine* line, int32_t index); +/** + * @brief User-defined callback functions for using offsets and indexes. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param offset Character offset is traversed as an argument to the callback function. + * @param index Character index is traversed as an argument to the callback function. + * @param leadingEdge Whether the current offset is at the character front, as an argument to the callback function. + * @return The return value of the user-defined callback function. + * If false is returned, the traversal continues. + * If true is returned, the traversal stops. + * @since 14 + * @version 1.0 + */ +typedef bool (*Drawing_CaretOffsetsCallback)(double offset, int32_t index, bool leadingEdge); + +/** + * @brief Enumerate caret offset and index in text lines. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeDrawing + * @param line Indicates the pointer to an OH_Drawing_TextLine object. + * @param callback User-defined callback functions, see Drawing_CaretOffsetsCallback. + * @since 14 + */ +void OH_Drawing_TextLineEnumerateCaretOffsets(OH_Drawing_TextLine* line, Drawing_CaretOffsetsCallback callback); + /** * @brief Gets the text offset based on the given alignment factor and alignment width. * diff --git a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json index 3f0f7905b..353ce3f53 100644 --- a/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json +++ b/graphic/graphic_2d/native_drawing/libnative_drawing.ndk.json @@ -1654,6 +1654,10 @@ "first_introduced": "14", "name":"OH_Drawing_TextLineGetOffsetForStringIndex" }, + { + "first_introduced": "14", + "name": "OH_Drawing_TextLineEnumerateCaretOffsets" + }, { "first_introduced": "14", "name":"OH_Drawing_TextLineGetAlignmentOffset" -- Gitee From 062297e7bbe4d7f066fb785fbb9121eaca1e3c05 Mon Sep 17 00:00:00 2001 From: wangsen1994 Date: Sun, 29 Sep 2024 19:31:10 +0800 Subject: [PATCH 296/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E4=B8=BA13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangsen1994 --- NotificationKit/BUILD.gn | 2 +- NotificationKit/libohnotification.ndk.json | 2 +- NotificationKit/notification.h | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/NotificationKit/BUILD.gn b/NotificationKit/BUILD.gn index 1e12b6983..eff7eea6e 100644 --- a/NotificationKit/BUILD.gn +++ b/NotificationKit/BUILD.gn @@ -22,7 +22,7 @@ ohos_ndk_library("libnotification_ndk") { output_name = "ohnotification" output_extension = "so" ndk_description_file = "./libohnotification.ndk.json" - min_compact_version = "14" + min_compact_version = "13" system_capability = "SystemCapability.Notification.Notification" system_capability_headers = [ "NotificationKit/notification.h" ] } diff --git a/NotificationKit/libohnotification.ndk.json b/NotificationKit/libohnotification.ndk.json index 4a929d5ce..24b56b30a 100644 --- a/NotificationKit/libohnotification.ndk.json +++ b/NotificationKit/libohnotification.ndk.json @@ -1,6 +1,6 @@ [ { - "first_introduced": "14", + "first_introduced": "13", "name": "OH_Notification_IsNotificationEnabled" } ] diff --git a/NotificationKit/notification.h b/NotificationKit/notification.h index 236608ca5..d7a31be18 100644 --- a/NotificationKit/notification.h +++ b/NotificationKit/notification.h @@ -19,7 +19,7 @@ * * @brief Provides the definition of the C interface for the notification service. * - * @since 14 + * @since 13 */ /** * @file notification.h @@ -29,7 +29,7 @@ * @library libohnotification.so * @kit NotificationKit * @syscap SystemCapability.Notification.Notification - * @since 14 + * @since 13 */ #ifndef OH_NOTIFICATION_H @@ -47,7 +47,7 @@ extern "C" { * * @return true - This application is allowed to publish notifications. * false - This application is not allowed to publish notifications. - * @since 14 + * @since 13 */ bool OH_Notification_IsNotificationEnabled(void); -- Gitee From bae22027088154b904bab3ff475fb5e09314f1b8 Mon Sep 17 00:00:00 2001 From: zoulinken Date: Wed, 25 Sep 2024 14:28:37 +0800 Subject: [PATCH 297/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=85=A5=E5=8F=82?= =?UTF-8?q?=E5=90=8D=E7=A7=B0=EF=BC=8C=E4=BF=9D=E6=8C=81=E5=A4=9A=E5=85=A5?= =?UTF-8?q?=E5=8F=A3=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zoulinken --- arkui/ace_engine/native/libace.ndk.json | 4 ++-- arkui/ace_engine/native/native_node.h | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index 3da27da07..9bc15b03c 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -1296,11 +1296,11 @@ "name": "OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen" }, { - "first_introduced": "14", + "first_introduced": "13", "name": "OH_ArkUI_NodeUtils_AddCustomProperty" }, { - "first_introduced": "14", + "first_introduced": "13", "name": "OH_ArkUI_NodeUtils_RemoveCustomProperty" }, { diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index a8ff1e5dd..68f16504a 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -7684,20 +7684,20 @@ int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle nod * @brief Add the custom property of the component. * * @param node ArkUI_NodeHandle pointer. - * @param key The key of the custom property. - * @param key The value of the custom property. - * @since 14 + * @param name The name of the custom property. + * @param value The value of the custom property. + * @since 13 */ -void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* key, const char* value); +void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value); /** * @brief Remove the custom property of the component. * * @param node ArkUI_NodeHandle pointer. - * @param key The key of the custom property. - * @since 14 + * @param name The name of the custom property. + * @since 13 */ -void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* key); +void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* name); /** * @brief Collapse the ListItem in its expanded state. -- Gitee From 93fc1e3f5592341ed87b6b77f8b1516c00abaca2 Mon Sep 17 00:00:00 2001 From: gxjhl Date: Sat, 5 Oct 2024 16:56:27 +0800 Subject: [PATCH 298/359] =?UTF-8?q?=E5=90=8C=E4=B8=80=E4=B8=AA=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E5=A3=B0=E6=98=8E=E4=BA=86=E4=B8=A4=E6=AC=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: gxjhl Change-Id: If7059b9ca7005d206ebd3032b038d7e1e2ceb4f6 --- arkui/ace_engine/native/native_type.h | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index 18f2e18b6..7285cded2 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -2502,16 +2502,6 @@ void OH_ArkUI_WaterFlowSectionOption_SetMargin(ArkUI_WaterFlowSectionOption* opt */ ArkUI_Margin OH_ArkUI_WaterFlowSectionOption_GetMargin(ArkUI_WaterFlowSectionOption* option, int32_t index); -/** -* @brief Obtains the number of items in the water flow section that matches the specified index. -* -* @param option Indicates the pointer to a water flow section configuration. -* @param index Indicates the index of the target water flow section. -* @return Returns the number of items in the water flow section. -* @since 12 -*/ -int32_t OH_ArkUI_WaterFlowSectionOption_GetItemCount(ArkUI_WaterFlowSectionOption* option, int32_t index); - /** * @brief Creates a navigation indicator. * -- Gitee From d3dd74711ddccf2b9952f18b79961f915102a0cf Mon Sep 17 00:00:00 2001 From: hongzexuan Date: Fri, 27 Sep 2024 13:53:20 +0800 Subject: [PATCH 299/359] scroll capi supports fling Signed-off-by: hongzexuan Change-Id: I943e83f0a0865935522320952008d4d21aa2013a --- arkui/ace_engine/native/native_node.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index a8ff1e5dd..d8fb1258a 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -4483,6 +4483,18 @@ typedef enum { */ NODE_SCROLL_BY, + /** + * @brief Performs inertial scrolling based on the initial velocity passed in. + * + * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute:\n + * .value[0].f32: Initial velocity of inertial scrolling. Unit: vp/s. If the value specified is 0, it is + * considered as invalid, and the scrolling for this instance will not take effect. If the value is positive, + * the scroll will move downward; if the value is negative, the scroll will move upward. \n + * + * @since 13 + */ + NODE_SCROLL_FLING, + /** * @brief Defines the direction in which the list items are arranged. This attribute can be set, reset, and * obtained as required through APIs. -- Gitee From a19e618834c9ac62ed3f3292cd3741af08e808d2 Mon Sep 17 00:00:00 2001 From: zhjs Date: Tue, 8 Oct 2024 16:53:36 +0800 Subject: [PATCH 300/359] add variable quality level Signed-off-by: zhjs --- .../image_processing/libimage_processing.ndk.json | 5 +++++ .../video_processing/libvideo_processing.ndk.json | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json b/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json index 13425858f..918e744ee 100644 --- a/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json +++ b/multimedia/video_processing_engine/image_processing/libimage_processing.ndk.json @@ -83,5 +83,10 @@ "first_introduced": "13", "name": "IMAGE_PROCESSING_TYPE_DETAIL_ENHANCER", "type": "variable" + }, + { + "first_introduced": "13", + "name": "IMAGE_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL", + "type": "variable" } ] diff --git a/multimedia/video_processing_engine/video_processing/libvideo_processing.ndk.json b/multimedia/video_processing_engine/video_processing/libvideo_processing.ndk.json index dd2fe35ab..19fc6e2cc 100644 --- a/multimedia/video_processing_engine/video_processing/libvideo_processing.ndk.json +++ b/multimedia/video_processing_engine/video_processing/libvideo_processing.ndk.json @@ -89,5 +89,10 @@ "first_introduced": "12", "name": "VIDEO_PROCESSING_TYPE_DETAIL_ENHANCER", "type": "variable" + }, + { + "first_introduced": "12", + "name": "VIDEO_DETAIL_ENHANCER_PARAMETER_KEY_QUALITY_LEVEL", + "type": "variable" } ] -- Gitee From 2089f4d326014424ad98e91ddc46e7fbd2dc0b65 Mon Sep 17 00:00:00 2001 From: lihui Date: Wed, 9 Oct 2024 12:17:12 +0800 Subject: [PATCH 301/359] pts api since api 14 fix Signed-off-by: lihui --- graphic/graphic_2d/native_window/external_window.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphic/graphic_2d/native_window/external_window.h b/graphic/graphic_2d/native_window/external_window.h index 23d98d207..f2b57576e 100644 --- a/graphic/graphic_2d/native_window/external_window.h +++ b/graphic/graphic_2d/native_window/external_window.h @@ -264,7 +264,7 @@ typedef enum NativeWindowOperation { * the desiredPresentTimestamp will be ignored.\n * Variable parameter in function is * [in] int64_t desiredPresentTimestamp. - * @since 13 + * @since 14 */ SET_DESIRED_PRESENT_TIMESTAMP = 24, } NativeWindowOperation; -- Gitee From a9234c9c306e3d678713485eb5e96ea42accdaff Mon Sep 17 00:00:00 2001 From: zoulinken Date: Wed, 9 Oct 2024 16:53:56 +0800 Subject: [PATCH 302/359] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=AE=9A?= =?UTF-8?q?=E4=B9=89=E5=B1=9E=E6=80=A7=E7=9A=84=E5=A4=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zoulinken --- arkui/ace_engine/native/native_node.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 4ba7d5ff2..859a52e31 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -7693,11 +7693,11 @@ int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle nod int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset); /** - * @brief Add the custom property of the component. + * @brief Add the custom property of the component. This interface only works on the main thread. * * @param node ArkUI_NodeHandle pointer. - * @param name The name of the custom property. - * @param value The value of the custom property. + * @param name The name of the custom property. Passing null pointers is not allowed. + * @param value The value of the custom property. Passing null pointers is not allowed. * @since 13 */ void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value); -- Gitee From 79017ed65cac0c4835c8a79aaa5d5bc30e2ebb51 Mon Sep 17 00:00:00 2001 From: wangsen1994 Date: Fri, 11 Oct 2024 16:37:09 +0800 Subject: [PATCH 303/359] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dces=20C=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=9A=84=E6=8E=A5=E5=8F=A3=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangsen1994 --- BasicServicesKit/commonevent/oh_commonevent.h | 4 ++-- BasicServicesKit/commonevent/oh_commonevent_support.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/BasicServicesKit/commonevent/oh_commonevent.h b/BasicServicesKit/commonevent/oh_commonevent.h index 695328b66..44c679926 100644 --- a/BasicServicesKit/commonevent/oh_commonevent.h +++ b/BasicServicesKit/commonevent/oh_commonevent.h @@ -121,7 +121,7 @@ CommonEvent_SubscribeInfo* OH_CommonEvent_CreateSubscribeInfo(const char* events * @brief Set the subscribe information of permission. * * @param info Indicates the subscribed events. - * @param permission Indicates the subscribed events of number. + * @param permission Indicates the subscribed events of permission. * @return Returns the error code. * Returns {@link COMMONEVENT_ERR_OK} if the operation is successful. * Returns {@link COMMONEVENT_ERR_INVALID_PARAMETER} if a parameter error occurs. @@ -133,7 +133,7 @@ CommonEvent_ErrCode OH_CommonEvent_SetPublisherPermission(CommonEvent_SubscribeI * @brief Set the subscribe information of bundleName. * * @param info Indicates the subscribed events. - * @param bundleName Indicates the subscribed events of number. + * @param bundleName Indicates the subscribed events of bundleName. * @return Returns the error code. * Returns {@link COMMONEVENT_ERR_OK} if the operation is successful. * Returns {@link COMMONEVENT_ERR_INVALID_PARAMETER} if a parameter error occurs. diff --git a/BasicServicesKit/commonevent/oh_commonevent_support.h b/BasicServicesKit/commonevent/oh_commonevent_support.h index 67f77687b..6d1256b95 100644 --- a/BasicServicesKit/commonevent/oh_commonevent_support.h +++ b/BasicServicesKit/commonevent/oh_commonevent_support.h @@ -57,7 +57,7 @@ static const char* const COMMON_EVENT_SHUTDOWN = "usual.event.SHUTDOWN"; static const char* const COMMON_EVENT_BATTERY_CHANGED = "usual.event.BATTERY_CHANGED"; /** - * @brief This commonEvent means when the device in low battery state.. + * @brief This commonEvent means when the device in low battery state. * * @since 12 */ @@ -141,7 +141,7 @@ static const char* const COMMON_EVENT_PACKAGE_ADDED = "usual.event.PACKAGE_ADDED static const char* const COMMON_EVENT_PACKAGE_REMOVED = "usual.event.PACKAGE_REMOVED"; /** - * @brief This commonEvent means when an existing application package is removed from the device. + * @brief This commonEvent means when an installed application's add-on package is removed from the device. * * @since 12 */ -- Gitee From 48f43a225ca28d2a5a0c1a695bd03cbcfaef5d59 Mon Sep 17 00:00:00 2001 From: lxlxlxl Date: Fri, 11 Oct 2024 08:38:22 +0000 Subject: [PATCH 304/359] modify Close interface description Signed-off-by: lxlxlxl --- distributeddatamgr/preferences/include/oh_preferences.h | 1 - 1 file changed, 1 deletion(-) diff --git a/distributeddatamgr/preferences/include/oh_preferences.h b/distributeddatamgr/preferences/include/oh_preferences.h index c3a56fd95..944fa9dff 100644 --- a/distributeddatamgr/preferences/include/oh_preferences.h +++ b/distributeddatamgr/preferences/include/oh_preferences.h @@ -89,7 +89,6 @@ OH_Preferences *OH_Preferences_Open(OH_PreferencesOption *option, int *errCode); * @brief Closes a Preferences object. * * @param preference Pointer to the {@Link OH_Preferences} instance to close. - * @param option Pointer to an {@Link OH_PreferencesOption} instance. * @return Returns the status code of the execution. For details, see {@Link OH_Preferences_ErrCode}. * {@link PREFERENCES_OK} indicates the operation is successful. * {@link PREFERENCES_ERROR_INVALID_PARAM} indicates invalid args are passed in. -- Gitee From 2568a93b4bdb1e79575e15a57f236667169b7dfb Mon Sep 17 00:00:00 2001 From: changleipeng Date: Mon, 14 Oct 2024 14:31:38 +0800 Subject: [PATCH 305/359] Correct spelling errors Signed-off-by: changleipeng --- graphic/graphic_2d/native_drawing/drawing_rect.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphic/graphic_2d/native_drawing/drawing_rect.h b/graphic/graphic_2d/native_drawing/drawing_rect.h index 6ea9ca992..d247e88f7 100644 --- a/graphic/graphic_2d/native_drawing/drawing_rect.h +++ b/graphic/graphic_2d/native_drawing/drawing_rect.h @@ -251,7 +251,7 @@ OH_Drawing_ErrorCode OH_Drawing_RectGetArraySize(OH_Drawing_Array* rectArray, si * @param rect Pointers to Pointer of OH_Drawing_Rect object, returned to the caller. * @return Returns the error code. * Returns {@link OH_DRAWING_SUCCESS} if the operation is successful. - * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if rectArray or pprect is nullptr, + * Returns {@link OH_DRAWING_ERROR_INVALID_PARAMETER} if rectArray or rect is nullptr, * or index is valid. * @since 14 * @version 1.0 -- Gitee From c5c943d9bcadb1fcb4fe853da7d6be495854edf3 Mon Sep 17 00:00:00 2001 From: zhangchao Date: Sat, 12 Oct 2024 14:56:16 +0800 Subject: [PATCH 306/359] auto switch device NDK API Signed-off-by: zhangchao --- multimedia/camera_framework/camera.h | 18 ++++++ multimedia/camera_framework/camera.ndk.json | 16 +++++ multimedia/camera_framework/capture_session.h | 59 +++++++++++++++++++ 3 files changed, 93 insertions(+) diff --git a/multimedia/camera_framework/camera.h b/multimedia/camera_framework/camera.h index 50e6f143b..51682d06e 100644 --- a/multimedia/camera_framework/camera.h +++ b/multimedia/camera_framework/camera.h @@ -973,6 +973,24 @@ typedef struct Camera_FrameShutterEndInfo { int32_t captureId; } Camera_FrameShutterEndInfo; +/** + * @brief Auto device switch status info. + * + * @since 13 + * @version 1.0 + */ +typedef struct Camera_AutoDeviceSwitchStatusInfo { + /** + * is device switched. + */ + bool isDeviceSwitched; + + /** + * is device capability changed. + */ + bool isDeviceCapabilityChanged; +} Camera_AutoDeviceSwitchStatusInfo; + /** * @brief Creates a CameraManager instance. * diff --git a/multimedia/camera_framework/camera.ndk.json b/multimedia/camera_framework/camera.ndk.json index e5faf336c..a49b65320 100644 --- a/multimedia/camera_framework/camera.ndk.json +++ b/multimedia/camera_framework/camera.ndk.json @@ -602,5 +602,21 @@ { "first_introduced": "12", "name": "OH_PhotoNative_Release" + }, + { + "first_introduced": "13", + "name": "OH_CaptureSession_RegisterAutoDeviceSwitchStatusCallback" + }, + { + "first_introduced": "13", + "name": "OH_CaptureSession_UnregisterAutoDeviceSwitchStatusCallback" + }, + { + "first_introduced": "13", + "name": "OH_CaptureSession_IsAutoSwitchDeviceSupported" + }, + { + "first_introduced": "13", + "name": "OH_CaptureSession_EnableAutoSwitchDevice" } ] diff --git a/multimedia/camera_framework/capture_session.h b/multimedia/camera_framework/capture_session.h index 5f19ac724..54786c5d9 100644 --- a/multimedia/camera_framework/capture_session.h +++ b/multimedia/camera_framework/capture_session.h @@ -94,6 +94,16 @@ typedef void (*OH_CaptureSession_OnError)(Camera_CaptureSession* session, Camera typedef void (*OH_CaptureSession_OnSmoothZoomInfo)(Camera_CaptureSession* session, Camera_SmoothZoomInfo* smoothZoomInfo); +/** + * @brief Capture session device switch status callback. + * + * @param session the {@link Camera_CaptureSession} which deliver the callback. + * @param autoDeviceSwitchStatusInfo the {@link Camera_AutoDeviceSwitchStatusInfo} which delivered by the callback. + * @since 13 + */ +typedef void (*OH_CaptureSession_OnAutoDeviceSwitchStatusChange)(Camera_CaptureSession* session, + Camera_AutoDeviceSwitchStatusInfo* autoDeviceSwitchStatusInfo); + /** * @brief A listener for capture session. * @@ -857,6 +867,55 @@ Camera_ErrorCode OH_CaptureSession_GetActiveColorSpace(Camera_CaptureSession* se Camera_ErrorCode OH_CaptureSession_SetActiveColorSpace(Camera_CaptureSession* session, OH_NativeBuffer_ColorSpace colorSpace); +/** + * @brief Register device switch event callback. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param autoDeviceSwitchStatusChange the {@link OH_CaptureSession_OnAutoDeviceSwitchStatusChange} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 13 + */ +Camera_ErrorCode OH_CaptureSession_RegisterAutoDeviceSwitchStatusCallback(Camera_CaptureSession* session, + OH_CaptureSession_OnAutoDeviceSwitchStatusChange autoDeviceSwitchStatusChange); + +/** + * @brief Unregister device switch event callback. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param autoDeviceSwitchStatusChange the {@link OH_CaptureSession_OnAutoDeviceSwitchStatusChange} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 13 + */ +Camera_ErrorCode OH_CaptureSession_UnregisterAutoDeviceSwitchStatusCallback(Camera_CaptureSession* session, + OH_CaptureSession_OnAutoDeviceSwitchStatusChange autoDeviceSwitchStatusChange); + +/** + * @brief Check whether auto device switch is supported. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param isSupported the result of whether auto device switch supported. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SESSION_NOT_CONFIG} if the capture session not config. + * @since 13 + */ +Camera_ErrorCode OH_CaptureSession_IsAutoDeviceSwitchSupported(Camera_CaptureSession* session, bool* isSupported); + +/** + * @brief Enable auto switch or not for the camera device. + * + * @param session the {@link Camera_CaptureSession} instance. + * @param enabled the flag of enable auto switch or not. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * {@link #CAMERA_SESSION_NOT_CONFIG} if the capture session not config. + * {@link #CAMERA_SERVICE_FATAL_ERROR} if camera service fatal error. + * @since 13 + */ +Camera_ErrorCode OH_CaptureSession_EnableAutoDeviceSwitch(Camera_CaptureSession* session, bool enabled); + #ifdef __cplusplus } #endif -- Gitee From 61fea1df608ab0864e661a8eff169bb1d093cd86 Mon Sep 17 00:00:00 2001 From: zyx0121 Date: Sun, 29 Sep 2024 17:03:07 +0800 Subject: [PATCH 307/359] =?UTF-8?q?=E5=B1=9E=E6=80=A7=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E4=B8=B2=E4=B8=8Ehtml=E7=9A=84=E5=BA=8F=E5=88=97=E5=8C=96?= =?UTF-8?q?=E5=92=8C=E5=8F=8D=E5=BA=8F=E5=88=97=E5=8C=96=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zyx0121 --- arkui/ace_engine/native/libace.ndk.json | 12 ++++++++++++ arkui/ace_engine/native/native_type.h | 12 ++++++++++++ arkui/ace_engine/native/styled_string.h | 26 +++++++++++++++++++++++++ 3 files changed, 50 insertions(+) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index 3da27da07..581097c0f 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -2362,5 +2362,17 @@ { "first_introduced": "13", "name": "OH_ArkUI_AccessibilityElementInfoSetElementId" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_StyledString_Descriptor_Create" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_StyledString_Descriptor_Destroy" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_ConvertToHtml" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/native_type.h b/arkui/ace_engine/native/native_type.h index 18f2e18b6..47d73301f 100644 --- a/arkui/ace_engine/native/native_type.h +++ b/arkui/ace_engine/native/native_type.h @@ -136,6 +136,13 @@ typedef struct ArkUI_Context* ArkUI_ContextHandle; */ typedef struct ArkUI_SwiperIndicator ArkUI_SwiperIndicator; +/** +* @brief Define the data objects of styled string supported by text components. +* +* @since 14 +*/ +typedef struct ArkUI_StyledString_Descriptor ArkUI_StyledString_Descriptor; + /** * @brief specifies the alignment rules for subcomponents set in relative containers. * @@ -1911,6 +1918,11 @@ typedef enum { ARKUI_ERROR_CODE_NON_SCROLLABLE_CONTAINER = 180001, /** The buffer is not large enough. */ ARKUI_ERROR_CODE_BUFFER_SIZE_NOT_ENOUGH = 180002, + /** + * @error invalid styled string. + * @since 14 + */ + ARKUI_ERROR_CODE_INVALID_STYLED_STRING = 180101, } ArkUI_ErrorCode; /** diff --git a/arkui/ace_engine/native/styled_string.h b/arkui/ace_engine/native/styled_string.h index cb537a6c6..5d0c816b8 100644 --- a/arkui/ace_engine/native/styled_string.h +++ b/arkui/ace_engine/native/styled_string.h @@ -39,6 +39,7 @@ #include "native_drawing/drawing_text_declaration.h" #include "native_drawing/drawing_text_typography.h" +#include "native_type.h" #ifdef __cplusplus extern "C" { @@ -118,6 +119,31 @@ OH_Drawing_Typography* OH_ArkUI_StyledString_CreateTypography(ArkUI_StyledString */ void OH_ArkUI_StyledString_AddPlaceholder(ArkUI_StyledString* handle, OH_Drawing_PlaceholderSpan* placeholder); +/** + * @brief Create a ArkUI_StyledString_Descriptor object. + * + * @return Pointer to the ArkUI_StyledString_Descriptor object.。 + * @since 14 + */ +ArkUI_StyledString_Descriptor* OH_ArkUI_StyledString_Descriptor_Create(); + +/** + * @brief Release the memory occupied by the ArkUI_StyledString_Descriptor object. + * + * @param str Pointer to the ArkUI_StyledString_Descriptor object. + * @since 14 + */ +void OH_ArkUI_StyledString_Descriptor_Destroy(ArkUI_StyledString_Descriptor* str); + +/** + * @brief Convert the styled string into html. + * + * @param str Pointer to the ArkUI_StyledString_Descriptor object. + * @return The converted html. + * @since 14 + */ +const char* OH_ArkUI_ConvertToHtml(ArkUI_StyledString_Descriptor* str); + #ifdef __cplusplus }; #endif -- Gitee From 9b01924673366ae3e64e32087edec32e85ae6c56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=96=87=E9=BE=99?= Date: Tue, 15 Oct 2024 10:08:27 +0800 Subject: [PATCH 308/359] bugfix:library MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 李文龙 --- LocationKit/oh_location.h | 2 +- LocationKit/oh_location_type.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/LocationKit/oh_location.h b/LocationKit/oh_location.h index b4d3bbc5c..62eac6710 100644 --- a/LocationKit/oh_location.h +++ b/LocationKit/oh_location.h @@ -24,7 +24,7 @@ * @file oh_location.h * @kit LocationKit * @brief Define interfaces for querying location switch status, starting locating, and stopping locating. - * @library libohlocation.so + * @library liblocation_ndk.so * @syscap SystemCapability.Location.Location.Core * @since 13 */ diff --git a/LocationKit/oh_location_type.h b/LocationKit/oh_location_type.h index 235c436ff..729a61051 100644 --- a/LocationKit/oh_location_type.h +++ b/LocationKit/oh_location_type.h @@ -26,7 +26,7 @@ * @file oh_location_type.h * @kit LocationKit * @brief Declares the common location attributes. - * @library libohlocation.so + * @library liblocation_ndk.so * @syscap SystemCapability.Location.Location.Core * @since 13 */ -- Gitee From b7a702d01fa194773f49955085cd47d645dd9092 Mon Sep 17 00:00:00 2001 From: zyx0121 Date: Wed, 16 Oct 2024 09:22:03 +0800 Subject: [PATCH 309/359] =?UTF-8?q?=E5=B1=9E=E6=80=A7=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E4=B8=B2=E5=BA=8F=E5=88=97=E5=8C=96=E5=92=8C=E5=8F=8D=E5=BA=8F?= =?UTF-8?q?=E5=88=97=E5=8C=96CAPI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zyx0121 --- arkui/ace_engine/native/libace.ndk.json | 8 +++++++ arkui/ace_engine/native/styled_string.h | 30 +++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index dbae1db8b..48c1d3a84 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -2374,5 +2374,13 @@ { "first_introduced": "14", "name": "OH_ArkUI_ConvertToHtml" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_MarshallStyledStringDescriptor" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_UnmarshallStyledStringDescriptor" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/styled_string.h b/arkui/ace_engine/native/styled_string.h index 5d0c816b8..49b4d39d3 100644 --- a/arkui/ace_engine/native/styled_string.h +++ b/arkui/ace_engine/native/styled_string.h @@ -144,6 +144,36 @@ void OH_ArkUI_StyledString_Descriptor_Destroy(ArkUI_StyledString_Descriptor* str */ const char* OH_ArkUI_ConvertToHtml(ArkUI_StyledString_Descriptor* str); +/** + * @brief Deserializes a byte array containing styled string information into a styled string. + * + * @param buffer Byte array to be deserialized. + * @param bufferSize Length of the byte array. + * @param descriptor Pointer to an ArkUI_StyledString_Descriptor object. + * @return Returns the result code. + * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. + * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. + * @since 14 + */ +int32_t OH_ArkUI_UnmarshallStyledStringDescriptor( + uint8_t* buffer, size_t bufferSize, ArkUI_StyledString_Descriptor* descriptor); + +/** + * @brief Serializes the styled string information into a byte array. + * + * @param buffer Byte array where the serialized data will be stored. + * @param bufferSize Length of the byte array. + * @param descriptor Pointer to an ArkUI_StyledString_Descriptor object. + * @param resultSize Actual length of the byte array. + * @return Returns the result code. + * Returns {@link ARKUI_ERROR_CODE_NO_ERROR} if the operation is successful. + * Returns {@link ARKUI_ERROR_CODE_PARAM_INVALID} if a parameter error occurs. + * Returns {@link ARKUI_ERROR_CODE_INVALID_STYLED_STRING} if the styled string is invalid. + * @since 14 + */ +int32_t OH_ArkUI_MarshallStyledStringDescriptor( + uint8_t* buffer, size_t bufferSize, ArkUI_StyledString_Descriptor* descriptor, size_t* resultSize); + #ifdef __cplusplus }; #endif -- Gitee From 8f4cccf446d0d8115a8429cae577fac4ad69d132 Mon Sep 17 00:00:00 2001 From: xukuncai123 <401117262@qq.com> Date: Thu, 17 Oct 2024 10:24:16 +0800 Subject: [PATCH 310/359] move ndk_targets.gni to sdk_c Signed-off-by: xukuncai123 <401117262@qq.com> --- ndk_targets.gni | 330 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 330 insertions(+) create mode 100644 ndk_targets.gni diff --git a/ndk_targets.gni b/ndk_targets.gni new file mode 100644 index 000000000..a97312222 --- /dev/null +++ b/ndk_targets.gni @@ -0,0 +1,330 @@ +# Copyright (c) 2021 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. + +import("//build/ohos_var.gni") + +# ndk library, ndk header configuration +_ndk_library_targets = [ + "//interface/sdk_c/sensors/miscdevice/vibrator:lib_vibrator_ndk", + "//interface/sdk_c/sensors/miscdevice/vibrator:ndk_vibrator_header", + "//interface/sdk_c/third_party/zlib:libz_ndk", + "//interface/sdk_c/third_party/zlib:zlib_header", + "//interface/sdk_c/global/resource_management:librawfile_ndk", + "//interface/sdk_c/global/resource_management:rawfile_header", + "//interface/sdk_c/global/resource_management:native_resmgr_ndk", + "//interface/sdk_c/global/resource_management:native_resmgr_header", + "//interface/sdk_c/hiviewdfx/hiappevent:libhiappevent_header", + "//interface/sdk_c/hiviewdfx/hiappevent:libhiappevent_ndk", + "//interface/sdk_c/hiviewdfx/hidebug:libohhidebug", + "//interface/sdk_c/hiviewdfx/hidebug:oh_hidebug_header", + "//interface/sdk_c/hiviewdfx/hicollie:libohhicollie", + "//interface/sdk_c/hiviewdfx/hicollie:oh_hicollie_header", + "//interface/sdk_c/hiviewdfx/hilog:hilog_header", + "//interface/sdk_c/hiviewdfx/hilog:libhilog_ndk", + "//interface/sdk_c/hiviewdfx/hitrace:hitrace_header", + "//interface/sdk_c/hiviewdfx/hitrace:libhitrace_ndk", + "//interface/sdk_c/network/netstack/net_websocket:libnet_websocket", + "//interface/sdk_c/network/netstack/net_websocket:websocket_header", + "//interface/sdk_c/network/netssl:libnet_ssl_ndk", + "//interface/sdk_c/network/netssl:net_ssl_header", + "//interface/sdk_c/security/access_token:libability_access_control", + "//interface/sdk_c/security/access_token:accesstoken_header", + "//interface/sdk_c/security/huks:libhuks_ndk", + "//interface/sdk_c/security/huks:huks_header", + "//interface/sdk_c/security/asset:libasset_ndk", + "//interface/sdk_c/security/asset:asset_header", + "//interface/sdk_c/startup/init/syscap:libdeviceinfo_ndk", + "//interface/sdk_c/startup/init/syscap:deviceinfo_header", + "//interface/sdk_c/third_party/mindspore/kits:mindspore_header", + "//interface/sdk_c/third_party/mindspore/kits:mindspore_lib", + "//interface/sdk_c/web/webview/interfaces/native:web_header", + "//interface/sdk_c/web/webview/interfaces/native:libohweb", + "//interface/sdk_c/BasicServicesKit:libos_account_ndk", + "//interface/sdk_c/BasicServicesKit:os_account_ndk_header", + "//interface/sdk_c/ability/ability_runtime/child_process:child_process_header", + "//interface/sdk_c/ability/ability_runtime/child_process:libchild_process", + "//interface/sdk_c/AbilityKit/ability_runtime:ability_runtime_ndk_header", + "//interface/sdk_c/AbilityKit/ability_runtime:libability_runtime", + "//interface/sdk_c/arkui/ace_engine/native:ace_header", + "//interface/sdk_c/arkui/ace_engine/native:arkui_header", + "//interface/sdk_c/arkui/ace_engine/native:libace_ndk", + "//interface/sdk_c/arkui/napi:libnapi_ndk", + "//interface/sdk_c/arkui/napi:napi_header", + "//interface/sdk_c/arkui/window_manager:window_manager_header", + "//interface/sdk_c/arkui/window_manager:native_window_manager", + "//interface/sdk_c/arkui/display_manager:display_manager_header", + "//interface/sdk_c/arkui/display_manager:native_display_manager", + "//interface/sdk_c/ark_runtime/jsvm:libjsvm_ndk", + "//interface/sdk_c/ark_runtime/jsvm:jsvm_header", + "//interface/sdk_c/bundlemanager/bundle_framework/bundle:bundle_header", + "//interface/sdk_c/bundlemanager/bundle_framework/bundle:libbundle_ndk", + "//interface/sdk_c/third_party/node:node_header", + "//interface/sdk_c/graphic/graphic_2d/EGL:libEGL_ndk", + "//interface/sdk_c/graphic/graphic_2d/EGL:EGL_header", + "//interface/sdk_c/graphic/graphic_2d/GLES2:libGLESv2_ndk", + "//interface/sdk_c/graphic/graphic_2d/GLES2:GLES2_header", + "//interface/sdk_c/graphic/graphic_2d/GLES3:libGLESv3_ndk", + "//interface/sdk_c/graphic/graphic_2d/GLES3:GLES3_header", + "//interface/sdk_c/graphic/graphic_2d/KHR:KHR_header", + "//interface/sdk_c/graphic/graphic_2d/native_window:libnative_window_ndk", + "//interface/sdk_c/graphic/graphic_2d/native_window:native_window_header", + "//interface/sdk_c/graphic/graphic_2d/native_buffer:libnative_buffer_ndk", + "//interface/sdk_c/graphic/graphic_2d/native_buffer:native_buffer_header", + "//interface/sdk_c/graphic/graphic_2d/native_image:libnative_image_ndk", + "//interface/sdk_c/graphic/graphic_2d/native_image:native_image_header", + "//interface/sdk_c/graphic/graphic_2d/native_vsync:libnative_vsync_ndk", + "//interface/sdk_c/graphic/graphic_2d/native_vsync:native_vsync_header", + "//interface/sdk_c/graphic/graphic_2d/native_color_space_manager:libnative_color_space_manager_ndk", + "//interface/sdk_c/graphic/graphic_2d/native_color_space_manager:native_color_space_manager_header", + "//interface/sdk_c/graphic/graphic_2d/native_drawing:libnative_drawing_ndk", + "//interface/sdk_c/graphic/graphic_2d/native_drawing:native_drawing_header", + "//interface/sdk_c/graphic/graphic_2d/native_effect:libnative_effect_ndk", + "//interface/sdk_c/graphic/graphic_2d/native_effect:native_effect_header", + "//interface/sdk_c/IPCKit:libipc_capi", + "//interface/sdk_c/IPCKit:ipc_capi_header", + "//interface/sdk_c/LocationKit:liblocation_ndk", + "//interface/sdk_c/LocationKit:location_ndk_header", + "//interface/sdk_c/NotificationKit:libnotification_ndk", + "//interface/sdk_c/NotificationKit:ohnotification_header", + "//interface/sdk_c/ConnectivityKit/bluetooth:libbluetooth_ndk", + "//interface/sdk_c/ConnectivityKit/bluetooth:bluetooth_ndk_header", + "//interface/sdk_c/third_party/libuv:libuv_ndk", + "//interface/sdk_c/third_party/libuv:libuv_header", + "//interface/sdk_c/third_party/libuv:libuv_uv_header", + "//interface/sdk_c/third_party/icu4c:libicu_ndk", + "//interface/sdk_c/third_party/icu4c:icu_unicode_header", + "//interface/sdk_c/multimedia/av_codec/audio_decoder:libnative_media_adec", + "//interface/sdk_c/multimedia/av_codec/audio_decoder:native_media_adec_header", + "//interface/sdk_c/multimedia/av_codec/audio_encoder:libnative_media_aenc", + "//interface/sdk_c/multimedia/av_codec/audio_encoder:native_media_aenc_header", + "//interface/sdk_c/multimedia/av_codec/audio_codec:libnative_media_acodec", + "//interface/sdk_c/multimedia/av_codec/audio_codec:native_media_acodec_header", + "//interface/sdk_c/multimedia/av_codec/video_decoder:libnative_media_vdec", + "//interface/sdk_c/multimedia/av_codec/video_decoder:native_media_vdec_header", + "//interface/sdk_c/multimedia/av_codec/video_encoder:libnative_media_venc", + "//interface/sdk_c/multimedia/av_codec/video_encoder:native_media_venc_header", + "//interface/sdk_c/multimedia/av_codec/codec_base:libnative_media_codecbase", + "//interface/sdk_c/multimedia/av_codec/codec_base:native_media_codecbase_header", + "//interface/sdk_c/multimedia/av_codec/avmuxer:libnative_media_avmuxer", + "//interface/sdk_c/multimedia/av_codec/avmuxer:native_media_avmuxer_header", + "//interface/sdk_c/multimedia/av_codec/avdemuxer:libnative_media_avdemuxer", + "//interface/sdk_c/multimedia/av_codec/avdemuxer:native_media_avdemuxer_header", + "//interface/sdk_c/multimedia/av_codec/avsource:libnative_media_avsource", + "//interface/sdk_c/multimedia/av_codec/avsource:native_media_avsource_header", + "//interface/sdk_c/multimedia/av_codec/avcencinfo:libnative_media_avcencinfo", + "//interface/sdk_c/multimedia/av_codec/avcencinfo:native_media_avcencinfo_header", + "//interface/sdk_c/multimedia/drm_framework:libnative_drm", + "//interface/sdk_c/multimedia/drm_framework:native_drm_header", + "//interface/sdk_c/multimedia/media_foundation/core:native_media_core_header", + "//interface/sdk_c/multimedia/media_foundation/core:native_media_core_common_header", + "//interface/sdk_c/multimedia/media_foundation/core:libnative_media_core", + "//interface/sdk_c/multimedia/media_library/media_asset_manager:libmedia_asset_manager", + "//interface/sdk_c/multimedia/media_library/media_asset_manager:media_asset_manager_header", + "//interface/sdk_c/multimedia/player_framework/avscreen_capture:libnative_avscreen_capture", + "//interface/sdk_c/multimedia/player_framework/avscreen_capture:native_avscreen_capture_header", + "//interface/sdk_c/multimedia/player_framework/avplayer:libavplayer", + "//interface/sdk_c/multimedia/player_framework/avplayer:avplayer_header", + "//interface/sdk_c/multimedia/audio_framework:libohaudio_ndk", + "//interface/sdk_c/multimedia/audio_framework:ohaudio_header", + "//interface/sdk_c/multimedia/av_session:libohavsession_ndk", + "//interface/sdk_c/multimedia/av_session:ohavsession_header", + "//interface/sdk_c/multimedia/camera_framework:libohcamera", + "//interface/sdk_c/multimedia/camera_framework:camera_ndk_header", + "//interface/sdk_c/multimedia/image_framework:libpixelmap_ndk", + "//interface/sdk_c/multimedia/image_framework:libpixelmap", + "//interface/sdk_c/multimedia/image_framework:libpixelmap_header", + "//interface/sdk_c/multimedia/image_framework:image_header", + "//interface/sdk_c/multimedia/image_framework:libimage_ndk", + "//interface/sdk_c/multimedia/image_framework:image_ndk_header", + "//interface/sdk_c/multimedia/image_framework:libimage_receiver_ndk", + "//interface/sdk_c/multimedia/image_framework:image_receiver_ndk_header", + "//interface/sdk_c/multimedia/image_framework:libimage_source_ndk", + "//interface/sdk_c/multimedia/image_framework:image_source_ndk_header", + "//interface/sdk_c/multimedia/image_framework:libimage_source", + "//interface/sdk_c/multimedia/image_framework:libimage_source_header", + "//interface/sdk_c/multimedia/image_framework:libimage_packer_ndk", + "//interface/sdk_c/multimedia/image_framework:image_packer_ndk_header", + "//interface/sdk_c/multimedia/image_framework:libimage_packer", + "//interface/sdk_c/multimedia/image_framework:libimage_packer_header", + "//interface/sdk_c/multimedia/image_framework:libpicture", + "//interface/sdk_c/multimedia/image_framework:libpicture_header", + "//interface/sdk_c/multimedia/image_framework:libimage_common", + "//interface/sdk_c/multimedia/image_framework:libimage_common_header", + "//interface/sdk_c/multimedia/image_effect:libimage_effect", + "//interface/sdk_c/multimedia/image_effect:libimage_effect_header", + "//interface/sdk_c/multimedia/video_processing_engine/video_processing:libvideo_processing_ndk", + "//interface/sdk_c/multimedia/video_processing_engine/video_processing:video_processing_ndk_headers", + "//interface/sdk_c/multimedia/video_processing_engine/image_processing:libimage_processing_ndk", + "//interface/sdk_c/multimedia/video_processing_engine/image_processing:image_processing_ndk_headers", + "//interface/sdk_c/third_party/openSLES:sles_header", + "//interface/sdk_c/third_party/openSLES:libOpenSLES_ndk", + "//interface/sdk_c/ai/neural_network_runtime:libneural_network_core_ndk", + "//interface/sdk_c/ai/neural_network_runtime:libneural_network_runtime_ndk", + "//interface/sdk_c/ai/neural_network_runtime:libneural_network_runtime_header", + "//interface/sdk_c/commonlibrary/memory_utils/libpurgeablemem:libpurgeable_memory_ndk", + "//interface/sdk_c/commonlibrary/memory_utils/libpurgeablemem:purgeable_memory_header", + "//interface/sdk_c/distributeddatamgr/relational_store:data_ndk_header", + "//interface/sdk_c/distributeddatamgr/relational_store:native_rdb_ndk_header", + "//interface/sdk_c/distributeddatamgr/relational_store:libnative_rdb_ndk", + "//interface/sdk_c/distributeddatamgr/udmf:libudmf", + "//interface/sdk_c/distributeddatamgr/udmf:udmf_ndk_header", + "//interface/sdk_c/distributeddatamgr/pasteboard:libpasteboard", + "//interface/sdk_c/distributeddatamgr/pasteboard:pasteboard_ndk_header", + "//interface/sdk_c/distributeddatamgr/preferences:preferences_ndk_header", + "//interface/sdk_c/distributeddatamgr/preferences:libohpreferences", + "//interface/sdk_c/drivers/external_device_manager/usb:libusb_ndk", + "//interface/sdk_c/drivers/external_device_manager/usb:usb_header", + "//interface/sdk_c/drivers/external_device_manager/hid:libhid", + "//interface/sdk_c/drivers/external_device_manager/hid:hid_header", + "//interface/sdk_c/drivers/external_device_manager/base:libddk_base", + "//interface/sdk_c/drivers/external_device_manager/base:ddk_header", + "//interface/sdk_c/graphic/graphic_2d/vulkan:libvulkan_ndk", + "//interface/sdk_c/graphic/graphic_2d/vulkan:vulkan_header", + "//interface/sdk_c/graphic/graphic_2d/vulkan:vulkan_header_vk_video", + "//interface/sdk_c/resourceschedule/ffrt:libffrt_ndk", + "//interface/sdk_c/resourceschedule/ffrt:ffrt_header", + "//interface/sdk_c/network/netmanager:libnet_connection", + "//interface/sdk_c/network/netmanager:netconn_header", + "//interface/sdk_c/sensors/sensor:libsensor_ndk", + "//interface/sdk_c/sensors/sensor:sensor_ndk_header", + "//interface/sdk_c/resourceschedule/qos_manager:libqos_ndk", + "//interface/sdk_c/resourceschedule/qos_manager:qos_header", + "//interface/sdk_c/filemanagement/fileio:libohfileio", + "//interface/sdk_c/filemanagement/fileio:oh_fileio_header", + "//interface/sdk_c/filemanagement/environment:libohenvironment", + "//interface/sdk_c/filemanagement/environment:oh_environment_header", + "//interface/sdk_c/filemanagement/file_uri:libohfileuri", + "//interface/sdk_c/filemanagement/file_uri:oh_file_uri_header", + "//interface/sdk_c/filemanagement/fileshare:libohfileshare", + "//interface/sdk_c/filemanagement/fileshare:oh_file_share_header", + "//interface/sdk_c/multimodalinput/kits/c:libohinput_ndk", + "//interface/sdk_c/multimodalinput/kits/c:ohinput_header", + "//interface/sdk_c/BasicServicesKit:libohprint_ndk", + "//interface/sdk_c/BasicServicesKit:ohprint_header", + "//interface/sdk_c/multimedia/image_framework:libohimage", + "//interface/sdk_c/multimedia/image_framework:ohimage_header", + "//interface/sdk_c/multimedia/image_framework:libimage_receiver", + "//interface/sdk_c/multimedia/image_framework:image_receiver_header", + "//interface/sdk_c/graphic/graphic_2d/native_display_soloist:libnative_display_soloist_ndk", + "//interface/sdk_c/graphic/graphic_2d/native_display_soloist:native_display_soloist_header", + "//interface/sdk_c/third_party/musl/ndk_script:copy_compatible_config", + "//interface/sdk_c/CryptoArchitectureKit:libohcrypto", + "//interface/sdk_c/CryptoArchitectureKit:crypto_capi_header", + "//interface/sdk_c/BasicServicesKit:libohscan_ndk", + "//interface/sdk_c/BasicServicesKit:ohscan_header", + "//interface/sdk_c/BasicServicesKit:libtime_service_ndk", + "//interface/sdk_c/BasicServicesKit:time_service_ndk_header", + "//interface/sdk_c/BasicServicesKit:libcommonevent_ndk", + "//interface/sdk_c/BasicServicesKit:ohcommonevent_header", + "//interface/sdk_c/DataProtectionKit:libohdlp_permission", + "//interface/sdk_c/DataProtectionKit:dlppermission_capi_header", + "//interface/sdk_c/inputmethod:libohinputmethod", + "//interface/sdk_c/inputmethod:libohinputmethod_header", + "//interface/sdk_c/backgroundtasks/transient:libtransient_task_ndk", + "//interface/sdk_c/backgroundtasks/transient:transient_task_header", + "//interface/sdk_c/BasicServicesKit:ohbattery_info_header", + "//interface/sdk_c/BasicServicesKit:libohbattery_info_ndk", + "//interface/sdk_c/telephony/cellular_data:libtelephony_data", + "//interface/sdk_c/telephony/cellular_data:telephony_data_header", + "//interface/sdk_c/telephony/core_service:libtelephony_radio", + "//interface/sdk_c/telephony/core_service:telephony_radio_header", + "//interface/sdk_c/ConnectivityKit/wifi:libwifi_ndk", + "//interface/sdk_c/ConnectivityKit/wifi:wifi_ndk_header", +] + +_ndk_base_libs = [ + "//interface/sdk_c/third_party/musl/ndk_script/adapter:libc_ndk", + "//interface/sdk_c/third_party/musl/ndk_script:musl_ndk_libs_arm32", + "//interface/sdk_c/third_party/musl/ndk_script:musl_ndk_libs_aarch64", + "//interface/sdk_c/third_party/musl/ndk_script:musl_ndk_libs_x86_64", + "//interface/sdk_c/third_party/musl/ndk_script:ndk_toolchain", +] +_ndk_sysroot_uapi = + [ "//interface/sdk_c/third_party/musl/ndk_script:musl_sysroot" ] + +_ndk_cmake = [ + "//prebuilts/cmake/darwin-universal:darwin_cmake_copy", + "//prebuilts/cmake/linux-x86:linux_cmake_copy", + "//prebuilts/cmake/windows-x86:windows_cmake_copy", + "//prebuilts/cmake/ohos:ohos_cmake_copy", + "//build/ohos/ndk:ndk_cmake_files", +] + +if (host_os == "mac") { + _ndk_cmake += [ "//build/ohos/ndk:copy_darwin_ohos_cmake" ] +} else { + _ndk_cmake += [ + "//build/ohos/ndk:copy_linux_ohos_cmake", + "//build/ohos/ndk:copy_windows_ohos_cmake", + "//build/ohos/ndk:copy_ohos_ohos_cmake", + ] +} + +_ndk_ninja = [] +if (host_os == "mac") { + _ndk_ninja += [ "//prebuilts/build-tools/darwin-x86/bin:darwin_ninja_copy" ] +} else { + _ndk_ninja += [ + "//prebuilts/build-tools/linux-x86/bin:linux_ninja_copy", + "//prebuilts/build-tools/windows-x86/bin:windows_ninja_copy", + "//prebuilts/build-tools/ohos/bin:ohos_ninja_copy", + ] +} + +_ndk_targets_list = _ndk_library_targets + _ndk_base_libs + _ndk_sysroot_uapi + + _ndk_cmake + _ndk_ninja + +_parse_script = "//build/ohos/ndk/parse_ndk_targets.py" +_parse_args = [ + "--source-root-dir", + rebase_path("//", root_build_dir), + "--ndk-lib-target-list", +] +_parse_args += _ndk_targets_list + +all_ndk_targets_list = exec_script(_parse_script, _parse_args, "list lines") + +if (ndk_platform == "win") { + all_ndk_targets_list += + [ "//interface/sdk_c/third_party/musl/ndk_script:windows_x86_64" ] +} else if (ndk_platform == "mac") { + if (host_cpu == "arm64") { + all_ndk_targets_list += + [ "//interface/sdk_c/third_party/musl/ndk_script:darwin_arm64" ] + } else { + all_ndk_targets_list += + [ "//interface/sdk_c/third_party/musl/ndk_script:darwin_x86_64" ] + } +} else if (ndk_platform == "linux") { + all_ndk_targets_list += + [ "//interface/sdk_c/third_party/musl/ndk_script:linux_x86_64" ] +} else if (ndk_platform == "ohos") { + all_ndk_targets_list += + [ "//interface/sdk_c/third_party/musl/ndk_script:ohos_arm64" ] +} else if (ndk_platform == "default") { + if (host_os == "mac") { + if (host_cpu == "arm64") { + all_ndk_targets_list += + [ "//interface/sdk_c/third_party/musl/ndk_script:darwin_arm64" ] + } else { + all_ndk_targets_list += + [ "//interface/sdk_c/third_party/musl/ndk_script:darwin_x86_64" ] + } + } else { + all_ndk_targets_list += [ + "//interface/sdk_c/third_party/musl/ndk_script:windows_x86_64", + "//interface/sdk_c/third_party/musl/ndk_script:linux_x86_64", + "//interface/sdk_c/third_party/musl/ndk_script:ohos_arm64", + ] + } +} -- Gitee From 9cf3de7ddd09c9c323669101a789be250d0ae265 Mon Sep 17 00:00:00 2001 From: zhjs Date: Thu, 17 Oct 2024 11:23:57 +0800 Subject: [PATCH 311/359] DTS0000000000000test Signed-off-by: zhjs --- graphic/graphic_2d/native_buffer/buffer_common.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/graphic/graphic_2d/native_buffer/buffer_common.h b/graphic/graphic_2d/native_buffer/buffer_common.h index fd1bfa4a5..e3e610d71 100644 --- a/graphic/graphic_2d/native_buffer/buffer_common.h +++ b/graphic/graphic_2d/native_buffer/buffer_common.h @@ -138,7 +138,11 @@ typedef enum OH_NativeBuffer_MetadataType { /** HDR10 */ OH_VIDEO_HDR_HDR10, /** HDR VIVID */ - OH_VIDEO_HDR_VIVID + OH_VIDEO_HDR_VIVID, + /** + * NONE Metadata + * @since 13 + */ } OH_NativeBuffer_MetadataType; /** -- Gitee From 2f09c5f4b1483ca3b9ffd46a6f21cb8e5ab21c38 Mon Sep 17 00:00:00 2001 From: zhjs Date: Thu, 17 Oct 2024 11:55:13 +0800 Subject: [PATCH 312/359] DTS0000000000000test Signed-off-by: zhjs --- graphic/graphic_2d/native_buffer/buffer_common.h | 1 + 1 file changed, 1 insertion(+) diff --git a/graphic/graphic_2d/native_buffer/buffer_common.h b/graphic/graphic_2d/native_buffer/buffer_common.h index e3e610d71..d67646240 100644 --- a/graphic/graphic_2d/native_buffer/buffer_common.h +++ b/graphic/graphic_2d/native_buffer/buffer_common.h @@ -143,6 +143,7 @@ typedef enum OH_NativeBuffer_MetadataType { * NONE Metadata * @since 13 */ + OH_VIDEO_NONE = -1 } OH_NativeBuffer_MetadataType; /** -- Gitee From 9364f17f6f805064c0541635182ca197b8dcbe60 Mon Sep 17 00:00:00 2001 From: xxb-wzy Date: Fri, 18 Oct 2024 10:44:16 +0800 Subject: [PATCH 313/359] Signed-off-by: xxb-wzy Change-Id: Id49de840b724bca45076d887d0317f282f30314d --- .../native_vsync/libnative_vsync.ndk.json | 3 ++- .../graphic_2d/native_vsync/native_vsync.h | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json b/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json index 196fab524..7c0511407 100644 --- a/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json +++ b/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json @@ -3,5 +3,6 @@ { "name": "OH_NativeVSync_Destroy" }, { "name": "OH_NativeVSync_RequestFrame" }, { "name": "OH_NativeVSync_RequestFrameWithMultiCallback" }, - { "name": "OH_NativeVSync_GetPeriod" } + { "name": "OH_NativeVSync_GetPeriod" }, + { "name": "OH_NativeVSync_DVSyncSwitch" } ] \ No newline at end of file diff --git a/graphic/graphic_2d/native_vsync/native_vsync.h b/graphic/graphic_2d/native_vsync/native_vsync.h index 610fe1deb..0da2aa8e9 100644 --- a/graphic/graphic_2d/native_vsync/native_vsync.h +++ b/graphic/graphic_2d/native_vsync/native_vsync.h @@ -114,6 +114,31 @@ int OH_NativeVSync_RequestFrameWithMultiCallback( * @version 1.0 */ int OH_NativeVSync_GetPeriod(OH_NativeVSync* nativeVsync, long long* period); + +/** + * @brief Enable dvsync to improve the performance of self-drawn animation scenes. + * After enabled, dvsync needs to occupy the free surfacebuffer for frame buffering. Users need to ensure that + * there is an idle buffer at least. Otherwise, you are not advised to enable this function. + * When you enable dvsync, it will drive the early drawing of subsequent animations by sending vsync with future + * timestamp in advance, and you need to disable dvsync at the end of animation. + * After dvsync is enabled, the user needs to respond correctly to vsync sent in advance, and needs to request + * the next vsync after the animation frame of the last vsync completes drawing. And the surfacebuffer needs to + * carry a timestamp consistent with vsync. + * In some scenarios, if another application enables dvsync first, the current enabling operation will not + * take effect, and the application will still receive normal vsync signals. + * Not all platforms support dvsync. On platforms that do not support it, users will receive normal vsync + * after enabling it. + * + * @syscap SystemCapability.Graphic.Graphic2D.NativeVsync + * @param nativeVsync Indicates the pointer to a NativeVsync. + * @param enable Enable or disable the dvsync. + * @return {@link NATIVE_ERROR_OK} 0 - Success. + * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - the parameter nativeVsync is NULL or callback is NULL. + * {@link NATIVE_ERROR_BINDER_ERROR} 50401000 - ipc send failed. + * @since 12 + * @version 1.0 + */ +int OH_NativeVSync_DVSyncSwitch(OH_NativeVSync* nativeVsync, bool enable); #ifdef __cplusplus } #endif -- Gitee From 9a7ff952b1bc444e522e8dfbbf8e0e2f2fd70d67 Mon Sep 17 00:00:00 2001 From: xxb-wzy Date: Sat, 19 Oct 2024 15:41:14 +0800 Subject: [PATCH 314/359] Signed-off-by: xxb-wzy Change-Id: I91b51c7786f5aa8bccfc4936d602caceda547f89 --- graphic/graphic_2d/native_vsync/native_vsync.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/graphic/graphic_2d/native_vsync/native_vsync.h b/graphic/graphic_2d/native_vsync/native_vsync.h index 0da2aa8e9..2dfb5c1ac 100644 --- a/graphic/graphic_2d/native_vsync/native_vsync.h +++ b/graphic/graphic_2d/native_vsync/native_vsync.h @@ -135,7 +135,7 @@ int OH_NativeVSync_GetPeriod(OH_NativeVSync* nativeVsync, long long* period); * @return {@link NATIVE_ERROR_OK} 0 - Success. * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - the parameter nativeVsync is NULL or callback is NULL. * {@link NATIVE_ERROR_BINDER_ERROR} 50401000 - ipc send failed. - * @since 12 + * @since 14 * @version 1.0 */ int OH_NativeVSync_DVSyncSwitch(OH_NativeVSync* nativeVsync, bool enable); -- Gitee From bd28071d94885018b4000188bb3a7071ba11029a Mon Sep 17 00:00:00 2001 From: hongzexuan Date: Thu, 17 Oct 2024 11:32:06 +0800 Subject: [PATCH 315/359] scroll capi add fadingEdge Signed-off-by: hongzexuan Change-Id: Ifd16e5d9eba02305e2eaed84a613c246d68499ae --- arkui/ace_engine/native/native_node.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index 4ba7d5ff2..2266726b5 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -4495,6 +4495,23 @@ typedef enum { */ NODE_SCROLL_FLING, + /** + * @brief Sets the fading effect for the edges of scrollable components. + * + * Format of the {@link ArkUI_AttributeItem} parameter for setting the attribute: + * .value[0].i32: whether to enable the fading effect on edges. The value 0 means to disable the fading effect, + * and 1 means to enable it. + * .value[1]?.f32: length of the fading effect on edges, in vp. Default value: 32. + * + * Format of the return value {@link ArkUI_AttributeItem}: + * .value[0].i32: whether the fading effect on edges is enabled. The value 0 means that the fading effect is + * disabled, and 1 means that it is enabled. + * .value[1].f32: length of the fading effect on edges, in vp. + * + * @since 14 + */ + NODE_SCROLL_FADING_EDGE, + /** * @brief Defines the direction in which the list items are arranged. This attribute can be set, reset, and * obtained as required through APIs. -- Gitee From 81c67fa44d1c74f8db7fe07a8980b42bcde5c46b Mon Sep 17 00:00:00 2001 From: xzcbob Date: Mon, 21 Oct 2024 04:12:49 +0000 Subject: [PATCH 316/359] vrr update Signed-off-by: xzcbob --- multimedia/av_codec/native_avcodec_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/av_codec/native_avcodec_base.h b/multimedia/av_codec/native_avcodec_base.h index 1bec2e144..147a7268e 100644 --- a/multimedia/av_codec/native_avcodec_base.h +++ b/multimedia/av_codec/native_avcodec_base.h @@ -958,9 +958,9 @@ extern const char *OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE; * This is an optional key that applies only to video decoder. It is used in configure. * * @syscap SystemCapability.Multimedia.Media.CodecBase - * @since 13 + * @since 14 */ -extern const char *OH_MD_KEY_VIDEO_DECODER_ENABLE_VRR; +extern const char *OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR; /** * @brief Media type. -- Gitee From ddb15cb2662ac117323cedb9800a8a60abd3b3ca Mon Sep 17 00:00:00 2001 From: xxb-wzy Date: Mon, 21 Oct 2024 19:32:31 +0800 Subject: [PATCH 317/359] Signed-off-by: xxb-wzy Change-Id: Ib3e74dcad38979a2c1aa14e3de68e99cb0e90d07 --- .../graphic_2d/native_vsync/native_vsync.h | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/graphic/graphic_2d/native_vsync/native_vsync.h b/graphic/graphic_2d/native_vsync/native_vsync.h index 2dfb5c1ac..8d6d3df64 100644 --- a/graphic/graphic_2d/native_vsync/native_vsync.h +++ b/graphic/graphic_2d/native_vsync/native_vsync.h @@ -116,22 +116,23 @@ int OH_NativeVSync_RequestFrameWithMultiCallback( int OH_NativeVSync_GetPeriod(OH_NativeVSync* nativeVsync, long long* period); /** - * @brief Enable dvsync to improve the performance of self-drawn animation scenes. - * After enabled, dvsync needs to occupy the free surfacebuffer for frame buffering. Users need to ensure that - * there is an idle buffer at least. Otherwise, you are not advised to enable this function. - * When you enable dvsync, it will drive the early drawing of subsequent animations by sending vsync with future - * timestamp in advance, and you need to disable dvsync at the end of animation. - * After dvsync is enabled, the user needs to respond correctly to vsync sent in advance, and needs to request - * the next vsync after the animation frame of the last vsync completes drawing. And the surfacebuffer needs to - * carry a timestamp consistent with vsync. - * In some scenarios, if another application enables dvsync first, the current enabling operation will not - * take effect, and the application will still receive normal vsync signals. - * Not all platforms support dvsync. On platforms that do not support it, users will receive normal vsync - * after enabling it. + * @brief Enable DVSync to improve the smoothness of self drawn animation scenes. + * DVSync is Decoupled VSync, which is a frame timing management strategy decoupled from hardware VSync. + * DVSync drives the early drawing of subsequent animation frames by sending VSync signals with future timestamps + * in advance, which are then cached in the frame buffer queue; DVSync reduces the possibility of frame loss + * in the future by caching frames, thereby improving the smoothness of animation scenes. + * Because DVSync requires the use of idle self drawn frame buffers to cache pre drawn animation frames, users need to + * ensure that there is at least one free frame buffer, otherwise it is not recommended to enable this feature. + * After enabling DVSync, users need to respond correctly to the VSync signal sent in advance, and request + * the next VSync after the animation frame corresponding to the previous VSync is completed, and the self + * drawn frame needs to carry a timestamp consistent with VSync. + * After the animation ends, the user needs to turn off DVSync. + * On platforms that do not support DVSync or if another application has already enabled DVSync, the current + * enable operation will not take effect and the application will still receive a normal VSync signal. * * @syscap SystemCapability.Graphic.Graphic2D.NativeVsync * @param nativeVsync Indicates the pointer to a NativeVsync. - * @param enable Enable or disable the dvsync. + * @param enable Indicates enable or disable DVSync, true indicates enable, false indicates disable. * @return {@link NATIVE_ERROR_OK} 0 - Success. * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - the parameter nativeVsync is NULL or callback is NULL. * {@link NATIVE_ERROR_BINDER_ERROR} 50401000 - ipc send failed. -- Gitee From f72041a06fded0ff5af3fcacd2cf153171234583 Mon Sep 17 00:00:00 2001 From: xxb-wzy Date: Mon, 21 Oct 2024 19:59:02 +0800 Subject: [PATCH 318/359] Signed-off-by: xxb-wzy Change-Id: I7ae1c0e354949db4a00d9c83b5bb910e3122b68d --- .../graphic_2d/native_vsync/native_vsync.h | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/graphic/graphic_2d/native_vsync/native_vsync.h b/graphic/graphic_2d/native_vsync/native_vsync.h index 8d6d3df64..83f9af719 100644 --- a/graphic/graphic_2d/native_vsync/native_vsync.h +++ b/graphic/graphic_2d/native_vsync/native_vsync.h @@ -116,19 +116,19 @@ int OH_NativeVSync_RequestFrameWithMultiCallback( int OH_NativeVSync_GetPeriod(OH_NativeVSync* nativeVsync, long long* period); /** - * @brief Enable DVSync to improve the smoothness of self drawn animation scenes. - * DVSync is Decoupled VSync, which is a frame timing management strategy decoupled from hardware VSync. - * DVSync drives the early drawing of subsequent animation frames by sending VSync signals with future timestamps - * in advance, which are then cached in the frame buffer queue; DVSync reduces the possibility of frame loss - * in the future by caching frames, thereby improving the smoothness of animation scenes. - * Because DVSync requires the use of idle self drawn frame buffers to cache pre drawn animation frames, users need to - * ensure that there is at least one free frame buffer, otherwise it is not recommended to enable this feature. + * @brief Enable DVSync to improve the smoothness of self-drawn animation scenes. + * DVSync stands for Decoupled VSync, a frame timing management strategy decoupled from hardware VSync. + * DVSync drives the early rendering of subsequent animation frames by sending VSync signals with future timestamps + * in advance, which are then cached in the frame buffer queue. DVSync reduces the possibility of future frame drops + * by caching pre-rendered frames for display, thereby improving the smoothness of animation scenes. + * Because DVSync requires the use of free self-drawn frame buffers to cache pre-rendered animation frames, users need + * to ensure that there is at least one free frame buffer, otherwise it is not recommended to enable this feature. * After enabling DVSync, users need to respond correctly to the VSync signal sent in advance, and request - * the next VSync after the animation frame corresponding to the previous VSync is completed, and the self - * drawn frame needs to carry a timestamp consistent with VSync. - * After the animation ends, the user needs to turn off DVSync. + * the next VSync after the animation frame corresponding to the previous VSync has completed, and the self-drawn + * frame needs to carry a timestamp consistent with its VSync event. + * After the animation ends, the user needs to disable DVSync. * On platforms that do not support DVSync or if another application has already enabled DVSync, the current - * enable operation will not take effect and the application will still receive a normal VSync signal. + * enable operation will not take effect and the application will still receive normal VSync signals. * * @syscap SystemCapability.Graphic.Graphic2D.NativeVsync * @param nativeVsync Indicates the pointer to a NativeVsync. -- Gitee From 72930806a551fa94cfe8298dd8ccdf15c1747985 Mon Sep 17 00:00:00 2001 From: lizhuojun Date: Mon, 21 Oct 2024 16:24:51 +0800 Subject: [PATCH 319/359] add ContentForm UDS Signed-off-by: lizhuojun --- distributeddatamgr/udmf/include/udmf.h | 26 +++ distributeddatamgr/udmf/include/udmf_meta.h | 7 + distributeddatamgr/udmf/include/uds.h | 186 ++++++++++++++++++++ distributeddatamgr/udmf/libudmf.ndk.json | 68 +++++++ 4 files changed, 287 insertions(+) diff --git a/distributeddatamgr/udmf/include/udmf.h b/distributeddatamgr/udmf/include/udmf.h index e79579b5f..d8d7149e5 100644 --- a/distributeddatamgr/udmf/include/udmf.h +++ b/distributeddatamgr/udmf/include/udmf.h @@ -368,6 +368,19 @@ int OH_UdmfRecord_AddPixelMap(OH_UdmfRecord* pThis, OH_UdsPixelMap* pixelMap); */ int OH_UdmfRecord_AddArrayBuffer(OH_UdmfRecord* record, const char* type, OH_UdsArrayBuffer* buffer); +/** + * @brief Add one {@link OH_UdsContentForm} data to the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param contentForm Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsContentForm Udmf_ErrCode. + * @since 14 + */ +int OH_UdmfRecord_AddContentForm(OH_UdmfRecord* pThis, OH_UdsContentForm* contentForm); + /** * @brief Get all types in the {@link OH_UdmfRecord} record. * @@ -509,6 +522,19 @@ int OH_UdmfRecord_GetPixelMap(OH_UdmfRecord* pThis, OH_UdsPixelMap* pixelMap); */ int OH_UdmfRecord_GetArrayBuffer(OH_UdmfRecord* record, const char* type, OH_UdsArrayBuffer* buffer); +/** + * @brief Get one {@link OH_UdsContentForm} data from the {@link OH_UdmfRecord} record. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdmfRecord}. + * @param contentForm Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdmfRecord OH_UdsContentForm Udmf_ErrCode. + * @since 14 + */ +int OH_UdmfRecord_GetContentForm(OH_UdmfRecord* pThis, OH_UdsContentForm* contentForm); + /** * @brief Get primary {@link OH_UdsPlainText} data from the {@link OH_UdmfData}. * diff --git a/distributeddatamgr/udmf/include/udmf_meta.h b/distributeddatamgr/udmf/include/udmf_meta.h index 25b31bf80..cfe651a89 100644 --- a/distributeddatamgr/udmf/include/udmf_meta.h +++ b/distributeddatamgr/udmf/include/udmf_meta.h @@ -997,6 +997,13 @@ extern "C" { */ #define UDMF_META_GENERAL_FILE_URI "general.file-uri" +/** + * @brief A specific type of uniform data type. + * + * @since 14 + */ +#define UDMF_METE_GENERAL_CONTENT_FORM "general.content-form" + #ifdef __cplusplus }; #endif diff --git a/distributeddatamgr/udmf/include/uds.h b/distributeddatamgr/udmf/include/uds.h index 4ccef6ebe..e7450a53a 100644 --- a/distributeddatamgr/udmf/include/uds.h +++ b/distributeddatamgr/udmf/include/uds.h @@ -89,6 +89,13 @@ typedef struct OH_UdsFileUri OH_UdsFileUri; */ typedef struct OH_UdsPixelMap OH_UdsPixelMap; +/** + * @brief Describes the unified data struct of content form. + * + * @since 14 + */ +typedef struct OH_UdsContentForm OH_UdsContentForm; + /** * @brief Describes the unified data struct of array buffer. * @@ -665,6 +672,185 @@ int OH_UdsArrayBuffer_SetData(OH_UdsArrayBuffer* buffer, unsigned char* data, un */ int OH_UdsArrayBuffer_GetData(OH_UdsArrayBuffer* buffer, unsigned char** data, unsigned int* len); +/** + * @brief Creation a pointer to the instance of the {@link OH_UdsContentForm}. + * + * @return If the operation is successful, a pointer to the instance of the {@link OH_UdsContentForm} + * structure is returned. If the operation is failed, nullptr is returned. + * @see OH_UdsContentForm + * @since 14 + */ +OH_UdsContentForm* OH_UdsContentForm_Create(); + +/** + * @brief Destroy a pointer that points to the {@link OH_UdsContentForm} instance. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @see OH_UdsContentForm + * @since 14 + */ +void OH_UdsContentForm_Destroy(OH_UdsContentForm* pThis); + +/** + * @brief Get type id from the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsContentForm + * @since 14 + */ +const char* OH_UdsContentForm_GetType(OH_UdsContentForm* pThis); + +/** + * @brief Get thumb data from the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @param thumbData Represents a pointer to thumb data that is a output param. + * @param len Represents the thumb data length that is a output param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} Internal data error. + * @see OH_UdsContentForm Udmf_ErrCode + * @since 14 + */ +int OH_UdsContentForm_GetThumbData(OH_UdsContentForm* pThis, unsigned char** thumbData, unsigned int* len); + +/** + * @brief Get description from the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsContentForm + * @since 14 + */ +const char* OH_UdsContentForm_GetDescription(OH_UdsContentForm* pThis); + +/** + * @brief Get title from the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsContentForm + * @since 14 + */ +const char* OH_UdsContentForm_GetTitle(OH_UdsContentForm* pThis); + +/** + * @brief Get thumb data from the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @param appIcon Represents a pointer to app icon that is a output param. + * @param len Represents the app icon length that is a output param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * {@link UDMF_ERR} Internal data error. + * @see OH_UdsContentForm Udmf_ErrCode + * @since 14 + */ +int OH_UdsContentForm_GetAppIcon(OH_UdsContentForm* pThis, unsigned char** appIcon, unsigned int* len); + +/** + * @brief Get app name from the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsContentForm + * @since 14 + */ +const char* OH_UdsContentForm_GetAppName(OH_UdsContentForm* pThis); + +/** + * @brief Get link url from the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @return Returns a pointer of the value string when input args normally, otherwise return nullptr. + * @see OH_UdsContentForm + * @since 14 + */ +const char* OH_UdsContentForm_GetLinkUri(OH_UdsContentForm* pThis); + +/** + * @brief Set thumb data to the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @param thumbData Represents the thumb data. + * @param len Represents the length of thumb data param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsContentForm Udmf_ErrCode + * @since 14 + */ +int OH_UdsContentForm_SetThumbData(OH_UdsContentForm* pThis, const unsigned char* thumbData, unsigned int len); + +/** + * @brief Set description to the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @param description Represents a description string. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsContentForm Udmf_ErrCode + * @since 14 + */ +int OH_UdsContentForm_SetDescription(OH_UdsContentForm* pThis, const char* description); + +/** + * @brief Set title to the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @param title Represents a title string. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsContentForm Udmf_ErrCode + * @since 14 + */ +int OH_UdsContentForm_SetTitle(OH_UdsContentForm* pThis, const char* title); + +/** + * @brief Set thumb data to the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @param appIcon Represents the app icon. + * @param len Represents the length of app icon param. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsContentForm Udmf_ErrCode + * @since 14 + */ +int OH_UdsContentForm_SetAppIcon(OH_UdsContentForm* pThis, const unsigned char* appIcon, unsigned int len); + +/** + * @brief Set app name to the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @param appName Represents a app name string. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsContentForm Udmf_ErrCode + * @since 14 + */ +int OH_UdsContentForm_SetAppName(OH_UdsContentForm* pThis, const char* appName); + +/** + * @brief Set link uri to the {@link OH_UdsContentForm}. + * + * @param pThis Represents a pointer to an instance of {@link OH_UdsContentForm}. + * @param linkUri Represents a link uri string. + * @return Returns the status code of the execution. See {@link Udmf_ErrCode}. + * {@link UDMF_E_OK} success. + * {@link UDMF_E_INVALID_PARAM} The error code for common invalid args. + * @see OH_UdsContentForm Udmf_ErrCode + * @since 14 + */ +int OH_UdsContentForm_SetLinkUri(OH_UdsContentForm* pThis, const char* linkUri); + #ifdef __cplusplus }; #endif diff --git a/distributeddatamgr/udmf/libudmf.ndk.json b/distributeddatamgr/udmf/libudmf.ndk.json index fc246ae6d..0cef8921c 100644 --- a/distributeddatamgr/udmf/libudmf.ndk.json +++ b/distributeddatamgr/udmf/libudmf.ndk.json @@ -458,5 +458,73 @@ { "first_introduced": "13", "name": "OH_UdsArrayBuffer_GetData" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_Create" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_Destroy" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_GetType" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_GetThumbData" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_GetDescription" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_GetTitle" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_GetAppIcon" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_GetAppName" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_GetLinkUri" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_SetThumbData" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_SetDescription" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_SetTitle" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_SetAppIcon" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_SetAppName" + }, + { + "first_introduced": "14", + "name": "OH_UdsContentForm_SetLinkUri" + }, + { + "first_introduced": "14", + "name": "OH_UdmfRecord_AddContentForm" + }, + { + "first_introduced": "14", + "name": "OH_UdmfRecord_GetContentForm" } ] \ No newline at end of file -- Gitee From 181b424d6ce58de648775a0d255805db5788da1c Mon Sep 17 00:00:00 2001 From: zhangchao Date: Sat, 12 Oct 2024 14:43:57 +0800 Subject: [PATCH 320/359] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8A=98=E5=8F=A0?= =?UTF-8?q?=E5=B1=8F=E9=95=9C=E5=A4=B4=E7=BB=9F=E4=B8=80=E4=B8=8A=E6=8A=A5?= =?UTF-8?q?NDK=E9=9C=80=E6=B1=82=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangchao --- multimedia/camera_framework/camera.h | 46 ++++++++++++++++++++ multimedia/camera_framework/camera.ndk.json | 8 ++++ multimedia/camera_framework/camera_manager.h | 34 +++++++++++++++ 3 files changed, 88 insertions(+) diff --git a/multimedia/camera_framework/camera.h b/multimedia/camera_framework/camera.h index 50e6f143b..00561fba4 100644 --- a/multimedia/camera_framework/camera.h +++ b/multimedia/camera_framework/camera.h @@ -973,6 +973,52 @@ typedef struct Camera_FrameShutterEndInfo { int32_t captureId; } Camera_FrameShutterEndInfo; +/** +* @brief Enum for fold status. +* +* @since 13 +* @version 1.0 +*/ +typedef enum Camera_FoldStatus { + /** + * Non_foldable status. + */ + NON_FOLDABLE = 0, + + /** + * Expanded status. + */ + EXPANDED = 1, + + /** + * Folded status. + */ + FOLDED = 2 +} Camera_FoldStatus; + +/** + * @brief Fold status info. + * + * @since 13 + * @version 1.0 + */ +typedef struct Camera_FoldStatusInfo { + /** + * Camera instance list. + */ + Camera_Device** supportedCameras; + + /** + * Size of camera list. + */ + uint32_t cameraSize; + + /** + * Current fold status. + */ + Camera_FoldStatus foldStatus; +} Camera_FoldStatusInfo; + /** * @brief Creates a CameraManager instance. * diff --git a/multimedia/camera_framework/camera.ndk.json b/multimedia/camera_framework/camera.ndk.json index e5faf336c..e7c84c388 100644 --- a/multimedia/camera_framework/camera.ndk.json +++ b/multimedia/camera_framework/camera.ndk.json @@ -602,5 +602,13 @@ { "first_introduced": "12", "name": "OH_PhotoNative_Release" + }, + { + "first_introduced": "13", + "name": "OH_CameraManager_RegisterFoldStatusInfoCallback" + }, + { + "first_introduced": "13", + "name": "OH_CameraManager_UnregisterFoldStatusInfoCallback" } ] diff --git a/multimedia/camera_framework/camera_manager.h b/multimedia/camera_framework/camera_manager.h index 42bcc1aaa..3c7f2fee0 100644 --- a/multimedia/camera_framework/camera_manager.h +++ b/multimedia/camera_framework/camera_manager.h @@ -72,6 +72,16 @@ typedef void (*OH_CameraManager_StatusCallback)(Camera_Manager* cameraManager, C */ typedef void (*OH_CameraManager_TorchStatusCallback)(Camera_Manager* cameraManager, Camera_TorchStatusInfo* status); +/** + * @brief Camera manager fold status info callback. + * + * @param cameraManager the {@link Camera_Manager} which deliver the callback. + * @param foldStatusInfo the {@link Camera_FoldStatusInfo} of the device. + * @since 13 + */ +typedef void (*OH_CameraManager_OnFoldStatusInfoChange)(Camera_Manager* cameraManager, + Camera_FoldStatusInfo* foldStatusInfo); + /** * @brief A listener for camera devices status. * @@ -132,6 +142,30 @@ Camera_ErrorCode OH_CameraManager_RegisterTorchStatusCallback(Camera_Manager* ca Camera_ErrorCode OH_CameraManager_UnregisterTorchStatusCallback(Camera_Manager* cameraManager, OH_CameraManager_TorchStatusCallback torchStatusCallback); +/** + * @brief Register fold status info change event callback. + * + * @param cameraManager the {@link Camera_Manager} instance. + * @param foldStatusInfoCallback the {@link OH_CameraManager_OnFoldStatusInfoChange} to be registered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 13 + */ +Camera_ErrorCode OH_CameraManager_RegisterFoldStatusInfoCallback(Camera_Manager* cameraManager, + OH_CameraManager_OnFoldStatusInfoChange foldStatusInfoCallback); + +/** + * @brief Unregister fold status info change event callback. + * + * @param cameraManager the {@link Camera_Manager} instance. + * @param foldStatusInfoCallback the {@link OH_CameraManager_OnFoldStatusInfoChange} to be unregistered. + * @return {@link #CAMERA_OK} if the method call succeeds. + * {@link #CAMERA_INVALID_ARGUMENT} if parameter missing or parameter type incorrect. + * @since 13 + */ +Camera_ErrorCode OH_CameraManager_UnregisterFoldStatusInfoCallback(Camera_Manager* cameraManager, + OH_CameraManager_OnFoldStatusInfoChange foldStatusInfoCallback); + /** * @brief Gets supported camera descriptions. * -- Gitee From ff3d26596703ebc1ba24c43383cd546e7cf4ffe9 Mon Sep 17 00:00:00 2001 From: xxb-wzy Date: Wed, 23 Oct 2024 16:11:03 +0800 Subject: [PATCH 321/359] Signed-off-by: xxb-wzy Change-Id: I2e337ec5699505cbb0121da95b62f38a7238f959 --- .../graphic_2d/native_vsync/native_vsync.h | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/graphic/graphic_2d/native_vsync/native_vsync.h b/graphic/graphic_2d/native_vsync/native_vsync.h index 83f9af719..791fbfd36 100644 --- a/graphic/graphic_2d/native_vsync/native_vsync.h +++ b/graphic/graphic_2d/native_vsync/native_vsync.h @@ -116,25 +116,25 @@ int OH_NativeVSync_RequestFrameWithMultiCallback( int OH_NativeVSync_GetPeriod(OH_NativeVSync* nativeVsync, long long* period); /** - * @brief Enable DVSync to improve the smoothness of self-drawn animation scenes. - * DVSync stands for Decoupled VSync, a frame timing management strategy decoupled from hardware VSync. - * DVSync drives the early rendering of subsequent animation frames by sending VSync signals with future timestamps - * in advance, which are then cached in the frame buffer queue. DVSync reduces the possibility of future frame drops - * by caching pre-rendered frames for display, thereby improving the smoothness of animation scenes. - * Because DVSync requires the use of free self-drawn frame buffers to cache pre-rendered animation frames, users need - * to ensure that there is at least one free frame buffer, otherwise it is not recommended to enable this feature. - * After enabling DVSync, users need to respond correctly to the VSync signal sent in advance, and request - * the next VSync after the animation frame corresponding to the previous VSync has completed, and the self-drawn - * frame needs to carry a timestamp consistent with its VSync event. - * After the animation ends, the user needs to disable DVSync. - * On platforms that do not support DVSync or if another application has already enabled DVSync, the current - * enable operation will not take effect and the application will still receive normal VSync signals. + * @brief Enables DVSync to improve the smoothness of self-drawing animations. + * DVSync, short for Decoupled VSync, is a frame timing management policy that is decoupled from the hardware's VSync. + * DVSync drives the early rendering of upcoming animation frames by sending VSync signals with future timestamps. + * These frames are stored in a frame buffer queue. This helps DVSync reduce potential frame drop and therefore + * enhances the smoothness of animations. + * DVSync requires free self-drawing frame buffers to store these pre-rendered animation frames. + * Therefore, you must ensure that at least one free frame buffer is available. Otherwise, do not enable DVSync. + * After DVSync is enabled, you must correctly respond to the early VSync signals and request the subsequent VSync + * after the animation frame associated with the previous VSync is complete. In addition, the self-drawing frames must + * carry timestamps that align with VSync. + * After the animation ends, disable DVSync. + * On a platform that does not support DVSync or if another application has enabled DVSync, the attempt to enable it + * will not take effect, and the application still receives normal VSync signals. * * @syscap SystemCapability.Graphic.Graphic2D.NativeVsync * @param nativeVsync Indicates the pointer to a NativeVsync. - * @param enable Indicates enable or disable DVSync, true indicates enable, false indicates disable. + * @param enable Whether to enable DVSync.The value true means to enable DVSync, and false means the opposite. * @return {@link NATIVE_ERROR_OK} 0 - Success. - * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - the parameter nativeVsync is NULL or callback is NULL. + * {@link NATIVE_ERROR_INVALID_ARGUMENTS} 40001000 - the parameter nativeVsync is NULL. * {@link NATIVE_ERROR_BINDER_ERROR} 50401000 - ipc send failed. * @since 14 * @version 1.0 -- Gitee From c7a5190b111cea0ee4a5aedb29dd7a126dd96a0d Mon Sep 17 00:00:00 2001 From: lusunqi Date: Tue, 13 Aug 2024 21:45:00 +0800 Subject: [PATCH 322/359] =?UTF-8?q?cherry=20pick=205f81cf1=20from=20https:?= =?UTF-8?q?//gitee.com/lusunqi/interface=5Fsdk=5Fc/pulls/1183=20image=5Fef?= =?UTF-8?q?fect=20ndk=E6=8E=A5=E5=8F=A3=E6=8E=92=E6=9F=A5=E6=95=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lusunqi --- multimedia/image_effect/image_effect_filter.h | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/multimedia/image_effect/image_effect_filter.h b/multimedia/image_effect/image_effect_filter.h index 8c616e60a..d42de85d7 100644 --- a/multimedia/image_effect/image_effect_filter.h +++ b/multimedia/image_effect/image_effect_filter.h @@ -36,6 +36,7 @@ #ifndef NATIVE_IMAGE_EFFECT_FILTER_H #define NATIVE_IMAGE_EFFECT_FILTER_H +#include #include #include "image_effect_errors.h" #include "multimedia/image_framework/image/pixelmap_native.h" @@ -147,6 +148,7 @@ typedef union ImageEffect_DataValue { void *ptrValue; } ImageEffect_DataValue; +#ifdef __cplusplus /** * @brief Data parameter struct information * @@ -159,6 +161,20 @@ typedef struct ImageEffect_Any { /** Effect any data value */ ImageEffect_DataValue dataValue = { 0 }; } ImageEffect_Any; +#else +/** + * @brief Data parameter struct information + * + * @syscap SystemCapability.Multimedia.ImageEffect.Core + * @since 12 + */ +typedef struct ImageEffect_Any { + /** Effect any data type */ + ImageEffect_DataType dataType; + /** Effect any data value */ + ImageEffect_DataValue dataValue; +} ImageEffect_Any; +#endif /** * @brief Enumerates the pixel format type @@ -315,6 +331,7 @@ ImageEffect_ErrorCode OH_EffectFilterInfo_GetSupportedFormats(OH_EffectFilterInf */ ImageEffect_ErrorCode OH_EffectFilterInfo_Release(OH_EffectFilterInfo *info); +#ifdef __cplusplus /** * @brief EffectFilter names information * @@ -327,6 +344,20 @@ typedef struct ImageEffect_FilterNames { /** EffectFilter names memory block */ const char **nameList = nullptr; } ImageEffect_FilterNames; +#else +/** + * @brief EffectFilter names information + * + * @syscap SystemCapability.Multimedia.ImageEffect.Core + * @since 12 + */ +typedef struct ImageEffect_FilterNames { + /** EffectFilter names array size */ + uint32_t size; + /** EffectFilter names memory block */ + const char **nameList; +} ImageEffect_FilterNames; +#endif /** * @brief Define the new type name OH_EffectBufferInfo for struct OH_EffectBufferInfo -- Gitee From 5b7d2123f3509b050abfc468d5321d9ed02b7a08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=AB=A0=E8=B6=85123?= Date: Wed, 23 Oct 2024 10:38:57 +0000 Subject: [PATCH 323/359] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E5=88=87=E6=8D=A2?= =?UTF-8?q?=E9=95=9C=E5=A4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 章超123 --- multimedia/camera_framework/camera.h | 1 - 1 file changed, 1 deletion(-) diff --git a/multimedia/camera_framework/camera.h b/multimedia/camera_framework/camera.h index 03f0421c8..1a907e0f7 100644 --- a/multimedia/camera_framework/camera.h +++ b/multimedia/camera_framework/camera.h @@ -1002,7 +1002,6 @@ typedef enum Camera_FoldStatus { * @since 13 * @version 1.0 */ - typedef struct Camera_FoldStatusInfo { /** * Camera instance list. -- Gitee From e7a2d4d7ad29eb7c5413dfafd4b1f7c0920ff884 Mon Sep 17 00:00:00 2001 From: xiaye Date: Fri, 25 Oct 2024 06:54:52 +0800 Subject: [PATCH 324/359] =?UTF-8?q?=E6=B7=BB=E5=8A=A0interface=5Fsdk=5Fc?= =?UTF-8?q?=20getLastJavascriptProxyCallingFrameUrl=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaye --- web/webview/interfaces/native/arkweb_type.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/web/webview/interfaces/native/arkweb_type.h b/web/webview/interfaces/native/arkweb_type.h index d626371eb..37c8ca978 100644 --- a/web/webview/interfaces/native/arkweb_type.h +++ b/web/webview/interfaces/native/arkweb_type.h @@ -214,6 +214,15 @@ typedef struct { */ ArkWeb_ErrorCode (*postWebMessage)( const char* webTag, const char* name, ArkWeb_WebMessagePortPtr* webMessagePorts, size_t size, const char* url); + /** + * @brief Get the url of the last frame that calls the JavaScriptProxy. + * This should be call on the thread which JavaScriptProxy called. + * + * @param webTag The name of the web component. + * @return The url of the last frame that calls the JavaScriptProxy. + * @since 14 + */ + const char* (*getLastJavascriptProxyCallingFrameUrl)(); } ArkWeb_ControllerAPI; /** @@ -417,4 +426,4 @@ typedef struct { #ifdef __cplusplus } #endif -#endif // ARKWEB_TYPE_H \ No newline at end of file +#endif // ARKWEB_TYPE_H -- Gitee From 3228b541e3e17c2110592f9b2b1b2a23d3698c68 Mon Sep 17 00:00:00 2001 From: zyx0121 Date: Fri, 25 Oct 2024 14:19:18 +0800 Subject: [PATCH 325/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=B1=9E=E6=80=A7?= =?UTF-8?q?=E5=AD=97=E7=AC=A6=E4=B8=B2=E5=BA=8F=E5=88=97=E5=8C=96=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=9A=84=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zyx0121 --- arkui/ace_engine/native/styled_string.h | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/arkui/ace_engine/native/styled_string.h b/arkui/ace_engine/native/styled_string.h index 49b4d39d3..b3f2db163 100644 --- a/arkui/ace_engine/native/styled_string.h +++ b/arkui/ace_engine/native/styled_string.h @@ -120,29 +120,30 @@ OH_Drawing_Typography* OH_ArkUI_StyledString_CreateTypography(ArkUI_StyledString void OH_ArkUI_StyledString_AddPlaceholder(ArkUI_StyledString* handle, OH_Drawing_PlaceholderSpan* placeholder); /** - * @brief Create a ArkUI_StyledString_Descriptor object. + * @brief Creates an ArkUI_StyledString_Descriptor object. * - * @return Pointer to the ArkUI_StyledString_Descriptor object.。 + * @return Returns the pointer to the ArkUI_StyledString_Descriptor object created. * @since 14 */ -ArkUI_StyledString_Descriptor* OH_ArkUI_StyledString_Descriptor_Create(); +ArkUI_StyledString_Descriptor* OH_ArkUI_StyledString_Descriptor_Create(void); /** - * @brief Release the memory occupied by the ArkUI_StyledString_Descriptor object. + * @brief Destroys an ArkUI_StyledString_Descriptor object and reclaims the memory occupied by the object. * - * @param str Pointer to the ArkUI_StyledString_Descriptor object. + * @param descriptor Pointer to an ArkUI_StyledString_Descriptor object. * @since 14 */ -void OH_ArkUI_StyledString_Descriptor_Destroy(ArkUI_StyledString_Descriptor* str); +void OH_ArkUI_StyledString_Descriptor_Destroy(ArkUI_StyledString_Descriptor* descriptor); /** - * @brief Convert the styled string into html. + * @brief Converts styled string information into HTML. * - * @param str Pointer to the ArkUI_StyledString_Descriptor object. - * @return The converted html. + * @param descriptor Pointer to an ArkUI_StyledString_Descriptor object. + * @return Returns the pointer to the resulting HTML string. This pointer is managed internally and should be destroyed + * by calling OH_ArkUI_StyledString_Descriptor_Destroy() when no longer needed to free the memory. * @since 14 */ -const char* OH_ArkUI_ConvertToHtml(ArkUI_StyledString_Descriptor* str); +const char* OH_ArkUI_ConvertToHtml(ArkUI_StyledString_Descriptor* descriptor); /** * @brief Deserializes a byte array containing styled string information into a styled string. -- Gitee From c9b701de19e600cb53aa44702684251e7b796a1b Mon Sep 17 00:00:00 2001 From: xiaye Date: Fri, 25 Oct 2024 17:37:23 +0800 Subject: [PATCH 326/359] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaye --- web/webview/interfaces/native/arkweb_type.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/web/webview/interfaces/native/arkweb_type.h b/web/webview/interfaces/native/arkweb_type.h index 37c8ca978..d078b46fc 100644 --- a/web/webview/interfaces/native/arkweb_type.h +++ b/web/webview/interfaces/native/arkweb_type.h @@ -214,11 +214,11 @@ typedef struct { */ ArkWeb_ErrorCode (*postWebMessage)( const char* webTag, const char* name, ArkWeb_WebMessagePortPtr* webMessagePorts, size_t size, const char* url); + /** * @brief Get the url of the last frame that calls the JavaScriptProxy. * This should be call on the thread which JavaScriptProxy called. * - * @param webTag The name of the web component. * @return The url of the last frame that calls the JavaScriptProxy. * @since 14 */ @@ -427,3 +427,4 @@ typedef struct { } #endif #endif // ARKWEB_TYPE_H + -- Gitee From b6e499e0c19cf2d4f18557c27c67f2964312b820 Mon Sep 17 00:00:00 2001 From: xiaye Date: Fri, 25 Oct 2024 17:48:07 +0800 Subject: [PATCH 327/359] =?UTF-8?q?=E5=88=A0=E9=99=A4=E7=A9=BA=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaye --- web/webview/interfaces/native/arkweb_type.h | 1 - 1 file changed, 1 deletion(-) diff --git a/web/webview/interfaces/native/arkweb_type.h b/web/webview/interfaces/native/arkweb_type.h index d078b46fc..f5e79c287 100644 --- a/web/webview/interfaces/native/arkweb_type.h +++ b/web/webview/interfaces/native/arkweb_type.h @@ -427,4 +427,3 @@ typedef struct { } #endif #endif // ARKWEB_TYPE_H - -- Gitee From dee2145ac1992294d1a9b65b9cb86b1fdfd31503 Mon Sep 17 00:00:00 2001 From: xiaye Date: Fri, 25 Oct 2024 18:02:03 +0800 Subject: [PATCH 328/359] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaye --- web/webview/interfaces/native/arkweb_type.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/web/webview/interfaces/native/arkweb_type.h b/web/webview/interfaces/native/arkweb_type.h index f5e79c287..f449d8e65 100644 --- a/web/webview/interfaces/native/arkweb_type.h +++ b/web/webview/interfaces/native/arkweb_type.h @@ -214,7 +214,7 @@ typedef struct { */ ArkWeb_ErrorCode (*postWebMessage)( const char* webTag, const char* name, ArkWeb_WebMessagePortPtr* webMessagePorts, size_t size, const char* url); - + /** * @brief Get the url of the last frame that calls the JavaScriptProxy. * This should be call on the thread which JavaScriptProxy called. -- Gitee From 9ed5284c8c18e98914c2945dfbfbeb00ddcc5677 Mon Sep 17 00:00:00 2001 From: xiaye Date: Fri, 25 Oct 2024 18:48:39 +0800 Subject: [PATCH 329/359] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaye --- web/webview/interfaces/native/arkweb_type.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/web/webview/interfaces/native/arkweb_type.h b/web/webview/interfaces/native/arkweb_type.h index f449d8e65..3fa63b91b 100644 --- a/web/webview/interfaces/native/arkweb_type.h +++ b/web/webview/interfaces/native/arkweb_type.h @@ -214,7 +214,6 @@ typedef struct { */ ArkWeb_ErrorCode (*postWebMessage)( const char* webTag, const char* name, ArkWeb_WebMessagePortPtr* webMessagePorts, size_t size, const char* url); - /** * @brief Get the url of the last frame that calls the JavaScriptProxy. * This should be call on the thread which JavaScriptProxy called. @@ -426,4 +425,4 @@ typedef struct { #ifdef __cplusplus } #endif -#endif // ARKWEB_TYPE_H +#endif // ARKWEB_TYPE_H \ No newline at end of file -- Gitee From 7943840d485b935c2c2d392297e684ce0ed6bff3 Mon Sep 17 00:00:00 2001 From: liuchungang Date: Sat, 26 Oct 2024 15:47:17 +0800 Subject: [PATCH 330/359] add kit name Signed-off-by: liuchungang --- resourceschedule/qos_manager/c/qos.h | 1 + 1 file changed, 1 insertion(+) diff --git a/resourceschedule/qos_manager/c/qos.h b/resourceschedule/qos_manager/c/qos.h index b264a23d9..e7bd4183a 100644 --- a/resourceschedule/qos_manager/c/qos.h +++ b/resourceschedule/qos_manager/c/qos.h @@ -35,6 +35,7 @@ * schedule the time and running order of tasks according to the QoS set by the tasks. * * @library libqos.so + * @kit KernelEnhanceKit * @syscap SystemCapability.Resourceschedule.QoS.Core * @since 12 */ -- Gitee From acc773ff51cc46f8fd31a9776e01672c8a4a62f9 Mon Sep 17 00:00:00 2001 From: sd_wu Date: Tue, 15 Oct 2024 15:00:38 +0800 Subject: [PATCH 331/359] add key callback with ret Signed-off-by: sd_wu --- arkui/ace_engine/native/libace.ndk.json | 4 ++++ .../native/native_interface_xcomponent.h | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index dbae1db8b..38a5c545b 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -2374,5 +2374,9 @@ { "first_introduced": "14", "name": "OH_ArkUI_ConvertToHtml" + }, + { + "first_introduced": "14", + "name": "OH_NativeXComponent_RegisterKeyEventCallbackWithResult" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/native_interface_xcomponent.h b/arkui/ace_engine/native/native_interface_xcomponent.h index 1e427d91e..301d2a6b9 100644 --- a/arkui/ace_engine/native/native_interface_xcomponent.h +++ b/arkui/ace_engine/native/native_interface_xcomponent.h @@ -830,6 +830,20 @@ OH_NativeXComponent* OH_NativeXComponent_GetNativeXComponent(ArkUI_NodeHandle no int32_t OH_NativeXComponent_GetNativeAccessibilityProvider( OH_NativeXComponent* component, ArkUI_AccessibilityProvider** handle); +/** + * @brief Registers a callback for this OH_NativeXComponent instance. + * + * @param component Indicates the pointer to this OH_NativeXComponent instance. + * @param callback Indicates the pointer to a key event callback with result. + * @return Returns the status code of the execution. + * {@link OH_NATIVEXCOMPONENT_RESULT_SUCCESS} the callback function is successfully registered.\n + * {@link OH_NATIVEXCOMPONENT_RESULT_BAD_PARAMETER} component is nullptr or callback is nullptr.\n + * @since 14 + * @version 1.0 + */ +int32_t OH_NativeXComponent_RegisterKeyEventCallbackWithResult( + OH_NativeXComponent* component, bool (*callback)(OH_NativeXComponent* component, void* window)); + #ifdef __cplusplus }; #endif -- Gitee From 7f076e20db4573af381f752c320a2f4cd0b0f058 Mon Sep 17 00:00:00 2001 From: xiaye Date: Tue, 29 Oct 2024 10:56:25 +0800 Subject: [PATCH 332/359] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=A9=BA=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xiaye --- web/webview/interfaces/native/arkweb_type.h | 1 + 1 file changed, 1 insertion(+) diff --git a/web/webview/interfaces/native/arkweb_type.h b/web/webview/interfaces/native/arkweb_type.h index 3fa63b91b..449897312 100644 --- a/web/webview/interfaces/native/arkweb_type.h +++ b/web/webview/interfaces/native/arkweb_type.h @@ -214,6 +214,7 @@ typedef struct { */ ArkWeb_ErrorCode (*postWebMessage)( const char* webTag, const char* name, ArkWeb_WebMessagePortPtr* webMessagePorts, size_t size, const char* url); + /** * @brief Get the url of the last frame that calls the JavaScriptProxy. * This should be call on the thread which JavaScriptProxy called. -- Gitee From 55d94d87ef1f204f23c68b4f1f88dca9c23e01c2 Mon Sep 17 00:00:00 2001 From: liumingyue Date: Fri, 18 Oct 2024 16:09:21 +0800 Subject: [PATCH 333/359] add OH_NativeBundle_GetCompatibleDeviceType Signed-off-by: liumingyue --- .../bundle/include/native_interface_bundle.h | 14 ++++++++++++++ .../bundle_framework/bundle/libbundle.ndk.json | 4 ++++ 2 files changed, 18 insertions(+) diff --git a/bundlemanager/bundle_framework/bundle/include/native_interface_bundle.h b/bundlemanager/bundle_framework/bundle/include/native_interface_bundle.h index 2cc076408..04bb5d331 100644 --- a/bundlemanager/bundle_framework/bundle/include/native_interface_bundle.h +++ b/bundlemanager/bundle_framework/bundle/include/native_interface_bundle.h @@ -145,6 +145,20 @@ char* OH_NativeBundle_GetAppIdentifier(); * @since 13 */ OH_NativeBundle_ElementName OH_NativeBundle_GetMainElementName(); + +/** + * @brief Obtains the compatible device type of the current application. + * After utilizing this interface, to prevent memory leaks, + * it is necessary to manually release the pointer returned by the interface. + * + * @return Returns the newly created string that indicates the compatible device type, + * if the returned object is NULL, it indicates creation failure. + * The possible cause of failure could be that the application address space is full, + * leading to space allocation failure. + * @since 14 + * @version 1.0 + */ +char* OH_NativeBundle_GetCompatibleDeviceType(); #ifdef __cplusplus }; #endif diff --git a/bundlemanager/bundle_framework/bundle/libbundle.ndk.json b/bundlemanager/bundle_framework/bundle/libbundle.ndk.json index a9db17ede..f61863508 100644 --- a/bundlemanager/bundle_framework/bundle/libbundle.ndk.json +++ b/bundlemanager/bundle_framework/bundle/libbundle.ndk.json @@ -14,5 +14,9 @@ { "first_introduced": "13", "name": "OH_NativeBundle_GetMainElementName" + }, + { + "first_introduced": "14", + "name": "OH_NativeBundle_GetCompatibleDeviceType" } ] -- Gitee From b479fd442812f2aaebe78fb4bd23f6d65d67fbe0 Mon Sep 17 00:00:00 2001 From: xxb-wzy Date: Thu, 31 Oct 2024 17:06:45 +0800 Subject: [PATCH 334/359] Signed-off-by: xxb-wzy Change-Id: I237236331668aa6f3304bce91b9eb59750710b4f --- graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json b/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json index 7c0511407..28ff64c27 100644 --- a/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json +++ b/graphic/graphic_2d/native_vsync/libnative_vsync.ndk.json @@ -4,5 +4,8 @@ { "name": "OH_NativeVSync_RequestFrame" }, { "name": "OH_NativeVSync_RequestFrameWithMultiCallback" }, { "name": "OH_NativeVSync_GetPeriod" }, - { "name": "OH_NativeVSync_DVSyncSwitch" } + { + "first_introduced": "14", + "name": "OH_NativeVSync_DVSyncSwitch" + } ] \ No newline at end of file -- Gitee From 74c8fe98637ec2f5cbfd613805d2df564c3bd15d Mon Sep 17 00:00:00 2001 From: yuhaoqiang Date: Fri, 1 Nov 2024 09:58:36 +0800 Subject: [PATCH 335/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9api=E7=AD=89=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yuhaoqiang --- hiviewdfx/hidebug/include/hidebug/hidebug.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hiviewdfx/hidebug/include/hidebug/hidebug.h b/hiviewdfx/hidebug/include/hidebug/hidebug.h index cd9eaa828..7f234b359 100644 --- a/hiviewdfx/hidebug/include/hidebug/hidebug.h +++ b/hiviewdfx/hidebug/include/hidebug/hidebug.h @@ -146,7 +146,7 @@ HiDebug_ErrorCode OH_HiDebug_StopAppTraceCapture(); * {@link HIDEBUG_SUCCESS} Get graphics memory success. * {@link HIDEBUG_INVALID_ARGUMENT} Invalid argument,value is null. * {@link HIDEBUG_TRACE_ABNORMAL} Failed to get the application memory due to a remote exception. - * @since 13 + * @since 14 */ HiDebug_ErrorCode OH_HiDebug_GetGraphicsMemory(uint32_t *value); -- Gitee From d93a226ebe110d789550729f966133c8dd70b3cf Mon Sep 17 00:00:00 2001 From: j00466033 Date: Mon, 28 Oct 2024 19:42:28 +0800 Subject: [PATCH 336/359] JD ndk jsb Signed-off-by: j00466033 --- .../interfaces/native/arkweb_interface.h | 6 + web/webview/interfaces/native/arkweb_type.h | 114 +++++++++++++++++- 2 files changed, 119 insertions(+), 1 deletion(-) diff --git a/web/webview/interfaces/native/arkweb_interface.h b/web/webview/interfaces/native/arkweb_interface.h index b610729ed..f204dab32 100644 --- a/web/webview/interfaces/native/arkweb_interface.h +++ b/web/webview/interfaces/native/arkweb_interface.h @@ -65,6 +65,12 @@ typedef enum { ARKWEB_NATIVE_WEB_MESSAGE, /** API type related to ArkWeb cookie manager. */ ARKWEB_NATIVE_COOKIE_MANAGER, + /** + * @brief API type related to ArkWeb JavaScript value. + * + * @since 14 + */ + ARKWEB_NATIVE_JAVASCRIPT_VALUE, } ArkWeb_NativeAPIVariantKind; /* diff --git a/web/webview/interfaces/native/arkweb_type.h b/web/webview/interfaces/native/arkweb_type.h index 449897312..e6738810a 100644 --- a/web/webview/interfaces/native/arkweb_type.h +++ b/web/webview/interfaces/native/arkweb_type.h @@ -68,6 +68,20 @@ typedef enum ArkWeb_WebMessageType { ARKWEB_BUFFER } ArkWeb_WebMessageType; +/** + * @brief Defines the data type carried in a ArkWeb_JavaScriptValue. + * + * @since 14 + */ +typedef enum ArkWeb_JavaScriptValueType { + /** Represent error data */ + ARKWEB_JAVASCRIPT_NONE = 0, + /** The data carried in the ArkWeb_JavaScriptValue is string. */ + ARKWEB_JAVASCRIPT_STRING, + /** The data carried in the ArkWeb_JavaScriptValue is bool. */ + ARKWEB_JAVASCRIPT_BOOL +} ArkWeb_JavaScriptValueType; + /** * @brief Defines the ArkWeb_WebMessage. * @@ -75,6 +89,13 @@ typedef enum ArkWeb_WebMessageType { */ typedef struct ArkWeb_WebMessage* ArkWeb_WebMessagePtr; +/** + * @brief Defines the ArkWeb_JavaScriptValuePtr. + * + * @since 14 + */ +typedef struct ArkWeb_JavaScriptValue* ArkWeb_JavaScriptValuePtr; + /** * @brief Defines the javascript callback of the native ArkWeb. * @@ -91,6 +112,19 @@ typedef void (*ArkWeb_OnJavaScriptCallback)( typedef void (*ArkWeb_OnJavaScriptProxyCallback)( const char* webTag, const ArkWeb_JavaScriptBridgeData* dataArray, size_t arraySize, void* userData); +/** + * @brief Defines the JavaScript proxy callback of the native ArkWeb. + * + * @param webTag The name of the web component. + * @param dataArray The JavaScript bridge data array from HTML. + * @param arraySize The number of elements in the array. + * @param userData The data set by user. + * + * @since 14 + */ +typedef ArkWeb_JavaScriptValuePtr (*ArkWeb_OnJavaScriptProxyCallbackWithResult)( + const char* webTag, const ArkWeb_JavaScriptBridgeData* dataArray, size_t arraySize, void* userData); + /** * @brief Defines the component callback of the native ArkWeb. * @@ -148,6 +182,20 @@ typedef struct { void* userData; } ArkWeb_ProxyMethod; +/** + * @brief Defines the JavaScript proxy method with a return value. + * + * @since 14 + */ +typedef struct { + /** The method of the application side JavaScript object participating in the registration. */ + const char* methodName; + /** The callback function with a return value registered by developer is called back when HTML side uses. */ + ArkWeb_OnJavaScriptProxyCallbackWithResult callback; + /** The user data to set. */ + void* userData; +} ArkWeb_ProxyMethodWithResult; + /** * @brief Defines the javascript proxy registered object. * @@ -162,6 +210,20 @@ typedef struct { size_t size; } ArkWeb_ProxyObject; +/** + * @brief Defines the JavaScript proxy registered object with methodList that has a return value. + * + * @since 14 + */ +typedef struct { + /** The name of the registered object. */ + const char* objName; + /** The JavaScript proxy registered method object list with a callback function that has a return value */ + const ArkWeb_ProxyMethodWithResult* methodList; + /** The size of the methodList. */ + size_t size; +} ArkWeb_ProxyObjectWithResult; + /** * @brief Defines the controller API for native ArkWeb. * Before invoking an API, you are advised to use ARKWEB_MEMBER_MISSING to check @@ -223,6 +285,32 @@ typedef struct { * @since 14 */ const char* (*getLastJavascriptProxyCallingFrameUrl)(); + + /** + * @brief Register the JavaScript object and method list, the method is callback function that has a return value. + * + * @param webTag The name of the web component. + * @param proxyObject The JavaScript object to register, the object has callback functions with return value. + * @param permission The JSON string, which defaults to null, is used to configure the permission control for + * JSBridge, allowing for the definition of URL whitelists at the object and method levels. + * + * @since 14 + */ + void (*registerJavaScriptProxyEx)(const char* webTag, const ArkWeb_ProxyObjectWithResult* proxyObject, + const char* permission); + + /** + * @brief Register the JavaScript object and async method list. + * + * @param webTag The name of the web component. + * @param proxyObject The JavaScript object to register. + * @param permission The JSON string, which defaults to null, is used to configure the permission control + * for JSBridge, allowing for the definition of URL whitelists at the object and method levels. + * + * @since 14 + */ + void (*registerAsyncJavaScriptProxyEx)(const char* webTag, const ArkWeb_ProxyObject* proxyObject, + const char* permission); } ArkWeb_ControllerAPI; /** @@ -353,7 +441,7 @@ typedef struct { typedef struct { /** The ArkWeb_CookieManagerAPI struct size. */ size_t size; - + /** * @brief Obtains the cookie value corresponding to a specified URL. * @@ -408,6 +496,30 @@ typedef struct { void (*clearSessionCookiesSync)(); } ArkWeb_CookieManagerAPI; +/** + * @brief Defines the native JavaScriptValue API for ArkWeb. + * Before invoking an API, you are advised to use ARKWEB_MEMBER_MISSING to check + * whether the function structure has a corresponding function pointer to avoid crash + * caused by mismatch between the SDK and the device ROM. + * + * @since 14 + */ +typedef struct { + /** The ArkWeb_JavaScriptValueAPI struct size. */ + size_t size; + + /** + * @brief Create the JavaScript value responding to HTML. + * + * @param type The type of ArkWeb_JavaScriptValue. + * @param data The data buffer of ArkWeb_JavaScriptValue. + * @param dataLength The length of data buffer. + * @return ArkWeb_JavaScriptValuePtr created by ArkWeb, the memory of ArkWeb_JavaScriptValue + * is managed by ArkWeb itself. + */ + ArkWeb_JavaScriptValuePtr (*createJavaScriptValue)(ArkWeb_JavaScriptValueType type, void* data, size_t dataLength); +} ArkWeb_JavaScriptValueAPI; + /** * @brief Check whether the member variables of the current struct exist. * -- Gitee From 7d421a0aa5687bad8995075bcb12d2b9fa36fdcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BF=9E=E8=B6=85=E9=BA=92?= Date: Fri, 1 Nov 2024 11:42:06 +0800 Subject: [PATCH 337/359] add kit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 俞超麒 --- .../native_color_space_manager/native_color_space_manager.h | 1 + 1 file changed, 1 insertion(+) diff --git a/graphic/graphic_2d/native_color_space_manager/native_color_space_manager.h b/graphic/graphic_2d/native_color_space_manager/native_color_space_manager.h index e4634b474..a2528fcb9 100644 --- a/graphic/graphic_2d/native_color_space_manager/native_color_space_manager.h +++ b/graphic/graphic_2d/native_color_space_manager/native_color_space_manager.h @@ -29,6 +29,7 @@ * * @brief Defines the functions for obtaining and using a native colorSpaceManager. * + * @kit ArkGraphics2D * @library libnative_color_space_manager.so * @syscap SystemCapability.Graphic.Graphic2D.ColorManager.Core * @since 13 -- Gitee From e8c8289f312c59f46efa8b6c438060683990b4d9 Mon Sep 17 00:00:00 2001 From: lihui Date: Sat, 2 Nov 2024 15:07:53 +0800 Subject: [PATCH 338/359] =?UTF-8?q?pts=20api=20=E5=9B=9E=E9=80=8013?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: lihui --- graphic/graphic_2d/native_window/external_window.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/graphic/graphic_2d/native_window/external_window.h b/graphic/graphic_2d/native_window/external_window.h index f2b57576e..47a407ff0 100644 --- a/graphic/graphic_2d/native_window/external_window.h +++ b/graphic/graphic_2d/native_window/external_window.h @@ -163,15 +163,17 @@ typedef enum NativeWindowOperation { */ GET_SWAP_INTERVAL, /** - * set native window buffer timeout, + * set the timeout in milliseconds when the native window requests a buffer, + * the default value is 3000 milliseconds when not set, * variable parameter in function is - * [in] int32_t timeout. + * [in] int32_t timeout, in milliseconds. */ SET_TIMEOUT, /** - * get native window buffer timeout, + * get the timeout in milliseconds when the native window requests a buffer, + * the default value is 3000 milliseconds when not set, * variable parameter in function is - * [out] int32_t *timeout. + * [out] int32_t *timeout, in milliseconds. */ GET_TIMEOUT, /** @@ -264,7 +266,7 @@ typedef enum NativeWindowOperation { * the desiredPresentTimestamp will be ignored.\n * Variable parameter in function is * [in] int64_t desiredPresentTimestamp. - * @since 14 + * @since 13 */ SET_DESIRED_PRESENT_TIMESTAMP = 24, } NativeWindowOperation; -- Gitee From 8e664635f31976568137e514bb2ae6345a0f3b87 Mon Sep 17 00:00:00 2001 From: Gavin Date: Fri, 1 Nov 2024 17:38:26 +0800 Subject: [PATCH 339/359] feature: pasteboard add interface getMimeTypes Signed-off-by: Gavin --- .../pasteboard/include/oh_pasteboard.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/distributeddatamgr/pasteboard/include/oh_pasteboard.h b/distributeddatamgr/pasteboard/include/oh_pasteboard.h index 6ac4336a2..15d489623 100644 --- a/distributeddatamgr/pasteboard/include/oh_pasteboard.h +++ b/distributeddatamgr/pasteboard/include/oh_pasteboard.h @@ -267,6 +267,18 @@ int OH_Pasteboard_SetData(OH_Pasteboard* pasteboard, OH_UdmfData* data); * @since 13 */ int OH_Pasteboard_ClearData(OH_Pasteboard* pasteboard); + +/** + * @brief Obtains all MIME types of Pasteboard data. + * + * @param pasteboard Pointer to the {@link OH_Pasteboard} instance. + * @param count Poniter to the count of MIME types. + * @return Returns char array of MIME types in the Pasteboard. + * Returns nullptr if the operation is failed. + * @see OH_Pasteboard. + * @since 14 + */ +char **OH_Pasteboard_GetMimeTypes(OH_Pasteboard *pasteboard, unsigned int *count); #ifdef __cplusplus }; #endif -- Gitee From 4b7a102b3ca7218efbbf7923b48326ee7862809e Mon Sep 17 00:00:00 2001 From: huangji731 Date: Sat, 2 Nov 2024 17:03:23 +0800 Subject: [PATCH 340/359] https://gitee.com/openharmony/interface_sdk_c/issues/IB053U Signed-off-by: huangji731 --- arkui/display_manager/BUILD.gn | 2 + arkui/display_manager/libdm.ndk.json | 24 ++++ arkui/display_manager/oh_display_capture.h | 69 ++++++++++ arkui/display_manager/oh_display_info.h | 145 +++++++++++++++++++++ arkui/display_manager/oh_display_manager.h | 58 +++++++++ 5 files changed, 298 insertions(+) create mode 100644 arkui/display_manager/oh_display_capture.h diff --git a/arkui/display_manager/BUILD.gn b/arkui/display_manager/BUILD.gn index bfdc284ac..ba052e0a3 100644 --- a/arkui/display_manager/BUILD.gn +++ b/arkui/display_manager/BUILD.gn @@ -17,6 +17,7 @@ import("//build/ohos/ndk/ndk.gni") ohos_ndk_headers("display_manager_header") { dest_dir = "$ndk_headers_out_dir/window_manager" sources = [ + "oh_display_capture.h", "oh_display_info.h", "oh_display_manager.h", ] @@ -28,6 +29,7 @@ ohos_ndk_library("native_display_manager") { ndk_description_file = "./libdm.ndk.json" system_capability = "SystemCapability.Window.SessionManager" system_capability_headers = [ + "oh_display_capture.h", "oh_display_info.h", "oh_display_manager.h", ] diff --git a/arkui/display_manager/libdm.ndk.json b/arkui/display_manager/libdm.ndk.json index 5efd53561..c86ff6a93 100644 --- a/arkui/display_manager/libdm.ndk.json +++ b/arkui/display_manager/libdm.ndk.json @@ -78,5 +78,29 @@ { "first_instroduced":"12", "name":"OH_NativeDisplayManager_UnregisterDisplayChangeListener" + }, + { + "first_instroduced":"14", + "name":"OH_NativeDisplayManager_CreatePrimaryDisplay" + }, + { + "first_instroduced":"14", + "name":"OH_NativeDisplayManager_CreateDisplayById" + }, + { + "first_instroduced":"14", + "name":"OH_NativeDisplayManager_DestroyDisplay" + }, + { + "first_instroduced":"14", + "name":"OH_NativeDisplayManager_CreateAllDisplays" + }, + { + "first_instroduced":"14", + "name":"OH_NativeDisplayManager_DestroyAllDisplays" + }, + { + "first_instroduced":"14", + "name":"OH_NativeDisplayManager_CaptureScreenPixelmap" } ] \ No newline at end of file diff --git a/arkui/display_manager/oh_display_capture.h b/arkui/display_manager/oh_display_capture.h new file mode 100644 index 000000000..a9fd997b1 --- /dev/null +++ b/arkui/display_manager/oh_display_capture.h @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2024 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 OH_DisplayCapture + * @{ + * + * @brief Defines the data structures for the C APIs of the display module. + * + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 14 + * @version 1.0 + */ + +/** + * @file oh_display_capture.h + * + * @brief Defines the data structures for the C APIs of the display capture. + * + * @kit ArkUI + * @library libnative_display_manager.so + * @syscap SystemCapability.WindowManager.WindowManager.Core + * @since 14 + * @version 1.0 + */ + +#ifndef OH_NATIVE_DISPLAY_CAPTURE_H +#define OH_NATIVE_DISPLAY_CAPTURE_H + +#include "multimedia/image_framework/image/pixelmap_native.h" +#include "oh_display_info.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Capture a screen pixelmap of the specified display. + * + * @param displayId The ID of the display to be captured. + * @param pixelMap The output pixel map of the captured display. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful. + * { @link DISPLAY_MANAGER_ERROR_NO_PERMISSION } If no permission. + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_DEVICE_NOT_SUPPORTED } If device not support. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.Window.SessionManager.Core + * @since 14 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_CaptureScreenPixelmap(uint32_t displayId, + OH_PixelmapNative **pixelMap); + +#ifdef __cplusplus +} +#endif +/** @} */ +#endif // OH_NATIVE_DISPLAY_CAPTURE_H diff --git a/arkui/display_manager/oh_display_info.h b/arkui/display_manager/oh_display_info.h index 3b6175884..2a4bda3fb 100644 --- a/arkui/display_manager/oh_display_info.h +++ b/arkui/display_manager/oh_display_info.h @@ -45,6 +45,12 @@ extern "C" { #endif +/** + * @brief display name length + * @since 14 + */ +#define OH_DISPLAY_NAME_LENGTH 32 + /** * @brief Enumerates rotations. * @@ -197,6 +203,145 @@ typedef struct { NativeDisplayManager_WaterfallDisplayAreaRects waterfallDisplayAreaRects; } NativeDisplayManager_CutoutInfo; +/** + * @brief Enumerates of the display state. + * + * @since 14 + * @version 1.0 + */ +typedef enum { + /** display state unknown */ + DISPLAY_MANAGER_DISPLAY_STATE_UNKNOWN = 0, + + /** display state off */ + DISPLAY_MANAGER_DISPLAY_STATE_OFF = 1, + + /** display state on */ + DISPLAY_MANAGER_DISPLAY_STATE_ON = 2, + + /** display state doze */ + DISPLAY_MANAGER_DISPLAY_STATE_DOZE = 3, + + /** display state doze suspend */ + DISPLAY_MANAGER_DISPLAY_STATE_DOZE_SUSPEND = 4, + + /** display state vr */ + DISPLAY_MANAGER_DISPLAY_STATE_VR = 5, + + /** display state on suspend */ + DISPLAY_MANAGER_DISPLAY_STATE_ON_SUSPEND = 6, +} NativeDisplayManager_DisplayState; + +/** + * @brief Defines the display hdr structure. + * + * @since 14 + * @version 1.0 + */ +typedef struct { + /** hdrFormat length */ + uint32_t hdrFormatLength; + + /** hdrFormat pointer */ + uint32_t *hdrFormats; +} NativeDisplayManager_DisplayHdrFormat; + +/** + * @brief Defines the display color space structure. + * + * @since 14 + * @version 1.0 + */ +typedef struct { + /** color space length */ + uint32_t colorSpaceLength; + + /** color space pointer */ + uint32_t *colorSpaces; +} NativeDisplayManager_DisplayColorSpace; + +/** + * @brief Defines the display structure. + * + * @since 14 + * @version 1.0 + */ +typedef struct { + /** display id */ + uint32_t id; + + /** display name */ + char name[OH_DISPLAY_NAME_LENGTH + 1]; + + /** display is alive */ + bool isAlive; + + /** display width */ + int32_t width; + + /** display height */ + int32_t height; + + /** display physical width */ + int32_t physicalWidth; + + /** display physical height */ + int32_t physicalHeight; + + /** display refresh rate */ + uint32_t refreshRate; + + /** display available width */ + uint32_t availableWidth; + + /** display available height */ + uint32_t availableHeight; + + /** display density dpi */ + float densityDPI; + + /** display density pixels */ + float densityPixels; + + /** display scale density */ + float scaledDensity; + + /** display xdpi*/ + float xDPI; + + /** display ydpi */ + float yDPI; + + /** display rotation */ + NativeDisplayManager_Rotation rotation; + + /** display state */ + NativeDisplayManager_DisplayState state; + + /** display orientation */ + NativeDisplayManager_Orientation orientation; + + /** display hdr format */ + NativeDisplayManager_DisplayHdrFormat *hdrFormat; + + /** display color space */ + NativeDisplayManager_DisplayColorSpace *colorSpace; +} NativeDisplayManager_DisplayInfo; + +/** + * @brief Defines the displays structure. + * + * @since 14 + * @version 1.0 + */ +typedef struct { + /** displays length */ + uint32_t displaysLength; + + /** displays pointer */ + NativeDisplayManager_DisplayInfo *displaysInfo; +} NativeDisplayManager_DisplaysInfo; + #ifdef __cplusplus } #endif diff --git a/arkui/display_manager/oh_display_manager.h b/arkui/display_manager/oh_display_manager.h index a3b9f3444..caf6480af 100644 --- a/arkui/display_manager/oh_display_manager.h +++ b/arkui/display_manager/oh_display_manager.h @@ -311,6 +311,64 @@ NativeDisplayManager_ErrorCode OH_NativeDisplayManager_RegisterFoldDisplayModeCh */ NativeDisplayManager_ErrorCode OH_NativeDisplayManager_UnregisterFoldDisplayModeChangeListener(uint32_t listenerIndex); +/** + * @brief Create all displays. + * + * @param allDisplays Output parameter for all displays information. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful. + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.Window.SessionManager.Core + * @since 14 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_CreateAllDisplays( + NativeDisplayManager_DisplaysInfo **allDisplays); + +/** + * @brief Destroy all displays. + * + * @param allDisplays all displays to be free. + * @syscap SystemCapability.Window.SessionManager.Core + * @since 14 + */ +void OH_NativeDisplayManager_DestroyAllDisplays(NativeDisplayManager_DisplaysInfo *allDisplays); + +/** + * @brief Create display information by display id. + * + * @param displayId The display id. + * @param displayInfo The pointer to the display information. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful. + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.Window.SessionManager.Core + * @since 14 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_CreateDisplayById(uint32_t displayId, + NativeDisplayManager_DisplayInfo **displayInfo); + +/** + * @brief Destroy the display information. + * + * @param displayInfo the target display to be free. + * @syscap SystemCapability.Window.SessionManager.Core + * @since 14 + */ +void OH_NativeDisplayManager_DestroyDisplay(NativeDisplayManager_DisplayInfo *displayInfo); + +/** + * @brief Create a primary display. + * + * @param displayInfo The information of the created display. + * @return { @link DISPLAY_MANAGER_OK } If the operation is successful. + * { @link DISPLAY_MANAGER_ERROR_INVALID_PARAM } If Parameter error. + * { @link DISPLAY_MANAGER_ERROR_SYSTEM_ABNORMAL } If display manager service works abnormally. + * @syscap SystemCapability.Window.SessionManager.Core + * @since 14 + */ +NativeDisplayManager_ErrorCode OH_NativeDisplayManager_CreatePrimaryDisplay( + NativeDisplayManager_DisplayInfo **displayInfo); + #ifdef __cplusplus } #endif -- Gitee From c4baca0f0dbf3fb4527b4d4be73c135f59c52663 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E6=9C=AA=E6=9D=A5?= Date: Mon, 4 Nov 2024 11:34:54 +0800 Subject: [PATCH 341/359] =?UTF-8?q?=E8=A1=A5=E5=85=85kit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 徐未来 --- BasicServicesKit/time_service.h | 1 + 1 file changed, 1 insertion(+) diff --git a/BasicServicesKit/time_service.h b/BasicServicesKit/time_service.h index c7194a406..b33159e86 100644 --- a/BasicServicesKit/time_service.h +++ b/BasicServicesKit/time_service.h @@ -28,6 +28,7 @@ * * @brief Declares the APIs for obtaining the time zone information. * @library libtime_service_ndk.so + * @kit BasicServicesKit * @syscap SystemCapability.MiscServices.Time * @since 12 */ -- Gitee From de0ab9ff601762b8f9951fed01cdda8626a72017 Mon Sep 17 00:00:00 2001 From: wangcaoyu Date: Mon, 4 Nov 2024 17:19:36 +0800 Subject: [PATCH 342/359] delete README.OpenSource in third_party Signed-off-by: wangcaoyu --- README.OpenSource | 83 -------------------- third_party/egl/README.OpenSource | 11 --- third_party/icu4c/README.OpenSource | 10 --- third_party/libuv/README.OpenSource | 11 --- third_party/mindspore/README.OpenSource | 11 --- third_party/musl/README.OpenSource | 11 --- third_party/node/README.OpenSource | 11 --- third_party/openGLES/README.OpenSource | 11 --- third_party/openSLES/README.OpenSource | 11 --- third_party/vulkan-headers/README.OpenSource | 11 --- third_party/zlib/README.OpenSource | 11 --- 11 files changed, 192 deletions(-) delete mode 100644 README.OpenSource delete mode 100644 third_party/egl/README.OpenSource delete mode 100644 third_party/icu4c/README.OpenSource delete mode 100644 third_party/libuv/README.OpenSource delete mode 100644 third_party/mindspore/README.OpenSource delete mode 100644 third_party/musl/README.OpenSource delete mode 100644 third_party/node/README.OpenSource delete mode 100644 third_party/openGLES/README.OpenSource delete mode 100644 third_party/openSLES/README.OpenSource delete mode 100644 third_party/vulkan-headers/README.OpenSource delete mode 100644 third_party/zlib/README.OpenSource diff --git a/README.OpenSource b/README.OpenSource deleted file mode 100644 index 0b04b76a8..000000000 --- a/README.OpenSource +++ /dev/null @@ -1,83 +0,0 @@ -[ - { - "Name" : "zlib", - "License" : "zlib/libpng License", - "License File" : "LICENSE", - "Version Number" : "v1.2.12", - "Owner" : "gongjunsong@huawei.com", - "Upstream URL" : "https://github.com/madler/zlib/archive/refs/tags/v1.2.12.tar.gz", - "Description" : "zlib 1.2.12 is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files" - }, - { - "Name": "libuv", - "License": "MIT License", - "License File": "LICENSE", - "Version Number": "v1.44.1", - "Owner": "sunbingxin@huawei.com", - "Upstream URL": "https://github.com/libuv/libuv", - "Description": "libuv is a multi-platform support library with a focus on asynchronous I/O." - }, - { - "Name": "MindSpore", - "License": "Apache License 2.0", - "License File": "LICENSE.txt", - "Version Number": "1.8.1", - "Owner": "zhuguodong0001@163.com", - "Upstream URL": "https://gitee.com/mindspore/mindspore/repository/archive/v1.8.1", - "Description": "MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios." - }, - { - "Name" : "musl", - "License" : "MIT License", - "License File" : "COPYRIGHT", - "Version Number" : "1.2.5", - "Owner" : "zhaoxinyuan9@huawei.com", - "Upstream URL" : "https://musl.libc.org", - "Description" : "musl is an MIT-licensed implementation of the standard C library" - }, - { - "Name": "node", - "License": "ISC License,Public Domain,MIT License,Free Software Foundation - MIT License,Apache License V2.0,ICU License,zlib/libpng License,BSD 2-Clause License,BSD 3-Clause License", - "License File": "LICENSE", - "Version Number": "14.21.2", - "Owner": "sunbingxin@huawei.com", - "Upstream URL": "http://www.nodejs.org/", - "Description": "Node.js is an open-source, cross-platform, JavaScript runtime environment. It executes JavaScript code outside of a browser." - }, - { - "Name": "Khronos Group - OpenSL ES", - "License": "null", - "License File": "NOTICE", - "Version Number": "1.0.1", - "Owner": "yangshuai67@huawei.com", - "Upstream URL": "https://github.com/KhronosGroup/OpenSL-ES-Registry.git", - "Description": "OpenSL ES™ is a royalty-free, cross-platform, hardware-accelerated audio API tuned for embedded systems." - }, - { - "Name": "EGL", - "License": "MIT License", - "License File": "LICENSE", - "Version Number": "1.5", - "Owner": "lizheng2@huawei.com", - "Upstream URL": "https://github.com/KhronosGroup/EGL-Registry.git", - "Description": "EGL is an interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system." - }, - { - "Name": "openGLES", - "License": "Apache-2.0", - "License File": "NOTICE", - "Version Number": "a301c9b4600e4074008b93fba17744a859fb763b", - "Owner": "lizheng2@huawei.com", - "Upstream URL": "https://github.com/KhronosGroup/OpenGL-Registry.git", - "Description": "The OpenGL ES registry contains specifications of the core API and shading language; specifications of Khronos- and vendor-approved OpenGL ES extensions; header files corresponding to the specificatio" - }, - { - "Name": "Vulkan", - "License": "Apache-2.0", - "License File": "LICENSE", - "Version Number": "v1.3.231", - "Owner": "mengzhaobing@huawei.com", - "Upstream URL": "https://github.com/KhronosGroup/Vulkan-Headers.git", - "Description": "Vulkan header files and API registry" - } -] diff --git a/third_party/egl/README.OpenSource b/third_party/egl/README.OpenSource deleted file mode 100644 index 4693a6581..000000000 --- a/third_party/egl/README.OpenSource +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "Name": "EGL", - "License": "MIT License", - "License File": "LICENSE", - "Version Number": "1.5", - "Owner": "lizheng2@huawei.com", - "Upstream URL": "https://github.com/KhronosGroup/EGL-Registry.git", - "Description": "EGL is an interface between Khronos rendering APIs such as OpenGL ES or OpenVG and the underlying native platform window system." - } -] diff --git a/third_party/icu4c/README.OpenSource b/third_party/icu4c/README.OpenSource deleted file mode 100644 index ec3f8592f..000000000 --- a/third_party/icu4c/README.OpenSource +++ /dev/null @@ -1,10 +0,0 @@ -[ - { - "Name": "International Components for Unicode", - "License": "ICU License, BSD 3-Clause License", - "License File": "LICENSE", - "Version Number": "72.1", - "Upstream URL": "https://github.com/unicode-org/icu/archive/release-72-1.tar.gz", - "Description": "ICU is a mature, widely used set of portable C/C++ and Java libraries for Unicode support, software internationalization and globalization (i18n/g11n). The packages are mirrors of the main website." - } -] diff --git a/third_party/libuv/README.OpenSource b/third_party/libuv/README.OpenSource deleted file mode 100644 index 5b25fcf7c..000000000 --- a/third_party/libuv/README.OpenSource +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "Name": "libuv", - "License": "MIT License", - "License File": "LICENSE", - "Version Number": "v1.48.0", - "Owner": "sunbingxin@huawei.com", - "Upstream URL": "https://github.com/libuv/libuv", - "Description": "libuv is a multi-platform support library with a focus on asynchronous I/O." - } -] diff --git a/third_party/mindspore/README.OpenSource b/third_party/mindspore/README.OpenSource deleted file mode 100644 index bd6c7775a..000000000 --- a/third_party/mindspore/README.OpenSource +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "Name": "MindSpore", - "License": "Apache License 2.0", - "License File": "LICENSE.txt", - "Version Number": "2.1.0", - "Owner": "chengfeng27@huawei.com", - "Upstream URL": "https://gitee.com/mindspore/mindspore/repository/archive/v2.1.0", - "Description": "MindSpore is a new open source deep learning training/inference framework that could be used for mobile, edge and cloud scenarios." - } -] diff --git a/third_party/musl/README.OpenSource b/third_party/musl/README.OpenSource deleted file mode 100644 index ed40042f9..000000000 --- a/third_party/musl/README.OpenSource +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "Name" : "musl", - "License" : "MIT License", - "License File" : "COPYRIGHT", - "Version Number" : "1.2.5", - "Owner" : "zhaoxinyuan9@huawei.com", - "Upstream URL" : "https://musl.libc.org", - "Description" : "musl is an MIT-licensed implementation of the standard C library" - } -] diff --git a/third_party/node/README.OpenSource b/third_party/node/README.OpenSource deleted file mode 100644 index 28991b992..000000000 --- a/third_party/node/README.OpenSource +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "Name": "node", - "License": "ISC License,Public Domain,MIT License,Free Software Foundation - MIT License,Apache License V2.0,ICU License,zlib/libpng License,BSD 2-Clause License,BSD 3-Clause License", - "License File": "LICENSE", - "Version Number": "v18.20.1", - "Owner": "sunbingxin@huawei.com", - "Upstream URL": "http://www.nodejs.org/", - "Description": "Node.js is an open-source, cross-platform, JavaScript runtime environment. It executes JavaScript code outside of a browser." - } -] diff --git a/third_party/openGLES/README.OpenSource b/third_party/openGLES/README.OpenSource deleted file mode 100644 index 82565035b..000000000 --- a/third_party/openGLES/README.OpenSource +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "Name": "openGLES", - "License": "Apache-2.0", - "License File": "NOTICE", - "Version Number": "63161d674db04a96635c6ab300db793e83f6762c", - "Owner": "lizheng2@huawei.com", - "Upstream URL": "https://github.com/KhronosGroup/OpenGL-Registry.git", - "Description": "The OpenGL ES registry contains specifications of the core API and shading language; specifications of Khronos- and vendor-approved OpenGL ES extensions; header files corresponding to the specificatio" - } -] diff --git a/third_party/openSLES/README.OpenSource b/third_party/openSLES/README.OpenSource deleted file mode 100644 index 2eda1e4fd..000000000 --- a/third_party/openSLES/README.OpenSource +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "Name": "Khronos Group - OpenSL ES", - "License": "null", - "License File": "NOTICE", - "Version Number": "1.0.1", - "Owner": "yangshuai67@huawei.com", - "Upstream URL": "https://github.com/KhronosGroup/OpenSL-ES-Registry.git", - "Description": "OpenSL ES™ is a royalty-free, cross-platform, hardware-accelerated audio API tuned for embedded systems." - } -] \ No newline at end of file diff --git a/third_party/vulkan-headers/README.OpenSource b/third_party/vulkan-headers/README.OpenSource deleted file mode 100644 index 97fefa261..000000000 --- a/third_party/vulkan-headers/README.OpenSource +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "Name": "Vulkan", - "License": "Apache-2.0", - "License File": "LICENSE", - "Version Number": "v1.3.275", - "Owner": "mengzhaobing@huawei.com", - "Upstream URL": "https://github.com/KhronosGroup/Vulkan-Headers.git", - "Description": "Vulkan header files and API registry" - } -] diff --git a/third_party/zlib/README.OpenSource b/third_party/zlib/README.OpenSource deleted file mode 100644 index e3a0accc9..000000000 --- a/third_party/zlib/README.OpenSource +++ /dev/null @@ -1,11 +0,0 @@ -[ - { - "Name" : "zlib", - "License" : "zlib/libpng License", - "License File" : "LICENSE", - "Version Number" : "v1.3.1", - "Owner" : "gongjunsong@huawei.com", - "Upstream URL" : "https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz", - "Description" : "zlib 1.3.1 is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files" - } -] -- Gitee From 54e92c22c8b6fbb77965a0298db712ec2c71cc7a Mon Sep 17 00:00:00 2001 From: huaxin Date: Tue, 5 Nov 2024 09:26:43 +0800 Subject: [PATCH 343/359] bugfix: compilation failed due to lack of header file dependencies Signed-off-by: huaxin Change-Id: I69c59fde006ea263211e791fd2c5ef6930826451 --- network/netmanager/include/net_connection_type.h | 1 + 1 file changed, 1 insertion(+) diff --git a/network/netmanager/include/net_connection_type.h b/network/netmanager/include/net_connection_type.h index e52b40d06..40e80760b 100644 --- a/network/netmanager/include/net_connection_type.h +++ b/network/netmanager/include/net_connection_type.h @@ -38,6 +38,7 @@ * */ +#include #include #include -- Gitee From f185a886df7223b2b0fff2b525ff3587913c2655 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=94=A1=E4=B8=80=E9=B8=A3?= Date: Tue, 29 Oct 2024 02:33:25 +0000 Subject: [PATCH 344/359] 1029 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 蔡一鸣 --- commonlibrary/memory_utils/libpurgeablemem/purgeable_memory.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/commonlibrary/memory_utils/libpurgeablemem/purgeable_memory.h b/commonlibrary/memory_utils/libpurgeablemem/purgeable_memory.h index a22804434..f8510ba94 100644 --- a/commonlibrary/memory_utils/libpurgeablemem/purgeable_memory.h +++ b/commonlibrary/memory_utils/libpurgeablemem/purgeable_memory.h @@ -32,6 +32,9 @@ * provides features include create, begin read ,end read, begin write, end write, rebuild, and so on. * when using, it is necessary to link libpurgeable_memory_ndk.z.so * + * @library libpurgeablemem.so + * @syscap SystemCapability.Kernel.Memory + * @kit KernelEnhanceKit * @since 10 * @version 1.0 */ -- Gitee From 0343168ff6524c53c5de9b4a891f5e956d1edb16 Mon Sep 17 00:00:00 2001 From: xuzhangchi Date: Fri, 8 Nov 2024 09:33:47 +0800 Subject: [PATCH 345/359] =?UTF-8?q?OH=5FMD=5FKEY=5FVIDEO=5FDECODER=5FENABL?= =?UTF-8?q?E=5FVRR=20json=20=E8=A1=A5=E5=85=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xuzhangchi --- .../av_codec/codec_base/libnative_media_codecbase.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json index 589823ef3..bf12ff2c9 100644 --- a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json +++ b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json @@ -391,6 +391,10 @@ "first_introduced": "12", "name": "OH_MD_KEY_VIDEO_DECODER_OUTPUT_COLOR_SPACE" }, + { + "first_introduced": "14", + "name": "OH_MD_KEY_VIDEO_DECODER_ENABLE_VRR" + }, { "first_introduced": "10", "name": "OH_AVCodec_GetCapability" -- Gitee From 03b3cd4237c7b6e3dbd9b36f6527fb2f0369cdee Mon Sep 17 00:00:00 2001 From: hongzexuan Date: Fri, 8 Nov 2024 10:01:04 +0800 Subject: [PATCH 346/359] scroll capi supports totalsize Signed-off-by: hongzexuan Change-Id: I5d97922132674c6f836530351306b2bd86147651 --- arkui/ace_engine/native/native_node.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index d57414dcc..fa551b515 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -4512,6 +4512,19 @@ typedef enum { */ NODE_SCROLL_FADING_EDGE, + /** + * @brief Obtains the total size of all child components when fully expanded in the scrollable component. + * + * Format of the return value {@link ArkUI_AttributeItem}:\n + * .value[0].f32: total width of all child components when fully expanded in the scrollable component. + * The default unit is vp. \n + * .value[1].f32: total height of all child components when fully expanded in the scrollable component. + * The default unit is vp. \n + * + * @since 14 + */ + NODE_SCROLL_SIZE, + /** * @brief Defines the direction in which the list items are arranged. This attribute can be set, reset, and * obtained as required through APIs. -- Gitee From 9c3a754aec14041faaa286716f6ded1eb47df679 Mon Sep 17 00:00:00 2001 From: zhangchao Date: Fri, 8 Nov 2024 10:56:25 +0800 Subject: [PATCH 347/359] =?UTF-8?q?=E4=BF=AE=E6=94=B9camera.ndk.json?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E4=B8=AD=E6=8E=A5=E5=8F=A3=E5=90=8D=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: zhangchao --- multimedia/camera_framework/camera.ndk.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/camera_framework/camera.ndk.json b/multimedia/camera_framework/camera.ndk.json index 3495447cf..dd8d98bbc 100644 --- a/multimedia/camera_framework/camera.ndk.json +++ b/multimedia/camera_framework/camera.ndk.json @@ -625,10 +625,10 @@ }, { "first_introduced": "13", - "name": "OH_CaptureSession_IsAutoSwitchDeviceSupported" + "name": "OH_CaptureSession_IsAutoDeviceSwitchSupported" }, { "first_introduced": "13", - "name": "OH_CaptureSession_EnableAutoSwitchDevice" + "name": "OH_CaptureSession_EnableAutoDeviceSwitch" } ] -- Gitee From bbd070335433a2a1a799535f938cedf4c511ef7d Mon Sep 17 00:00:00 2001 From: Lee <18800203378@163.com> Date: Wed, 6 Nov 2024 16:34:41 +0800 Subject: [PATCH 348/359] fix function's brief and param Signed-off-by: Lee <18800203378@163.com> --- .../include/relational_store.h | 45 ++++++++++--------- .../relational_store/libnative_rdb.ndk.json | 34 +++++++------- 2 files changed, 40 insertions(+), 39 deletions(-) diff --git a/distributeddatamgr/relational_store/include/relational_store.h b/distributeddatamgr/relational_store/include/relational_store.h index 50ff91164..b8be9a6aa 100644 --- a/distributeddatamgr/relational_store/include/relational_store.h +++ b/distributeddatamgr/relational_store/include/relational_store.h @@ -160,14 +160,14 @@ typedef struct { /** * @brief Define OH_Rdb_ConfigV2 type. * - * @since 13 + * @since 14 */ typedef struct OH_Rdb_ConfigV2 OH_Rdb_ConfigV2; /** * @brief Define Rdb_DBType type. * - * @since 13 + * @since 14 */ typedef enum Rdb_DBType { /** @@ -191,7 +191,7 @@ typedef enum Rdb_DBType { * The possible cause is that the address space of the application is full, As a result, the space * cannot be allocated. * @see OH_Rdb_ConfigV2 - * @since 13 + * @since 14 */ OH_Rdb_ConfigV2 *OH_Rdb_CreateConfig(); @@ -203,7 +203,7 @@ OH_Rdb_ConfigV2 *OH_Rdb_CreateConfig(); * @return Returns the status code of the execution. Successful execution returns RDB_OK, * {@link RDB_OK} - success. * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. - * @since 13 + * @since 14 */ int OH_Rdb_DestroyConfig(OH_Rdb_ConfigV2 *config); @@ -216,7 +216,7 @@ int OH_Rdb_DestroyConfig(OH_Rdb_ConfigV2 *config); * @return Returns the status code of the execution. Successful execution returns RDB_OK, * {@link RDB_OK} - success. * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. - * @since 13 + * @since 14 */ int OH_Rdb_SetDatabaseDir(OH_Rdb_ConfigV2 *config, const char *databaseDir); @@ -229,7 +229,7 @@ int OH_Rdb_SetDatabaseDir(OH_Rdb_ConfigV2 *config, const char *databaseDir); * @return Returns the status code of the execution. Successful execution returns RDB_OK, * {@link RDB_OK} - success. * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. - * @since 13 + * @since 14 */ int OH_Rdb_SetStoreName(OH_Rdb_ConfigV2 *config, const char *storeName); @@ -242,7 +242,7 @@ int OH_Rdb_SetStoreName(OH_Rdb_ConfigV2 *config, const char *storeName); * @return Returns the status code of the execution. Successful execution returns RDB_OK, * {@link RDB_OK} - success. * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. - * @since 13 + * @since 14 */ int OH_Rdb_SetBundleName(OH_Rdb_ConfigV2 *config, const char *bundleName); @@ -255,7 +255,7 @@ int OH_Rdb_SetBundleName(OH_Rdb_ConfigV2 *config, const char *bundleName); * @return Returns the status code of the execution. Successful execution returns RDB_OK, * {@link RDB_OK} - success. * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. - * @since 13 + * @since 14 */ int OH_Rdb_SetModuleName(OH_Rdb_ConfigV2 *config, const char *moduleName); @@ -264,11 +264,11 @@ int OH_Rdb_SetModuleName(OH_Rdb_ConfigV2 *config, const char *moduleName); * * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. * Indicates the configuration of the database related to this RDB store. - * @param isEncrypt Indicates whether the database is encrypted. + * @param isEncrypted Indicates whether the database is encrypted. * @return Returns the status code of the execution. Successful execution returns RDB_OK, * {@link RDB_OK} - success. * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. - * @since 13 + * @since 14 */ int OH_Rdb_SetEncrypted(OH_Rdb_ConfigV2 *config, bool isEncrypted); @@ -281,7 +281,7 @@ int OH_Rdb_SetEncrypted(OH_Rdb_ConfigV2 *config, bool isEncrypted); * @return Returns the status code of the execution. Successful execution returns RDB_OK, * {@link RDB_OK} - success. * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. - * @since 13 + * @since 14 */ int OH_Rdb_SetSecurityLevel(OH_Rdb_ConfigV2 *config, int securityLevel); @@ -290,10 +290,11 @@ int OH_Rdb_SetSecurityLevel(OH_Rdb_ConfigV2 *config, int securityLevel); * * @param config Represents a pointer to {@link OH_Rdb_ConfigV2} instance. * Indicates the configuration of the database related to this RDB store + * @param area Represents the security area of the database. * @return Returns the status code of the execution. Successful execution returns RDB_OK, * {@link RDB_OK} - success. * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. - * @since 13 + * @since 14 */ int OH_Rdb_SetArea(OH_Rdb_ConfigV2 *config, int area); @@ -305,15 +306,15 @@ int OH_Rdb_SetArea(OH_Rdb_ConfigV2 *config, int area); * {@link RDB_OK} - success. * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. * {@link RDB_E_NOT_SUPPORTED} - The error code for not support db types. - * @since 13 + * @since 14 */ int OH_Rdb_SetDbType(OH_Rdb_ConfigV2 *config, int dbType); /** * @brief Get support db type list - * @param numType The output parameter, which is used to recieve the length of the support db type array. + * @param typeCount The output parameter, which is used to recieve the length of the support db type array. * @return Return Rdb_DBType array contains supported db type, array length is number of support type - * @since 13 + * @since 14 */ const int *OH_Rdb_GetSupportedDbType(int *typeCount); @@ -380,7 +381,7 @@ OH_Rdb_Store *OH_Rdb_GetOrOpen(const OH_Rdb_Config *config, int *errCode); * If the Config is empty, config.size does not match, or errCode is empty. * Get database path failed.Get RDB Store fail. Nullptr is returned. * @see OH_Rdb_ConfigV2, OH_Rdb_Store. - * @since 13 + * @since 14 */ OH_Rdb_Store *OH_Rdb_CreateOrOpen(const OH_Rdb_ConfigV2 *config, int *errCode); @@ -421,7 +422,7 @@ int OH_Rdb_DeleteStore(const OH_Rdb_Config *config); * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. * while failure returns a specific error code. Specific error codes can be referenced {@link OH_Rdb_ErrCode}. * @see OH_Rdb_ErrCode. - * @since 13 + * @since 14 */ int OH_Rdb_DeleteStoreV2(const OH_Rdb_ConfigV2 *config); @@ -503,14 +504,14 @@ int OH_Rdb_Execute(OH_Rdb_Store *store, const char *sql); * @brief Write operations are performed using the specified transaction represented by the transaction ID * * @param store Represents a pointer to an {@link OH_Rdb_Store} instance. - * @param sql Indicates the SQL statement to execute. * @param trxId The transaction ID of the specified transaction, must be greater than 0 + * @param sql Indicates the SQL statement to execute. * @return Returns the status code of the execution. * {@link RDB_OK} - success. * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. * {@link RDB_E_NOT_SUPPORTED} - The error code for not supprt. * @see OH_Rdb_Store. - * @since 13 + * @since 14 */ int OH_Rdb_ExecuteByTrxId(OH_Rdb_Store *store, int64_t trxId, const char *sql); @@ -572,7 +573,7 @@ int OH_Rdb_Commit(OH_Rdb_Store *store); * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. * {@link RDB_E_NOT_SUPPORTED} - The error code for not supprt. * @see OH_Rdb_Store. - * @since 13 + * @since 14 */ int OH_Rdb_BeginTransWithTrxId(OH_Rdb_Store *store, int64_t *trxId); @@ -586,7 +587,7 @@ int OH_Rdb_BeginTransWithTrxId(OH_Rdb_Store *store, int64_t *trxId); * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. * {@link RDB_E_NOT_SUPPORTED} - The error code for not supprt. * @see OH_Rdb_Store. - * @since 13 + * @since 14 */ int OH_Rdb_RollBackByTrxId(OH_Rdb_Store *store, int64_t trxId); @@ -600,7 +601,7 @@ int OH_Rdb_RollBackByTrxId(OH_Rdb_Store *store, int64_t trxId); * {@link RDB_E_INVALID_ARGS} - The error code for common invalid args. * {@link RDB_E_NOT_SUPPORTED} - The error code for not supprt. * @see OH_Rdb_Store. - * @since 13 + * @since 14 */ int OH_Rdb_CommitByTrxId(OH_Rdb_Store *store, int64_t trxId); diff --git a/distributeddatamgr/relational_store/libnative_rdb.ndk.json b/distributeddatamgr/relational_store/libnative_rdb.ndk.json index 4d72ebe84..5e0681865 100644 --- a/distributeddatamgr/relational_store/libnative_rdb.ndk.json +++ b/distributeddatamgr/relational_store/libnative_rdb.ndk.json @@ -3,58 +3,58 @@ {"name":"OH_Rdb_CreateValueObject" }, {"name":"OH_Rdb_CreateValuesBucket" }, { - "first_introduced":"13", + "first_introduced":"14", "name":"OH_Rdb_CreateConfig" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_SetDatabaseDir" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_SetStoreName" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_SetBundleName" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_SetModuleName" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_SetEncrypted" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_SetSecurityLevel" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_SetArea" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_SetDbType" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_GetSupportedDbType" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_DestroyConfig" }, {"name":"OH_Rdb_GetOrOpen" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_CreateOrOpen" }, {"name":"OH_Rdb_CloseStore" }, {"name":"OH_Rdb_DeleteStore" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_DeleteStoreV2" }, {"name":"OH_Rdb_Insert" }, @@ -63,7 +63,7 @@ {"name":"OH_Rdb_Query" }, {"name":"OH_Rdb_Execute" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_ExecuteByTrxId" }, {"name":"OH_Rdb_ExecuteQuery" }, @@ -71,15 +71,15 @@ {"name":"OH_Rdb_RollBack" }, {"name":"OH_Rdb_Commit" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_BeginTransWithTrxId" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_RollBackByTrxId" }, { - "first_introduced": "13", + "first_introduced": "14", "name":"OH_Rdb_CommitByTrxId" }, {"name":"OH_Rdb_Backup" }, -- Gitee From c012a044fd475b9697695bb7ee51111c66653958 Mon Sep 17 00:00:00 2001 From: shaoyuanzhao Date: Fri, 8 Nov 2024 15:51:57 +0800 Subject: [PATCH 349/359] fix errorcode Signed-off-by: blc --- .../include/inputmethod_inputmethod_proxy_capi.h | 12 ++++++------ inputmethod/include/inputmethod_types_capi.h | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h index c0ae0a12c..f8257c2b6 100644 --- a/inputmethod/include/inputmethod_inputmethod_proxy_capi.h +++ b/inputmethod/include/inputmethod_inputmethod_proxy_capi.h @@ -60,7 +60,7 @@ typedef struct InputMethod_InputMethodProxy InputMethod_InputMethodProxy; * {@link IME_ERR_OK} - success. * {@link IME_ERR_IMCLIENT} - input method client error. * {@link IME_ERR_IMMS} - input method manager service error. - * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_DETACHED} - input method client detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 @@ -76,7 +76,7 @@ InputMethod_ErrorCode OH_InputMethodProxy_ShowKeyboard(InputMethod_InputMethodPr * {@link IME_ERR_OK} - success. * {@link IME_ERR_IMCLIENT} - input method client error. * {@link IME_ERR_IMMS} - input method manager service error. - * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_DETACHED} - input method client detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 @@ -99,7 +99,7 @@ InputMethod_ErrorCode OH_InputMethodProxy_HideKeyboard(InputMethod_InputMethodPr * {@link IME_ERR_PARAMCHECK} - parameter check failed. * {@link IME_ERR_IMCLIENT} - input method client error. * {@link IME_ERR_IMMS} - input method manager service error. - * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_DETACHED} - input method client detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 @@ -119,7 +119,7 @@ InputMethod_ErrorCode OH_InputMethodProxy_NotifySelectionChange( * {@link IME_ERR_PARAMCHECK} - parameter check failed. * {@link IME_ERR_IMCLIENT} - input method client error. * {@link IME_ERR_IMMS} - input method manager service error. - * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_DETACHED} - input method client detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 @@ -139,7 +139,7 @@ InputMethod_ErrorCode OH_InputMethodProxy_NotifyConfigurationChange(InputMethod_ * {@link IME_ERR_PARAMCHECK} - parameter check failed. * {@link IME_ERR_IMCLIENT} - input method client error. * {@link IME_ERR_IMMS} - input method manager service error. - * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_DETACHED} - input method client detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 @@ -159,7 +159,7 @@ InputMethod_ErrorCode OH_InputMethodProxy_NotifyCursorUpdate( * {@link IME_ERR_PARAMCHECK} - parameter check failed. * {@link IME_ERR_IMCLIENT} - input method client error. * {@link IME_ERR_IMMS} - input method manager service error. - * {@link IME_ERR_DETACHED} - input method client is detached. + * {@link IME_ERR_DETACHED} - input method client detached. * {@link IME_ERR_NULL_POINTER} - unexpected null pointer. * Specific error codes can be referenced {@link InputMethod_ErrorCode}. * @since 12 diff --git a/inputmethod/include/inputmethod_types_capi.h b/inputmethod/include/inputmethod_types_capi.h index 2e1481335..0fc88c455 100644 --- a/inputmethod/include/inputmethod_types_capi.h +++ b/inputmethod/include/inputmethod_types_capi.h @@ -261,7 +261,7 @@ typedef enum InputMethod_ErrorCode { */ IME_ERR_PARAMCHECK = 401, /** - * @error The error code when the package manager error. + * @error The error code when the bundle manager error. */ IME_ERR_PACKAGEMANAGER = 12800001, /** @@ -273,7 +273,7 @@ typedef enum InputMethod_ErrorCode { */ IME_ERR_IMCLIENT = 12800003, /** - * @error The error code when configuration persisting error. + * @error The error code when configuration persistence error. */ IME_ERR_CONFIG_PERSIST = 12800005, /** @@ -289,7 +289,7 @@ typedef enum InputMethod_ErrorCode { */ IME_ERR_IMMS = 12800008, /** - * @error The error code when input method client is detached. + * @error The error code when input method client detached. */ IME_ERR_DETACHED = 12800009, /** -- Gitee From b9bb37b31c7d153f15162aeec043947607a120cb Mon Sep 17 00:00:00 2001 From: xzcbob Date: Fri, 8 Nov 2024 09:01:54 +0000 Subject: [PATCH 350/359] update multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json. Signed-off-by: xzcbob --- .../av_codec/codec_base/libnative_media_codecbase.ndk.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json index bf12ff2c9..715c18d86 100644 --- a/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json +++ b/multimedia/av_codec/codec_base/libnative_media_codecbase.ndk.json @@ -393,7 +393,7 @@ }, { "first_introduced": "14", - "name": "OH_MD_KEY_VIDEO_DECODER_ENABLE_VRR" + "name": "OH_MD_KEY_VIDEO_DECODER_OUTPUT_ENABLE_VRR" }, { "first_introduced": "10", -- Gitee From 9983a759fa592b8b2440db4096e5c6075170d1a2 Mon Sep 17 00:00:00 2001 From: cuiruibin Date: Sat, 9 Nov 2024 09:50:13 +0800 Subject: [PATCH 351/359] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=A0=87=E7=AD=BE?= =?UTF-8?q?=E8=AF=B4=E6=98=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: cuiruibin --- filemanagement/file_uri/include/oh_file_uri.h | 15 +++++++++++++-- filemanagement/fileshare/include/oh_file_share.h | 13 +++++++------ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/filemanagement/file_uri/include/oh_file_uri.h b/filemanagement/file_uri/include/oh_file_uri.h index adf9f0fa3..dde24336d 100644 --- a/filemanagement/file_uri/include/oh_file_uri.h +++ b/filemanagement/file_uri/include/oh_file_uri.h @@ -13,8 +13,15 @@ * limitations under the License. */ -#ifndef FILE_MANAGEMENT_OH_FILE_URI_H -#define FILE_MANAGEMENT_OH_FILE_URI_H +/** + * @addtogroup fileUri + * @{ + * + * @brief This module provides URI format validation and URI conversion processing, + * as well as obtaining URI-related information + * + * @since 12 + */ /** * @file oh_file_uri.h @@ -30,6 +37,9 @@ * @since 12 */ +#ifndef FILE_MANAGEMENT_OH_FILE_URI_H +#define FILE_MANAGEMENT_OH_FILE_URI_H + #include "error_code.h" #include #include @@ -116,4 +126,5 @@ FileManagement_ErrCode OH_FileUri_GetFileName(const char *uri, unsigned int leng #ifdef __cplusplus }; #endif +/** @} */ #endif // FILE_MANAGEMENT_OH_FILE_URI_H diff --git a/filemanagement/fileshare/include/oh_file_share.h b/filemanagement/fileshare/include/oh_file_share.h index e89d335f5..fc89f08ed 100644 --- a/filemanagement/fileshare/include/oh_file_share.h +++ b/filemanagement/fileshare/include/oh_file_share.h @@ -13,12 +13,6 @@ * limitations under the License. */ -#ifndef FILE_MANAGEMENT_OH_FILE_SHARE_H -#define FILE_MANAGEMENT_OH_FILE_SHARE_H - -#include "error_code.h" -#include - /** * @addtogroup fileShare * @{ @@ -38,6 +32,13 @@ * @syscap SystemCapability.FileManagement.AppFileService.FolderAuthorization * @since 12 */ + +#ifndef FILE_MANAGEMENT_OH_FILE_SHARE_H +#define FILE_MANAGEMENT_OH_FILE_SHARE_H + +#include "error_code.h" +#include + #ifdef __cplusplus extern "C" { #endif -- Gitee From 573796b0048f14aba5e144c2afb30cc8e11f2303 Mon Sep 17 00:00:00 2001 From: liangqi Date: Fri, 8 Nov 2024 11:21:53 +0800 Subject: [PATCH 352/359] standardize rectification Signed-off-by: liangqi --- drivers/external_device_manager/base/ddk_api.h | 5 +++-- drivers/external_device_manager/base/ddk_types.h | 5 +++-- drivers/external_device_manager/hid/hid_ddk_api.h | 9 ++++++--- drivers/external_device_manager/hid/hid_ddk_types.h | 7 +++++-- drivers/external_device_manager/usb/usb_ddk_api.h | 8 ++++++-- drivers/external_device_manager/usb/usb_ddk_types.h | 8 ++++++-- 6 files changed, 29 insertions(+), 13 deletions(-) diff --git a/drivers/external_device_manager/base/ddk_api.h b/drivers/external_device_manager/base/ddk_api.h index 41d69c7b6..b5eb3005b 100644 --- a/drivers/external_device_manager/base/ddk_api.h +++ b/drivers/external_device_manager/base/ddk_api.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef DDK_API_H -#define DDK_API_H /** * @addtogroup Ddk @@ -36,6 +34,9 @@ * @since 12 */ +#ifndef DDK_API_H +#define DDK_API_H + #include #include "ddk_types.h" diff --git a/drivers/external_device_manager/base/ddk_types.h b/drivers/external_device_manager/base/ddk_types.h index e9e352c87..b13651367 100644 --- a/drivers/external_device_manager/base/ddk_types.h +++ b/drivers/external_device_manager/base/ddk_types.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef DDK_TYPES_H -#define DDK_TYPES_H /** * @addtogroup Ddk @@ -36,6 +34,9 @@ * @since 12 */ +#ifndef DDK_TYPES_H +#define DDK_TYPES_H + #include #include diff --git a/drivers/external_device_manager/hid/hid_ddk_api.h b/drivers/external_device_manager/hid/hid_ddk_api.h index b5d535a10..ac9336efd 100644 --- a/drivers/external_device_manager/hid/hid_ddk_api.h +++ b/drivers/external_device_manager/hid/hid_ddk_api.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef HID_DDK_API_H -#define HID_DDK_API_H /** * @addtogroup HidDdk @@ -32,11 +30,16 @@ * @brief Declares the HID DDK interfaces for the host to access an input device. * * @kit DriverDevelopmentKit + * @library libhid.z.so + * @syscap SystemCapability.Driver.HID.Extension * File to include: * @since 11 * @version 1.0 */ +#ifndef HID_DDK_API_H +#define HID_DDK_API_H + #include #include "hid_ddk_types.h" @@ -100,7 +103,7 @@ int32_t OH_Hid_EmitEvent(int32_t deviceId, const Hid_EmitItem items[], uint16_t * @version 1.0 */ int32_t OH_Hid_DestroyDevice(int32_t deviceId); - +/** @} */ #ifdef __cplusplus } #endif /* __cplusplus */ diff --git a/drivers/external_device_manager/hid/hid_ddk_types.h b/drivers/external_device_manager/hid/hid_ddk_types.h index 4feaf5f55..1029fbb12 100644 --- a/drivers/external_device_manager/hid/hid_ddk_types.h +++ b/drivers/external_device_manager/hid/hid_ddk_types.h @@ -13,8 +13,6 @@ * limitations under the License. */ -#ifndef HID_DDK_TYPES_H -#define HID_DDK_TYPES_H /** * @addtogroup HidDdk * @{ @@ -33,10 +31,15 @@ * @brief Provides definitions of enum variables and structs in the HID DDK. * * File to include: + * @library libhid.z.so + * @syscap SystemCapability.Driver.HID.Extension * @since 11 * @version 1.0 */ +#ifndef HID_DDK_TYPES_H +#define HID_DDK_TYPES_H + #include #ifdef __cplusplus diff --git a/drivers/external_device_manager/usb/usb_ddk_api.h b/drivers/external_device_manager/usb/usb_ddk_api.h index d43aa52d7..90ff08e69 100644 --- a/drivers/external_device_manager/usb/usb_ddk_api.h +++ b/drivers/external_device_manager/usb/usb_ddk_api.h @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef USB_DDK_API_H -#define USB_DDK_API_H /** * @addtogroup UsbDdk @@ -33,10 +31,16 @@ * * @brief Declares the USB DDK APIs used by the USB host to access USB devices. * + * @kit DriverDevelopmentKit + * @library libusb_ndk.z.so + * @syscap SystemCapability.Driver.USB.Extension * @since 10 * @version 1.0 */ +#ifndef USB_DDK_API_H +#define USB_DDK_API_H + #include #include "ddk_types.h" diff --git a/drivers/external_device_manager/usb/usb_ddk_types.h b/drivers/external_device_manager/usb/usb_ddk_types.h index 6385308af..602baba11 100644 --- a/drivers/external_device_manager/usb/usb_ddk_types.h +++ b/drivers/external_device_manager/usb/usb_ddk_types.h @@ -13,8 +13,6 @@ * limitations under the License. */ -#ifndef USB_DDK_TYPES_H -#define USB_DDK_TYPES_H /** * @addtogroup UsbDdk * @{ @@ -33,10 +31,16 @@ * * @brief Provides the enumerated variables, structures, and macros used in USB DDK APIs. * + * @kit DriverDevelopmentKit + * @library libusb_ndk.z.so + * @syscap SystemCapability.Driver.USB.Extension * @since 10 * @version 1.0 */ +#ifndef USB_DDK_TYPES_H +#define USB_DDK_TYPES_H + #include #include -- Gitee From 903642507abdd74ebfedd2fa3a8431fbed2a284a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=BD=E8=BF=90=E7=90=86?= Date: Mon, 11 Nov 2024 11:51:45 +0800 Subject: [PATCH 353/359] =?UTF-8?q?fix=20warning=20in=20comment=20Signed-o?= =?UTF-8?q?ff-by:=20=E6=96=BD=E8=BF=90=E7=90=86=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BasicServicesKit/os_account.h | 7 ++++--- BasicServicesKit/os_account_common.h | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/BasicServicesKit/os_account.h b/BasicServicesKit/os_account.h index a93a32b4b..2a90d0cfd 100644 --- a/BasicServicesKit/os_account.h +++ b/BasicServicesKit/os_account.h @@ -13,9 +13,6 @@ * limitations under the License. */ -#ifndef OS_ACCOUNT_H -#define OS_ACCOUNT_H - /** * @addtogroup OsAccount * @{ @@ -23,6 +20,7 @@ * @brief Provide the definition of the C interface for the native OsAccount. * @since 12 */ + /** * @file os_account.h * @@ -33,6 +31,9 @@ * @since 12 */ +#ifndef OS_ACCOUNT_H +#define OS_ACCOUNT_H + #include #include "os_account_common.h" diff --git a/BasicServicesKit/os_account_common.h b/BasicServicesKit/os_account_common.h index 932b398c5..334ad730b 100644 --- a/BasicServicesKit/os_account_common.h +++ b/BasicServicesKit/os_account_common.h @@ -13,9 +13,6 @@ * limitations under the License. */ -#ifndef OS_ACCOUNT_COMMON_H -#define OS_ACCOUNT_COMMON_H - /** * @addtogroup OsAccount * @{ @@ -23,6 +20,7 @@ * @brief Provide the definition of the C interface for the native OsAccount. * @since 12 */ + /** * @file os_account_common.h * @@ -33,6 +31,9 @@ * @since 12 */ +#ifndef OS_ACCOUNT_COMMON_H +#define OS_ACCOUNT_COMMON_H + #ifdef __cplusplus extern "C" { #endif -- Gitee From 8bfa6a7a1c44bb34b1fee4df9720fae735506414 Mon Sep 17 00:00:00 2001 From: Cai Xincheng Date: Mon, 11 Nov 2024 16:02:21 +0800 Subject: [PATCH 354/359] asset api lint Signed-off-by: Cai Xincheng Change-Id: Ibcdadb18e9eb07318aeb3dab975732a6465b5a9f --- security/asset/inc/asset_api.h | 16 ++++++++-------- security/asset/inc/asset_type.h | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/security/asset/inc/asset_api.h b/security/asset/inc/asset_api.h index 794a04e02..cda927aac 100755 --- a/security/asset/inc/asset_api.h +++ b/security/asset/inc/asset_api.h @@ -13,14 +13,6 @@ * limitations under the License. */ -#ifndef ASSET_API_H -#define ASSET_API_H - -#include -#include - -#include "asset_type.h" - /** * @addtogroup AssetApi * @{ @@ -44,6 +36,14 @@ * @since 11 */ +#ifndef ASSET_API_H +#define ASSET_API_H + +#include +#include + +#include "asset_type.h" + #ifdef __cplusplus extern "C" { #endif diff --git a/security/asset/inc/asset_type.h b/security/asset/inc/asset_type.h index 8d64e56d5..4eea24c7c 100755 --- a/security/asset/inc/asset_type.h +++ b/security/asset/inc/asset_type.h @@ -13,9 +13,6 @@ * limitations under the License. */ -#ifndef ASSET_TYPE_H -#define ASSET_TYPE_H - /** * @addtogroup AssetType * @{ @@ -36,6 +33,9 @@ * @since 11 */ +#ifndef ASSET_TYPE_H +#define ASSET_TYPE_H + #include #include -- Gitee From 7cf96e803f6e8199671eb522d904b998ed904591 Mon Sep 17 00:00:00 2001 From: yangxuguang-huawei Date: Mon, 11 Nov 2024 16:04:15 +0800 Subject: [PATCH 355/359] fix: api lint Signed-off-by: yangxuguang-huawei Change-Id: Ia60c1cecfb6fbb4794246d3d8c94134109162a00 --- .../child_process/native_child_process.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ability/ability_runtime/child_process/native_child_process.h b/ability/ability_runtime/child_process/native_child_process.h index af736450b..a60cca635 100644 --- a/ability/ability_runtime/child_process/native_child_process.h +++ b/ability/ability_runtime/child_process/native_child_process.h @@ -13,11 +13,6 @@ * limitations under the License. */ -#ifndef OHOS_ABILITY_RUNTIME_C_NATIVE_CHILD_PROCESS_H -#define OHOS_ABILITY_RUNTIME_C_NATIVE_CHILD_PROCESS_H - -#include "IPCKit/ipc_cparcel.h" - /** * @addtogroup ChildProcess * @{ @@ -40,6 +35,11 @@ * @since 12 */ +#ifndef OHOS_ABILITY_RUNTIME_C_NATIVE_CHILD_PROCESS_H +#define OHOS_ABILITY_RUNTIME_C_NATIVE_CHILD_PROCESS_H + +#include "IPCKit/ipc_cparcel.h" + #ifdef __cplusplus extern "C" { #endif -- Gitee From 307f50f3014a481b8656007880a5cec9e89a5e22 Mon Sep 17 00:00:00 2001 From: lwx1281857 Date: Mon, 11 Nov 2024 16:41:14 +0800 Subject: [PATCH 356/359] Description:Code optimization Feature or Bugfix:Bugfix Binary Source:No Signed-off-by: lwx1281857 --- startup/init/syscap/include/deviceinfo.h | 19 +++++++++++++++++++ startup/init/syscap/include/syscap_ndk.h | 19 +++++++++++++++++++ startup/init/syscap/init_sync.h | 20 +++++++++++++++++++- 3 files changed, 57 insertions(+), 1 deletion(-) diff --git a/startup/init/syscap/include/deviceinfo.h b/startup/init/syscap/include/deviceinfo.h index 955759bfb..0725cd540 100644 --- a/startup/init/syscap/include/deviceinfo.h +++ b/startup/init/syscap/include/deviceinfo.h @@ -16,6 +16,24 @@ #ifndef DEVICEINFO_CSDK_H #define DEVICEINFO_CSDK_H +/** + * @addtogroup DeviceInfo + * @{ + * + * @brief Provides APIs for querying terminal device information. + * + * @since 10 + */ + +/** + * @file deviceinfo.h + * @kit BasicServicesKit + * @brief Declares APIs for querying terminal device information. + * @library libdeviceinfo_ndk.z.so + * @syscap SystemCapability.Startup.SystemInfo + * @since 10 + */ + #ifdef __cplusplus #if __cplusplus extern "C" { @@ -227,4 +245,5 @@ const char *OH_GetDistributionOSReleaseType(void); } #endif #endif +/** @} */ #endif diff --git a/startup/init/syscap/include/syscap_ndk.h b/startup/init/syscap/include/syscap_ndk.h index 070a6cb1e..d821c3a35 100644 --- a/startup/init/syscap/include/syscap_ndk.h +++ b/startup/init/syscap/include/syscap_ndk.h @@ -16,6 +16,24 @@ #ifndef SYSCAP_NDK_H #define SYSCAP_NDK_H +/** + * @addtogroup SyscapNdk + * @{ + * + * @brief Provides APIs for querying system capabilities. + * + * @since 10 + */ + +/** + * @file deviceinfo.h + * @kit BasicServicesKit + * @brief Declares APIs for acquiring the set of system capabilities . + * @library na + * @syscap SystemCapability.Startup.SystemInfo + * @since 10 + */ + #include #ifdef __cplusplus @@ -31,4 +49,5 @@ bool canIUse(const char *cap); } #endif #endif +/** @} */ #endif \ No newline at end of file diff --git a/startup/init/syscap/init_sync.h b/startup/init/syscap/init_sync.h index ceeefbce3..ca4836b27 100644 --- a/startup/init/syscap/init_sync.h +++ b/startup/init/syscap/init_sync.h @@ -16,6 +16,24 @@ #ifndef BASE_STARTUP_INITLITE_NOTIFY_H #define BASE_STARTUP_INITLITE_NOTIFY_H +/** + * @addtogroup InitSync + * @{ + * + * @brief Provides APIs for notifying the Init process of events. + * + * @since 10 + */ + +/** + * @file init_sync.h + * @kit BasicServicesKit + * @brief Declares APIs for notifying events to the Init process. + * @library na + * @syscap SystemCapability.Startup.SystemInfo + * @since 10 + */ + #ifdef __cplusplus #if __cplusplus extern "C" { @@ -45,5 +63,5 @@ extern int NotifyInit(unsigned long event); } #endif #endif - +/** @} */ #endif // BASE_STARTUP_INITLITE_NOTIFY_H -- Gitee From 15067984421879ec20519ae77596379e171177d8 Mon Sep 17 00:00:00 2001 From: wangxiuxiu96 Date: Thu, 7 Nov 2024 10:04:25 +0800 Subject: [PATCH 357/359] key event support capi Signed-off-by: wangxiuxiu96 Change-Id: I2aa53bf46076e489800c8f5ec80ed8ab1139584b --- arkui/ace_engine/native/BUILD.gn | 1 + arkui/ace_engine/native/libace.ndk.json | 48 ++ arkui/ace_engine/native/native_key_event.h | 535 +++++++++++++++++++++ arkui/ace_engine/native/native_node.h | 25 + 4 files changed, 609 insertions(+) create mode 100644 arkui/ace_engine/native/native_key_event.h diff --git a/arkui/ace_engine/native/BUILD.gn b/arkui/ace_engine/native/BUILD.gn index 99ad7f778..f8f7ff274 100644 --- a/arkui/ace_engine/native/BUILD.gn +++ b/arkui/ace_engine/native/BUILD.gn @@ -33,6 +33,7 @@ if (!is_arkui_x) { "native_gesture.h", "native_interface.h", "native_interface_accessibility.h", + "native_key_event.h", "native_node.h", "native_node_napi.h", "native_type.h", diff --git a/arkui/ace_engine/native/libace.ndk.json b/arkui/ace_engine/native/libace.ndk.json index 197833444..96208e941 100644 --- a/arkui/ace_engine/native/libace.ndk.json +++ b/arkui/ace_engine/native/libace.ndk.json @@ -2386,5 +2386,53 @@ { "first_introduced": "14", "name": "OH_NativeXComponent_RegisterKeyEventCallbackWithResult" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_GetType" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_GetKeyCode" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_GetKeyText" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_GetKeySource" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_GetDeviceId" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_GetMetaKey" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_GetTimestamp" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_StopPropagation" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_GetModifierKeyState" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_GetKeyIntensionCode" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_GetUnicode" + }, + { + "first_introduced": "14", + "name": "OH_ArkUI_KeyEvent_SetConsumed" } ] \ No newline at end of file diff --git a/arkui/ace_engine/native/native_key_event.h b/arkui/ace_engine/native/native_key_event.h new file mode 100644 index 000000000..0ab0303a1 --- /dev/null +++ b/arkui/ace_engine/native/native_key_event.h @@ -0,0 +1,535 @@ +/* + * Copyright (c) 2024 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 ArkUI_NativeModule + * @{ + * + * @brief Provides the general key event APIs of ArkUI on the native side. + * + * @since 14 + */ + +/** + * @file native_key_event.h + * + * @brief Declares the APIs related to native key events. + * + * @library libace_ndk.z.so + * @syscap SystemCapability.ArkUI.ArkUI.Full + * @kit ArkUI + * @since 14 + */ + +#ifndef ARKUI_NATIVE_KEY_EVENT_H +#define ARKUI_NATIVE_KEY_EVENT_H + +#include + +#include "native_type.h" +#include "ui_input_event.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Defines an enum for the key codes in key events. + * + * @since 14 + */ +typedef enum { + /** Unknown (or unrecognized) key **/ + ARKUI_KEYCODE_UNKNOWN = -1, + /** Function (Fn) key **/ + ARKUI_KEYCODE_FN = 0, + /** Volume Up key **/ + ARKUI_KEYCODE_VOLUME_UP = 16, + /** Volume Down key **/ + ARKUI_KEYCODE_VOLUME_DOWN = 17, + /** Power key **/ + ARKUI_KEYCODE_POWER = 18, + /** Shutter key **/ + ARKUI_KEYCODE_CAMERA = 19, + /** Speaker Mute key **/ + ARKUI_KEYCODE_VOLUME_MUTE = 22, + /** Mute key **/ + ARKUI_KEYCODE_MUTE = 23, + /** Brightness Up key **/ + ARKUI_KEYCODE_BRIGHTNESS_UP = 40, + /** Brightness Down key **/ + ARKUI_KEYCODE_BRIGHTNESS_DOWN = 41, + /** Key 0 **/ + ARKUI_KEYCODE_0 = 2000, + /** Key 1 **/ + ARKUI_KEYCODE_1 = 2001, + /** Key 2 **/ + ARKUI_KEYCODE_2 = 2002, + /** Key 3 **/ + ARKUI_KEYCODE_3 = 2003, + /** Key 4 **/ + ARKUI_KEYCODE_4 = 2004, + /** Key 5 **/ + ARKUI_KEYCODE_5 = 2005, + /** Key 6 **/ + ARKUI_KEYCODE_6 = 2006, + /** Key 7 **/ + ARKUI_KEYCODE_7 = 2007, + /** Key 8 **/ + ARKUI_KEYCODE_8 = 2008, + /** Key 9 **/ + ARKUI_KEYCODE_9 = 2009, + /** Key + **/ + ARKUI_KEYCODE_STAR = 2010, + /** Key # **/ + ARKUI_KEYCODE_POUND = 2011, + /** Up key on D-pad **/ + ARKUI_KEYCODE_DPAD_UP = 2012, + /** Down key on D-pad **/ + ARKUI_KEYCODE_DPAD_DOWN = 2013, + /** Left key on D-pad **/ + ARKUI_KEYCODE_DPAD_LEFT = 2014, + /** Right key on D-pad **/ + ARKUI_KEYCODE_DPAD_RIGHT = 2015, + /** OK key on D-pad **/ + ARKUI_KEYCODE_DPAD_CENTER = 2016, + /** Key A **/ + ARKUI_KEYCODE_A = 2017, + /** Key B **/ + ARKUI_KEYCODE_B = 2018, + /** Key C **/ + ARKUI_KEYCODE_C = 2019, + /** Key D **/ + ARKUI_KEYCODE_D = 2020, + /** Key E **/ + ARKUI_KEYCODE_E = 2021, + /** Key F **/ + ARKUI_KEYCODE_F = 2022, + /** Key G **/ + ARKUI_KEYCODE_G = 2023, + /** Key H **/ + ARKUI_KEYCODE_H = 2024, + /** Key I **/ + ARKUI_KEYCODE_I = 2025, + /** Key J **/ + ARKUI_KEYCODE_J = 2026, + /** Key K **/ + ARKUI_KEYCODE_K = 2027, + /** Key L **/ + ARKUI_KEYCODE_L = 2028, + /** Key M **/ + ARKUI_KEYCODE_M = 2029, + /** Key N **/ + ARKUI_KEYCODE_N = 2030, + /** Key O **/ + ARKUI_KEYCODE_O = 2031, + /** Key P **/ + ARKUI_KEYCODE_P = 2032, + /** Key R **/ + ARKUI_KEYCODE_Q = 2033, + /** Key R **/ + ARKUI_KEYCODE_R = 2034, + /** Key S **/ + ARKUI_KEYCODE_S = 2035, + /** Key T **/ + ARKUI_KEYCODE_T = 2036, + /** Key U **/ + ARKUI_KEYCODE_U = 2037, + /** Key V **/ + ARKUI_KEYCODE_V = 2038, + /** Key W **/ + ARKUI_KEYCODE_W = 2039, + /** Key X **/ + ARKUI_KEYCODE_X = 2040, + /** Key Y **/ + ARKUI_KEYCODE_Y = 2041, + /** Key Z **/ + ARKUI_KEYCODE_Z = 2042, + /** Key # **/ + ARKUI_KEYCODE_COMMA = 2043, + /** Key # **/ + ARKUI_KEYCODE_PERIOD = 2044, + /** Left Alt key **/ + ARKUI_KEYCODE_ALT_LEFT = 2045, + /** Right Alt key **/ + ARKUI_KEYCODE_ALT_RIGHT = 2046, + /** Left Shift key **/ + ARKUI_KEYCODE_SHIFT_LEFT = 2047, + /** Right Shift key **/ + ARKUI_KEYCODE_SHIFT_RIGHT = 2048, + /** Tab key **/ + ARKUI_KEYCODE_TAB = 2049, + /** Space key **/ + ARKUI_KEYCODE_SPACE = 2050, + /** Symbol key **/ + ARKUI_KEYCODE_SYM = 2051, + /** Explorer key, used to start the explorer application **/ + ARKUI_KEYCODE_EXPLORER = 2052, + /** Email key, used to start the email application **/ + ARKUI_KEYCODE_ENVELOPE = 2053, + /** Enter key **/ + ARKUI_KEYCODE_ENTER = 2054, + /** Backspace key **/ + ARKUI_KEYCODE_DEL = 2055, + /** Key ` **/ + ARKUI_KEYCODE_GRAVE = 2056, + /** Key - **/ + ARKUI_KEYCODE_MINUS = 2057, + /** Key = **/ + ARKUI_KEYCODE_EQUALS = 2058, + /** Key [ **/ + ARKUI_KEYCODE_LEFT_BRACKET = 2059, + /** Key ]**/ + ARKUI_KEYCODE_RIGHT_BRACKET = 2060, + /** Key \\ **/ + ARKUI_KEYCODE_BACKSLASH = 2061, + /** Key ; **/ + ARKUI_KEYCODE_SEMICOLON = 2062, + /** Key ' **/ + ARKUI_KEYCODE_APOSTROPHE = 2063, + /** Key / **/ + ARKUI_KEYCODE_SLASH = 2064, + /** Key @ **/ + ARKUI_KEYCODE_AT = 2065, + /** Key + **/ + ARKUI_KEYCODE_PLUS = 2066, + /** Menu key **/ + ARKUI_KEYCODE_MENU = 2067, + /** Page Up key **/ + ARKUI_KEYCODE_PAGE_UP = 2068, + /** Page Down key **/ + ARKUI_KEYCODE_PAGE_DOWN = 2069, + /** ESC key **/ + ARKUI_KEYCODE_ESCAPE = 2070, + /** Delete key **/ + ARKUI_KEYCODE_FORWARD_DEL = 2071, + /** Left Ctrl key **/ + ARKUI_KEYCODE_CTRL_LEFT = 2072, + /** Right Ctrl key **/ + ARKUI_KEYCODE_CTRL_RIGHT = 2073, + /** Caps Lock key **/ + ARKUI_KEYCODE_CAPS_LOCK = 2074, + /** Scroll Lock key **/ + ARKUI_KEYCODE_SCROLL_LOCK = 2075, + /** Left Meta key **/ + ARKUI_KEYCODE_META_LEFT = 2076, + /** Right Meta key **/ + ARKUI_KEYCODE_META_RIGHT = 2077, + /** Function key **/ + ARKUI_KEYCODE_FUNCTION = 2078, + /** System Request/Print Screen key **/ + ARKUI_KEYCODE_SYSRQ = 2079, + /** Break/Pause key **/ + ARKUI_KEYCODE_BREAK = 2080, + /** Move to Home key **/ + ARKUI_KEYCODE_MOVE_HOME = 2081, + /** Move to End key **/ + ARKUI_KEYCODE_MOVE_END = 2082, + /** Insert key **/ + ARKUI_KEYCODE_INSERT = 2083, + /** Forward key **/ + ARKUI_KEYCODE_FORWARD = 2084, + /** Play key **/ + ARKUI_KEYCODE_MEDIA_PLAY = 2085, + /** Pause key **/ + ARKUI_KEYCODE_MEDIA_PAUSE = 2086, + /** Close key **/ + ARKUI_KEYCODE_MEDIA_CLOSE = 2087, + /** Eject key **/ + ARKUI_KEYCODE_MEDIA_EJECT = 2088, + /** Record key **/ + ARKUI_KEYCODE_MEDIA_RECORD = 2089, + /** F1 key **/ + ARKUI_KEYCODE_F1 = 2090, + /** F2 key **/ + ARKUI_KEYCODE_F2 = 2091, + /** F3 key **/ + ARKUI_KEYCODE_F3 = 2092, + /** F4 key **/ + ARKUI_KEYCODE_F4 = 2093, + /** F5 key **/ + ARKUI_KEYCODE_F5 = 2094, + /** F6 key **/ + ARKUI_KEYCODE_F6 = 2095, + /** F7 key **/ + ARKUI_KEYCODE_F7 = 2096, + /** F8 key **/ + ARKUI_KEYCODE_F8 = 2097, + /** F9 key **/ + ARKUI_KEYCODE_F9 = 2098, + /** F10 key **/ + ARKUI_KEYCODE_F10 = 2099, + /** F11 key **/ + ARKUI_KEYCODE_F11 = 2100, + /** F12 key **/ + ARKUI_KEYCODE_F12 = 2101, + /** Number Lock key on numeric keypad **/ + ARKUI_KEYCODE_NUM_LOCK = 2102, + /** Key 0 on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_0 = 2103, + /** Key 1 on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_1 = 2104, + /** Key 2 on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_2 = 2105, + /** Key 3 on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_3 = 2106, + /** Key 4 on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_4 = 2107, + /** Key 5 on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_5 = 2108, + /** Key 6 on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_6 = 2109, + /** Key 7 on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_7 = 2110, + /** Key 8 on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_8 = 2111, + /** Key 9 on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_9 = 2112, + /** Key / on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_DIVIDE = 2113, + /** Key ) on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_MULTIPLY = 2114, + /** Key - on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_SUBTRACT = 2115, + /** Key + on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_ADD = 2116, + /** Key . on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_DOT = 2117, + /** Key , on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_COMMA = 2118, + /** Enter key on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_ENTER = 2119, + /** Key = on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_EQUALS = 2120, + /** Key ( on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_LEFT_PAREN = 2121, + /** Key ) on numeric keypad **/ + ARKUI_KEYCODE_NUMPAD_RIGHT_PAREN = 2122, +} ArkUI_KeyCode; + +/** + * @brief Defines an enum for the key event types. + * + * @since 14 + */ +typedef enum { + /** Unknown type **/ + ARKUI_KEY_EVENT_UNKNOWN = -1, + /** Pressing of a key **/ + ARKUI_KEY_EVENT_DOWN = 0, + /** Release of a key **/ + ARKUI_KEY_EVENT_UP = 1, + /** Long press of a key **/ + ARKUI_KEY_EVENT_LONG_PRESS = 2, + /** Click of a key **/ + ARKUI_KEY_EVENT_CLICK = 3, +} ArkUI_KeyEventType; + +/** + * @brief Defines an enum for the types of devices that trigger a key event. + * + * @since 14 + */ +typedef enum { + /** Unknown type **/ + ARKUI_KEY_SOURCE_UNKNOWN = 0, + /** Mouse **/ + ARKUI_KEY_SOURCE_TYPE_MOUSE = 1, + /** Keyboard **/ + ARKUI_KEY_SOURCE_TYPE_KEYBOARD = 4, +} ArkUI_KeySourceType; + +/** + * @brief Defines an enum for key intentions. + * + * @since 14 + */ +typedef enum { + /** Unknown intention **/ + ARKUI_KEY_INTENSION_UNKNOWN = -1, + /**Upward**/ + ARKUI_KEY_INTENSION_UP = 1, + /** Downward **/ + ARKUI_KEY_INTENSION_DOWN = 2, + /** Leftward **/ + ARKUI_KEY_INTENSION_LEFT = 3, + /** Rightward **/ + ARKUI_KEY_INTENSION_RIGHT = 4, + /** Select **/ + ARKUI_KEY_INTENSION_SELECT = 5, + /** Escape **/ + ARKUI_KEY_INTENSION_ESCAPE = 6, + /** Back**/ + ARKUI_KEY_INTENSION_BACK = 7, + /** Forward **/ + ARKUI_KEY_INTENSION_FORWARD = 8, + /** Menu **/ + ARKUI_KEY_INTENSION_MENU = 9, + /** Home **/ + ARKUI_KEY_INTENSION_HOME = 10, + /** Page up **/ + ARKUI_KEY_INTENSION_PAGE_UP = 11, + /** Page down **/ + ARKUI_KEY_INTENSION_PAGE_DOWN = 12, + /** Zoom out **/ + ARKUI_KEY_INTENSION_ZOOM_OUT = 13, + /** Zoom in **/ + ARKUI_KEY_INTENSION_ZOOM_IN = 14, + + /** Play or pause **/ + ARKUI_KEY_INTENTION_MEDIA_PLAY_PAUSE = 100, + /** Fast-forward **/ + ARKUI_KEY_INTENTION_MEDIA_FAST_FORWARD = 101, + /** Fast playback **/ + ARKUI_KEY_INTENTION_MEDIA_FAST_PLAYBACK = 103, + /** Play next **/ + ARKUI_KEY_INTENTION_MEDIA_NEXT = 104, + /** Play previous **/ + ARKUI_KEY_INTENTION_MEDIA_PREVIOUS = 105, + /** Mute **/ + ARKUI_KEY_INTENTION_MEDIA_MUTE = 106, + /** Volume up **/ + ARKUI_KEY_INTENTION_VOLUME_UP = 107, + /** Volume down **/ + ARKUI_KEY_INTENTION_VOLUME_DOWN = 108, + + /** Answer a call **/ + ARKUI_KEY_INTENTION_CALL = 200, + /** Camera **/ + ARKUI_KEY_INTENTION_CAMERA = 300, +} ArkUI_KeyIntension; + +/** + * @brief Obtains the type of a key event. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @return Returns the key event type. + * @since 14 + */ +ArkUI_KeyEventType OH_ArkUI_KeyEvent_GetType(const ArkUI_UIInputEvent* event); + +/** + * @brief Obtains the key code from a key event. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @return Returns the key code. + * @since 14 + */ +int32_t OH_ArkUI_KeyEvent_GetKeyCode(const ArkUI_UIInputEvent* event); + +/** + * @brief Obtains the key value from a key event. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @return Returns the key value. + * @since 14 + */ +const char *OH_ArkUI_KeyEvent_GetKeyText(const ArkUI_UIInputEvent* event); + +/** + * @brief Obtains the type of device that triggers a key event. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @return Returns the device type. + * @since 14 + */ +ArkUI_KeySourceType OH_ArkUI_KeyEvent_GetKeySource(const ArkUI_UIInputEvent* event); + +/** + * @brief Obtains the ID of device that triggers a key event. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @return Returns the device ID. + * @since 14 + */ +int32_t OH_ArkUI_KeyEvent_GetDeviceId(const ArkUI_UIInputEvent* event); + +/** + * @brief Obtains the state of the meta key (that is, the WIN key on the Windows keyboard or the Command + * key on the Mac keyboard) when a key event occurs. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @return Returns the state of the meta key. The value 1 means that the key is pressed, and 0 means the + * opposite. + * @since 14 + */ +int32_t OH_ArkUI_KeyEvent_GetMetaKey(const ArkUI_UIInputEvent* event); + +/** + * @brief Obtains the timestamp of a key event. It is the interval between the time when the event is triggered and the + * time when the system starts, in nanoseconds. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @return Returns the event timestamp, in nanoseconds. + * @since 14 + */ +uint64_t OH_ArkUI_KeyEvent_GetTimestamp(const ArkUI_UIInputEvent* event); + +/** + * @brief Prevents a key event from bubbling up. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @param stopPropagation Whether to stop event propagation. + * @since 14 + */ +void OH_ArkUI_KeyEvent_StopPropagation(const ArkUI_UIInputEvent* event, bool stopPropagation); + +/** + * @brief Obtains the pressed status of modifier keys from a key event. + * The following modifier keys are supported: Ctrl, Alt, Shift, Fn. However, the Fn key on external keyboards + * is not supported. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @param modifierKeys Modifier keys to check, which must be created using {@link ArkUI_ModifierKeyName}. + * @return Returns whether the pressed status of the modifier keys. + * @since 14 + */ +bool OH_ArkUI_KeyEvent_GetModifierKeyState(const ArkUI_UIInputEvent* event, uint32_t modifierKeys); + +/** + * @brief Obtains the intention code associated with a key event. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @return Returns the intention code associated with the key event. + * @since 14 + */ +ArkUI_KeyIntension OH_ArkUI_KeyEvent_GetKeyIntensionCode(const ArkUI_UIInputEvent* event); + +/** + * @brief Obtains the Unicode value associated with a key event. + * Non-space basic Latin characters in the 0x0021-0x007E range are supported. Characters with a value of 0 are not + * supported. In the case of key combination, this API returns the Unicode value of the key corresponding to the key + * event. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @return Returns the Unicode value. + * @since 14 + */ +uint32_t OH_ArkUI_KeyEvent_GetUnicode(const ArkUI_UIInputEvent* event); + +/** + * @brief Sets whether a key event is consumed in the key event callback. + * + * @param event Pointer to an ArkUI_UIInputEvent object. + * @param isConsumed Whether the event is consumed. + * @since 14 + */ +void OH_ArkUI_KeyEvent_SetConsumed(const ArkUI_UIInputEvent* event, bool isConsumed); +#ifdef __cplusplus +}; +#endif + +#endif // ARKUI_NATIVE_KEY_EVENT_H +/** @} */ \ No newline at end of file diff --git a/arkui/ace_engine/native/native_node.h b/arkui/ace_engine/native/native_node.h index d57414dcc..0348b322d 100644 --- a/arkui/ace_engine/native/native_node.h +++ b/arkui/ace_engine/native/native_node.h @@ -5661,6 +5661,31 @@ typedef enum { * {@link ArkUI_NodeEvent} object. \n */ NODE_ON_DRAG_END = 20, + /** + * @brief Defines the event triggered when a key event occurs. + * + * The callback can be triggered during interactions with a focused window using an external keyboard or other input + * device. \n + * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is + * {@link ArkUI_NodeComponentEvent}. \n + * + * @since 14 + */ + NODE_ON_KEY_EVENT = 21, + /** + * @brief Defines the event triggered before the input method responds to the key action. + * + * If the return value of this callback is true, it is considered that the key event has been consumed, and + * subsequent event callbacks (keyboardShortcut, input method events, onKeyEvent) will be intercepted + * and no longer triggered. + * The callback can be triggered during interactions with a focused window using an external keyboard or other input + * device. \n + * When the event callback occurs, the union type in the {@link ArkUI_NodeEvent} object is + * {@link ArkUI_NodeComponentEvent}. \n + * + * @since 14 + */ + NODE_ON_KEY_PRE_IME = 22, /** * @brief Triggers onDetectResultUpdate callback -- Gitee From 6ef94e3de0c9efdd512278f2d6098295b488807a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B4=94=E6=B4=AA=E6=96=8C?= Date: Tue, 12 Nov 2024 10:35:01 +0800 Subject: [PATCH 358/359] =?UTF-8?q?=E7=AA=97=E5=8F=A3=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E7=BC=96=E8=AF=91=E5=91=8A=E8=AD=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 崔洪斌 --- arkui/window_manager/oh_window_event_filter.h | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/arkui/window_manager/oh_window_event_filter.h b/arkui/window_manager/oh_window_event_filter.h index 783e8c5c2..e4651cd59 100644 --- a/arkui/window_manager/oh_window_event_filter.h +++ b/arkui/window_manager/oh_window_event_filter.h @@ -12,15 +12,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -#ifndef INCLUDE_OH_WINDOW_EVENT_FILTER_H -#define INCLUDE_OH_WINDOW_EVENT_FILTER_H - /** * @addtogroup WindowManager_NativeModule * @{ * - * * @brief Provides abilities of windowManager on the native side, such as key event * filtration. * @@ -37,6 +33,10 @@ * @kit ArkUI * @since 12 */ + +#ifndef INCLUDE_OH_WINDOW_EVENT_FILTER_H +#define INCLUDE_OH_WINDOW_EVENT_FILTER_H + #include "stdbool.h" #include "stdint.h" #include "oh_window_comm.h" @@ -79,4 +79,5 @@ WindowManager_ErrorCode OH_NativeWindowManager_UnregisterKeyEventFilter(int32_t } #endif -#endif // INCLUDE_OH_WINDOW_EVENT_FILTER_H \ No newline at end of file +#endif // INCLUDE_OH_WINDOW_EVENT_FILTER_H +/** @} */ \ No newline at end of file -- Gitee From 724a7784094a0cba6cd33ca51f3208421af79ac7 Mon Sep 17 00:00:00 2001 From: MengYao Date: Wed, 13 Nov 2024 18:29:25 +0800 Subject: [PATCH 359/359] =?UTF-8?q?C=20API=E8=AF=AD=E6=B3=95=E6=95=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: MengYao --- .../relational_store/include/data_asset.h | 2 +- .../relational_store/include/oh_cursor.h | 11 ++++++++++- .../relational_store/include/oh_predicates.h | 9 ++++++++- .../relational_store/include/oh_value_object.h | 9 ++++++++- .../relational_store/include/oh_values_bucket.h | 9 ++++++++- 5 files changed, 35 insertions(+), 5 deletions(-) diff --git a/distributeddatamgr/relational_store/include/data_asset.h b/distributeddatamgr/relational_store/include/data_asset.h index a8bc9e16a..a784b51de 100644 --- a/distributeddatamgr/relational_store/include/data_asset.h +++ b/distributeddatamgr/relational_store/include/data_asset.h @@ -36,7 +36,7 @@ * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core * @since 11 */ -#include +#include #include #ifdef __cplusplus extern "C" { diff --git a/distributeddatamgr/relational_store/include/oh_cursor.h b/distributeddatamgr/relational_store/include/oh_cursor.h index 30d208ab4..232e521a7 100644 --- a/distributeddatamgr/relational_store/include/oh_cursor.h +++ b/distributeddatamgr/relational_store/include/oh_cursor.h @@ -38,7 +38,7 @@ * @since 10 */ -#include +#include #include #include #include "database/data/data_asset.h" @@ -86,6 +86,15 @@ typedef enum OH_ColumnType { TYPE_ASSETS } OH_ColumnType; +/** + * @brief Define the OH_Cursor structure type. + * + * Provides methods for accessing a database result set generated by query the database. + * + * @since 10 + */ +typedef struct OH_Cursor OH_Cursor; + /** * @brief Define the OH_Cursor structure type. * diff --git a/distributeddatamgr/relational_store/include/oh_predicates.h b/distributeddatamgr/relational_store/include/oh_predicates.h index 71f496459..a73410b47 100644 --- a/distributeddatamgr/relational_store/include/oh_predicates.h +++ b/distributeddatamgr/relational_store/include/oh_predicates.h @@ -38,7 +38,7 @@ * @since 10 */ -#include +#include #include #include "database/rdb/oh_value_object.h" @@ -62,6 +62,13 @@ typedef enum OH_OrderType { DESC = 1, } OH_OrderType; +/** + * @brief Define the OH_Predicates structure type. + * + * @since 10 + */ +typedef struct OH_Predicates OH_Predicates; + /** * @brief Define the OH_Predicates structure type. * diff --git a/distributeddatamgr/relational_store/include/oh_value_object.h b/distributeddatamgr/relational_store/include/oh_value_object.h index dbe5d0d18..7fedc3650 100644 --- a/distributeddatamgr/relational_store/include/oh_value_object.h +++ b/distributeddatamgr/relational_store/include/oh_value_object.h @@ -38,11 +38,18 @@ * @since 10 */ -#include +#include #ifdef __cplusplus extern "C" { #endif +/** + * @brief Define the OH_VObject structure type. + * + * @since 10 + */ +typedef struct OH_VObject OH_VObject; + /** * @brief Define the OH_VObject structure type. * diff --git a/distributeddatamgr/relational_store/include/oh_values_bucket.h b/distributeddatamgr/relational_store/include/oh_values_bucket.h index db822d1de..7c0457e9c 100644 --- a/distributeddatamgr/relational_store/include/oh_values_bucket.h +++ b/distributeddatamgr/relational_store/include/oh_values_bucket.h @@ -38,12 +38,19 @@ * @since 10 */ -#include +#include #include "database/data/data_asset.h" #ifdef __cplusplus extern "C" { #endif +/** + * @brief Define the OH_VBucket structure type. + * + * @since 10 + */ +typedef struct OH_VBucket OH_VBucket; + /** * @brief Define the OH_VBucket structure type. * -- Gitee