15c735df2Sopenharmony_ci/* 25c735df2Sopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 35c735df2Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 45c735df2Sopenharmony_ci * you may not use this file except in compliance with the License. 55c735df2Sopenharmony_ci * You may obtain a copy of the License at 65c735df2Sopenharmony_ci * 75c735df2Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 85c735df2Sopenharmony_ci * 95c735df2Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 105c735df2Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 115c735df2Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 125c735df2Sopenharmony_ci * See the License for the specific language governing permissions and 135c735df2Sopenharmony_ci * limitations under the License. 145c735df2Sopenharmony_ci */ 155c735df2Sopenharmony_ci#ifndef BASE_LOCATION_DISTRIBUTED_NOTIFICATION_SERVICE_FRAMEWORKS_JS_NAPI_INCLUDE_COMMON_H 165c735df2Sopenharmony_ci#define BASE_LOCATION_DISTRIBUTED_NOTIFICATION_SERVICE_FRAMEWORKS_JS_NAPI_INCLUDE_COMMON_H 175c735df2Sopenharmony_ci 185c735df2Sopenharmony_ci#include "location_log.h" 195c735df2Sopenharmony_ci#include "napi/native_api.h" 205c735df2Sopenharmony_ci#include "napi/native_node_api.h" 215c735df2Sopenharmony_ci#include "notification_button_option.h" 225c735df2Sopenharmony_ci#include "notification_helper.h" 235c735df2Sopenharmony_ci#include "notification_local_live_view_button.h" 245c735df2Sopenharmony_ci#include "notification_progress.h" 255c735df2Sopenharmony_ci#include "notification_time.h" 265c735df2Sopenharmony_ci#include "ans_convert_enum.h" 275c735df2Sopenharmony_ci 285c735df2Sopenharmony_cinamespace OHOS { 295c735df2Sopenharmony_cinamespace Location { 305c735df2Sopenharmony_ciusing namespace OHOS::Notification; 315c735df2Sopenharmony_ciusing namespace OHOS::NotificationNapi; 325c735df2Sopenharmony_ci 335c735df2Sopenharmony_ciconstexpr int32_t STR_MAX_SIZE = 200; 345c735df2Sopenharmony_ciconstexpr int32_t LONG_STR_MAX_SIZE = 1024; 355c735df2Sopenharmony_ciconstexpr uint8_t OPERATION_MAX_TYPE = 3; 365c735df2Sopenharmony_ciconstexpr int8_t NO_ERROR = 0; 375c735df2Sopenharmony_ciconstexpr int8_t ERROR = -1; 385c735df2Sopenharmony_ci 395c735df2Sopenharmony_cienum class SemanticActionButton { 405c735df2Sopenharmony_ci NONE_ACTION_BUTTON, 415c735df2Sopenharmony_ci REPLY_ACTION_BUTTON, 425c735df2Sopenharmony_ci READ_ACTION_BUTTON, 435c735df2Sopenharmony_ci UNREAD_ACTION_BUTTON, 445c735df2Sopenharmony_ci DELETE_ACTION_BUTTON, 455c735df2Sopenharmony_ci ARCHIVE_ACTION_BUTTON, 465c735df2Sopenharmony_ci MUTE_ACTION_BUTTON, 475c735df2Sopenharmony_ci UNMUTE_ACTION_BUTTON, 485c735df2Sopenharmony_ci THUMBS_UP_ACTION_BUTTON, 495c735df2Sopenharmony_ci THUMBS_DOWN_ACTION_BUTTON, 505c735df2Sopenharmony_ci CALL_ACTION_BUTTON 515c735df2Sopenharmony_ci}; 525c735df2Sopenharmony_ci 535c735df2Sopenharmony_cienum class InputsSource { 545c735df2Sopenharmony_ci FREE_FORM_INPUT, 555c735df2Sopenharmony_ci OPTION 565c735df2Sopenharmony_ci}; 575c735df2Sopenharmony_ci 585c735df2Sopenharmony_cienum class DisturbMode { 595c735df2Sopenharmony_ci ALLOW_UNKNOWN, 605c735df2Sopenharmony_ci ALLOW_ALL, 615c735df2Sopenharmony_ci ALLOW_PRIORITY, 625c735df2Sopenharmony_ci ALLOW_NONE, 635c735df2Sopenharmony_ci ALLOW_ALARMS 645c735df2Sopenharmony_ci}; 655c735df2Sopenharmony_ci 665c735df2Sopenharmony_cienum class InputEditType { 675c735df2Sopenharmony_ci EDIT_AUTO, 685c735df2Sopenharmony_ci EDIT_DISABLED, 695c735df2Sopenharmony_ci EDIT_ENABLED 705c735df2Sopenharmony_ci}; 715c735df2Sopenharmony_ci 725c735df2Sopenharmony_ci 735c735df2Sopenharmony_cienum class NotificationFlagStatus { 745c735df2Sopenharmony_ci TYPE_NONE, 755c735df2Sopenharmony_ci TYPE_OPEN, 765c735df2Sopenharmony_ci TYPE_CLOSE 775c735df2Sopenharmony_ci}; 785c735df2Sopenharmony_ci 795c735df2Sopenharmony_cistruct NotificationSubscribeInfo { 805c735df2Sopenharmony_ci std::vector<std::string> bundleNames; 815c735df2Sopenharmony_ci int32_t userId = 0; 825c735df2Sopenharmony_ci bool hasSubscribeInfo = false; 835c735df2Sopenharmony_ci}; 845c735df2Sopenharmony_ci 855c735df2Sopenharmony_cistruct CallbackPromiseInfo { 865c735df2Sopenharmony_ci napi_ref callback = nullptr; 875c735df2Sopenharmony_ci napi_deferred deferred = nullptr; 885c735df2Sopenharmony_ci bool isCallback = false; 895c735df2Sopenharmony_ci int32_t errorCode = 0; 905c735df2Sopenharmony_ci}; 915c735df2Sopenharmony_ci 925c735df2Sopenharmony_ciclass NotificationNapi { 935c735df2Sopenharmony_ci NotificationNapi(); 945c735df2Sopenharmony_ci 955c735df2Sopenharmony_ci ~NotificationNapi(); 965c735df2Sopenharmony_ci 975c735df2Sopenharmony_cipublic: 985c735df2Sopenharmony_ci /** 995c735df2Sopenharmony_ci * @brief Gets a napi value that is used to represent specified bool value 1005c735df2Sopenharmony_ci * 1015c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1025c735df2Sopenharmony_ci * @param isValue Indicates a bool value 1035c735df2Sopenharmony_ci * @return Returns a napi value that is used to represent specified bool value 1045c735df2Sopenharmony_ci */ 1055c735df2Sopenharmony_ci static napi_value NapiGetBoolean(napi_env env, const bool &isValue); 1065c735df2Sopenharmony_ci 1075c735df2Sopenharmony_ci /** 1085c735df2Sopenharmony_ci * @brief Gets the napi value that is used to represent the null object 1095c735df2Sopenharmony_ci * 1105c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1115c735df2Sopenharmony_ci * @return Returns the napi value that is used to represent the null object 1125c735df2Sopenharmony_ci */ 1135c735df2Sopenharmony_ci static napi_value NapiGetNull(napi_env env); 1145c735df2Sopenharmony_ci 1155c735df2Sopenharmony_ci /** 1165c735df2Sopenharmony_ci * @brief Gets the napi value that is used to represent the undefined object 1175c735df2Sopenharmony_ci * 1185c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1195c735df2Sopenharmony_ci * @return Returns the napi value that is used to represent the undefined object 1205c735df2Sopenharmony_ci */ 1215c735df2Sopenharmony_ci static napi_value NapiGetUndefined(napi_env env); 1225c735df2Sopenharmony_ci 1235c735df2Sopenharmony_ci /** 1245c735df2Sopenharmony_ci * @brief Gets a napi value with specified error code for callback 1255c735df2Sopenharmony_ci * 1265c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1275c735df2Sopenharmony_ci * @param errCode Indicates specified err code 1285c735df2Sopenharmony_ci * @return Returns a napi value with specified error code for callback 1295c735df2Sopenharmony_ci */ 1305c735df2Sopenharmony_ci static napi_value GetCallbackErrorValue(napi_env env, int32_t errCode); 1315c735df2Sopenharmony_ci 1325c735df2Sopenharmony_ci /** 1335c735df2Sopenharmony_ci * @brief Pads the CallbackPromiseInfo struct 1345c735df2Sopenharmony_ci * 1355c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1365c735df2Sopenharmony_ci * @param callback Indicates a napi_ref for callback 1375c735df2Sopenharmony_ci * @param info Indicates the CallbackPromiseInfo struct to be padded 1385c735df2Sopenharmony_ci * @param promise Indicates the promise to be created when the callback is null 1395c735df2Sopenharmony_ci */ 1405c735df2Sopenharmony_ci static void PaddingCallbackPromiseInfo( 1415c735df2Sopenharmony_ci const napi_env &env, const napi_ref &callback, CallbackPromiseInfo &info, napi_value &promise); 1425c735df2Sopenharmony_ci 1435c735df2Sopenharmony_ci /** 1445c735df2Sopenharmony_ci * @brief Gets the returned result by the CallbackPromiseInfo struct 1455c735df2Sopenharmony_ci * 1465c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1475c735df2Sopenharmony_ci * @param info Indicates the CallbackPromiseInfo struct 1485c735df2Sopenharmony_ci * @param result Indicates the returned result 1495c735df2Sopenharmony_ci */ 1505c735df2Sopenharmony_ci static void ReturnCallbackPromise(const napi_env &env, const CallbackPromiseInfo &info, const napi_value &result); 1515c735df2Sopenharmony_ci 1525c735df2Sopenharmony_ci /** 1535c735df2Sopenharmony_ci * @brief Calls the callback with the result and error code 1545c735df2Sopenharmony_ci * 1555c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1565c735df2Sopenharmony_ci * @param callbackIn Indicates the callback to be called 1575c735df2Sopenharmony_ci * @param errCode Indicates the error code returned by the callback 1585c735df2Sopenharmony_ci * @param result Indicates the result returned by the callback 1595c735df2Sopenharmony_ci */ 1605c735df2Sopenharmony_ci static void SetCallback(const napi_env &env, 1615c735df2Sopenharmony_ci const napi_ref &callbackIn, const int32_t &errorCode, const napi_value &result, bool newType); 1625c735df2Sopenharmony_ci 1635c735df2Sopenharmony_ci /** 1645c735df2Sopenharmony_ci * @brief Calls the callback with the result 1655c735df2Sopenharmony_ci * 1665c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1675c735df2Sopenharmony_ci * @param callbackIn Indicates the callback to be called 1685c735df2Sopenharmony_ci * @param result Indicates the result returned by the callback 1695c735df2Sopenharmony_ci */ 1705c735df2Sopenharmony_ci static void SetCallback( 1715c735df2Sopenharmony_ci const napi_env &env, const napi_ref &callbackIn, const napi_value &result); 1725c735df2Sopenharmony_ci 1735c735df2Sopenharmony_ci /** 1745c735df2Sopenharmony_ci * @brief Calls the callback with the result 1755c735df2Sopenharmony_ci * 1765c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1775c735df2Sopenharmony_ci * @param callbackIn Indicates the callback to be called 1785c735df2Sopenharmony_ci * @param result Indicates the result returned by the callback 1795c735df2Sopenharmony_ci */ 1805c735df2Sopenharmony_ci static void SetCallbackArg2( 1815c735df2Sopenharmony_ci const napi_env &env, const napi_ref &callbackIn, const napi_value &result0, const napi_value &result1); 1825c735df2Sopenharmony_ci 1835c735df2Sopenharmony_ci /** 1845c735df2Sopenharmony_ci * @brief Processes the promise with the result and error code 1855c735df2Sopenharmony_ci * 1865c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1875c735df2Sopenharmony_ci * @param deferred Indicates the deferred object whose associated promise to resolve 1885c735df2Sopenharmony_ci * @param errorCode Indicates the error code returned by the callback 1895c735df2Sopenharmony_ci * @param result Indicates the result returned by the callback 1905c735df2Sopenharmony_ci */ 1915c735df2Sopenharmony_ci static void SetPromise(const napi_env &env, 1925c735df2Sopenharmony_ci const napi_deferred &deferred, const int32_t &errorCode, const napi_value &result, bool newType); 1935c735df2Sopenharmony_ci 1945c735df2Sopenharmony_ci /** 1955c735df2Sopenharmony_ci * @brief Gets the returned result by the callback when an error occurs 1965c735df2Sopenharmony_ci * 1975c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 1985c735df2Sopenharmony_ci * @param callback Indicates a napi_ref for callback 1995c735df2Sopenharmony_ci * @return Returns the null object 2005c735df2Sopenharmony_ci */ 2015c735df2Sopenharmony_ci static napi_value JSParaError(const napi_env &env, const napi_ref &callback); 2025c735df2Sopenharmony_ci 2035c735df2Sopenharmony_ci /** 2045c735df2Sopenharmony_ci * @brief Parses a single parameter for callback 2055c735df2Sopenharmony_ci * 2065c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 2075c735df2Sopenharmony_ci * @param info Indicates the callback info passed into the callback function 2085c735df2Sopenharmony_ci * @param callback Indicates the napi_ref for the callback parameter 2095c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 2105c735df2Sopenharmony_ci */ 2115c735df2Sopenharmony_ci static napi_value ParseParaOnlyCallback(const napi_env &env, const napi_callback_info &info, napi_ref &callback); 2125c735df2Sopenharmony_ci 2135c735df2Sopenharmony_ci /** 2145c735df2Sopenharmony_ci * @brief Gets a NotificationSubscribeInfo object from specified js object 2155c735df2Sopenharmony_ci * 2165c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 2175c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 2185c735df2Sopenharmony_ci * @param result Indicates a NotificationSubscribeInfo object from specified js object 2195c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 2205c735df2Sopenharmony_ci */ 2215c735df2Sopenharmony_ci static napi_value GetNotificationSubscriberInfo( 2225c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationSubscribeInfo &result); 2235c735df2Sopenharmony_ci 2245c735df2Sopenharmony_ci /** 2255c735df2Sopenharmony_ci * @brief Gets a NotificationRequest object from specified js object 2265c735df2Sopenharmony_ci * 2275c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 2285c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 2295c735df2Sopenharmony_ci * @param result Indicates a NotificationRequest object from specified js object 2305c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 2315c735df2Sopenharmony_ci */ 2325c735df2Sopenharmony_ci static napi_value GetNotificationRequest( 2335c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 2345c735df2Sopenharmony_ci 2355c735df2Sopenharmony_ci /** 2365c735df2Sopenharmony_ci * @brief Gets a NotificationRequest object by number type from specified js object 2375c735df2Sopenharmony_ci * 2385c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 2395c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 2405c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 2415c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 2425c735df2Sopenharmony_ci */ 2435c735df2Sopenharmony_ci static napi_value GetNotificationRequestByNumber( 2445c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 2455c735df2Sopenharmony_ci 2465c735df2Sopenharmony_ci /** 2475c735df2Sopenharmony_ci * @brief Gets a NotificationRequest object by string type from specified js object 2485c735df2Sopenharmony_ci * 2495c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 2505c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 2515c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 2525c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 2535c735df2Sopenharmony_ci */ 2545c735df2Sopenharmony_ci static napi_value GetNotificationRequestByString( 2555c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 2565c735df2Sopenharmony_ci 2575c735df2Sopenharmony_ci /** 2585c735df2Sopenharmony_ci * @brief Gets a NotificationRequest object by bool type from specified js object 2595c735df2Sopenharmony_ci * 2605c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 2615c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 2625c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 2635c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 2645c735df2Sopenharmony_ci */ 2655c735df2Sopenharmony_ci static napi_value GetNotificationRequestByBool( 2665c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 2675c735df2Sopenharmony_ci 2685c735df2Sopenharmony_ci /** 2695c735df2Sopenharmony_ci * @brief Gets a NotificationRequest object by custom type from specified js object 2705c735df2Sopenharmony_ci * 2715c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 2725c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 2735c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 2745c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 2755c735df2Sopenharmony_ci */ 2765c735df2Sopenharmony_ci static napi_value GetNotificationRequestByCustom( 2775c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 2785c735df2Sopenharmony_ci 2795c735df2Sopenharmony_ci /** 2805c735df2Sopenharmony_ci * @brief Gets the id of NotificationRequest object from specified js object 2815c735df2Sopenharmony_ci * 2825c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 2835c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 2845c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 2855c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 2865c735df2Sopenharmony_ci */ 2875c735df2Sopenharmony_ci static napi_value GetNotificationId(const napi_env &env, const napi_value &value, NotificationRequest &request); 2885c735df2Sopenharmony_ci 2895c735df2Sopenharmony_ci /** 2905c735df2Sopenharmony_ci * @brief Gets the slot type of NotificationRequest object from specified js object 2915c735df2Sopenharmony_ci * 2925c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 2935c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 2945c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 2955c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 2965c735df2Sopenharmony_ci */ 2975c735df2Sopenharmony_ci static napi_value GetNotificationSlotType( 2985c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 2995c735df2Sopenharmony_ci 3005c735df2Sopenharmony_ci /** 3015c735df2Sopenharmony_ci * @brief Gets the isOngoing flag of NotificationRequest object from specified js object 3025c735df2Sopenharmony_ci * 3035c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 3045c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 3055c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 3065c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 3075c735df2Sopenharmony_ci */ 3085c735df2Sopenharmony_ci static napi_value GetNotificationIsOngoing( 3095c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 3105c735df2Sopenharmony_ci 3115c735df2Sopenharmony_ci /** 3125c735df2Sopenharmony_ci * @brief Gets the isUnremovable flag of NotificationRequest object from specified js object 3135c735df2Sopenharmony_ci * 3145c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 3155c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 3165c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 3175c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 3185c735df2Sopenharmony_ci */ 3195c735df2Sopenharmony_ci static napi_value GetNotificationIsUnremovable( 3205c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 3215c735df2Sopenharmony_ci 3225c735df2Sopenharmony_ci /** 3235c735df2Sopenharmony_ci * @brief Gets the delivery time of NotificationRequest object from specified js object 3245c735df2Sopenharmony_ci * 3255c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 3265c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 3275c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 3285c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 3295c735df2Sopenharmony_ci */ 3305c735df2Sopenharmony_ci static napi_value GetNotificationDeliveryTime( 3315c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 3325c735df2Sopenharmony_ci 3335c735df2Sopenharmony_ci /** 3345c735df2Sopenharmony_ci * @brief Gets the tapDismissed flag of NotificationRequest object from specified js object 3355c735df2Sopenharmony_ci * 3365c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 3375c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 3385c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 3395c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 3405c735df2Sopenharmony_ci */ 3415c735df2Sopenharmony_ci static napi_value GetNotificationtapDismissed( 3425c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 3435c735df2Sopenharmony_ci 3445c735df2Sopenharmony_ci /** 3455c735df2Sopenharmony_ci * @brief Gets the extra information of NotificationRequest object from specified js object 3465c735df2Sopenharmony_ci * 3475c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 3485c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 3495c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 3505c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 3515c735df2Sopenharmony_ci */ 3525c735df2Sopenharmony_ci static napi_value GetNotificationExtraInfo( 3535c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 3545c735df2Sopenharmony_ci 3555c735df2Sopenharmony_ci /** 3565c735df2Sopenharmony_ci * @brief Gets the group name of NotificationRequest object from specified js object 3575c735df2Sopenharmony_ci * 3585c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 3595c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 3605c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 3615c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 3625c735df2Sopenharmony_ci */ 3635c735df2Sopenharmony_ci static napi_value GetNotificationGroupName( 3645c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 3655c735df2Sopenharmony_ci 3665c735df2Sopenharmony_ci /** 3675c735df2Sopenharmony_ci * @brief Gets the removal WantAgent object of NotificationRequest object from specified js object 3685c735df2Sopenharmony_ci * 3695c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 3705c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 3715c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 3725c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 3735c735df2Sopenharmony_ci */ 3745c735df2Sopenharmony_ci static napi_value GetNotificationRemovalWantAgent( 3755c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 3765c735df2Sopenharmony_ci 3775c735df2Sopenharmony_ci /** 3785c735df2Sopenharmony_ci * @brief Gets the max screen WantAgent object of NotificationRequest object from specified js object 3795c735df2Sopenharmony_ci * 3805c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 3815c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 3825c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 3835c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 3845c735df2Sopenharmony_ci */ 3855c735df2Sopenharmony_ci static napi_value GetNotificationMaxScreenWantAgent( 3865c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 3875c735df2Sopenharmony_ci 3885c735df2Sopenharmony_ci /** 3895c735df2Sopenharmony_ci * @brief Gets the auto deleted time of NotificationRequest object from specified js object 3905c735df2Sopenharmony_ci * 3915c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 3925c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 3935c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 3945c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 3955c735df2Sopenharmony_ci */ 3965c735df2Sopenharmony_ci static napi_value GetNotificationAutoDeletedTime( 3975c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 3985c735df2Sopenharmony_ci 3995c735df2Sopenharmony_ci /** 4005c735df2Sopenharmony_ci * @brief Gets the classification of NotificationRequest object from specified js object 4015c735df2Sopenharmony_ci * 4025c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 4035c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 4045c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 4055c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 4065c735df2Sopenharmony_ci */ 4075c735df2Sopenharmony_ci static napi_value GetNotificationClassification( 4085c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 4095c735df2Sopenharmony_ci 4105c735df2Sopenharmony_ci /** 4115c735df2Sopenharmony_ci * @brief Gets the appMessageId of NotificationRequest object from specified js object 4125c735df2Sopenharmony_ci * 4135c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 4145c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 4155c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 4165c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 4175c735df2Sopenharmony_ci */ 4185c735df2Sopenharmony_ci static napi_value GetNotificationAppMessageId( 4195c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 4205c735df2Sopenharmony_ci 4215c735df2Sopenharmony_ci /** 4225c735df2Sopenharmony_ci * @brief Gets the color of NotificationRequest object from specified js object 4235c735df2Sopenharmony_ci * 4245c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 4255c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 4265c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 4275c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 4285c735df2Sopenharmony_ci */ 4295c735df2Sopenharmony_ci static napi_value GetNotificationColor(const napi_env &env, const napi_value &value, NotificationRequest &request); 4305c735df2Sopenharmony_ci 4315c735df2Sopenharmony_ci /** 4325c735df2Sopenharmony_ci * @brief Gets the colorEnabled flag of NotificationRequest object from specified js object 4335c735df2Sopenharmony_ci * 4345c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 4355c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 4365c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 4375c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 4385c735df2Sopenharmony_ci */ 4395c735df2Sopenharmony_ci static napi_value GetNotificationColorEnabled( 4405c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 4415c735df2Sopenharmony_ci 4425c735df2Sopenharmony_ci /** 4435c735df2Sopenharmony_ci * @brief Gets the isAlertOnce flag of NotificationRequest object from specified js object 4445c735df2Sopenharmony_ci * 4455c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 4465c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 4475c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 4485c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 4495c735df2Sopenharmony_ci */ 4505c735df2Sopenharmony_ci static napi_value GetNotificationIsAlertOnce( 4515c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 4525c735df2Sopenharmony_ci 4535c735df2Sopenharmony_ci /** 4545c735df2Sopenharmony_ci * @brief Gets the isStopwatch flag of NotificationRequest object from specified js object 4555c735df2Sopenharmony_ci * 4565c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 4575c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 4585c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 4595c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 4605c735df2Sopenharmony_ci */ 4615c735df2Sopenharmony_ci static napi_value GetNotificationIsStopwatch( 4625c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 4635c735df2Sopenharmony_ci 4645c735df2Sopenharmony_ci /** 4655c735df2Sopenharmony_ci * @brief Gets the isCountDown flag of NotificationRequest object from specified js object 4665c735df2Sopenharmony_ci * 4675c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 4685c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 4695c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 4705c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 4715c735df2Sopenharmony_ci */ 4725c735df2Sopenharmony_ci static napi_value GetNotificationIsCountDown( 4735c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 4745c735df2Sopenharmony_ci 4755c735df2Sopenharmony_ci /** 4765c735df2Sopenharmony_ci * @brief Gets the status bar text of NotificationRequest object from specified js object 4775c735df2Sopenharmony_ci * 4785c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 4795c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 4805c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 4815c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 4825c735df2Sopenharmony_ci */ 4835c735df2Sopenharmony_ci static napi_value GetNotificationStatusBarText( 4845c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 4855c735df2Sopenharmony_ci 4865c735df2Sopenharmony_ci /** 4875c735df2Sopenharmony_ci * @brief Gets the label of NotificationRequest object from specified js object 4885c735df2Sopenharmony_ci * 4895c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 4905c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 4915c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 4925c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 4935c735df2Sopenharmony_ci */ 4945c735df2Sopenharmony_ci static napi_value GetNotificationLabel(const napi_env &env, const napi_value &value, NotificationRequest &request); 4955c735df2Sopenharmony_ci 4965c735df2Sopenharmony_ci /** 4975c735df2Sopenharmony_ci * @brief Gets the badge icon style of NotificationRequest object from specified js object 4985c735df2Sopenharmony_ci * 4995c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 5005c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 5015c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 5025c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 5035c735df2Sopenharmony_ci */ 5045c735df2Sopenharmony_ci static napi_value GetNotificationBadgeIconStyle( 5055c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 5065c735df2Sopenharmony_ci 5075c735df2Sopenharmony_ci /** 5085c735df2Sopenharmony_ci * @brief Gets the showDeliveryTime flag of NotificationRequest object from specified js object 5095c735df2Sopenharmony_ci * 5105c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 5115c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 5125c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 5135c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 5145c735df2Sopenharmony_ci */ 5155c735df2Sopenharmony_ci static napi_value GetNotificationShowDeliveryTime( 5165c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 5175c735df2Sopenharmony_ci 5185c735df2Sopenharmony_ci static napi_value GetNotificationIsRemoveAllowed( 5195c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 5205c735df2Sopenharmony_ci 5215c735df2Sopenharmony_ci /** 5225c735df2Sopenharmony_ci * @brief Gets the content of NotificationRequest object from specified js object 5235c735df2Sopenharmony_ci * 5245c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 5255c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 5265c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 5275c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 5285c735df2Sopenharmony_ci */ 5295c735df2Sopenharmony_ci static napi_value GetNotificationContent( 5305c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 5315c735df2Sopenharmony_ci 5325c735df2Sopenharmony_ci /** 5335c735df2Sopenharmony_ci * @brief Gets the WantAgent object of NotificationRequest object from specified js object 5345c735df2Sopenharmony_ci * 5355c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 5365c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 5375c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 5385c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 5395c735df2Sopenharmony_ci */ 5405c735df2Sopenharmony_ci static napi_value GetNotificationWantAgent( 5415c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 5425c735df2Sopenharmony_ci 5435c735df2Sopenharmony_ci /** 5445c735df2Sopenharmony_ci * @brief Gets a NotificationSlot object from specified js object 5455c735df2Sopenharmony_ci * 5465c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 5475c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 5485c735df2Sopenharmony_ci * @param slot Indicates a NotificationSlot object from specified js object 5495c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 5505c735df2Sopenharmony_ci */ 5515c735df2Sopenharmony_ci static napi_value GetNotificationSlot( 5525c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationSlot &slot); 5535c735df2Sopenharmony_ci 5545c735df2Sopenharmony_ci /** 5555c735df2Sopenharmony_ci * @brief Gets the string objects of NotificationSlot object from specified js object 5565c735df2Sopenharmony_ci * 5575c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 5585c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 5595c735df2Sopenharmony_ci * @param slot Indicates a NotificationSlot object from specified js object 5605c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 5615c735df2Sopenharmony_ci */ 5625c735df2Sopenharmony_ci static napi_value GetNotificationSlotByString( 5635c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationSlot &slot); 5645c735df2Sopenharmony_ci 5655c735df2Sopenharmony_ci /** 5665c735df2Sopenharmony_ci * @brief Gets the bool objects of NotificationSlot object from specified js object 5675c735df2Sopenharmony_ci * 5685c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 5695c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 5705c735df2Sopenharmony_ci * @param slot Indicates a NotificationSlot object from specified js object 5715c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 5725c735df2Sopenharmony_ci */ 5735c735df2Sopenharmony_ci static napi_value GetNotificationSlotByBool( 5745c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationSlot &slot); 5755c735df2Sopenharmony_ci 5765c735df2Sopenharmony_ci /** 5775c735df2Sopenharmony_ci * @brief Gets the number objects of NotificationSlot object from specified js object 5785c735df2Sopenharmony_ci * 5795c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 5805c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 5815c735df2Sopenharmony_ci * @param slot Indicates a NotificationSlot object from specified js object 5825c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 5835c735df2Sopenharmony_ci */ 5845c735df2Sopenharmony_ci static napi_value GetNotificationSlotByNumber( 5855c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationSlot &slot); 5865c735df2Sopenharmony_ci 5875c735df2Sopenharmony_ci /** 5885c735df2Sopenharmony_ci * @brief Gets the vibration of NotificationSlot object from specified js object 5895c735df2Sopenharmony_ci * 5905c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 5915c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 5925c735df2Sopenharmony_ci * @param slot Indicates a NotificationSlot object from specified js object 5935c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 5945c735df2Sopenharmony_ci */ 5955c735df2Sopenharmony_ci static napi_value GetNotificationSlotByVibration( 5965c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationSlot &slot); 5975c735df2Sopenharmony_ci 5985c735df2Sopenharmony_ci /** 5995c735df2Sopenharmony_ci * @brief Gets the action buttons of NotificationRequest object from specified js object 6005c735df2Sopenharmony_ci * 6015c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 6025c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 6035c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 6045c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 6055c735df2Sopenharmony_ci */ 6065c735df2Sopenharmony_ci static napi_value GetNotificationActionButtons( 6075c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 6085c735df2Sopenharmony_ci 6095c735df2Sopenharmony_ci /** 6105c735df2Sopenharmony_ci * @brief Gets a NotificationActionButton object from specified js object 6115c735df2Sopenharmony_ci * 6125c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 6135c735df2Sopenharmony_ci * @param actionButton Indicates a js object to be converted 6145c735df2Sopenharmony_ci * @param pActionButton Indicates a NotificationActionButton object from specified js object 6155c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 6165c735df2Sopenharmony_ci */ 6175c735df2Sopenharmony_ci static napi_value GetNotificationActionButtonsDetailed( 6185c735df2Sopenharmony_ci const napi_env &env, const napi_value &actionButton, std::shared_ptr<NotificationActionButton> &pActionButton); 6195c735df2Sopenharmony_ci 6205c735df2Sopenharmony_ci /** 6215c735df2Sopenharmony_ci * @brief Gets the basic information of NotificationActionButton object from specified js object 6225c735df2Sopenharmony_ci * 6235c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 6245c735df2Sopenharmony_ci * @param actionButton Indicates a js object to be converted 6255c735df2Sopenharmony_ci * @param pActionButton Indicates a NotificationActionButton object from specified js object 6265c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 6275c735df2Sopenharmony_ci */ 6285c735df2Sopenharmony_ci static napi_value GetNotificationActionButtonsDetailedBasicInfo( 6295c735df2Sopenharmony_ci const napi_env &env, const napi_value &actionButton, std::shared_ptr<NotificationActionButton> &pActionButton); 6305c735df2Sopenharmony_ci 6315c735df2Sopenharmony_ci /** 6325c735df2Sopenharmony_ci * @brief Gets the extras of NotificationActionButton object from specified js object 6335c735df2Sopenharmony_ci * 6345c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 6355c735df2Sopenharmony_ci * @param actionButton Indicates a js object to be converted 6365c735df2Sopenharmony_ci * @param pActionButton Indicates a NotificationActionButton object from specified js object 6375c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 6385c735df2Sopenharmony_ci */ 6395c735df2Sopenharmony_ci static napi_value GetNotificationActionButtonsDetailedByExtras( 6405c735df2Sopenharmony_ci const napi_env &env, const napi_value &actionButton, std::shared_ptr<NotificationActionButton> &pActionButton); 6415c735df2Sopenharmony_ci 6425c735df2Sopenharmony_ci /** 6435c735df2Sopenharmony_ci * @brief Gets the user input of NotificationActionButton object from specified js object 6445c735df2Sopenharmony_ci * 6455c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 6465c735df2Sopenharmony_ci * @param actionButton Indicates a js object to be converted 6475c735df2Sopenharmony_ci * @param pActionButton Indicates a NotificationActionButton object from specified js object 6485c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 6495c735df2Sopenharmony_ci */ 6505c735df2Sopenharmony_ci static napi_value GetNotificationUserInput( 6515c735df2Sopenharmony_ci const napi_env &env, const napi_value &actionButton, std::shared_ptr<NotificationActionButton> &pActionButton); 6525c735df2Sopenharmony_ci 6535c735df2Sopenharmony_ci /** 6545c735df2Sopenharmony_ci * @brief Gets the input key of NotificationUserInput object from specified js object 6555c735df2Sopenharmony_ci * 6565c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 6575c735df2Sopenharmony_ci * @param userInputResult Indicates a js object to be converted 6585c735df2Sopenharmony_ci * @param userInput Indicates a NotificationUserInput object from specified js object 6595c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 6605c735df2Sopenharmony_ci */ 6615c735df2Sopenharmony_ci static napi_value GetNotificationUserInputByInputKey( 6625c735df2Sopenharmony_ci const napi_env &env, const napi_value &userInputResult, std::shared_ptr<NotificationUserInput> &userInput); 6635c735df2Sopenharmony_ci 6645c735df2Sopenharmony_ci /** 6655c735df2Sopenharmony_ci * @brief Gets the tag of NotificationUserInput object from specified js object 6665c735df2Sopenharmony_ci * 6675c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 6685c735df2Sopenharmony_ci * @param userInputResult Indicates a js object to be converted 6695c735df2Sopenharmony_ci * @param userInput Indicates a NotificationUserInput object from specified js object 6705c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 6715c735df2Sopenharmony_ci */ 6725c735df2Sopenharmony_ci static napi_value GetNotificationUserInputByTag( 6735c735df2Sopenharmony_ci const napi_env &env, const napi_value &userInputResult, std::shared_ptr<NotificationUserInput> &userInput); 6745c735df2Sopenharmony_ci 6755c735df2Sopenharmony_ci /** 6765c735df2Sopenharmony_ci * @brief Gets the options of NotificationUserInput object from specified js object 6775c735df2Sopenharmony_ci * 6785c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 6795c735df2Sopenharmony_ci * @param userInputResult Indicates a js object to be converted 6805c735df2Sopenharmony_ci * @param userInput Indicates a NotificationUserInput object from specified js object 6815c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 6825c735df2Sopenharmony_ci */ 6835c735df2Sopenharmony_ci static napi_value GetNotificationUserInputByOptions( 6845c735df2Sopenharmony_ci const napi_env &env, const napi_value &userInputResult, std::shared_ptr<NotificationUserInput> &userInput); 6855c735df2Sopenharmony_ci 6865c735df2Sopenharmony_ci /** 6875c735df2Sopenharmony_ci * @brief Gets the permit mime types of NotificationUserInput object from specified js object 6885c735df2Sopenharmony_ci * 6895c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 6905c735df2Sopenharmony_ci * @param userInputResult Indicates a js object to be converted 6915c735df2Sopenharmony_ci * @param userInput Indicates a NotificationUserInput object from specified js object 6925c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 6935c735df2Sopenharmony_ci */ 6945c735df2Sopenharmony_ci static napi_value GetNotificationUserInputByPermitMimeTypes( 6955c735df2Sopenharmony_ci const napi_env &env, const napi_value &userInputResult, std::shared_ptr<NotificationUserInput> &userInput); 6965c735df2Sopenharmony_ci 6975c735df2Sopenharmony_ci /** 6985c735df2Sopenharmony_ci * @brief Gets the permit free from input of NotificationUserInput object from specified js object 6995c735df2Sopenharmony_ci * 7005c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 7015c735df2Sopenharmony_ci * @param userInputResult Indicates a js object to be converted 7025c735df2Sopenharmony_ci * @param userInput Indicates a NotificationUserInput object from specified js object 7035c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 7045c735df2Sopenharmony_ci */ 7055c735df2Sopenharmony_ci static napi_value GetNotificationUserInputByPermitFreeFormInput( 7065c735df2Sopenharmony_ci const napi_env &env, const napi_value &userInputResult, std::shared_ptr<NotificationUserInput> &userInput); 7075c735df2Sopenharmony_ci 7085c735df2Sopenharmony_ci /** 7095c735df2Sopenharmony_ci * @brief Gets the edit type of NotificationUserInput object from specified js object 7105c735df2Sopenharmony_ci * 7115c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 7125c735df2Sopenharmony_ci * @param userInputResult Indicates a js object to be converted 7135c735df2Sopenharmony_ci * @param userInput Indicates a NotificationUserInput object from specified js object 7145c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 7155c735df2Sopenharmony_ci */ 7165c735df2Sopenharmony_ci static napi_value GetNotificationUserInputByEditType( 7175c735df2Sopenharmony_ci const napi_env &env, const napi_value &userInputResult, std::shared_ptr<NotificationUserInput> &userInput); 7185c735df2Sopenharmony_ci 7195c735df2Sopenharmony_ci /** 7205c735df2Sopenharmony_ci * @brief Gets the additional data of NotificationUserInput object from specified js object 7215c735df2Sopenharmony_ci * 7225c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 7235c735df2Sopenharmony_ci * @param userInputResult Indicates a js object to be converted 7245c735df2Sopenharmony_ci * @param userInput Indicates a NotificationUserInput object from specified js object 7255c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 7265c735df2Sopenharmony_ci */ 7275c735df2Sopenharmony_ci static napi_value GetNotificationUserInputByAdditionalData( 7285c735df2Sopenharmony_ci const napi_env &env, const napi_value &userInputResult, std::shared_ptr<NotificationUserInput> &userInput); 7295c735df2Sopenharmony_ci 7305c735df2Sopenharmony_ci /** 7315c735df2Sopenharmony_ci * @brief Gets the small icon of NotificationRequest object from specified js object 7325c735df2Sopenharmony_ci * 7335c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 7345c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 7355c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 7365c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 7375c735df2Sopenharmony_ci */ 7385c735df2Sopenharmony_ci static napi_value GetNotificationSmallIcon( 7395c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 7405c735df2Sopenharmony_ci 7415c735df2Sopenharmony_ci /** 7425c735df2Sopenharmony_ci * @brief Gets the large icon of NotificationRequest object from specified js object 7435c735df2Sopenharmony_ci * 7445c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 7455c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 7465c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 7475c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 7485c735df2Sopenharmony_ci */ 7495c735df2Sopenharmony_ci static napi_value GetNotificationLargeIcon( 7505c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 7515c735df2Sopenharmony_ci 7525c735df2Sopenharmony_ci /** 7535c735df2Sopenharmony_ci * @brief Gets the overlay icon of NotificationRequest object from specified js object 7545c735df2Sopenharmony_ci * 7555c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 7565c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 7575c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 7585c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 7595c735df2Sopenharmony_ci */ 7605c735df2Sopenharmony_ci static napi_value GetNotificationOverlayIcon( 7615c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 7625c735df2Sopenharmony_ci 7635c735df2Sopenharmony_ci /** 7645c735df2Sopenharmony_ci * @brief Gets the distributed options of NotificationRequest object from specified js object 7655c735df2Sopenharmony_ci * 7665c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 7675c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 7685c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 7695c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 7705c735df2Sopenharmony_ci */ 7715c735df2Sopenharmony_ci static napi_value GetNotificationRequestDistributedOptions( 7725c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 7735c735df2Sopenharmony_ci 7745c735df2Sopenharmony_ci /** 7755c735df2Sopenharmony_ci * @brief Gets the isDistributed flag of NotificationRequest object from specified js object 7765c735df2Sopenharmony_ci * 7775c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 7785c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 7795c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 7805c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 7815c735df2Sopenharmony_ci */ 7825c735df2Sopenharmony_ci static napi_value GetNotificationIsDistributed( 7835c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 7845c735df2Sopenharmony_ci 7855c735df2Sopenharmony_ci /** 7865c735df2Sopenharmony_ci * @brief Gets the devices that support display of NotificationRequest object from specified js object 7875c735df2Sopenharmony_ci * 7885c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 7895c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 7905c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 7915c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 7925c735df2Sopenharmony_ci */ 7935c735df2Sopenharmony_ci static napi_value GetNotificationSupportDisplayDevices( 7945c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 7955c735df2Sopenharmony_ci 7965c735df2Sopenharmony_ci /** 7975c735df2Sopenharmony_ci * @brief Gets the devices that support operation of NotificationRequest object from specified js object 7985c735df2Sopenharmony_ci * 7995c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 8005c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 8015c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 8025c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 8035c735df2Sopenharmony_ci */ 8045c735df2Sopenharmony_ci static napi_value GetNotificationSupportOperateDevices( 8055c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 8065c735df2Sopenharmony_ci 8075c735df2Sopenharmony_ci /** 8085c735df2Sopenharmony_ci * @brief Gets a content type of notification from specified js object 8095c735df2Sopenharmony_ci * 8105c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 8115c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 8125c735df2Sopenharmony_ci * @param type Indicates a the content type of notification from specified js object 8135c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 8145c735df2Sopenharmony_ci */ 8155c735df2Sopenharmony_ci static napi_value GetNotificationContentType(const napi_env &env, const napi_value &result, int32_t &type); 8165c735df2Sopenharmony_ci 8175c735df2Sopenharmony_ci /** 8185c735df2Sopenharmony_ci * @brief Gets a basic content of NotificationRequest object from specified js object 8195c735df2Sopenharmony_ci * 8205c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 8215c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 8225c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 8235c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 8245c735df2Sopenharmony_ci */ 8255c735df2Sopenharmony_ci static napi_value GetNotificationBasicContent( 8265c735df2Sopenharmony_ci const napi_env &env, const napi_value &result, NotificationRequest &request); 8275c735df2Sopenharmony_ci 8285c735df2Sopenharmony_ci /** 8295c735df2Sopenharmony_ci * @brief Gets a NotificationBasicContent object from specified js object 8305c735df2Sopenharmony_ci * 8315c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 8325c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 8335c735df2Sopenharmony_ci * @param basicContent Indicates a NotificationBasicContent object from specified js object 8345c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 8355c735df2Sopenharmony_ci */ 8365c735df2Sopenharmony_ci static napi_value GetNotificationBasicContentDetailed( 8375c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, std::shared_ptr<NotificationBasicContent> basicContent); 8385c735df2Sopenharmony_ci 8395c735df2Sopenharmony_ci /** 8405c735df2Sopenharmony_ci * @brief Gets a long-text content of NotificationRequest object from specified js object 8415c735df2Sopenharmony_ci * 8425c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 8435c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 8445c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 8455c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 8465c735df2Sopenharmony_ci */ 8475c735df2Sopenharmony_ci static napi_value GetNotificationLongTextContent( 8485c735df2Sopenharmony_ci const napi_env &env, const napi_value &result, NotificationRequest &request); 8495c735df2Sopenharmony_ci 8505c735df2Sopenharmony_ci /** 8515c735df2Sopenharmony_ci * @brief Gets a NotificationLongTextContent object from specified js object 8525c735df2Sopenharmony_ci * 8535c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 8545c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 8555c735df2Sopenharmony_ci * @param longContent Indicates a NotificationLongTextContent object from specified js object 8565c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 8575c735df2Sopenharmony_ci */ 8585c735df2Sopenharmony_ci static napi_value GetNotificationLongTextContentDetailed( 8595c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, 8605c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationLongTextContent> &longContent); 8615c735df2Sopenharmony_ci 8625c735df2Sopenharmony_ci /** 8635c735df2Sopenharmony_ci * @brief Gets a picture content of NotificationRequest object from specified js object 8645c735df2Sopenharmony_ci * 8655c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 8665c735df2Sopenharmony_ci * @param result Indicates a js object to be converted 8675c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 8685c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 8695c735df2Sopenharmony_ci */ 8705c735df2Sopenharmony_ci static napi_value GetNotificationPictureContent( 8715c735df2Sopenharmony_ci const napi_env &env, const napi_value &result, NotificationRequest &request); 8725c735df2Sopenharmony_ci 8735c735df2Sopenharmony_ci /** 8745c735df2Sopenharmony_ci * @brief Gets a NotificationPictureContent object from specified js object 8755c735df2Sopenharmony_ci * 8765c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 8775c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 8785c735df2Sopenharmony_ci * @param pictureContent Indicates a NotificationPictureContent object from specified js object 8795c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 8805c735df2Sopenharmony_ci */ 8815c735df2Sopenharmony_ci static napi_value GetNotificationPictureContentDetailed( 8825c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, 8835c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationPictureContent> &pictureContent); 8845c735df2Sopenharmony_ci 8855c735df2Sopenharmony_ci /** 8865c735df2Sopenharmony_ci * @brief Gets a NotificationLocalLiveViewContent object from specified js object 8875c735df2Sopenharmony_ci * 8885c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 8895c735df2Sopenharmony_ci * @param result Indicates a js object to be converted 8905c735df2Sopenharmony_ci * @param request Indicates a NotificationLocalLiveViewContent object from specified js object 8915c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 8925c735df2Sopenharmony_ci */ 8935c735df2Sopenharmony_ci static napi_value GetNotificationLocalLiveViewContent( 8945c735df2Sopenharmony_ci const napi_env &env, const napi_value &result, NotificationRequest &request); 8955c735df2Sopenharmony_ci 8965c735df2Sopenharmony_ci /** 8975c735df2Sopenharmony_ci * @brief Gets a capsule of NotificationLocalLiveViewContent object from specified js object 8985c735df2Sopenharmony_ci * 8995c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 9005c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 9015c735df2Sopenharmony_ci * @param content Indicates a capsule object from specified js object 9025c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 9035c735df2Sopenharmony_ci */ 9045c735df2Sopenharmony_ci static napi_value GetNotificationLocalLiveViewCapsule( 9055c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, 9065c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationLocalLiveViewContent> content); 9075c735df2Sopenharmony_ci 9085c735df2Sopenharmony_ci /** 9095c735df2Sopenharmony_ci * @brief Gets a button of NotificationLocalLiveViewContent object from specified js object 9105c735df2Sopenharmony_ci * 9115c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 9125c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 9135c735df2Sopenharmony_ci * @param content Indicates a button object from specified js object 9145c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 9155c735df2Sopenharmony_ci */ 9165c735df2Sopenharmony_ci static napi_value GetNotificationLocalLiveViewButton( 9175c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, 9185c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationLocalLiveViewContent> content); 9195c735df2Sopenharmony_ci 9205c735df2Sopenharmony_ci /** 9215c735df2Sopenharmony_ci * @brief Gets a time of NotificationLocalLiveViewContent object from specified js object 9225c735df2Sopenharmony_ci * 9235c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 9245c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 9255c735df2Sopenharmony_ci * @param content Indicates a time object from specified js object 9265c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 9275c735df2Sopenharmony_ci */ 9285c735df2Sopenharmony_ci static napi_value GetNotificationLocalLiveViewTime( 9295c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, 9305c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationLocalLiveViewContent> content); 9315c735df2Sopenharmony_ci 9325c735df2Sopenharmony_ci /** 9335c735df2Sopenharmony_ci * @brief Gets a progress of NotificationLocalLiveViewContent object from specified js object 9345c735df2Sopenharmony_ci * 9355c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 9365c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 9375c735df2Sopenharmony_ci * @param content Indicates a progress object from specified js object 9385c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 9395c735df2Sopenharmony_ci */ 9405c735df2Sopenharmony_ci static napi_value GetNotificationLocalLiveViewProgress( 9415c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, 9425c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationLocalLiveViewContent> content); 9435c735df2Sopenharmony_ci 9445c735df2Sopenharmony_ci /** 9455c735df2Sopenharmony_ci * @brief Gets a NotificationLocalLiveViewContent object from specified js object 9465c735df2Sopenharmony_ci * 9475c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 9485c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 9495c735df2Sopenharmony_ci * @param content Indicates a NotificationLocalLiveViewContent object from specified js object 9505c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 9515c735df2Sopenharmony_ci */ 9525c735df2Sopenharmony_ci static napi_value GetNotificationLocalLiveViewContentDetailed( 9535c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, 9545c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationLocalLiveViewContent> content); 9555c735df2Sopenharmony_ci 9565c735df2Sopenharmony_ci /** 9575c735df2Sopenharmony_ci * @brief Gets a conversational content of NotificationRequest object from specified js object 9585c735df2Sopenharmony_ci * 9595c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 9605c735df2Sopenharmony_ci * @param result Indicates a js object to be converted 9615c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 9625c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 9635c735df2Sopenharmony_ci */ 9645c735df2Sopenharmony_ci static napi_value GetNotificationConversationalContent( 9655c735df2Sopenharmony_ci const napi_env &env, const napi_value &result, NotificationRequest &request); 9665c735df2Sopenharmony_ci 9675c735df2Sopenharmony_ci /** 9685c735df2Sopenharmony_ci * @brief Gets the user of NotificationConversationalContent object from specified js object 9695c735df2Sopenharmony_ci * 9705c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 9715c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 9725c735df2Sopenharmony_ci * @param user Indicates a MessageUser object from specified js object 9735c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 9745c735df2Sopenharmony_ci */ 9755c735df2Sopenharmony_ci static napi_value GetNotificationConversationalContentByUser( 9765c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, MessageUser &user); 9775c735df2Sopenharmony_ci 9785c735df2Sopenharmony_ci /** 9795c735df2Sopenharmony_ci * @brief Gets the title of NotificationConversationalContent object from specified js object 9805c735df2Sopenharmony_ci * 9815c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 9825c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 9835c735df2Sopenharmony_ci * @param conversationalContent Indicates a NotificationConversationalContent object from specified js object 9845c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 9855c735df2Sopenharmony_ci */ 9865c735df2Sopenharmony_ci static napi_value GetNotificationConversationalContentTitle( 9875c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, 9885c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationConversationalContent> &conversationalContent); 9895c735df2Sopenharmony_ci 9905c735df2Sopenharmony_ci /** 9915c735df2Sopenharmony_ci * @brief Gets the group of NotificationConversationalContent object from specified js object 9925c735df2Sopenharmony_ci * 9935c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 9945c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 9955c735df2Sopenharmony_ci * @param conversationalContent Indicates a NotificationConversationalContent object from specified js object 9965c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 9975c735df2Sopenharmony_ci */ 9985c735df2Sopenharmony_ci static napi_value GetNotificationConversationalContentGroup( 9995c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, 10005c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationConversationalContent> &conversationalContent); 10015c735df2Sopenharmony_ci 10025c735df2Sopenharmony_ci /** 10035c735df2Sopenharmony_ci * @brief Gets the messages of NotificationConversationalContent object from specified js object 10045c735df2Sopenharmony_ci * 10055c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 10065c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 10075c735df2Sopenharmony_ci * @param conversationalContent Indicates a NotificationConversationalContent object from specified js object 10085c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 10095c735df2Sopenharmony_ci */ 10105c735df2Sopenharmony_ci static napi_value GetNotificationConversationalContentMessages( 10115c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, 10125c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationConversationalContent> &conversationalContent); 10135c735df2Sopenharmony_ci 10145c735df2Sopenharmony_ci /** 10155c735df2Sopenharmony_ci * @brief Gets a NotificationConversationalMessage object from specified js object 10165c735df2Sopenharmony_ci * 10175c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 10185c735df2Sopenharmony_ci * @param conversationalMessage Indicates a js object to be converted 10195c735df2Sopenharmony_ci * @param message Indicates a NotificationConversationalMessage object from specified js object 10205c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 10215c735df2Sopenharmony_ci */ 10225c735df2Sopenharmony_ci static napi_value GetConversationalMessage( 10235c735df2Sopenharmony_ci const napi_env &env, const napi_value &conversationalMessage, 10245c735df2Sopenharmony_ci std::shared_ptr<NotificationConversationalMessage> &message); 10255c735df2Sopenharmony_ci 10265c735df2Sopenharmony_ci /** 10275c735df2Sopenharmony_ci * @brief Gets the basic information of NotificationConversationalMessage object from specified js object 10285c735df2Sopenharmony_ci * 10295c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 10305c735df2Sopenharmony_ci * @param conversationalMessage Indicates a js object to be converted 10315c735df2Sopenharmony_ci * @param message Indicates a NotificationConversationalMessage object from specified js object 10325c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 10335c735df2Sopenharmony_ci */ 10345c735df2Sopenharmony_ci static napi_value GetConversationalMessageBasicInfo( 10355c735df2Sopenharmony_ci const napi_env &env, const napi_value &conversationalMessage, 10365c735df2Sopenharmony_ci std::shared_ptr<NotificationConversationalMessage> &message); 10375c735df2Sopenharmony_ci 10385c735df2Sopenharmony_ci /** 10395c735df2Sopenharmony_ci * @brief Gets the other information of NotificationConversationalMessage object from specified js object 10405c735df2Sopenharmony_ci * 10415c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 10425c735df2Sopenharmony_ci * @param conversationalMessage Indicates a js object to be converted 10435c735df2Sopenharmony_ci * @param message Indicates a NotificationConversationalMessage object from specified js object 10445c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 10455c735df2Sopenharmony_ci */ 10465c735df2Sopenharmony_ci static napi_value GetConversationalMessageOtherInfo( 10475c735df2Sopenharmony_ci const napi_env &env, const napi_value &conversationalMessage, 10485c735df2Sopenharmony_ci std::shared_ptr<NotificationConversationalMessage> &message); 10495c735df2Sopenharmony_ci 10505c735df2Sopenharmony_ci /** 10515c735df2Sopenharmony_ci * @brief Gets a MessageUser object from specified js object 10525c735df2Sopenharmony_ci * 10535c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 10545c735df2Sopenharmony_ci * @param result Indicates a js object to be converted 10555c735df2Sopenharmony_ci * @param messageUser Indicates a MessageUser object from specified js object 10565c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 10575c735df2Sopenharmony_ci */ 10585c735df2Sopenharmony_ci static napi_value GetMessageUser(const napi_env &env, const napi_value &result, MessageUser &messageUser); 10595c735df2Sopenharmony_ci 10605c735df2Sopenharmony_ci /** 10615c735df2Sopenharmony_ci * @brief Gets a MessageUser object from specified js object 10625c735df2Sopenharmony_ci * 10635c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 10645c735df2Sopenharmony_ci * @param result Indicates a js object to be converted 10655c735df2Sopenharmony_ci * @param messageUser Indicates a MessageUser object from specified js object 10665c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 10675c735df2Sopenharmony_ci */ 10685c735df2Sopenharmony_ci static napi_value GetMessageUserByString(const napi_env &env, const napi_value &result, MessageUser &messageUser); 10695c735df2Sopenharmony_ci 10705c735df2Sopenharmony_ci /** 10715c735df2Sopenharmony_ci * @brief Gets the bool objects of MessageUser object from specified js object 10725c735df2Sopenharmony_ci * 10735c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 10745c735df2Sopenharmony_ci * @param result Indicates a js object to be converted 10755c735df2Sopenharmony_ci * @param messageUser Indicates a MessageUser object from specified js object 10765c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 10775c735df2Sopenharmony_ci */ 10785c735df2Sopenharmony_ci static napi_value GetMessageUserByBool(const napi_env &env, const napi_value &result, MessageUser &messageUser); 10795c735df2Sopenharmony_ci 10805c735df2Sopenharmony_ci /** 10815c735df2Sopenharmony_ci * @brief Gets the custom objects of MessageUser object from specified js object 10825c735df2Sopenharmony_ci * 10835c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 10845c735df2Sopenharmony_ci * @param result Indicates a js object to be converted 10855c735df2Sopenharmony_ci * @param messageUser Indicates a MessageUser object from specified js object 10865c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 10875c735df2Sopenharmony_ci */ 10885c735df2Sopenharmony_ci static napi_value GetMessageUserByCustom(const napi_env &env, const napi_value &result, MessageUser &messageUser); 10895c735df2Sopenharmony_ci 10905c735df2Sopenharmony_ci /** 10915c735df2Sopenharmony_ci * @brief Gets the multi-line content of NotificationRequest object from specified js object 10925c735df2Sopenharmony_ci * 10935c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 10945c735df2Sopenharmony_ci * @param result Indicates a js object to be converted 10955c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 10965c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 10975c735df2Sopenharmony_ci */ 10985c735df2Sopenharmony_ci static napi_value GetNotificationMultiLineContent( 10995c735df2Sopenharmony_ci const napi_env &env, const napi_value &result, NotificationRequest &request); 11005c735df2Sopenharmony_ci 11015c735df2Sopenharmony_ci /** 11025c735df2Sopenharmony_ci * @brief Gets the lines of NotificationMultiLineContent object from specified js object 11035c735df2Sopenharmony_ci * 11045c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 11055c735df2Sopenharmony_ci * @param result Indicates a js object to be converted 11065c735df2Sopenharmony_ci * @param multiLineContent Indicates a NotificationMultiLineContent object from specified js object 11075c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 11085c735df2Sopenharmony_ci */ 11095c735df2Sopenharmony_ci static napi_value GetNotificationMultiLineContentLines(const napi_env &env, const napi_value &result, 11105c735df2Sopenharmony_ci std::shared_ptr<OHOS::Notification::NotificationMultiLineContent> &multiLineContent); 11115c735df2Sopenharmony_ci 11125c735df2Sopenharmony_ci /** 11135c735df2Sopenharmony_ci * @brief Gets the liveView content of NotificationRequest object from specified js object 11145c735df2Sopenharmony_ci * 11155c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 11165c735df2Sopenharmony_ci * @param result Indicates a js object to be converted 11175c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 11185c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 11195c735df2Sopenharmony_ci */ 11205c735df2Sopenharmony_ci static napi_value GetNotificationLiveViewContent( 11215c735df2Sopenharmony_ci const napi_env &env, const napi_value &result, NotificationRequest &request); 11225c735df2Sopenharmony_ci 11235c735df2Sopenharmony_ci /** 11245c735df2Sopenharmony_ci * @brief Gets a NotificationLiveViewContent object from specified js object 11255c735df2Sopenharmony_ci * 11265c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 11275c735df2Sopenharmony_ci * @param contentResult Indicates a js object to be converted 11285c735df2Sopenharmony_ci * @param liveViewContent Indicates a NotificationMultiLineContent object from specified js object 11295c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 11305c735df2Sopenharmony_ci */ 11315c735df2Sopenharmony_ci static napi_value GetNotificationLiveViewContentDetailed(const napi_env &env, const napi_value &contentResult, 11325c735df2Sopenharmony_ci std::shared_ptr<NotificationLiveViewContent> &liveViewContent); 11335c735df2Sopenharmony_ci 11345c735df2Sopenharmony_ci /** 11355c735df2Sopenharmony_ci * @brief Gets a GetLiveViewPictures from specified js object 11365c735df2Sopenharmony_ci * 11375c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 11385c735df2Sopenharmony_ci * @param picturesObj Indicates a js object to be converted 11395c735df2Sopenharmony_ci * @param pictures Indicates pictures object from specified js object 11405c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 11415c735df2Sopenharmony_ci */ 11425c735df2Sopenharmony_ci static napi_value GetLiveViewPictures(const napi_env &env, const napi_value &picturesObj, 11435c735df2Sopenharmony_ci std::vector<std::shared_ptr<Media::PixelMap>> &pictures); 11445c735df2Sopenharmony_ci 11455c735df2Sopenharmony_ci /** 11465c735df2Sopenharmony_ci * @brief Gets a GetLiveViewPictures from specified js object 11475c735df2Sopenharmony_ci * 11485c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 11495c735df2Sopenharmony_ci * @param pictureMapObj Indicates a js object to be converted 11505c735df2Sopenharmony_ci * @param pictureMap Indicates picturemap from specified js object 11515c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 11525c735df2Sopenharmony_ci */ 11535c735df2Sopenharmony_ci static napi_value GetLiveViewPictureInfo(const napi_env &env, const napi_value &pictureMapObj, 11545c735df2Sopenharmony_ci std::map<std::string, std::vector<std::shared_ptr<Media::PixelMap>>> &pictureMap); 11555c735df2Sopenharmony_ci 11565c735df2Sopenharmony_ci /** 11575c735df2Sopenharmony_ci * @brief Gets a NotificationBundleOption object from specified js object 11585c735df2Sopenharmony_ci * 11595c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 11605c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 11615c735df2Sopenharmony_ci * @param option Indicates a NotificationBundleOption object from specified js object 11625c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 11635c735df2Sopenharmony_ci */ 11645c735df2Sopenharmony_ci static napi_value GetBundleOption(const napi_env &env, const napi_value &value, NotificationBundleOption &option); 11655c735df2Sopenharmony_ci 11665c735df2Sopenharmony_ci /** 11675c735df2Sopenharmony_ci * @brief Gets a NotificationButtonOption object from specified js object 11685c735df2Sopenharmony_ci * 11695c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 11705c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 11715c735df2Sopenharmony_ci * @param option Indicates a NotificationButtonOption object from specified js object 11725c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 11735c735df2Sopenharmony_ci */ 11745c735df2Sopenharmony_ci static napi_value GetButtonOption(const napi_env &env, const napi_value &value, NotificationButtonOption &option); 11755c735df2Sopenharmony_ci 11765c735df2Sopenharmony_ci static napi_value GetHashCodes(const napi_env &env, const napi_value &value, std::vector<std::string> &hashCodes); 11775c735df2Sopenharmony_ci 11785c735df2Sopenharmony_ci /** 11795c735df2Sopenharmony_ci * @brief Gets a NotificationKey object from specified js object 11805c735df2Sopenharmony_ci * 11815c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 11825c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 11835c735df2Sopenharmony_ci * @param key Indicates a NotificationKey object from specified js object 11845c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 11855c735df2Sopenharmony_ci */ 11865c735df2Sopenharmony_ci static napi_value GetNotificationKey(const napi_env &env, const napi_value &value, NotificationKey &key); 11875c735df2Sopenharmony_ci 11885c735df2Sopenharmony_ci /** 11895c735df2Sopenharmony_ci * @brief Gets the template of NotificationRequest object from specified js object 11905c735df2Sopenharmony_ci * 11915c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 11925c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 11935c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 11945c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 11955c735df2Sopenharmony_ci */ 11965c735df2Sopenharmony_ci static napi_value GetNotificationTemplate( 11975c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 11985c735df2Sopenharmony_ci 11995c735df2Sopenharmony_ci /** 12005c735df2Sopenharmony_ci * @brief Gets a NotificationTemplate object from specified js object 12015c735df2Sopenharmony_ci * 12025c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 12035c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 12045c735df2Sopenharmony_ci * @param templ Indicates a NotificationTemplate object from specified js object 12055c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 12065c735df2Sopenharmony_ci */ 12075c735df2Sopenharmony_ci static napi_value GetNotificationTemplateInfo(const napi_env &env, const napi_value &value, 12085c735df2Sopenharmony_ci std::shared_ptr<NotificationTemplate> &templ); 12095c735df2Sopenharmony_ci 12105c735df2Sopenharmony_ci /** 12115c735df2Sopenharmony_ci * @brief Gets the number of badge of NotificationRequest object from specified js object 12125c735df2Sopenharmony_ci * 12135c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 12145c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 12155c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 12165c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 12175c735df2Sopenharmony_ci */ 12185c735df2Sopenharmony_ci static napi_value GetNotificationBadgeNumber( 12195c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 12205c735df2Sopenharmony_ci 12215c735df2Sopenharmony_ci /** 12225c735df2Sopenharmony_ci * @brief Gets a NotificationUnifiedGroupInfo object from specified js object 12235c735df2Sopenharmony_ci * 12245c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 12255c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 12265c735df2Sopenharmony_ci * @param templ Indicates a NotificationUnifiedGroupInfo object from specified js object 12275c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 12285c735df2Sopenharmony_ci */ 12295c735df2Sopenharmony_ci static napi_value GetNotificationUnifiedGroupInfo( 12305c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 12315c735df2Sopenharmony_ci 12325c735df2Sopenharmony_ci /** 12335c735df2Sopenharmony_ci * @brief Gets the notification control flags of NotificationRequest object from specified js object. 12345c735df2Sopenharmony_ci * 12355c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 12365c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 12375c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 12385c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 12395c735df2Sopenharmony_ci */ 12405c735df2Sopenharmony_ci static napi_value GetNotificationControlFlags( 12415c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 12425c735df2Sopenharmony_ci 12435c735df2Sopenharmony_ci /** 12445c735df2Sopenharmony_ci * @brief Create a napi value with specified error object for callback 12455c735df2Sopenharmony_ci * 12465c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 12475c735df2Sopenharmony_ci * @param errCode Indicates specified err code 12485c735df2Sopenharmony_ci * @return Returns a napi value with specified error object for callback 12495c735df2Sopenharmony_ci */ 12505c735df2Sopenharmony_ci static napi_value CreateErrorValue(napi_env env, int32_t errCode, bool newType); 12515c735df2Sopenharmony_ci 12525c735df2Sopenharmony_ci /** 12535c735df2Sopenharmony_ci * @brief Gets the notificationBundleOption of NotificationRequest object from specified js object 12545c735df2Sopenharmony_ci * 12555c735df2Sopenharmony_ci * @param env Indicates the environment that the API is invoked under 12565c735df2Sopenharmony_ci * @param value Indicates a js object to be converted 12575c735df2Sopenharmony_ci * @param request Indicates a NotificationRequest object from specified js object 12585c735df2Sopenharmony_ci * @return Returns the null object if success, returns the null value otherwise 12595c735df2Sopenharmony_ci */ 12605c735df2Sopenharmony_ci static napi_value GetNotificationBundleOption( 12615c735df2Sopenharmony_ci const napi_env &env, const napi_value &value, NotificationRequest &request); 12625c735df2Sopenharmony_ci static bool IsValidRemoveReason(int32_t reasonType); 12635c735df2Sopenharmony_ci static void NapiThrow(napi_env env, int32_t errCode); 12645c735df2Sopenharmony_ci static napi_value GetLockScreenPicture( 12655c735df2Sopenharmony_ci const napi_env &env, const napi_value &contentResult, std::shared_ptr<NotificationBasicContent> basicContent); 12665c735df2Sopenharmony_ci 12675c735df2Sopenharmony_ciprivate: 12685c735df2Sopenharmony_ci static const int32_t ARGS_ONE = 1; 12695c735df2Sopenharmony_ci static const int32_t ARGS_TWO = 2; 12705c735df2Sopenharmony_ci static const int32_t ONLY_CALLBACK_MAX_PARA = 1; 12715c735df2Sopenharmony_ci static const int32_t ONLY_CALLBACK_MIN_PARA = 0; 12725c735df2Sopenharmony_ci static std::set<std::shared_ptr<AbilityRuntime::WantAgent::WantAgent>> wantAgent_; 12735c735df2Sopenharmony_ci static std::mutex mutex_; 12745c735df2Sopenharmony_ci static const char *GetPropertyNameByContentType(ContentType type); 12755c735df2Sopenharmony_ci}; 12765c735df2Sopenharmony_ci} // namespace Location 12775c735df2Sopenharmony_ci} // namespace OHOS 12785c735df2Sopenharmony_ci 12795c735df2Sopenharmony_ci#endif // BASE_LOCATION_DISTRIBUTED_NOTIFICATION_SERVICE_FRAMEWORKS_JS_NAPI_INCLUDE_COMMON_H 1280