• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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