1/* 2 * Copyright (c) 2020 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 <string> 17#include <new> 18#include "global.h" 19#include "nativeapi_common.h" 20#include "nativeapi_config.h" 21#include "parameter.h" 22#include "sysversion.h" 23 24static constexpr int MAX_BUFFER = 65; 25namespace OHOS { 26namespace ACELite { 27JSIValue JSGetDeviceType(void) 28{ 29 const char *value = GetDeviceType(); 30 if (value == nullptr) { 31 value = ""; 32 } 33 34 JSIValue deviceType = JSI::CreateString(value); 35 return deviceType; 36} 37 38JSIValue JSGetManufacture(void) 39{ 40 const char *value = GetManufacture(); 41 if (value == nullptr) { 42 value = ""; 43 } 44 45 JSIValue manfactureName = JSI::CreateString(value); 46 return manfactureName; 47} 48 49JSIValue JSGetBrand(void) 50{ 51 const char *value = GetBrand(); 52 if (value == nullptr) { 53 value = ""; 54 } 55 56 JSIValue productBrand = JSI::CreateString(value); 57 return productBrand; 58} 59 60JSIValue JSGetMarketName(void) 61{ 62 const char *value = GetMarketName(); 63 if (value == nullptr) { 64 value = ""; 65 } 66 67 JSIValue marketName = JSI::CreateString(value); 68 return marketName; 69} 70 71JSIValue JSGetProductSeries(void) 72{ 73 const char *value = GetProductSeries(); 74 if (value == nullptr) { 75 value = ""; 76 } 77 78 JSIValue productSeries = JSI::CreateString(value); 79 return productSeries; 80} 81 82JSIValue JSGetProductModel(void) 83{ 84 const char *value = GetProductModel(); 85 if (value == nullptr) { 86 value = ""; 87 } 88 89 JSIValue productModel = JSI::CreateString(value); 90 return productModel; 91} 92 93JSIValue JSGetSoftwareModel(void) 94{ 95 const char *value = GetSoftwareModel(); 96 if (value == nullptr) { 97 value = ""; 98 } 99 100 JSIValue softwareModel = JSI::CreateString(value); 101 return softwareModel; 102} 103 104JSIValue JSGetHardwareModel(void) 105{ 106 const char *value = GetHardwareModel(); 107 if (value == nullptr) { 108 value = ""; 109 } 110 111 JSIValue hardwareModel = JSI::CreateString(value); 112 return hardwareModel; 113} 114 115JSIValue JSGetHardwareProfile(void) 116{ 117 const char *value = GetHardwareProfile(); 118 if (value == nullptr) { 119 value = ""; 120 } 121 122 JSIValue hardwareProfile = JSI::CreateString(value); 123 return hardwareProfile; 124} 125 126JSIValue JSGetSerial(void) 127{ 128 const char *value = GetSerial(); 129 if (value == nullptr) { 130 value = ""; 131 } 132 133 JSIValue serialNumber = JSI::CreateString(value); 134 return serialNumber; 135} 136 137JSIValue JSGetBootloaderVersion(void) 138{ 139 const char *value = GetBootloaderVersion(); 140 if (value == nullptr) { 141 value = ""; 142 } 143 144 JSIValue bootloaderVersion = JSI::CreateString(value); 145 return bootloaderVersion; 146} 147 148JSIValue JSGetAbiList(void) 149{ 150 const char *value = GetAbiList(); 151 if (value == nullptr) { 152 value = ""; 153 } 154 155 JSIValue abiList = JSI::CreateString(value); 156 return abiList; 157} 158 159JSIValue JSGetSecurityPatchTag(void) 160{ 161 const char *value = GetSecurityPatchTag(); 162 if (value == nullptr) { 163 value = ""; 164 } 165 166 JSIValue securityPatchTag = JSI::CreateString(value); 167 return securityPatchTag; 168} 169 170JSIValue JSGetDisplayVersion(void) 171{ 172 const char *value = GetDisplayVersion(); 173 if (value == nullptr) { 174 value = ""; 175 } 176 177 JSIValue productVersion = JSI::CreateString(value); 178 return productVersion; 179} 180 181JSIValue JSGetIncrementalVersion(void) 182{ 183 const char *value = GetIncrementalVersion(); 184 if (value == nullptr) { 185 value = ""; 186 } 187 188 JSIValue incrementalVersion = JSI::CreateString(value); 189 return incrementalVersion; 190} 191 192JSIValue JSGetOsReleaseType(void) 193{ 194 const char *value = GetOsReleaseType(); 195 if (value == nullptr) { 196 value = ""; 197 } 198 199 JSIValue osReleaseType = JSI::CreateString(value); 200 return osReleaseType; 201} 202 203JSIValue JSGetOSFullName(void) 204{ 205 const char *value = GetOSFullName(); 206 if (value == nullptr) { 207 value = ""; 208 } 209 JSIValue osVersion = JSI::CreateString(value); 210 return osVersion; 211} 212 213JSIValue JSGetMajorVersion(void) 214{ 215 int value = GetMajorVersion(); 216 JSIValue majorVersion = JSI::CreateUndefined(); 217 if (value < 0) { 218 return majorVersion; 219 } 220 221 majorVersion = JSI::CreateString(std::to_string(value).c_str()); 222 return majorVersion; 223} 224 225JSIValue JSGetSeniorVersion(void) 226{ 227 int value = GetSeniorVersion(); 228 JSIValue seniorVersion = JSI::CreateUndefined(); 229 if (value < 0) { 230 return seniorVersion; 231 } 232 233 seniorVersion = JSI::CreateString(std::to_string(value).c_str()); 234 return seniorVersion; 235} 236 237JSIValue JSGetFeatureVersion(void) 238{ 239 int value = GetFeatureVersion(); 240 JSIValue featureVersion = JSI::CreateUndefined(); 241 if (value < 0) { 242 return featureVersion; 243 } 244 245 featureVersion = JSI::CreateString(std::to_string(value).c_str()); 246 return featureVersion; 247} 248 249JSIValue JSGetBuildVersion(void) 250{ 251 int value = GetBuildVersion(); 252 JSIValue buildVersion = JSI::CreateUndefined(); 253 if (value < 0) { 254 return buildVersion; 255 } 256 257 buildVersion = JSI::CreateString(std::to_string(value).c_str()); 258 return buildVersion; 259} 260 261JSIValue JSGetSdkApiVersion(void) 262{ 263 int value = GetSdkApiVersion(); 264 JSIValue sdkApiVersion = JSI::CreateUndefined(); 265 if (value < 0) { 266 return sdkApiVersion; 267 } 268 269 sdkApiVersion = JSI::CreateString(std::to_string(value).c_str()); 270 return sdkApiVersion; 271} 272 273JSIValue JSGetFirstApiVersion(void) 274{ 275 int value = GetFirstApiVersion(); 276 JSIValue firstApiVersion = JSI::CreateUndefined(); 277 if (value < 0) { 278 return firstApiVersion; 279 } 280 281 firstApiVersion = JSI::CreateString(std::to_string(value).c_str()); 282 return firstApiVersion; 283} 284 285JSIValue JSGetVersionId(void) 286{ 287 const char *value = GetVersionId(); 288 if (value == nullptr) { 289 value = ""; 290 } 291 292 JSIValue versionId = JSI::CreateString(value); 293 return versionId; 294} 295 296JSIValue JSGetBuildType(void) 297{ 298 const char *value = GetBuildType(); 299 if (value == nullptr) { 300 value = ""; 301 } 302 303 JSIValue buildType = JSI::CreateString(value); 304 return buildType; 305} 306 307JSIValue JSGetBuildUser(void) 308{ 309 const char *value = GetBuildUser(); 310 if (value == nullptr) { 311 value = ""; 312 } 313 314 JSIValue buildUser = JSI::CreateString(value); 315 return buildUser; 316} 317 318JSIValue JSGetBuildHost(void) 319{ 320 const char *value = GetBuildHost(); 321 if (value == nullptr) { 322 value = ""; 323 } 324 325 JSIValue buildHost = JSI::CreateString(value); 326 return buildHost; 327} 328 329JSIValue JSGetBuildTime(void) 330{ 331 const char *value = GetBuildTime(); 332 if (value == nullptr) { 333 value = ""; 334 } 335 336 JSIValue buildTime = JSI::CreateString(value); 337 return buildTime; 338} 339 340JSIValue JSGetBuildRootHash(void) 341{ 342 const char *value = GetBuildRootHash(); 343 if (value == nullptr) { 344 value = ""; 345 } 346 347 JSIValue buildRootHash = JSI::CreateString(value); 348 return buildRootHash; 349} 350 351JSIValue JSGetDevUdid(void) 352{ 353 char buffer[MAX_BUFFER] = { 0 }; 354 int value = GetDevUdid(buffer, sizeof(buffer)); 355 JSIValue udid = JSI::CreateUndefined(); 356 if (value < 0) { 357 return udid; 358 } 359 360 udid = JSI::CreateString(std::to_string(value).c_str()); 361 return udid; 362} 363 364JSIValue JSGetDistributionOSName(void) 365{ 366 const char *value = GetDistributionOSName(); 367 if (value == nullptr) { 368 value = ""; 369 } 370 JSIValue distributionOSName = JSI::CreateString(value); 371 return distributionOSName; 372} 373 374JSIValue JSGetDistributionOSVersion(void) 375{ 376 const char *value = GetDistributionOSVersion(); 377 if (value == nullptr) { 378 value = ""; 379 } 380 JSIValue distributionOSVersion = JSI::CreateString(value); 381 return distributionOSVersion; 382} 383 384JSIValue JSGetDistributionOSApiVersion(void) 385{ 386 int value = GetDistributionOSApiVersion(); 387 JSIValue distributionOSApiVersion = JSI::CreateUndefined(); 388 if (value < 0) { 389 return distributionOSApiVersion; 390 } 391 392 distributionOSApiVersion = JSI::CreateString(std::to_string(value).c_str()); 393 return distributionOSApiVersion; 394} 395 396JSIValue JSGetDistributionOSReleaseType(void) 397{ 398 const char *value = GetDistributionOSReleaseType(); 399 if (value == nullptr) { 400 value = ""; 401 } 402 JSIValue distributionOSReleaseType = JSI::CreateString(value); 403 return distributionOSReleaseType; 404} 405 406void InitDeviceInfoModule(JSIValue exports) 407{ 408 JSI::SetNamedProperty(exports, "deviceType", JSGetDeviceType()); 409 JSI::SetNamedProperty(exports, "manufacture", JSGetManufacture()); 410 JSI::SetNamedProperty(exports, "brand", JSGetBrand()); 411 JSI::SetNamedProperty(exports, "marketName", JSGetMarketName()); 412 JSI::SetNamedProperty(exports, "productSeries", JSGetProductSeries()); 413 JSI::SetNamedProperty(exports, "productModel", JSGetProductModel()); 414 JSI::SetNamedProperty(exports, "softwareModel", JSGetSoftwareModel()); 415 JSI::SetNamedProperty(exports, "hardwareModel", JSGetHardwareModel()); 416 JSI::SetNamedProperty(exports, "hardwareProfile", JSGetHardwareProfile()); 417 JSI::SetNamedProperty(exports, "serial", JSGetSerial()); 418 JSI::SetNamedProperty(exports, "bootloaderVersion", JSGetBootloaderVersion()); 419 JSI::SetNamedProperty(exports, "abiList", JSGetAbiList()); 420 JSI::SetNamedProperty(exports, "securityPatchTag", JSGetSecurityPatchTag()); 421 JSI::SetNamedProperty(exports, "displayVersion", JSGetDisplayVersion()); 422 JSI::SetNamedProperty(exports, "incrementalVersion", JSGetIncrementalVersion()); 423 JSI::SetNamedProperty(exports, "osReleaseType", JSGetOsReleaseType()); 424 JSI::SetNamedProperty(exports, "osFullName", JSGetOSFullName()); 425 JSI::SetNamedProperty(exports, "majorVersion", JSGetMajorVersion()); 426 JSI::SetNamedProperty(exports, "seniorVersion", JSGetSeniorVersion()); 427 JSI::SetNamedProperty(exports, "featureVersion", JSGetFeatureVersion()); 428 JSI::SetNamedProperty(exports, "buildVersion", JSGetBuildVersion()); 429 JSI::SetNamedProperty(exports, "sdkApiVersion", JSGetSdkApiVersion()); 430 JSI::SetNamedProperty(exports, "firstApiVersion", JSGetFirstApiVersion()); 431 JSI::SetNamedProperty(exports, "versionId", JSGetVersionId()); 432 JSI::SetNamedProperty(exports, "buildType", JSGetBuildType()); 433 JSI::SetNamedProperty(exports, "buildUser", JSGetBuildUser()); 434 JSI::SetNamedProperty(exports, "buildHost", JSGetBuildHost()); 435 JSI::SetNamedProperty(exports, "buildTime", JSGetBuildTime()); 436 JSI::SetNamedProperty(exports, "buildRootHash", JSGetBuildRootHash()); 437 JSI::SetNamedProperty(exports, "udid", JSGetDevUdid()); 438 JSI::SetNamedProperty(exports, "distributionOSName", JSGetDistributionOSName()); 439 JSI::SetNamedProperty(exports, "distributionOSVersion", JSGetDistributionOSVersion()); 440 JSI::SetNamedProperty(exports, "distributionOSApiVersion", JSGetDistributionOSApiVersion()); 441 JSI::SetNamedProperty(exports, "distributionOSReleaseType", JSGetDistributionOSReleaseType()); 442} 443} // ACELite 444} // OHOS 445