• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2023 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 "firmware_component_table.h"
17 
18 namespace OHOS {
19 namespace UpdateService {
GetTableName()20 std::string FirmwareComponentTable::GetTableName()
21 {
22     return FIRMWARE_TABLE_COMPONENT;
23 }
24 
GetTableCreateSql()25 std::string FirmwareComponentTable::GetTableCreateSql()
26 {
27     return std::string("create table if not exists ")
28         .append(FIRMWARE_TABLE_COMPONENT + " (")
29         .append(COLUMN_ID + " integer PRIMARY KEY autoincrement not null,")
30         .append(COLUMN_COMPONENT_VERSION_ID + " varchar(256),")
31         .append(COLUMN_COMPONENT_VERSION_PACKAGE_TYPE + " integer,")
32         .append(COLUMN_COMPONENT_OTA_MODE + " integer,")
33         .append(COLUMN_COMPONENT_PACKAGE_INDEX + " integer,")
34         .append(COLUMN_COMPONENT_TARGET_BL_DISPLAY_VERSION_NUMBER  + " varchar(256),")
35         .append(COLUMN_COMPONENT_TARGET_BL_VERSION_NUMBER + " varchar(256),")
36         .append(COLUMN_COMPONENT_VERSION_NUMBER + " varchar(256),")
37         .append(COLUMN_COMPONENT_BL_VERSION_INFO + " varchar(1024),")
38         .append(COLUMN_COMPONENT_DESCRIPT_PACKAGE_ID + " varchar(128),")
39         .append(COLUMN_COMPONENT_COMPONENT_ID + " varchar(128),")
40         .append(COLUMN_COMPONENT_CHANGELOG_URL + " varchar(512),")
41         .append(COLUMN_COMPONENT_BL_VERSION_TYPE + " integer,")
42         .append(COLUMN_COMPONENT_IS_NEED_RESTART + " integer,")
43         .append(COLUMN_COMPONENT_PATCH_TYPE + " integer,")
44         .append(COLUMN_COMPONENT_DOWNLOAD_URL + " varchar(512),")
45         .append(COLUMN_COMPONENT_RESERVE_URL + " varchar(512),")
46         .append(COLUMN_COMPONENT_STORAGE_TYPE + " integer,")
47         .append(COLUMN_COMPONENT_VERIFY_INFO + " varchar(256),")
48         .append(COLUMN_COMPONENT_SIZE + " bigint,")
49         .append(COLUMN_COMPONENT_FILENAME + " varchar(256),")
50         .append(COLUMN_COMPONENT_SPATH + " varchar(256),")
51         .append(COLUMN_COMPONENT_STATUS + " integer,")
52         .append(COLUMN_COMPONENT_PROGRESS + " integer,")
53         .append(COLUMN_COMPONENT_RECORD_POINT + " bigint,")
54         .append(COLUMN_COMPONENT_EXTENDS1 + " varchar(256),")
55         .append(COLUMN_COMPONENT_EXTENDS2 + " varchar(256),")
56         .append(COLUMN_COMPONENT_EXTENDS3 + " varchar(256),")
57         .append(COLUMN_COMPONENT_EXTENDS4 + " varchar(256),")
58         .append(COLUMN_COMPONENT_EXTENDS5 + " varchar(256),")
59         .append(COLUMN_COMPONENT_EXTENDS6 + " varchar(256)")
60         .append(")");
61 }
62 
ParseDbValue(ResultSet * resultSet,FirmwareComponent & value)63 void FirmwareComponentTable::ParseDbValue(ResultSet *resultSet, FirmwareComponent &value)
64 {
65     GetColumnValue(resultSet, COLUMN_ID, value.id);
66     GetColumnValue(resultSet, COLUMN_COMPONENT_VERSION_ID, value.versionId);
67     int32_t versionPackageType = CAST_INT(PackageType::DYNAMIC);
68     GetColumnValue(resultSet, COLUMN_COMPONENT_VERSION_PACKAGE_TYPE, versionPackageType);
69     value.versionPackageType = static_cast<PackageType>(versionPackageType);
70     int32_t otaType = CAST_INT(OtaType::REGULAR);
71     GetColumnValue(resultSet, COLUMN_COMPONENT_OTA_MODE, otaType);
72     value.otaType = static_cast<OtaType>(otaType);
73     GetColumnValue(resultSet, COLUMN_COMPONENT_PACKAGE_INDEX, value.packageIndex);
74     GetColumnValue(resultSet, COLUMN_COMPONENT_TARGET_BL_DISPLAY_VERSION_NUMBER, value.targetBlDisplayVersionNumber);
75     GetColumnValue(resultSet, COLUMN_COMPONENT_TARGET_BL_VERSION_NUMBER, value.targetBlVersionNumber);
76     GetColumnValue(resultSet, COLUMN_COMPONENT_VERSION_NUMBER, value.versionNumber);
77     GetColumnValue(resultSet, COLUMN_COMPONENT_BL_VERSION_INFO, value.blVersionInfo);
78     GetColumnValue(resultSet, COLUMN_COMPONENT_DESCRIPT_PACKAGE_ID, value.descriptPackageId);
79     GetColumnValue(resultSet, COLUMN_COMPONENT_COMPONENT_ID, value.componentId);
80     GetColumnValue(resultSet, COLUMN_COMPONENT_CHANGELOG_URL, value.changelogUrl);
81     GetColumnValue(resultSet, COLUMN_COMPONENT_BL_VERSION_TYPE, value.blVersionType);
82     GetColumnValue(resultSet, COLUMN_COMPONENT_IS_NEED_RESTART, value.isNeedRestart);
83     GetColumnValue(resultSet, COLUMN_COMPONENT_PATCH_TYPE, value.patchType);
84     GetColumnValue(resultSet, COLUMN_COMPONENT_DOWNLOAD_URL, value.url);
85     GetColumnValue(resultSet, COLUMN_COMPONENT_RESERVE_URL, value.reserveUrl);
86     GetColumnValue(resultSet, COLUMN_COMPONENT_STORAGE_TYPE, value.storageType);
87     GetColumnValue(resultSet, COLUMN_COMPONENT_VERIFY_INFO, value.verifyInfo);
88     GetColumnValue(resultSet, COLUMN_COMPONENT_SIZE, value.size);
89     GetColumnValue(resultSet, COLUMN_COMPONENT_FILENAME, value.fileName);
90     GetColumnValue(resultSet, COLUMN_COMPONENT_SPATH, value.spath);
91     int32_t status = CAST_INT(UpgradeStatus::INIT);
92     GetColumnValue(resultSet, COLUMN_COMPONENT_STATUS, status);
93     value.status = static_cast<UpgradeStatus>(status);
94     GetColumnValue(resultSet, COLUMN_COMPONENT_PROGRESS, value.progress);
95     GetColumnValue(resultSet, COLUMN_COMPONENT_RECORD_POINT, value.recordPoint);
96 }
97 
BuildDbValue(const FirmwareComponent & value,NativeRdb::ValuesBucket & dbValue)98 void FirmwareComponentTable::BuildDbValue(const FirmwareComponent &value, NativeRdb::ValuesBucket &dbValue)
99 {
100     PutColumnValue(dbValue, COLUMN_COMPONENT_VERSION_ID, value.versionId);
101     PutColumnValue(dbValue, COLUMN_COMPONENT_VERSION_PACKAGE_TYPE, CAST_INT(value.versionPackageType));
102     PutColumnValue(dbValue, COLUMN_COMPONENT_OTA_MODE, CAST_INT(value.otaType));
103     PutColumnValue(dbValue, COLUMN_COMPONENT_PACKAGE_INDEX, value.packageIndex);
104     PutColumnValue(dbValue, COLUMN_COMPONENT_TARGET_BL_DISPLAY_VERSION_NUMBER, value.targetBlDisplayVersionNumber);
105     PutColumnValue(dbValue, COLUMN_COMPONENT_TARGET_BL_VERSION_NUMBER, value.targetBlVersionNumber);
106     PutColumnValue(dbValue, COLUMN_COMPONENT_VERSION_NUMBER, value.versionNumber);
107     PutColumnValue(dbValue, COLUMN_COMPONENT_BL_VERSION_INFO, value.blVersionInfo);
108     PutColumnValue(dbValue, COLUMN_COMPONENT_DESCRIPT_PACKAGE_ID, value.descriptPackageId);
109     PutColumnValue(dbValue, COLUMN_COMPONENT_COMPONENT_ID, value.componentId);
110     PutColumnValue(dbValue, COLUMN_COMPONENT_CHANGELOG_URL, value.changelogUrl);
111     PutColumnValue(dbValue, COLUMN_COMPONENT_BL_VERSION_TYPE, value.blVersionType);
112     PutColumnValue(dbValue, COLUMN_COMPONENT_IS_NEED_RESTART, value.isNeedRestart);
113     PutColumnValue(dbValue, COLUMN_COMPONENT_PATCH_TYPE, value.patchType);
114     PutColumnValue(dbValue, COLUMN_COMPONENT_DOWNLOAD_URL, value.url);
115     PutColumnValue(dbValue, COLUMN_COMPONENT_RESERVE_URL, value.reserveUrl);
116     PutColumnValue(dbValue, COLUMN_COMPONENT_STORAGE_TYPE, value.storageType);
117     PutColumnValue(dbValue, COLUMN_COMPONENT_VERIFY_INFO, value.verifyInfo);
118     PutColumnValue(dbValue, COLUMN_COMPONENT_SIZE, value.size);
119     PutColumnValue(dbValue, COLUMN_COMPONENT_FILENAME, value.fileName);
120     PutColumnValue(dbValue, COLUMN_COMPONENT_SPATH, value.spath);
121     PutColumnValue(dbValue, COLUMN_COMPONENT_STATUS, CAST_INT(value.status));
122     PutColumnValue(dbValue, COLUMN_COMPONENT_PROGRESS, value.progress);
123     PutColumnValue(dbValue, COLUMN_COMPONENT_RECORD_POINT, value.recordPoint);
124 }
125 } // namespace UpdateService
126 } // namespace OHOS