131c75014Sopenharmony_ci/*
231c75014Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
331c75014Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
431c75014Sopenharmony_ci * you may not use this file except in compliance with the License.
531c75014Sopenharmony_ci * You may obtain a copy of the License at
631c75014Sopenharmony_ci *
731c75014Sopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
831c75014Sopenharmony_ci *
931c75014Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
1031c75014Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
1131c75014Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1231c75014Sopenharmony_ci * See the License for the specific language governing permissions and
1331c75014Sopenharmony_ci * limitations under the License.
1431c75014Sopenharmony_ci */
1531c75014Sopenharmony_ci#include <stdio.h>
1631c75014Sopenharmony_ci#include <stdlib.h>
1731c75014Sopenharmony_ci#include <securec.h>
1831c75014Sopenharmony_ci#include <string.h>
1931c75014Sopenharmony_ci
2031c75014Sopenharmony_ci#include "parameter.h"
2131c75014Sopenharmony_ci#include "devattest_client.h"
2231c75014Sopenharmony_ci
2331c75014Sopenharmony_ciconst int UDIDSIZE_LEN = 64;
2431c75014Sopenharmony_ci
2531c75014Sopenharmony_ciusing namespace OHOS::DevAttest;
2631c75014Sopenharmony_ciusing namespace OHOS;
2731c75014Sopenharmony_ci
2831c75014Sopenharmony_civoid ObtainProductParms(void)
2931c75014Sopenharmony_ci{
3031c75014Sopenharmony_ci    int sdkApiVersion = GetSdkApiVersion();
3131c75014Sopenharmony_ci    if (sdkApiVersion != 0) {
3231c75014Sopenharmony_ci        printf("SdkApiVersion = %d\n", sdkApiVersion);
3331c75014Sopenharmony_ci    } else {
3431c75014Sopenharmony_ci        printf("SdkApiVersion = 0\n");
3531c75014Sopenharmony_ci    }
3631c75014Sopenharmony_ci
3731c75014Sopenharmony_ci    int firstApiVersion = GetFirstApiVersion();
3831c75014Sopenharmony_ci    if (firstApiVersion != 0) {
3931c75014Sopenharmony_ci        printf("firstApiVersion = %d\n", firstApiVersion);
4031c75014Sopenharmony_ci    } else {
4131c75014Sopenharmony_ci        printf("firstApiVersion = 0\n");
4231c75014Sopenharmony_ci    }
4331c75014Sopenharmony_ci
4431c75014Sopenharmony_ci    const char *bootloaderVersion = GetBootloaderVersion();
4531c75014Sopenharmony_ci    if (bootloaderVersion != nullptr) {
4631c75014Sopenharmony_ci        printf("bootloaderVersion = %s\n", bootloaderVersion);
4731c75014Sopenharmony_ci    } else {
4831c75014Sopenharmony_ci        printf("bootloaderVersion = nullptr\n");
4931c75014Sopenharmony_ci    }
5031c75014Sopenharmony_ci
5131c75014Sopenharmony_ci    const char *incrementalVersion = GetIncrementalVersion();
5231c75014Sopenharmony_ci    if (incrementalVersion != nullptr) {
5331c75014Sopenharmony_ci        printf("incrementalVersion = %s\n", incrementalVersion);
5431c75014Sopenharmony_ci    } else {
5531c75014Sopenharmony_ci        printf("incrementalVersion = nullptr\n");
5631c75014Sopenharmony_ci    }
5731c75014Sopenharmony_ci
5831c75014Sopenharmony_ci    const char *buildType = GetBuildType();
5931c75014Sopenharmony_ci    if (buildType != nullptr) {
6031c75014Sopenharmony_ci        printf("buildType = %s\n", buildType);
6131c75014Sopenharmony_ci    } else {
6231c75014Sopenharmony_ci        printf("buildType = nullptr\n");
6331c75014Sopenharmony_ci    }
6431c75014Sopenharmony_ci
6531c75014Sopenharmony_ci    const char *buildUser = GetBuildUser();
6631c75014Sopenharmony_ci    if (buildUser != nullptr) {
6731c75014Sopenharmony_ci        printf("buildUser = %s\n", buildUser);
6831c75014Sopenharmony_ci    } else {
6931c75014Sopenharmony_ci        printf("buildUser = nullptr\n");
7031c75014Sopenharmony_ci    }
7131c75014Sopenharmony_ci
7231c75014Sopenharmony_ci    const char *buildHost = GetBuildHost();
7331c75014Sopenharmony_ci    if (buildHost != nullptr) {
7431c75014Sopenharmony_ci        printf("buildHost = %s\n", buildHost);
7531c75014Sopenharmony_ci    } else {
7631c75014Sopenharmony_ci        printf("buildHost = nullptr\n");
7731c75014Sopenharmony_ci    }
7831c75014Sopenharmony_ci
7931c75014Sopenharmony_ci    const char *buildTime = GetBuildTime();
8031c75014Sopenharmony_ci    if (buildTime != nullptr) {
8131c75014Sopenharmony_ci        printf("buildTime = %s\n", buildTime);
8231c75014Sopenharmony_ci    } else {
8331c75014Sopenharmony_ci        printf("buildTime = nullptr\n");
8431c75014Sopenharmony_ci    }
8531c75014Sopenharmony_ci
8631c75014Sopenharmony_ci    const char *abiList = GetAbiList();
8731c75014Sopenharmony_ci    if (abiList != nullptr) {
8831c75014Sopenharmony_ci        printf("AbiList = %s\n", abiList);
8931c75014Sopenharmony_ci    } else {
9031c75014Sopenharmony_ci        printf("AbiList = nullptr\n");
9131c75014Sopenharmony_ci    }
9231c75014Sopenharmony_ci}
9331c75014Sopenharmony_ci
9431c75014Sopenharmony_ciint main()
9531c75014Sopenharmony_ci{
9631c75014Sopenharmony_ci    printf("******To Obtain Product Params Start******\n");
9731c75014Sopenharmony_ci    const char *productType = GetDeviceType();
9831c75014Sopenharmony_ci    if (productType != nullptr) {
9931c75014Sopenharmony_ci        printf("Device Type = %s\n", productType);
10031c75014Sopenharmony_ci    } else {
10131c75014Sopenharmony_ci        printf("Device Type = nullptr\n");
10231c75014Sopenharmony_ci    }
10331c75014Sopenharmony_ci
10431c75014Sopenharmony_ci    const char *securityPatchTag = GetSecurityPatchTag();
10531c75014Sopenharmony_ci    if (securityPatchTag != nullptr) {
10631c75014Sopenharmony_ci        printf("Security Patch = %s\n", securityPatchTag);
10731c75014Sopenharmony_ci    } else {
10831c75014Sopenharmony_ci        printf("Security Patch = nullptr\n");
10931c75014Sopenharmony_ci    }
11031c75014Sopenharmony_ci
11131c75014Sopenharmony_ci    const char *osName = GetOSFullName();
11231c75014Sopenharmony_ci    if (osName != nullptr) {
11331c75014Sopenharmony_ci        printf("OsFullName = %s\n", osName);
11431c75014Sopenharmony_ci    } else {
11531c75014Sopenharmony_ci        printf("OsFullName = nullptr\n");
11631c75014Sopenharmony_ci    }
11731c75014Sopenharmony_ci
11831c75014Sopenharmony_ci    const char *displayVersion = GetDisplayVersion();
11931c75014Sopenharmony_ci    if (displayVersion != nullptr) {
12031c75014Sopenharmony_ci        printf("DisplayVersion = %s\n", displayVersion);
12131c75014Sopenharmony_ci    } else {
12231c75014Sopenharmony_ci        printf("DisplayVersion = nullptr\n");
12331c75014Sopenharmony_ci    }
12431c75014Sopenharmony_ci
12531c75014Sopenharmony_ci    const char *versionId = GetVersionId();
12631c75014Sopenharmony_ci    if (versionId != nullptr) {
12731c75014Sopenharmony_ci        printf("VersionID = %s\n", versionId);
12831c75014Sopenharmony_ci    } else {
12931c75014Sopenharmony_ci        printf("VersionID = nullptr\n");
13031c75014Sopenharmony_ci    }
13131c75014Sopenharmony_ci
13231c75014Sopenharmony_ci    AttestResultInfo attestResultInfo;
13331c75014Sopenharmony_ci    (void)DevAttestClient::GetInstance().GetAttestStatus(attestResultInfo);
13431c75014Sopenharmony_ci    printf("authResult = %d\n", attestResultInfo.authResult_);
13531c75014Sopenharmony_ci    printf("softwareResult = %d\n", attestResultInfo.softwareResult_);
13631c75014Sopenharmony_ci
13731c75014Sopenharmony_ci    char udid[UDIDSIZE_LEN + 1] = {0};
13831c75014Sopenharmony_ci    int ret = GetDevUdid(udid, UDIDSIZE_LEN + 1);
13931c75014Sopenharmony_ci    if (ret == 0) {
14031c75014Sopenharmony_ci        printf("DevUdid = %s\n", udid);
14131c75014Sopenharmony_ci    } else {
14231c75014Sopenharmony_ci        printf("DevUdid = nullptr\n");
14331c75014Sopenharmony_ci    }
14431c75014Sopenharmony_ci
14531c75014Sopenharmony_ci    const char *manuFacture = GetManufacture();
14631c75014Sopenharmony_ci    if (manuFacture != nullptr) {
14731c75014Sopenharmony_ci        printf("manuFacture = %s\n", manuFacture);
14831c75014Sopenharmony_ci    } else {
14931c75014Sopenharmony_ci        printf("manuFacture = nullptr\n");
15031c75014Sopenharmony_ci    }
15131c75014Sopenharmony_ci
15231c75014Sopenharmony_ci    const char *productModel = GetProductModel();
15331c75014Sopenharmony_ci    if (productModel != nullptr) {
15431c75014Sopenharmony_ci        printf("productModel = %s\n", productModel);
15531c75014Sopenharmony_ci    } else {
15631c75014Sopenharmony_ci        printf("productModel = nullptr\n");
15731c75014Sopenharmony_ci    }
15831c75014Sopenharmony_ci
15931c75014Sopenharmony_ci    const char *serial = GetSerial();
16031c75014Sopenharmony_ci    if (serial != nullptr) {
16131c75014Sopenharmony_ci        printf("serial = %s\n", serial);
16231c75014Sopenharmony_ci    } else {
16331c75014Sopenharmony_ci        printf("serial = nullptr\n");
16431c75014Sopenharmony_ci    }
16531c75014Sopenharmony_ci
16631c75014Sopenharmony_ci    const char *brand = GetBrand();
16731c75014Sopenharmony_ci    if (brand != nullptr) {
16831c75014Sopenharmony_ci        printf("brand = %s\n", brand);
16931c75014Sopenharmony_ci    } else {
17031c75014Sopenharmony_ci        printf("brand = nullptr\n");
17131c75014Sopenharmony_ci    }
17231c75014Sopenharmony_ci
17331c75014Sopenharmony_ci    const char *productSeries = GetProductSeries();
17431c75014Sopenharmony_ci    if (productSeries != nullptr) {
17531c75014Sopenharmony_ci        printf("productSeries = %s\n", productSeries);
17631c75014Sopenharmony_ci    } else {
17731c75014Sopenharmony_ci        printf("productSeries = nullptr\n");
17831c75014Sopenharmony_ci    }
17931c75014Sopenharmony_ci
18031c75014Sopenharmony_ci    const char *softwareModel = GetSoftwareModel();
18131c75014Sopenharmony_ci    if (softwareModel != nullptr) {
18231c75014Sopenharmony_ci        printf("softwareModel = %s\n", softwareModel);
18331c75014Sopenharmony_ci    } else {
18431c75014Sopenharmony_ci        printf("softwareModel = nullptr\n");
18531c75014Sopenharmony_ci    }
18631c75014Sopenharmony_ci
18731c75014Sopenharmony_ci    const char *hardWareModel = GetHardwareModel();
18831c75014Sopenharmony_ci    if (hardWareModel != nullptr) {
18931c75014Sopenharmony_ci        printf("HardwareModel = %s\n", hardWareModel);
19031c75014Sopenharmony_ci    } else {
19131c75014Sopenharmony_ci        printf("HardwareModel = nullptr\n");
19231c75014Sopenharmony_ci    }
19331c75014Sopenharmony_ci
19431c75014Sopenharmony_ci    const char *buildRootHash = GetBuildRootHash();
19531c75014Sopenharmony_ci    if (buildRootHash != nullptr) {
19631c75014Sopenharmony_ci        printf("BuildRootHash = %s\n", buildRootHash);
19731c75014Sopenharmony_ci    } else {
19831c75014Sopenharmony_ci        printf("BuildRootHash = nullptr\n");
19931c75014Sopenharmony_ci    }
20031c75014Sopenharmony_ci
20131c75014Sopenharmony_ci    const char *marketName = GetMarketName();
20231c75014Sopenharmony_ci    if (marketName != nullptr) {
20331c75014Sopenharmony_ci        printf("marketName = %s\n", marketName);
20431c75014Sopenharmony_ci    } else {
20531c75014Sopenharmony_ci        printf("marketName = nullptr\n");
20631c75014Sopenharmony_ci    }
20731c75014Sopenharmony_ci
20831c75014Sopenharmony_ci    ObtainProductParms();
20931c75014Sopenharmony_ci
21031c75014Sopenharmony_ci    printf("******To Obtain Product Params End  ******\n");
21131c75014Sopenharmony_ci    return 0;
21231c75014Sopenharmony_ci}
213