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 
22 namespace OHOS {
23 namespace CJSystemapi {
24 namespace DeviceInfo {
25 
26 class DeviceInfo {
27 public:
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