/* * Copyright (c) 2023 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package ohos.hdi.display.buffer.v1_1; interface IMetadata { /** * @brief Init Buffer after IPC * * @param handle The input buffer handle * * @return Returns 0 if the operation is successful; returns an error code defined * in {@link DispErrCode} otherwise. * @since 4.1 * @version 1.1 */ RegisterBuffer([in] NativeBuffer handle); /** * @brief set metadata * * @param handle The input buffer handle * @param key metadata key * @param value metadata value * * @return Returns 0 if the operation is successful; returns an error code defined * in {@link DispErrCode} otherwise. * @since 4.1 * @version 1.1 */ SetMetadata([in] NativeBuffer handle, [in] unsigned int key, [in] unsigned char[] value); /** * @brief get metadata * * @param handle The input buffer handle * @param key metadata key * @param value metadata value * * @return Returns 0 if the operation is successful; returns an error code defined * in {@link DispErrCode} otherwise. * @since 4.1 * @version 1.1 */ GetMetadata([in] NativeBuffer handle, [in] unsigned int key, [out] unsigned char[] value); /** * @brief list metadata keys * * @param handle The input buffer handle * @param keys metadata keys * * @return Returns 0 if the operation is successful; returns an error code defined * in {@link DispErrCode} otherwise. * @since 4.1 * @version 1.1 */ ListMetadataKeys([in] NativeBuffer handle, [out] unsigned int[] keys); /** * @brief erase metadata by key * * @param handle The input buffer handle * @param key the metadata key to be erased * * @return Returns 0 if the operation is successful; returns an error code defined * in {@link DispErrCode} otherwise. * @since 4.1 * @version 1.1 */ EraseMetadataKey([in] NativeBuffer handle, [in] unsigned int key); }