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#ifndef OHOS_DEVICE_INFO_H
17#define OHOS_DEVICE_INFO_H
18
19#include <string>
20#include <memory>
21
22namespace OHOS {
23namespace CJSystemapi {
24namespace DeviceInfo {
25
26class DeviceInfo {
27public:
28    static const char* CjGetHardwareProfile();
29    static const char* CjGetOsFullName();
30    static const char* CjGetProductModel();
31    static const char* CjGetBrand();
32    static const char* CjGetDeviceType();
33    static const char* CjGetUdid();
34    static const char* CjGetBuildRootHash();
35    static const char* CjGetBuildTime();
36    static const char* CjGetBuildHost();
37    static const char* CjGetBuildUser();
38    static const char* CjGetBuildType();
39    static const char* CjGetVersionId();
40    static int64_t CjGetFirstApiVersion();
41    static int64_t CjGetSdkApiVersion();
42    static int64_t CjGetBuildVersion();
43    static int64_t CjGetFeatureVersion();
44    static int64_t CjGetSeniorVersion();
45    static int64_t CjGetMajorVersion();
46    static const char* CjGetSerial();
47    static const char* CjGetDisplayVersion();
48    static const char* CjGetOsReleaseType();
49    static const char* CjGetIncrementalVersion();
50    static const char* CjGetSecurityPatchTag();
51    static const char* CjGetAbiList();
52    static const char* CjGetBootloaderVersion();
53    static const char* CjGetHardwareModel();
54    static const char* CjGetSoftwareModel();
55    static const char* CjGetProductSeries();
56    static const char* CjGetMarketName();
57    static const char* CjGetManufacture();
58    static const char* CjGetDistributionOSName();
59    static const char* CjGetDistributionOSVersion();
60    static int64_t CjGetDistributionOSApiVersion();
61    static const char* CjGetDistributionOSReleaseType();
62};
63
64} // DeviceInfo
65} // CJSystemapi
66} // OHOS
67
68#endif // OHOS_DEVICE_INFO_H