1 /*
2 * Copyright (c) 2024 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include "napi/native_api.h"
17 #include "hilog/log.h"
18 #include "BasicServicesKit/oh_commonevent.h"
19 #include "BasicServicesKit/oh_commonevent_support.h"
20 #include "common.h"
21
CreateParameters(napi_env env,napi_callback_info info)22 static napi_value CreateParameters(napi_env env, napi_callback_info info)
23 {
24 parameters = OH_CommonEvent_CreateParameters();
25 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "CreateParameters",
26 "OH_CommonEvent_CreateParameters: %{public}p", parameters);
27 ASSERT_OBJNE(parameters, nullptr);
28 NAPI_END;
29 }
30
DestroyParameters(napi_env env,napi_callback_info info)31 static napi_value DestroyParameters(napi_env env, napi_callback_info info)
32 {
33 if (parameters != nullptr) {
34 OH_CommonEvent_DestroyParameters(parameters);
35 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
36 "OH_CommonEvent_DestroyParameters success");
37 parameters = nullptr;
38 }
39 NAPI_END;
40 }
41
SetIntToParameters(napi_env env,napi_callback_info info)42 static napi_value SetIntToParameters(napi_env env, napi_callback_info info)
43 {
44 parameters = OH_CommonEvent_CreateParameters();
45 int value = PARAM_1;
46 ASSERT_EQ(OH_CommonEvent_SetIntToParameters(parameters, KEY_INT, value), COMMONEVENT_ERR_OK);
47 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "SetIntToParameters",
48 "OH_CommonEvent_SetIntToParameters: %{public}d", value);
49 int ret = OH_CommonEvent_GetIntFromParameters(parameters, KEY_INT, PARAM_1);
50 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "SetIntToParameters",
51 "OH_CommonEvent_GetIntFromParameters: %{public}d", ret);
52 ASSERT_EQ(ret, value);
53 if (parameters != nullptr) {
54 OH_CommonEvent_DestroyParameters(parameters);
55 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
56 "OH_CommonEvent_DestroyParameters success");
57 parameters = nullptr;
58 }
59 NAPI_END;
60 }
61
SetIntArrayToParameters(napi_env env,napi_callback_info info)62 static napi_value SetIntArrayToParameters(napi_env env, napi_callback_info info)
63 {
64 parameters = OH_CommonEvent_CreateParameters();
65 int value[] = {PARAM_1, PARAM_4, PARAM_6};
66 size_t num = sizeof(value) / sizeof(int);
67 ASSERT_EQ(OH_CommonEvent_SetIntArrayToParameters(parameters, KEY_INT_ARRAY, value, num),
68 COMMONEVENT_ERR_OK);
69 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "SetIntArrayToParameters",
70 "OH_CommonEvent_SetIntArrayToParameters: %{public}d", num);
71 int* ptr = nullptr;
72 size_t ret = OH_CommonEvent_GetIntArrayFromParameters(parameters, KEY_INT_ARRAY, &ptr);
73 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "SetIntArrayToParameters",
74 "OH_CommonEvent_GetIntArrayFromParameters: %{public}d", ret);
75 ASSERT_EQ(ret, num);
76 if (parameters != nullptr) {
77 OH_CommonEvent_DestroyParameters(parameters);
78 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
79 "OH_CommonEvent_DestroyParameters success");
80 parameters = nullptr;
81 }
82 NAPI_END;
83 }
84
SetLongToParameters(napi_env env,napi_callback_info info)85 static napi_value SetLongToParameters(napi_env env, napi_callback_info info)
86 {
87 parameters = OH_CommonEvent_CreateParameters();
88 long value = PARAM_1;
89 ASSERT_EQ(OH_CommonEvent_SetLongToParameters(parameters, KEY_LONG, value), COMMONEVENT_ERR_OK);
90 ASSERT_EQ(OH_CommonEvent_GetLongFromParameters(parameters, KEY_LONG, PARAM_0), value);
91 if (parameters != nullptr) {
92 OH_CommonEvent_DestroyParameters(parameters);
93 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
94 "OH_CommonEvent_DestroyParameters success");
95 parameters = nullptr;
96 }
97 NAPI_END;
98 }
99
SetLongArrayToParameters(napi_env env,napi_callback_info info)100 static napi_value SetLongArrayToParameters(napi_env env, napi_callback_info info)
101 {
102 parameters = OH_CommonEvent_CreateParameters();
103 long value[] = {PARAM_1, PARAM_4, PARAM_6};
104 size_t num = sizeof(value) / sizeof(long);
105 ASSERT_EQ(OH_CommonEvent_SetLongArrayToParameters(parameters, KEY_LONG_ARRAY, value, num),
106 COMMONEVENT_ERR_OK);
107 long* ptr = nullptr;
108 size_t ret = OH_CommonEvent_GetLongArrayFromParameters(parameters, KEY_LONG_ARRAY, &ptr);
109 ASSERT_EQ(ret, num);
110 if (parameters != nullptr) {
111 OH_CommonEvent_DestroyParameters(parameters);
112 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
113 "OH_CommonEvent_DestroyParameters success");
114 parameters = nullptr;
115 }
116 NAPI_END;
117 }
118
SetDoubleToParameters(napi_env env,napi_callback_info info)119 static napi_value SetDoubleToParameters(napi_env env, napi_callback_info info)
120 {
121 parameters = OH_CommonEvent_CreateParameters();
122 double value = PARAM_1;
123 ASSERT_EQ(OH_CommonEvent_SetDoubleToParameters(parameters, KEY_DOUBLE, value), COMMONEVENT_ERR_OK);
124 ASSERT_EQ(OH_CommonEvent_GetDoubleFromParameters(parameters, KEY_DOUBLE, PARAM_0), value);
125 if (parameters != nullptr) {
126 OH_CommonEvent_DestroyParameters(parameters);
127 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
128 "OH_CommonEvent_DestroyParameters success");
129 parameters = nullptr;
130 }
131 NAPI_END;
132 }
133
SetDoubleArrayToParameters(napi_env env,napi_callback_info info)134 static napi_value SetDoubleArrayToParameters(napi_env env, napi_callback_info info)
135 {
136 parameters = OH_CommonEvent_CreateParameters();
137 double value[] = {PARAM_1, PARAM_4, PARAM_6};
138 size_t num = sizeof(value) / sizeof(double);
139 ASSERT_EQ(OH_CommonEvent_SetDoubleArrayToParameters(parameters, KEY_DOUBLE_ARRAY, value, num),
140 COMMONEVENT_ERR_OK);
141 double * ptr = nullptr;
142 size_t ret = OH_CommonEvent_GetDoubleArrayFromParameters(parameters, KEY_DOUBLE_ARRAY, &ptr);
143 ASSERT_EQ(ret, num);
144 if (parameters != nullptr) {
145 OH_CommonEvent_DestroyParameters(parameters);
146 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
147 "OH_CommonEvent_DestroyParameters success");
148 parameters = nullptr;
149 }
150 NAPI_END;
151 }
152
SetBoolToParameters(napi_env env,napi_callback_info info)153 static napi_value SetBoolToParameters(napi_env env, napi_callback_info info)
154 {
155 parameters = OH_CommonEvent_CreateParameters();
156 bool value = true;
157 ASSERT_EQ(OH_CommonEvent_SetBoolToParameters(parameters, KEY_BOOL, value), COMMONEVENT_ERR_OK);
158 ASSERT_EQ(OH_CommonEvent_GetBoolFromParameters(parameters, KEY_BOOL, false), value);
159 if (parameters != nullptr) {
160 OH_CommonEvent_DestroyParameters(parameters);
161 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
162 "OH_CommonEvent_DestroyParameters success");
163 parameters = nullptr;
164 }
165 NAPI_END;
166 }
167
SetBoolArrayToParameters(napi_env env,napi_callback_info info)168 static napi_value SetBoolArrayToParameters(napi_env env, napi_callback_info info)
169 {
170 parameters = OH_CommonEvent_CreateParameters();
171 bool value[] = {true, false, true};
172 size_t num = sizeof(value) / sizeof(bool);
173 ASSERT_EQ(OH_CommonEvent_SetBoolArrayToParameters(parameters, KEY_BOOL_ARRAY, value, num),
174 COMMONEVENT_ERR_OK);
175 bool* ptr = nullptr;
176 size_t ret = OH_CommonEvent_GetBoolArrayFromParameters(parameters, KEY_BOOL_ARRAY, &ptr);
177 ASSERT_EQ(ret, num);
178 if (parameters != nullptr) {
179 OH_CommonEvent_DestroyParameters(parameters);
180 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
181 "OH_CommonEvent_DestroyParameters success");
182 parameters = nullptr;
183 }
184 NAPI_END;
185 }
186
SetCharToParameters(napi_env env,napi_callback_info info)187 static napi_value SetCharToParameters(napi_env env, napi_callback_info info)
188 {
189 parameters = OH_CommonEvent_CreateParameters();
190 char value = 'a';
191 ASSERT_EQ(OH_CommonEvent_SetCharToParameters(parameters, KEY_CHAR, value), COMMONEVENT_ERR_OK);
192 ASSERT_EQ(OH_CommonEvent_GetCharFromParameters(parameters, KEY_CHAR, 'b'), value);
193 if (parameters != nullptr) {
194 OH_CommonEvent_DestroyParameters(parameters);
195 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
196 "OH_CommonEvent_DestroyParameters success");
197 parameters = nullptr;
198 }
199 NAPI_END;
200 }
201
SetCharArrayToParameters(napi_env env,napi_callback_info info)202 static napi_value SetCharArrayToParameters(napi_env env, napi_callback_info info)
203 {
204 parameters = OH_CommonEvent_CreateParameters();
205 char value[] = {'a', 'b', 'c'};
206 size_t num = sizeof(value) / sizeof(char);
207 ASSERT_EQ(OH_CommonEvent_SetCharArrayToParameters(parameters, KEY_CHAR_ARRAY, value, num),
208 COMMONEVENT_ERR_OK);
209 char* ptr = nullptr;
210 size_t ret = OH_CommonEvent_GetCharArrayFromParameters(parameters, KEY_CHAR_ARRAY, &ptr);
211 ASSERT_EQ(ret, num + 1);
212 if (parameters != nullptr) {
213 OH_CommonEvent_DestroyParameters(parameters);
214 OH_LOG_Print(LOG_APP, LOG_INFO, LOG_PRINT_DOMAIN, "DestroyParameters",
215 "OH_CommonEvent_DestroyParameters success");
216 parameters = nullptr;
217 }
218 NAPI_END;
219 }
220
221
222
223