• 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 #ifndef UPDATE_CLIENT_HELPER_H
17 #define UPDATE_CLIENT_HELPER_H
18 
19 #include <string>
20 
21 #include "node_api.h"
22 
23 #include "napi_common_utils.h"
24 #include "update_helper.h"
25 #include "update_result.h"
26 
27 namespace OHOS::UpdateEngine {
28 class ClientHelper {
29 public:
30     static int32_t BuildCheckResult(napi_env env, napi_value &obj, const UpdateResult &result);
31     static int32_t BuildCurrentVersionInfo(napi_env env, napi_value &obj, const UpdateResult &result);
32     static ClientStatus BuildEventInfo(napi_env env, napi_value &obj, const EventInfo &eventInfo);
33     static int32_t BuildNewVersionInfo(napi_env env, napi_value &obj, const UpdateResult &result);
34     static int32_t BuildVersionDescriptionInfo(napi_env env, napi_value &obj, const UpdateResult &result);
35     static int32_t BuildUpgradePolicy(napi_env env, napi_value &obj, const UpdateResult &result);
36     static int32_t BuildTaskInfo(napi_env env, napi_value &obj, const UpdateResult &result);
37     static int32_t BuildUndefinedStatus(napi_env env, napi_value &obj, const UpdateResult &result);
38 
39     static ClientStatus GetUpgradeInfoFromArg(napi_env env, const napi_value arg, UpgradeInfo &upgradeInfo);
40     static ClientStatus GetUpgradePolicyFromArg(napi_env env, const napi_value arg, UpgradePolicy &upgradePolicy);
41     static ClientStatus GetUpgradeFileFromArg(napi_env env, const napi_value arg, UpgradeFile &upgradeFile);
42     static ClientStatus GetUpgradeFilesFromArg(napi_env env, const napi_value arg,
43         std::vector<UpgradeFile> &upgradeFiles);
44     static ClientStatus GetVersionDigestInfoFromArg(napi_env env, const napi_value arg,
45         VersionDigestInfo &versionDigestInfo);
46     static ClientStatus GetOptionsFromArg(napi_env env, const napi_value arg, DescriptionOptions &descriptionOptions);
47     static ClientStatus GetOptionsFromArg(napi_env env, const napi_value arg, UpgradeOptions &upgradeOptions);
48     static ClientStatus GetOptionsFromArg(napi_env env, const napi_value arg, ClearOptions &clearOptions);
49     static ClientStatus GetOptionsFromArg(napi_env env, const napi_value arg, DownloadOptions &downloadOptions);
50     static ClientStatus GetOptionsFromArg(napi_env env, const napi_value arg,
51         PauseDownloadOptions &pauseDownloadOptions);
52     static ClientStatus GetOptionsFromArg(napi_env env, const napi_value arg,
53         ResumeDownloadOptions &resumeDownloadOptions);
54     static ClientStatus GetEventClassifyInfoFromArg(napi_env env, const napi_value arg,
55         EventClassifyInfo &eventClassifyInfo);
56 
57     static bool IsValidUpgradeFile(const std::string &upgradeFile);
58 
59     static void TrimString(std::string &str);
60 
61 private:
62     static ClientStatus GetDescriptionFormat(napi_env env, const napi_value arg, DescriptionFormat &format);
63     static ClientStatus GetNetType(napi_env env, const napi_value arg, NetType &netType);
64     static ClientStatus GetOrder(napi_env env, const napi_value arg, Order &order);
65 };
66 } // namespace OHOS::UpdateEngine
67 #endif // UPDATE_CLIENT_HELPER_H