diff --git a/distributeddatamgr/relational_store/BUILD.gn b/distributeddatamgr/relational_store/BUILD.gn index 203e78f46fadac4b94fe18bc93e8e9567c82b77e..560c94d4d153579497dd4bea9a91509e5015cec4 100644 --- a/distributeddatamgr/relational_store/BUILD.gn +++ b/distributeddatamgr/relational_store/BUILD.gn @@ -21,6 +21,7 @@ ohos_ndk_headers("native_rdb_ndk_header") { "./include/oh_cursor.h", "./include/oh_predicates.h", "./include/oh_rdb_transaction.h", + "./include/oh_rdb_types.h", "./include/oh_value_object.h", "./include/oh_values_bucket.h", "./include/relational_store.h", @@ -52,9 +53,10 @@ ohos_ndk_library("libnative_rdb_ndk") { "$ndk_headers_out_dir/database/rdb/oh_cursor.h", "$ndk_headers_out_dir/database/rdb/oh_predicates.h", "$ndk_headers_out_dir/database/rdb/oh_rdb_transaction.h", + "$ndk_headers_out_dir/database/rdb/oh_rdb_types.h", "$ndk_headers_out_dir/database/rdb/oh_value_object.h", "$ndk_headers_out_dir/database/rdb/oh_values_bucket.h", "$ndk_headers_out_dir/database/rdb/relational_store.h", "$ndk_headers_out_dir/database/rdb/relational_store_error_code.h", ] -} \ No newline at end of file +} diff --git a/distributeddatamgr/relational_store/include/oh_rdb_transaction.h b/distributeddatamgr/relational_store/include/oh_rdb_transaction.h index e302f677d6014ff43e735f2445db475c84ee6d66..fef7298671cefbebbb5752a029ec9b87ff790b0f 100644 --- a/distributeddatamgr/relational_store/include/oh_rdb_transaction.h +++ b/distributeddatamgr/relational_store/include/oh_rdb_transaction.h @@ -43,6 +43,7 @@ #include "database/rdb/oh_cursor.h" #include "database/rdb/oh_predicates.h" #include "database/rdb/oh_values_bucket.h" +#include "database/rdb/oh_rdb_types.h" #include "database/data/oh_data_values.h" #include "database/data/oh_data_values_buckets.h" @@ -198,6 +199,7 @@ int OH_RdbTrans_Insert(OH_Rdb_Transaction *trans, const char *table, const OH_VB * @param trans Represents a pointer to an instance of OH_Rdb_Transaction. * @param table Represents the target table. * @param rows Represents the rows data to be inserted into the table. + * @param resolution Represents the resolution when conflict occurs. * @param changes Represents the number of successful insertions. * @return Returns the status code of the execution. * Returns {@link RDB_OK} if the execution is successful. @@ -215,10 +217,11 @@ int OH_RdbTrans_Insert(OH_Rdb_Transaction *trans, const char *table, const OH_VB * Returns {@link RDB_E_SQLITE_IOERR} SQLite: Some kind of disk I/O error occurred. * Returns {@link RDB_E_SQLITE_TOO_BIG} SQLite: TEXT or BLOB exceeds size limit. * Returns {@link RDB_E_SQLITE_MISMATCH} SQLite: Data type mismatch. + * Returns {@link RDB_E_SQLITE_CONSTRAINT} SQLite: Abort due to constraint violation. * @since 16 */ int OH_RdbTrans_BatchInsert(OH_Rdb_Transaction *trans, const char *table, const OH_Data_VBuckets *rows, - int64_t *changes); + Rdb_ConflictResolution resolution, int64_t *changes); /** * @brief Updates data in the database based on specified conditions. diff --git a/distributeddatamgr/relational_store/include/oh_rdb_types.h b/distributeddatamgr/relational_store/include/oh_rdb_types.h new file mode 100644 index 0000000000000000000000000000000000000000..5080ae645fbcfbea0461c87fe3a07bed42855d64 --- /dev/null +++ b/distributeddatamgr/relational_store/include/oh_rdb_types.h @@ -0,0 +1,83 @@ +/* + * Copyright (c) 2025 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 RDB + * @{ + * + * @brief The relational database (RDB) store manages data based on relational models. + * With the underlying SQLite database, the RDB store provides a complete mechanism for managing local databases. + * To satisfy different needs in complicated scenarios, the RDB store offers a series of APIs for performing operations + * such as adding, deleting, modifying, and querying data, and supports direct execution of SQL statements. + * + * @since 10 + */ + +/** + * @file oh_rdb_types.h + * + * @brief Provides type define related to the data value. + * + * @kit ArkData + * @library libnative_rdb_ndk.z.so + * @syscap SystemCapability.DistributedDataManager.RelationalStore.Core + * + * @since 16 + */ + +#ifndef OH_RDB_TYPES_H +#define OH_RDB_TYPES_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Describe the security area of the database. + * + * @since 16 + */ +typedef enum Rdb_ConflictResolution { + /** + * @brief Implements no operation when conflict occurs. + */ + RDB_CONFLICT_NONE = 1, + /** + * @brief Implements rollback operation when conflict occurs. + */ + RDB_CONFLICT_ROLLBACK, + /** + * @brief Implements abort operation when conflict occurs. + */ + RDB_CONFLICT_ABORT, + /** + * @brief Implements fail operation when conflict occurs. + */ + RDB_CONFLICT_FAIL, + /** + * @brief Implements ignore operation when conflict occurs. + */ + RDB_CONFLICT_IGNORE, + /** + * @brief Implements replace operation when conflict occurs. + */ + RDB_CONFLICT_REPLACE, +} Rdb_ConflictResolution; + +#ifdef __cplusplus +}; +#endif +#endif +/** @} */ \ No newline at end of file diff --git a/distributeddatamgr/relational_store/include/relational_store.h b/distributeddatamgr/relational_store/include/relational_store.h index 01149c1b412538cff7cd12c2f058b4957a6718c1..1974af547d26c93596ceb236103804062e28cda3 100644 --- a/distributeddatamgr/relational_store/include/relational_store.h +++ b/distributeddatamgr/relational_store/include/relational_store.h @@ -44,6 +44,7 @@ #include "database/rdb/oh_value_object.h" #include "database/rdb/oh_values_bucket.h" #include "database/rdb/oh_rdb_transaction.h" +#include "database/rdb/oh_rdb_types.h" #ifdef __cplusplus extern "C" { @@ -487,6 +488,36 @@ int OH_Rdb_DeleteStoreV2(const OH_Rdb_ConfigV2 *config); */ int OH_Rdb_Insert(OH_Rdb_Store *store, const char *table, OH_VBucket *valuesBucket); +/** + * @brief Inserts a batch of data into the target table. + * + * @param store Represents a pointer to an {@link OH_Rdb_Store} instance. + * @param table Represents the target table. + * @param rows Represents the rows data to be inserted into the table. + * @param resolution Represents the resolution when conflict occurs. + * @param changes Represents the number of successful insertions. + * @return Returns the status code of the execution. + * Returns {@link RDB_OK} if the execution is successful. + * Returns {@link RDB_E_ERROR} database common error. + * Returns {@link RDB_E_INVALID_ARGS} if invalid input parameter. + * Returns {@link RDB_E_ALREADY_CLOSED} database already closed. + * Returns {@link RDB_E_WAL_SIZE_OVER_LIMIT} the WAL file size over default limit. + * Returns {@link RDB_E_SQLITE_FULL} SQLite: The database is full. + * Returns {@link RDB_E_SQLITE_CORRUPT} database corrupted. + * Returns {@link RDB_E_SQLITE_PERM} SQLite: Access permission denied. + * Returns {@link RDB_E_SQLITE_BUSY} SQLite: The database file is locked. + * Returns {@link RDB_E_SQLITE_LOCKED} SQLite: A table in the database is locked. + * Returns {@link RDB_E_SQLITE_NOMEM} SQLite: The database is out of memory. + * Returns {@link RDB_E_SQLITE_READONLY} SQLite: Attempt to write a readonly database. + * Returns {@link RDB_E_SQLITE_IOERR} SQLite: Some kind of disk I/O error occurred. + * Returns {@link RDB_E_SQLITE_TOO_BIG} SQLite: TEXT or BLOB exceeds size limit. + * Returns {@link RDB_E_SQLITE_MISMATCH} SQLite: Data type mismatch. + * Returns {@link RDB_E_SQLITE_CONSTRAINT} SQLite: Abort due to constraint violation. + * @since 16 + */ +int OH_Rdb_BatchInsert(OH_Rdb_Store *store, const char *table, + const OH_Data_VBuckets *rows, Rdb_ConflictResolution resolution, int64_t *changes); + /** * @brief Updates data in the database based on specified conditions. * diff --git a/distributeddatamgr/relational_store/include/relational_store_error_code.h b/distributeddatamgr/relational_store/include/relational_store_error_code.h index fb9a20805e5c74b1d2fc273c6e045ffde0324ac4..64ec5db2a93a189da25d9d92b171364e98e0828b 100644 --- a/distributeddatamgr/relational_store/include/relational_store_error_code.h +++ b/distributeddatamgr/relational_store/include/relational_store_error_code.h @@ -413,6 +413,13 @@ typedef enum OH_Rdb_ErrCode { * @since 16 */ RDB_E_TYPE_MISMATCH = (E_BASE + 64), + + /** + * @brief Data value type is null. + * + * @since 16 + */ + RDB_E_SQLITE_CONSTRAINT = (E_BASE + 65), } OH_Rdb_ErrCode; #ifdef __cplusplus diff --git a/distributeddatamgr/relational_store/libnative_rdb.ndk.json b/distributeddatamgr/relational_store/libnative_rdb.ndk.json index 72944429222dc602042e6c54e85aa56f489481a6..afa90061361be0e3e3cee1aa6efc69073695f6dd 100644 --- a/distributeddatamgr/relational_store/libnative_rdb.ndk.json +++ b/distributeddatamgr/relational_store/libnative_rdb.ndk.json @@ -70,6 +70,10 @@ { "name":"OH_Rdb_Insert" }, + { + "first_introduced": "16", + "name":"OH_Rdb_BatchInsert" + }, { "name":"OH_Rdb_Update" }, diff --git a/graphic/graphic_2d/native_drawing/drawing_gpu_context.h b/graphic/graphic_2d/native_drawing/drawing_gpu_context.h index 9bc3239bd5b377eaad653506a1f61b695365747c..1949a5e725f78c553096ebece81194d738b81f27 100644 --- a/graphic/graphic_2d/native_drawing/drawing_gpu_context.h +++ b/graphic/graphic_2d/native_drawing/drawing_gpu_context.h @@ -76,7 +76,7 @@ OH_Drawing_GpuContext* OH_Drawing_GpuContextCreateFromGL(OH_Drawing_GpuContextOp * @since 16 * @version 1.0 */ -OH_Drawing_GpuContext* OH_Drawing_GpuContextCreate(); +OH_Drawing_GpuContext* OH_Drawing_GpuContextCreate(void); /** * @brief Destroys an OH_Drawing_GpuContext object and reclaims the memory occupied by the object. diff --git a/graphic/graphic_2d/native_drawing/drawing_path_effect.h b/graphic/graphic_2d/native_drawing/drawing_path_effect.h index 78c5d8f09653f0f3d2bcb874bc0fcc1d70359e58..e89201d142664b06592abf22db67c81b818e84e4 100644 --- a/graphic/graphic_2d/native_drawing/drawing_path_effect.h +++ b/graphic/graphic_2d/native_drawing/drawing_path_effect.h @@ -47,19 +47,19 @@ extern "C" { #endif /** - * @brief Enumerate path effect types. + * @brief Enumerate path dash style. * * @since 16 * @version 1.0 */ typedef enum { - /** Indicates that the path effect is a translation effect. */ - PATH_EFFECT_TRANSLATE, - /** Indicates that the path effect is a rotation effect. */ - PATH_EFFECT_ROTATE, - /** Indicates that the path effect is a morph effect. */ - PATH_EFFECT_MORPH, -} OH_Drawing_PathEffectType; + /** Indicates translation effect. */ + DRAWING_PATH_DASH_STYLE_TRANSLATE, + /** Indicates rotation effect. */ + DRAWING_PATH_DASH_STYLE_ROTATE, + /** Indicates morph effect. */ + DRAWING_PATH_DASH_STYLE_MORPH, +} OH_Drawing_PathDashStyle; /** * @brief Creates an OH_Drawing_PathEffect object that is a combination of paths, @@ -121,7 +121,7 @@ OH_Drawing_PathEffect* OH_Drawing_CreateDiscretePathEffect(float segLength, floa * @param path Indicates the pointer to an OH_Drawing_Path object. * @param advance Indicates the distance between the dashed segments. * @param phase Indicates the offset into intervals array. - * @param type Indicates the type of the path effect. + * @param type Indicates the type of the path dash effect. * @return Returns the pointer to the OH_Drawing_PathEffect object created. * If nullptr is returned, the creation fails. * The possible cause of the failure is advance and phase are zero or less. @@ -129,7 +129,7 @@ OH_Drawing_PathEffect* OH_Drawing_CreateDiscretePathEffect(float segLength, floa * @version 1.0 */ OH_Drawing_PathEffect* OH_Drawing_CreatePathDashEffect(const OH_Drawing_Path* path, float advance, float phase, - OH_Drawing_PathEffectType type); + OH_Drawing_PathDashStyle type); /** * @brief Creates an OH_Drawing_PathEffect object by overlaying two path effects. diff --git a/multimedia/image_framework/include/image/image_source_native.h b/multimedia/image_framework/include/image/image_source_native.h index 73deea8022baa5b9cbcc1eb7301e5ad8d33fba9e..9922b0e8ca55804a6ed1b9153155595368aaeffd 100644 --- a/multimedia/image_framework/include/image/image_source_native.h +++ b/multimedia/image_framework/include/image/image_source_native.h @@ -118,6 +118,23 @@ typedef enum { IMAGE_ALLOCATOR_TYPE_SHARE_MEMORY = 2, } IMAGE_ALLOCATOR_TYPE; +/** + * @brief Confirm the enumeration type for decoding and scaling order of the region. + * + * @since 16 + */ +typedef enum { + /* + * First scale, then crop. + */ + SCALE_FIRST = 1, + /* + * Perform region decoding first, then scaling. + */ + CROP_FIRST = 2 +} CROP_SCALE_STRATEGY; + + /** * @brief Create a pointer for OH_ImageSource_Info struct. * @@ -207,6 +224,29 @@ Image_ErrorCode OH_DecodingOptions_GetPixelFormat(OH_DecodingOptions *options, Image_ErrorCode OH_DecodingOptions_SetPixelFormat(OH_DecodingOptions *options, int32_t pixelFormat); + +/** + * @brief Get strategy number for OH_DecodingOptions struct. + * + * @param options The OH_DecodingOptions pointer will be operated. + * @param cropAndScaleStrategy the number of Scaling and cropping strategy. + * @return Returns {@link Image_ErrorCode} + * @since 16 + */ +Image_ErrorCode OH_DecodingOptions_GetCropAndScaleStrategy(OH_DecodingOptions *options, + int32_t *cropAndScaleStrategy); + +/** + * @brief Set strategy number for OH_DecodingOptions struct. + * + * @param options The OH_DecodingOptions pointer will be operated. + * @param cropAndScaleStrategy the number of Scaling and cropping strategy. + * @return Returns {@link Image_ErrorCode} + * @since 16 + */ +Image_ErrorCode OH_DecodingOptions_SetCropAndScaleStrategy(OH_DecodingOptions *options, + int32_t cropAndScaleStrategy); + /** * @brief Get index number for OH_DecodingOptions struct. * diff --git a/multimedia/media_foundation/native_averrors.h b/multimedia/media_foundation/native_averrors.h index 80cf8d2924e1cdc92285c89c55fd2c43c928316e..2fedd0834a1477db09f5e5dbc278f0b071e442de 100644 --- a/multimedia/media_foundation/native_averrors.h +++ b/multimedia/media_foundation/native_averrors.h @@ -94,6 +94,11 @@ typedef enum OH_AVErrCode { * @since 12 */ AV_ERR_INPUT_DATA_ERROR = 10, + /** + * @error unsupported format. + * @since 16 + */ + AV_ERR_UNSUPPORTED_FORMAT = 11, /** * @error extend err start. */ diff --git a/multimedia/player_framework/avimage_generator.h b/multimedia/player_framework/avimage_generator.h index 0ae5a5b285a6152dbdb32403b39a7ee6d3f86719..261202db72ec4d093649d0d67d2805d5a826e235 100644 --- a/multimedia/player_framework/avimage_generator.h +++ b/multimedia/player_framework/avimage_generator.h @@ -77,7 +77,9 @@ OH_AVImageGenerator* OH_AVImageGenerator_Create(void); * @param size Indicates the size of media source. * @return Function result code. * {@link AV_ERR_OK} if the execution is successful. - * {@link AV_ERR_INPUT_DATA_ERROR} if input generator is nullptr or input param is invalid. + * {@link AV_ERR_INVALID_VAL} if input generator is nullptr or input param is invalid. + * {@link AV_ERR_OPERATE_NOT_PERMIT} if operation not allowed. + * {@link AV_ERR_NO_MEMORY} if internal memory allocation failed. * @since 16 */ OH_AVErrCode OH_AVImageGenerator_SetFDSource(OH_AVImageGenerator* generator, @@ -96,8 +98,10 @@ OH_AVErrCode OH_AVImageGenerator_SetFDSource(OH_AVImageGenerator* generator, * @param pixelMap The fetched output image from the video source. For details, see {@link OH_PixelmapNative}. * @return Function result code. * {@link AV_ERR_OK} if the execution is successful. - * {@link AV_ERR_INPUT_DATA_ERROR} if input generator is nullptr or input param is invalid. + * {@link AV_ERR_INVALID_VAL} if input generator is nullptr or input param is invalid. * {@link AV_ERR_OPERATE_NOT_PERMIT} if operation not allowed. + * {@link AV_ERR_UNSUPPORTED_FORMAT} if format is unsupported. + * {@link AV_ERR_NO_MEMORY} if internal memory allocation failed. * @since 16 */ OH_AVErrCode OH_AVImageGenerator_FetchFrameByTime(OH_AVImageGenerator* generator, @@ -110,8 +114,7 @@ OH_AVErrCode OH_AVImageGenerator_FetchFrameByTime(OH_AVImageGenerator* generator * @param generator Pointer to an OH_AVImageGenerator instance. * @return Function result code. * {@link AV_ERR_OK} if the execution is successful. - * {@link AV_ERR_INPUT_DATA_ERROR} if input generator is nullptr or input param is invalid. - * {@link AV_ERR_OPERATE_NOT_PERMIT} if operation not allowed. + * {@link AV_ERR_INVALID_VAL} if input generator is nullptr or input param is invalid. * @since 16 */ OH_AVErrCode OH_AVImageGenerator_Release(OH_AVImageGenerator* generator); diff --git a/multimedia/player_framework/avmetadata_extractor.h b/multimedia/player_framework/avmetadata_extractor.h index b6d5bba33acc4738b440d1c0394ddbd78cd0a275..cb54f5c8949e32cc6fc0b38c70d679877c061449 100644 --- a/multimedia/player_framework/avmetadata_extractor.h +++ b/multimedia/player_framework/avmetadata_extractor.h @@ -79,7 +79,9 @@ OH_AVMetadataExtractor* OH_AVMetadataExtractor_Create(void); * @param size Indicates the size of media source. * @return Function result code. * {@link AV_ERR_OK} if the execution is successful. - * {@link AV_ERR_INPUT_DATA_ERROR} if input extractor is nullptr or input param is invalid. + * {@link AV_ERR_INVALID_VAL} if input extractor is nullptr or input param is invalid. + * {@link AV_ERR_OPERATE_NOT_PERMIT} if operation not allowed. + * {@link AV_ERR_NO_MEMORY} if internal memory allocation failed. * @since 16 */ OH_AVErrCode OH_AVMetadataExtractor_SetFDSource(OH_AVMetadataExtractor* extractor, @@ -94,8 +96,10 @@ OH_AVErrCode OH_AVMetadataExtractor_SetFDSource(OH_AVMetadataExtractor* extracto * @param avMetadata Pointer to an {@link OH_AVFormat} instance, its content contains the fetched metadata info. * @return Function result code. * {@link AV_ERR_OK} if the execution is successful. - * {@link AV_ERR_INPUT_DATA_ERROR} if input extractor is nullptr or input param is invalid. + * {@link AV_ERR_INVALID_VAL} if input extractor is nullptr or input param is invalid. * {@link AV_ERR_OPERATE_NOT_PERMIT} if operation not allowed. + * {@link AV_ERR_UNSUPPORTED_FORMAT} if format is unsupported. + * {@link AV_ERR_NO_MEMORY} if internal memory allocation failed. * @since 16 */ OH_AVErrCode OH_AVMetadataExtractor_FetchMetadata(OH_AVMetadataExtractor* extractor, OH_AVFormat* avMetadata); @@ -109,8 +113,10 @@ OH_AVErrCode OH_AVMetadataExtractor_FetchMetadata(OH_AVMetadataExtractor* extrac * @param pixelMap The fetched album cover from the audio source. For details, see {@link OH_PixelmapNative}. * @return Function result code. * {@link AV_ERR_OK} if the execution is successful. - * {@link AV_ERR_INPUT_DATA_ERROR} if input extractor is nullptr or input param is invalid. + * {@link AV_ERR_INVALID_VAL} if input extractor is nullptr or input param is invalid. * {@link AV_ERR_OPERATE_NOT_PERMIT} if operation not allowed. + * {@link AV_ERR_UNSUPPORTED_FORMAT} if format is unsupported. + * {@link AV_ERR_NO_MEMORY} if internal memory allocation failed. * @since 16 */ OH_AVErrCode OH_AVMetadataExtractor_FetchAlbumCover(OH_AVMetadataExtractor* extractor, OH_PixelmapNative** pixelMap); @@ -122,8 +128,7 @@ OH_AVErrCode OH_AVMetadataExtractor_FetchAlbumCover(OH_AVMetadataExtractor* extr * @param extractor Pointer to an OH_AVMetadataExtractor instance. * @return Function result code. * {@link AV_ERR_OK} if the execution is successful. - * {@link AV_ERR_INPUT_DATA_ERROR} if input extractor is nullptr or input param is invalid. - * {@link AV_ERR_OPERATE_NOT_PERMIT} if operation not allowed. + * {@link AV_ERR_INVALID_VAL} if input extractor is nullptr or input param is invalid. * @since 16 */ OH_AVErrCode OH_AVMetadataExtractor_Release(OH_AVMetadataExtractor* extractor);