• 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_task_table.h"
17 
18 #include "update_define.h"
19 
20 namespace OHOS {
21 namespace UpdateEngine {
GetTableName()22 std::string FirmwareTaskTable::GetTableName()
23 {
24     return FIRMWARE_TABLE_TASK;
25 }
26 
GetTableCreateSql()27 std::string FirmwareTaskTable::GetTableCreateSql()
28 {
29     return std::string("create table if not exists ")
30         .append(FIRMWARE_TABLE_TASK + " (")
31         .append(COLUMN_ID + " integer PRIMARY KEY autoincrement not null,")
32         .append(COLUMN_TASK_TASK_ID + " varchar(128),")
33         .append(COLUMN_TASK_STATUS + " integer,")
34         .append(COLUMN_TASK_PROGRESS + " integer,")
35         .append(COLUMN_TASK_DOWNLOAD_TASK_ID + " varchar(128),")
36         .append(COLUMN_TASK_ERROR_CODE + " integer,")
37         .append(COLUMN_TASK_ERROR_MSG + " varchar(512),")
38         .append(COLUMN_TASK_COMBINATION_TYPE + " integer,")
39         .append(COLUMN_TASK_DOWNLOAD_MODE + " integer,")
40         .append(COLUMN_TASK_DOWNLOAD_ALLOW_NETWORK + " integer,")
41         .append(COLUMN_TASK_DOWNLOAD_ORDER + " integer,")
42         .append(COLUMN_TASK_UPGRADE_MODE + " integer,")
43         .append(COLUMN_TASK_UPGRADE_ORDER + " integer,")
44         .append(COLUMN_TASK_AUTH_RESULT + " varchar(10240),")
45         .append(COLUMN_TASK_UPDATE_TOKEN + " varchar(256),")
46         .append(COLUMN_TASK_DEVICE_TOKEN + " varchar(256),")
47         .append(COLUMN_TASK_TOKEN_H_MAC + " varchar(256),")
48         .append(COLUMN_TASK_CURR_VERSION_LIST + " varchar(1024),")
49         .append(COLUMN_TASK_AUTH_TIME + " bigint,")
50         .append(COLUMN_TASK_IS_STREAM_UPGRADE + " integer,")
51         .append(COLUMN_TASK_EXTENDS1 + " varchar(256),")
52         .append(COLUMN_TASK_EXTENDS2 + " varchar(256),")
53         .append(COLUMN_TASK_EXTENDS3 + " varchar(256),")
54         .append(COLUMN_TASK_EXTENDS4 + " varchar(256),")
55         .append(COLUMN_TASK_EXTENDS5 + " varchar(256),")
56         .append(COLUMN_TASK_EXTENDS6 + " varchar(256)")
57         .append(")");
58 }
59 
ParseDbValue(ResultSet * resultSet,FirmwareTask & value)60 void FirmwareTaskTable::ParseDbValue(ResultSet *resultSet, FirmwareTask &value)
61 {
62     GetColumnValue(resultSet, COLUMN_TASK_TASK_ID, value.taskId);
63     int32_t status = CAST_INT(UpgradeStatus::INIT);
64     GetColumnValue(resultSet, COLUMN_TASK_STATUS, status);
65     value.status = static_cast<UpgradeStatus>(status);
66     GetColumnValue(resultSet, COLUMN_TASK_PROGRESS, value.progress);
67     GetColumnValue(resultSet, COLUMN_TASK_DOWNLOAD_TASK_ID, value.downloadTaskId);
68     GetColumnValue(resultSet, COLUMN_TASK_ERROR_CODE, value.errorCode);
69     GetColumnValue(resultSet, COLUMN_TASK_ERROR_MSG, value.errorMsg);
70     int32_t combinationType = CAST_INT(CombinationType::INVALLID_TYPE);
71     GetColumnValue(resultSet, COLUMN_TASK_COMBINATION_TYPE, combinationType);
72     value.combinationType = static_cast<CombinationType>(combinationType);
73     int32_t downloadMode = CAST_INT(DownloadMode::MANUAL);
74     GetColumnValue(resultSet, COLUMN_TASK_DOWNLOAD_MODE, downloadMode);
75     value.downloadMode = static_cast<DownloadMode>(downloadMode);
76     int32_t downloadAllowNetwork = CAST_INT(NetType::WIFI);
77     GetColumnValue(resultSet, COLUMN_TASK_DOWNLOAD_ALLOW_NETWORK, downloadAllowNetwork);
78     value.downloadAllowNetwork = static_cast<NetType>(downloadAllowNetwork);
79     int32_t downloadOrder = CAST_INT(NetType::WIFI);
80     GetColumnValue(resultSet, COLUMN_TASK_DOWNLOAD_ORDER, downloadOrder);
81     value.downloadOrder = static_cast<Order>(downloadOrder);
82     int32_t upgradeMode = CAST_INT(UpgradeMode::MANUAL);
83     GetColumnValue(resultSet, COLUMN_TASK_UPGRADE_MODE, upgradeMode);
84     value.upgradeMode = static_cast<UpgradeMode>(upgradeMode);
85     int32_t upgradeOrder = CAST_INT(Order::INSTALL_AND_APPLY);
86     GetColumnValue(resultSet, COLUMN_TASK_UPGRADE_ORDER, upgradeOrder);
87     value.upgradeOrder = static_cast<Order>(upgradeOrder);
88     GetColumnValue(resultSet, COLUMN_TASK_AUTH_RESULT, value.authResult);
89     GetColumnValue(resultSet, COLUMN_TASK_UPDATE_TOKEN, value.updateToken);
90     GetColumnValue(resultSet, COLUMN_TASK_DEVICE_TOKEN, value.deviceToken);
91     GetColumnValue(resultSet, COLUMN_TASK_TOKEN_H_MAC, value.tokenHMac);
92     GetColumnValue(resultSet, COLUMN_TASK_CURR_VERSION_LIST, value.currentVersionList);
93     GetColumnValue(resultSet, COLUMN_TASK_AUTH_TIME, value.authTime);
94     GetColumnValue(resultSet, COLUMN_TASK_IS_STREAM_UPGRADE, value.isStreamUpgrade);
95 }
96 
BuildDbValue(const FirmwareTask & value,NativeRdb::ValuesBucket & dbValue)97 void FirmwareTaskTable::BuildDbValue(const FirmwareTask &value, NativeRdb::ValuesBucket &dbValue)
98 {
99     PutColumnValue(dbValue, COLUMN_TASK_TASK_ID, value.taskId);
100     PutColumnValue(dbValue, COLUMN_TASK_STATUS, CAST_INT(value.status));
101     PutColumnValue(dbValue, COLUMN_TASK_PROGRESS, value.progress);
102     PutColumnValue(dbValue, COLUMN_TASK_DOWNLOAD_TASK_ID, value.downloadTaskId);
103     PutColumnValue(dbValue, COLUMN_TASK_ERROR_CODE, value.errorCode);
104     PutColumnValue(dbValue, COLUMN_TASK_ERROR_MSG, value.errorMsg);
105     PutColumnValue(dbValue, COLUMN_TASK_COMBINATION_TYPE, CAST_INT(value.combinationType));
106     PutColumnValue(dbValue, COLUMN_TASK_DOWNLOAD_MODE, CAST_INT(value.downloadMode));
107     PutColumnValue(dbValue, COLUMN_TASK_DOWNLOAD_ALLOW_NETWORK, CAST_INT(value.downloadAllowNetwork));
108     PutColumnValue(dbValue, COLUMN_TASK_DOWNLOAD_ORDER, CAST_INT(value.downloadOrder));
109     PutColumnValue(dbValue, COLUMN_TASK_UPGRADE_MODE, CAST_INT(value.upgradeMode));
110     PutColumnValue(dbValue, COLUMN_TASK_UPGRADE_ORDER, CAST_INT(value.upgradeOrder));
111     PutColumnValue(dbValue, COLUMN_TASK_AUTH_RESULT, value.authResult);
112     PutColumnValue(dbValue, COLUMN_TASK_UPDATE_TOKEN, value.updateToken);
113     PutColumnValue(dbValue, COLUMN_TASK_DEVICE_TOKEN, value.deviceToken);
114     PutColumnValue(dbValue, COLUMN_TASK_TOKEN_H_MAC, value.tokenHMac);
115     PutColumnValue(dbValue, COLUMN_TASK_CURR_VERSION_LIST, value.currentVersionList);
116     PutColumnValue(dbValue, COLUMN_TASK_AUTH_TIME, value.authTime);
117     PutColumnValue(dbValue, COLUMN_TASK_IS_STREAM_UPGRADE, value.isStreamUpgrade);
118 }
119 } // namespace UpdateEngine
120 } // namespace OHOS