1 /*
2 * Copyright (c) 2025 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 "pacurl_context.h"
17
18 #include "napi_constant.h"
19 #include "napi_utils.h"
20 #include "netmanager_base_log.h"
21 #include "net_all_capabilities.h"
22
23 namespace OHOS {
24 namespace NetManagerStandard {
ProxyModeContext(napi_env env,std::shared_ptr<EventManager> & manager)25 ProxyModeContext::ProxyModeContext(napi_env env, std::shared_ptr<EventManager> &manager) : BaseContext(env, manager)
26 {
27 mode_ = PROXY_MODE_OFF;
28 }
29
ParseParams(napi_value * params,size_t paramsCount)30 void ProxyModeContext::ParseParams(napi_value *params, size_t paramsCount)
31 {
32 if (!CheckParamsType(GetEnv(), params, paramsCount)) {
33 NETMANAGER_BASE_LOGE("check params type failed");
34 SetParseOK(false);
35 SetErrorCode(NETMANAGER_ERR_PARAMETER_ERROR);
36 return;
37 }
38 int32_t mode = NapiUtils::GetInt32FromValue(GetEnv(), params[ARG_INDEX_0]);
39 switch (mode) {
40 case PROXY_MODE_OFF:
41 mode_ = PROXY_MODE_OFF;
42 break;
43 case PROXY_MODE_AUTO:
44 mode_ = PROXY_MODE_AUTO;
45 break;
46 default:
47 SetParseOK(false);
48 SetErrorCode(NETMANAGER_ERR_PARAMETER_ERROR);
49 return;
50 }
51 SetParseOK(true);
52 }
53
CheckParamsType(napi_env env,napi_value * params,size_t paramsCount)54 bool ProxyModeContext::CheckParamsType(napi_env env, napi_value *params, size_t paramsCount)
55 {
56 if (paramsCount == PARAM_JUST_OPTIONS) {
57 return NapiUtils::GetValueType(env, params[ARG_INDEX_0]) == napi_number;
58 }
59 return false;
60 }
61
FindPacFileUrlContext(napi_env env,std::shared_ptr<EventManager> & manager)62 FindPacFileUrlContext::FindPacFileUrlContext(napi_env env, std::shared_ptr<EventManager> &manager)
63 : BaseContext(env, manager)
64 {
65 }
66
ParseParams(napi_value * params,size_t paramsCount)67 void FindPacFileUrlContext::ParseParams(napi_value *params, size_t paramsCount)
68 {
69 if (!CheckParamsType(GetEnv(), params, paramsCount)) {
70 NETMANAGER_BASE_LOGE("check params type failed");
71 SetParseOK(false);
72 SetErrorCode(NETMANAGER_ERR_PARAMETER_ERROR);
73 return;
74 }
75 url_ = NapiUtils::GetStringFromValueUtf8(GetEnv(), params[ARG_INDEX_0]);
76 SetParseOK(true);
77 }
78
CheckParamsType(napi_env env,napi_value * params,size_t paramsCount)79 bool FindPacFileUrlContext::CheckParamsType(napi_env env, napi_value *params, size_t paramsCount)
80 {
81 if (paramsCount == PARAM_JUST_OPTIONS) {
82 return NapiUtils::GetValueType(env, params[ARG_INDEX_0]) == napi_string;
83 }
84 return false;
85 }
86
GetPacFileUrlContext(napi_env env,std::shared_ptr<EventManager> & manager)87 GetPacFileUrlContext::GetPacFileUrlContext(napi_env env, std::shared_ptr<EventManager> &manager)
88 : BaseContext(env, manager)
89 {
90 }
91
ParseParams(napi_value * params,size_t paramsCount)92 void GetPacFileUrlContext::ParseParams(napi_value *params, size_t paramsCount)
93 {
94 if (paramsCount != PARAM_NONE) {
95 SetParseOK(false);
96 return;
97 }
98 SetParseOK(true);
99 }
100
SetPacUrlContext(napi_env env,std::shared_ptr<EventManager> & manager)101 SetPacUrlContext::SetPacUrlContext(napi_env env, std::shared_ptr<EventManager>& manager) : BaseContext(env, manager) {}
102
103
CheckParamsType(napi_env env,napi_value * params,size_t paramsCount)104 bool SetPacUrlContext::CheckParamsType(napi_env env, napi_value *params, size_t paramsCount)
105 {
106 if (paramsCount == PARAM_JUST_OPTIONS) {
107 return NapiUtils::GetValueType(env, params[ARG_INDEX_0]) == napi_string;
108 }
109 return false;
110 }
111
ParseParams(napi_value * params,size_t paramsCount)112 void SetPacUrlContext::ParseParams(napi_value *params, size_t paramsCount)
113 {
114 if (!CheckParamsType(GetEnv(), params, paramsCount)) {
115 NETMANAGER_BASE_LOGE("check params type failed");
116 SetParseOK(false);
117 SetErrorCode(NETMANAGER_ERR_PARAMETER_ERROR);
118 return;
119 }
120 pacUrl_ = NapiUtils::GetStringFromValueUtf8(GetEnv(), params[ARG_INDEX_0]);
121 SetParseOK(true);
122 }
123
SetPacFileUrlContext(napi_env env,std::shared_ptr<EventManager> & manager)124 SetPacFileUrlContext::SetPacFileUrlContext(napi_env env, std::shared_ptr<EventManager> &manager)
125 : BaseContext(env, manager)
126 {
127 }
128
CheckParamsType(napi_env env,napi_value * params,size_t paramsCount)129 bool SetPacFileUrlContext::CheckParamsType(napi_env env, napi_value *params, size_t paramsCount)
130 {
131 if (paramsCount == PARAM_JUST_OPTIONS) {
132 return NapiUtils::GetValueType(env, params[ARG_INDEX_0]) == napi_string;
133 }
134 return false;
135 }
136
ParseParams(napi_value * params,size_t paramsCount)137 void SetPacFileUrlContext::ParseParams(napi_value *params, size_t paramsCount)
138 {
139 if (!CheckParamsType(GetEnv(), params, paramsCount)) {
140 NETMANAGER_BASE_LOGE("check params type failed");
141 SetParseOK(false);
142 SetErrorCode(NETMANAGER_ERR_PARAMETER_ERROR);
143 return;
144 }
145 pacUrl_ = NapiUtils::GetStringFromValueUtf8(GetEnv(), params[ARG_INDEX_0]);
146 SetParseOK(true);
147 }
148
149
GetPacUrlContext(napi_env env,std::shared_ptr<EventManager> & manager)150 GetPacUrlContext::GetPacUrlContext(napi_env env, std::shared_ptr<EventManager>& manager) : BaseContext(env, manager) {}
151
ParseParams(napi_value * params,size_t paramsCount)152 void GetPacUrlContext::ParseParams(napi_value *params, size_t paramsCount)
153 {
154 if (paramsCount != PARAM_NONE) {
155 SetParseOK(false);
156 return;
157 }
158 SetParseOK(true);
159 }
160
161 } // namespace NetManagerStandard
162 } // namespace OHOS