17777dab0Sopenharmony_ci/* 27777dab0Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 37777dab0Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 47777dab0Sopenharmony_ci * you may not use this file except in compliance with the License. 57777dab0Sopenharmony_ci * You may obtain a copy of the License at 67777dab0Sopenharmony_ci * 77777dab0Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 87777dab0Sopenharmony_ci * 97777dab0Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 107777dab0Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 117777dab0Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 127777dab0Sopenharmony_ci * See the License for the specific language governing permissions and 137777dab0Sopenharmony_ci * limitations under the License. 147777dab0Sopenharmony_ci */ 157777dab0Sopenharmony_ci 167777dab0Sopenharmony_ci/** 177777dab0Sopenharmony_ci * @addtogroup OH_CommonEvent 187777dab0Sopenharmony_ci * @{ 197777dab0Sopenharmony_ci * 207777dab0Sopenharmony_ci * @brief Provides the APIs of common event service. 217777dab0Sopenharmony_ci * 227777dab0Sopenharmony_ci * @since 12 237777dab0Sopenharmony_ci */ 247777dab0Sopenharmony_ci/** 257777dab0Sopenharmony_ci * @file oh_commonevent.h 267777dab0Sopenharmony_ci * 277777dab0Sopenharmony_ci * @brief Declares the APIs to subscribe and unsubscribe common event, and so on. 287777dab0Sopenharmony_ci * 297777dab0Sopenharmony_ci * @library libohcommonevent.so 307777dab0Sopenharmony_ci * @kit BasicServicesKit 317777dab0Sopenharmony_ci * @syscap SystemCapability.Notification.CommonEvent 327777dab0Sopenharmony_ci * @since 12 337777dab0Sopenharmony_ci * @version 1.0 347777dab0Sopenharmony_ci */ 357777dab0Sopenharmony_ci 367777dab0Sopenharmony_ci#ifndef OH_COMMONEVENT_H 377777dab0Sopenharmony_ci#define OH_COMMONEVENT_H 387777dab0Sopenharmony_ci 397777dab0Sopenharmony_ci#include <stdint.h> 407777dab0Sopenharmony_ci 417777dab0Sopenharmony_ci#ifdef __cplusplus 427777dab0Sopenharmony_ciextern "C" { 437777dab0Sopenharmony_ci#endif 447777dab0Sopenharmony_ci 457777dab0Sopenharmony_ci/** 467777dab0Sopenharmony_ci * @brief Defines error codes. 477777dab0Sopenharmony_ci * 487777dab0Sopenharmony_ci * @since 12 497777dab0Sopenharmony_ci * @version 1.0 507777dab0Sopenharmony_ci */ 517777dab0Sopenharmony_citypedef enum CommonEvent_ErrCode { 527777dab0Sopenharmony_ci /** @error Execution successful. */ 537777dab0Sopenharmony_ci COMMONEVENT_ERR_OK = 0, 547777dab0Sopenharmony_ci 557777dab0Sopenharmony_ci /** @error permission verification failed. */ 567777dab0Sopenharmony_ci COMMONEVENT_ERR_PERMISSION_ERROR = 201, 577777dab0Sopenharmony_ci 587777dab0Sopenharmony_ci /** @error invalid input parameter. */ 597777dab0Sopenharmony_ci COMMONEVENT_ERR_INVALID_PARAMETER = 401, 607777dab0Sopenharmony_ci 617777dab0Sopenharmony_ci /** @error IPC request failed to send. */ 627777dab0Sopenharmony_ci COMMONEVENT_ERR_SENDING_REQUEST_FAILED = 1500007, 637777dab0Sopenharmony_ci 647777dab0Sopenharmony_ci /** @error Common event service not init. */ 657777dab0Sopenharmony_ci COMMONEVENT_ERR_INIT_UNDONE = 1500008, 667777dab0Sopenharmony_ci 677777dab0Sopenharmony_ci /** @error The subscriber number exceed system specification */ 687777dab0Sopenharmony_ci COMMONEVENT_ERR_SUBSCRIBER_NUM_EXCEEDED = 1500010, 697777dab0Sopenharmony_ci 707777dab0Sopenharmony_ci /** @error A memory allocation error occurs. */ 717777dab0Sopenharmony_ci COMMONEVENT_ERR_ALLOC_MEMORY_FAILED = 1500011, 727777dab0Sopenharmony_ci} CommonEvent_ErrCode; 737777dab0Sopenharmony_ci 747777dab0Sopenharmony_ci/** 757777dab0Sopenharmony_ci * @brief the information of the subscriber 767777dab0Sopenharmony_ci * 777777dab0Sopenharmony_ci * @since 12 787777dab0Sopenharmony_ci */ 797777dab0Sopenharmony_citypedef struct CommonEvent_SubscribeInfo CommonEvent_SubscribeInfo; 807777dab0Sopenharmony_ci 817777dab0Sopenharmony_ci/** 827777dab0Sopenharmony_ci * @brief the subscriber of common event 837777dab0Sopenharmony_ci * 847777dab0Sopenharmony_ci * @since 12 857777dab0Sopenharmony_ci */ 867777dab0Sopenharmony_citypedef void CommonEvent_Subscriber; 877777dab0Sopenharmony_ci 887777dab0Sopenharmony_ci/** 897777dab0Sopenharmony_ci * @brief the data of the commonEvent callback 907777dab0Sopenharmony_ci * 917777dab0Sopenharmony_ci * @since 12 927777dab0Sopenharmony_ci */ 937777dab0Sopenharmony_citypedef struct CommonEvent_RcvData CommonEvent_RcvData; 947777dab0Sopenharmony_ci 957777dab0Sopenharmony_ci/** 967777dab0Sopenharmony_ci * @brief The description of the parameters in a common event callback data. 977777dab0Sopenharmony_ci * 987777dab0Sopenharmony_ci * @since 12 997777dab0Sopenharmony_ci */ 1007777dab0Sopenharmony_citypedef void CommonEvent_Parameters; 1017777dab0Sopenharmony_ci 1027777dab0Sopenharmony_ci/** 1037777dab0Sopenharmony_ci * @brief Common event callback. 1047777dab0Sopenharmony_ci * 1057777dab0Sopenharmony_ci * @param data common event callback data. 1067777dab0Sopenharmony_ci * @since 12 1077777dab0Sopenharmony_ci */ 1087777dab0Sopenharmony_citypedef void (*CommonEvent_ReceiveCallback)(const CommonEvent_RcvData *data); 1097777dab0Sopenharmony_ci 1107777dab0Sopenharmony_ci/** 1117777dab0Sopenharmony_ci * @brief Create subscribe information. 1127777dab0Sopenharmony_ci * 1137777dab0Sopenharmony_ci * @param events Indicates the subscribed events. 1147777dab0Sopenharmony_ci * @param eventsNum Indicates the subscribed events of number. 1157777dab0Sopenharmony_ci * @return Returns the CommonEvent_SubscribeInfo, if allocate memory failed, returns null. 1167777dab0Sopenharmony_ci * @since 12 1177777dab0Sopenharmony_ci */ 1187777dab0Sopenharmony_ciCommonEvent_SubscribeInfo* OH_CommonEvent_CreateSubscribeInfo(const char* events[], int32_t eventsNum); 1197777dab0Sopenharmony_ci 1207777dab0Sopenharmony_ci/** 1217777dab0Sopenharmony_ci * @brief Set the subscribe information of permission. 1227777dab0Sopenharmony_ci * 1237777dab0Sopenharmony_ci * @param info Indicates the subscribed events. 1247777dab0Sopenharmony_ci * @param permission Indicates the subscribed events of permission. 1257777dab0Sopenharmony_ci * @return Returns the error code. 1267777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_OK} if the operation is successful. 1277777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_INVALID_PARAMETER} if a parameter error occurs. 1287777dab0Sopenharmony_ci * @since 12 1297777dab0Sopenharmony_ci */ 1307777dab0Sopenharmony_ciCommonEvent_ErrCode OH_CommonEvent_SetPublisherPermission(CommonEvent_SubscribeInfo* info, const char* permission); 1317777dab0Sopenharmony_ci 1327777dab0Sopenharmony_ci/** 1337777dab0Sopenharmony_ci * @brief Set the subscribe information of bundleName. 1347777dab0Sopenharmony_ci * 1357777dab0Sopenharmony_ci * @param info Indicates the subscribed events. 1367777dab0Sopenharmony_ci * @param bundleName Indicates the subscribed events of bundleName. 1377777dab0Sopenharmony_ci * @return Returns the error code. 1387777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_OK} if the operation is successful. 1397777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_INVALID_PARAMETER} if a parameter error occurs. 1407777dab0Sopenharmony_ci * @since 12 1417777dab0Sopenharmony_ci */ 1427777dab0Sopenharmony_ciCommonEvent_ErrCode OH_CommonEvent_SetPublisherBundleName(CommonEvent_SubscribeInfo* info, const char* bundleName); 1437777dab0Sopenharmony_ci 1447777dab0Sopenharmony_ci/** 1457777dab0Sopenharmony_ci * @brief Destroy the subscribe information. 1467777dab0Sopenharmony_ci * 1477777dab0Sopenharmony_ci * @param info Indicates the subscribe info. 1487777dab0Sopenharmony_ci * @since 12 1497777dab0Sopenharmony_ci */ 1507777dab0Sopenharmony_civoid OH_CommonEvent_DestroySubscribeInfo(CommonEvent_SubscribeInfo* info); 1517777dab0Sopenharmony_ci 1527777dab0Sopenharmony_ci/** 1537777dab0Sopenharmony_ci * @brief Create a subscriber. 1547777dab0Sopenharmony_ci * 1557777dab0Sopenharmony_ci * @param info Indicates the created subscribe Info. 1567777dab0Sopenharmony_ci * @param callback Indicates the received common event callback. 1577777dab0Sopenharmony_ci * @return Returns the CommonEvent_Subscriber, if allocate memory failed, returns null. 1587777dab0Sopenharmony_ci * @since 12 1597777dab0Sopenharmony_ci */ 1607777dab0Sopenharmony_ciCommonEvent_Subscriber* OH_CommonEvent_CreateSubscriber(const CommonEvent_SubscribeInfo* info, 1617777dab0Sopenharmony_ci CommonEvent_ReceiveCallback callback); 1627777dab0Sopenharmony_ci 1637777dab0Sopenharmony_ci/** 1647777dab0Sopenharmony_ci * @brief Destory the subscriber. 1657777dab0Sopenharmony_ci * 1667777dab0Sopenharmony_ci * @param subscriber Indicates the created subscriber. 1677777dab0Sopenharmony_ci * @since 12 1687777dab0Sopenharmony_ci */ 1697777dab0Sopenharmony_civoid OH_CommonEvent_DestroySubscriber(CommonEvent_Subscriber* subscriber); 1707777dab0Sopenharmony_ci 1717777dab0Sopenharmony_ci/** 1727777dab0Sopenharmony_ci * @brief Subscribe event by a subscriber. 1737777dab0Sopenharmony_ci * 1747777dab0Sopenharmony_ci * @param subscriber Indicates the subscriber. 1757777dab0Sopenharmony_ci * @return Returns the error code. 1767777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_OK} if the operation is successful. 1777777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_INVALID_PARAMETER } if the input parameter is invalid. 1787777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_SENDING_REQUEST_FAILED } if IPC request failed to send. 1797777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_INIT_UNDONE } if ces not init done. 1807777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_SUBSCRIBER_NUM_EXCEEDED } if the subscriber number is exceeded. 1817777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_ALLOC_MEMORY_FAILED } if a memory allocation error occurs. 1827777dab0Sopenharmony_ci * @since 12 1837777dab0Sopenharmony_ci */ 1847777dab0Sopenharmony_ciCommonEvent_ErrCode OH_CommonEvent_Subscribe(const CommonEvent_Subscriber* subscriber); 1857777dab0Sopenharmony_ci 1867777dab0Sopenharmony_ci/** 1877777dab0Sopenharmony_ci * @brief Unsubscribe event by a subscriber. 1887777dab0Sopenharmony_ci * 1897777dab0Sopenharmony_ci * @param subscriber Indicates the subscriber. 1907777dab0Sopenharmony_ci * @return Returns the error code. 1917777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_OK} if the operation is successful. 1927777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_INVALID_PARAMETER } if the input parameter is invalid. 1937777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_SENDING_REQUEST_FAILED } if IPC request failed to send. 1947777dab0Sopenharmony_ci * Returns {@link COMMONEVENT_ERR_INIT_UNDONE } if ces not init done. 1957777dab0Sopenharmony_ci * @since 12 1967777dab0Sopenharmony_ci */ 1977777dab0Sopenharmony_ciCommonEvent_ErrCode OH_CommonEvent_UnSubscribe(const CommonEvent_Subscriber* subscriber); 1987777dab0Sopenharmony_ci 1997777dab0Sopenharmony_ci/** 2007777dab0Sopenharmony_ci * @brief Get event name from callback data. 2017777dab0Sopenharmony_ci * 2027777dab0Sopenharmony_ci * @param rcvData Indicates the event of callback data. 2037777dab0Sopenharmony_ci * @return Returns the event name. 2047777dab0Sopenharmony_ci * @since 12 2057777dab0Sopenharmony_ci */ 2067777dab0Sopenharmony_ciconst char* OH_CommonEvent_GetEventFromRcvData(const CommonEvent_RcvData* rcvData); 2077777dab0Sopenharmony_ci 2087777dab0Sopenharmony_ci/** 2097777dab0Sopenharmony_ci * @brief Get event result code from callback data. 2107777dab0Sopenharmony_ci * 2117777dab0Sopenharmony_ci * @param rcvData Indicates the event of callback data. 2127777dab0Sopenharmony_ci * @return Returns the event of result code, default is 0. 2137777dab0Sopenharmony_ci * @since 12 2147777dab0Sopenharmony_ci */ 2157777dab0Sopenharmony_ciint32_t OH_CommonEvent_GetCodeFromRcvData(const CommonEvent_RcvData* rcvData); 2167777dab0Sopenharmony_ci 2177777dab0Sopenharmony_ci/** 2187777dab0Sopenharmony_ci * @brief Get event result data from callback data. 2197777dab0Sopenharmony_ci * 2207777dab0Sopenharmony_ci * @param rcvData Indicates the event of callback data. 2217777dab0Sopenharmony_ci * @return Returns the event of result data, default is null. 2227777dab0Sopenharmony_ci * @since 12 2237777dab0Sopenharmony_ci */ 2247777dab0Sopenharmony_ciconst char* OH_CommonEvent_GetDataStrFromRcvData(const CommonEvent_RcvData* rcvData); 2257777dab0Sopenharmony_ci 2267777dab0Sopenharmony_ci/** 2277777dab0Sopenharmony_ci * @brief Get event bundlename from callback data. 2287777dab0Sopenharmony_ci * 2297777dab0Sopenharmony_ci * @param rcvData Indicates the event of callback data. 2307777dab0Sopenharmony_ci * @return Returns the event of bundlename, default is null. 2317777dab0Sopenharmony_ci * @since 12 2327777dab0Sopenharmony_ci */ 2337777dab0Sopenharmony_ciconst char* OH_CommonEvent_GetBundleNameFromRcvData(const CommonEvent_RcvData* rcvData); 2347777dab0Sopenharmony_ci 2357777dab0Sopenharmony_ci/** 2367777dab0Sopenharmony_ci * @brief Get event parameters data from callback data. 2377777dab0Sopenharmony_ci * 2387777dab0Sopenharmony_ci * @param rcvData Indicates the event of callback data. 2397777dab0Sopenharmony_ci * @return Returns the event of parameters data, default is null. 2407777dab0Sopenharmony_ci * @since 12 2417777dab0Sopenharmony_ci */ 2427777dab0Sopenharmony_ciconst CommonEvent_Parameters* OH_CommonEvent_GetParametersFromRcvData(const CommonEvent_RcvData* rcvData); 2437777dab0Sopenharmony_ci 2447777dab0Sopenharmony_ci/** 2457777dab0Sopenharmony_ci * @brief Check whether the parameters contains a key. 2467777dab0Sopenharmony_ci * 2477777dab0Sopenharmony_ci * @param rcvData Indicates the event of callback data. 2487777dab0Sopenharmony_ci * @param key Indicates the key of parameter. 2497777dab0Sopenharmony_ci * @return Returns the result of check, true means it contains. 2507777dab0Sopenharmony_ci * @since 12 2517777dab0Sopenharmony_ci */ 2527777dab0Sopenharmony_cibool OH_CommonEvent_HasKeyInParameters(const CommonEvent_Parameters* para, const char* key); 2537777dab0Sopenharmony_ci 2547777dab0Sopenharmony_ci/** 2557777dab0Sopenharmony_ci * @brief Get int data from parameters data by key. 2567777dab0Sopenharmony_ci * 2577777dab0Sopenharmony_ci * @param rcvData Indicates the event of parameters data. 2587777dab0Sopenharmony_ci * @param key Indicates the key of parameters data. 2597777dab0Sopenharmony_ci * @param defaultValue Indicates default return value. 2607777dab0Sopenharmony_ci * @return Returns the int data of the key in the parameters. 2617777dab0Sopenharmony_ci * @since 12 2627777dab0Sopenharmony_ci */ 2637777dab0Sopenharmony_ciint OH_CommonEvent_GetIntFromParameters(const CommonEvent_Parameters* para, const char* key, const int defaultValue); 2647777dab0Sopenharmony_ci 2657777dab0Sopenharmony_ci/** 2667777dab0Sopenharmony_ci * @brief Get int array data from parameters data by key. 2677777dab0Sopenharmony_ci * 2687777dab0Sopenharmony_ci * @param rcvData Indicates the event of parameters data. 2697777dab0Sopenharmony_ci * @param key Indicates the key of parameters data. 2707777dab0Sopenharmony_ci * @param array Indicates the int array. 2717777dab0Sopenharmony_ci * @return Returns the length of the array. 2727777dab0Sopenharmony_ci * @since 12 2737777dab0Sopenharmony_ci */ 2747777dab0Sopenharmony_ciint32_t OH_CommonEvent_GetIntArrayFromParameters(const CommonEvent_Parameters* para, const char* key, int** array); 2757777dab0Sopenharmony_ci 2767777dab0Sopenharmony_ci/** 2777777dab0Sopenharmony_ci * @brief Get long data from parameters data by key. 2787777dab0Sopenharmony_ci * 2797777dab0Sopenharmony_ci * @param rcvData Indicates the event of parameters data. 2807777dab0Sopenharmony_ci * @param key Indicates the key of parameters data. 2817777dab0Sopenharmony_ci * @param defaultValue Indicates default return value. 2827777dab0Sopenharmony_ci * @return Returns the long data of the key in the parameters. 2837777dab0Sopenharmony_ci * @since 12 2847777dab0Sopenharmony_ci */ 2857777dab0Sopenharmony_cilong OH_CommonEvent_GetLongFromParameters(const CommonEvent_Parameters* para, const char* key, const long defaultValue); 2867777dab0Sopenharmony_ci 2877777dab0Sopenharmony_ci/** 2887777dab0Sopenharmony_ci * @brief Get long array data from parameters data by key. 2897777dab0Sopenharmony_ci * 2907777dab0Sopenharmony_ci * @param rcvData Indicates the event of parameters data. 2917777dab0Sopenharmony_ci * @param key Indicates the key of parameters data. 2927777dab0Sopenharmony_ci * @param array Indicates the long array. 2937777dab0Sopenharmony_ci * @return Returns the length of the array. 2947777dab0Sopenharmony_ci * @since 12 2957777dab0Sopenharmony_ci */ 2967777dab0Sopenharmony_ciint32_t OH_CommonEvent_GetLongArrayFromParameters(const CommonEvent_Parameters* para, const char* key, long** array); 2977777dab0Sopenharmony_ci 2987777dab0Sopenharmony_ci/** 2997777dab0Sopenharmony_ci * @brief Get bool data from parameters data by key. 3007777dab0Sopenharmony_ci * 3017777dab0Sopenharmony_ci * @param rcvData Indicates the event of parameters data. 3027777dab0Sopenharmony_ci * @param key Indicates the key of parameters data. 3037777dab0Sopenharmony_ci * @param defaultValue Indicates default return value. 3047777dab0Sopenharmony_ci * @return Returns the bool data of the key in the parameters. 3057777dab0Sopenharmony_ci * @since 12 3067777dab0Sopenharmony_ci */ 3077777dab0Sopenharmony_cibool OH_CommonEvent_GetBoolFromParameters(const CommonEvent_Parameters* para, const char* key, const bool defaultValue); 3087777dab0Sopenharmony_ci 3097777dab0Sopenharmony_ci/** 3107777dab0Sopenharmony_ci * @brief Get bool array data from parameters data by key. 3117777dab0Sopenharmony_ci * 3127777dab0Sopenharmony_ci * @param rcvData Indicates the event of parameters data. 3137777dab0Sopenharmony_ci * @param key Indicates the key of parameters data. 3147777dab0Sopenharmony_ci * @param array Indicates the bool array. 3157777dab0Sopenharmony_ci * @return Returns the length of the array. 3167777dab0Sopenharmony_ci * @since 12 3177777dab0Sopenharmony_ci */ 3187777dab0Sopenharmony_ciint32_t OH_CommonEvent_GetBoolArrayFromParameters(const CommonEvent_Parameters* para, const char* key, bool** array); 3197777dab0Sopenharmony_ci 3207777dab0Sopenharmony_ci/** 3217777dab0Sopenharmony_ci * @brief Get char data from parameters data by key. 3227777dab0Sopenharmony_ci * 3237777dab0Sopenharmony_ci * @param rcvData Indicates the event of parameters data. 3247777dab0Sopenharmony_ci * @param key Indicates the key of parameters data. 3257777dab0Sopenharmony_ci * @param defaultValue Indicates default return value. 3267777dab0Sopenharmony_ci * @return Returns the char data of the key in the parameters. 3277777dab0Sopenharmony_ci * @since 12 3287777dab0Sopenharmony_ci */ 3297777dab0Sopenharmony_cichar OH_CommonEvent_GetCharFromParameters(const CommonEvent_Parameters* para, const char* key, const char defaultValue); 3307777dab0Sopenharmony_ci 3317777dab0Sopenharmony_ci/** 3327777dab0Sopenharmony_ci * @brief Get char array data from parameters data by key. 3337777dab0Sopenharmony_ci * 3347777dab0Sopenharmony_ci * @param rcvData Indicates the event of parameters data. 3357777dab0Sopenharmony_ci * @param key Indicates the key of parameters data. 3367777dab0Sopenharmony_ci * @param array Indicates the char array. 3377777dab0Sopenharmony_ci * @return Returns the length of the array. 3387777dab0Sopenharmony_ci * @since 12 3397777dab0Sopenharmony_ci */ 3407777dab0Sopenharmony_ciint32_t OH_CommonEvent_GetCharArrayFromParameters(const CommonEvent_Parameters* para, const char* key, char** array); 3417777dab0Sopenharmony_ci 3427777dab0Sopenharmony_ci/** 3437777dab0Sopenharmony_ci * @brief Get double data from parameters data by key. 3447777dab0Sopenharmony_ci * 3457777dab0Sopenharmony_ci * @param rcvData Indicates the event of parameters data. 3467777dab0Sopenharmony_ci * @param key Indicates the key of parameters data. 3477777dab0Sopenharmony_ci * @param defaultValue Indicates default return value. 3487777dab0Sopenharmony_ci * @return Returns the double data of the key in the parameters. 3497777dab0Sopenharmony_ci * @since 12 3507777dab0Sopenharmony_ci */ 3517777dab0Sopenharmony_cidouble OH_CommonEvent_GetDoubleFromParameters(const CommonEvent_Parameters* para, const char* key, 3527777dab0Sopenharmony_ci const double defaultValue); 3537777dab0Sopenharmony_ci 3547777dab0Sopenharmony_ci/** 3557777dab0Sopenharmony_ci * @brief Get double array data from parameters data by key. 3567777dab0Sopenharmony_ci * 3577777dab0Sopenharmony_ci * @param rcvData Indicates the event of parameters data. 3587777dab0Sopenharmony_ci * @param key Indicates the key of parameters data. 3597777dab0Sopenharmony_ci * @param array Indicates the double array. 3607777dab0Sopenharmony_ci * @return Returns the length of the array, default is 0. 3617777dab0Sopenharmony_ci * @since 12 3627777dab0Sopenharmony_ci */ 3637777dab0Sopenharmony_ciint32_t OH_CommonEvent_GetDoubleArrayFromParameters(const CommonEvent_Parameters* para, const char* key, 3647777dab0Sopenharmony_ci double** array); 3657777dab0Sopenharmony_ci 3667777dab0Sopenharmony_ci#ifdef __cplusplus 3677777dab0Sopenharmony_ci} 3687777dab0Sopenharmony_ci#endif 3697777dab0Sopenharmony_ci#endif // OH_COMMONEVENT_H 3707777dab0Sopenharmony_ci/** @} */ 371