OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "cloud_print/service/win/service_controller.h" | 5 #include "cloud_print/service/win/service_controller.h" |
6 | 6 |
7 #include <atlbase.h> | 7 #include <atlbase.h> |
8 #include <atlcom.h> | 8 #include <atlcom.h> |
9 #include <atlctl.h> | 9 #include <atlctl.h> |
10 | 10 |
(...skipping 144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
155 // printers here. | 155 // printers here. |
156 HRESULT hr = UninstallService(); | 156 HRESULT hr = UninstallService(); |
157 if (FAILED(hr)) | 157 if (FAILED(hr)) |
158 return hr; | 158 return hr; |
159 | 159 |
160 hr = UpdateRegistryAppId(true); | 160 hr = UpdateRegistryAppId(true); |
161 if (FAILED(hr)) | 161 if (FAILED(hr)) |
162 return hr; | 162 return hr; |
163 | 163 |
164 base::FilePath service_path = GetBinary(); | 164 base::FilePath service_path = GetBinary(); |
165 if (!file_util::PathExists(service_path)) | 165 if (!base::PathExists(service_path)) |
166 return HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND); | 166 return HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND); |
167 CommandLine command_line(service_path); | 167 CommandLine command_line(service_path); |
168 command_line.AppendSwitch(run_switch); | 168 command_line.AppendSwitch(run_switch); |
169 if (!user_data_dir.empty()) | 169 if (!user_data_dir.empty()) |
170 command_line.AppendSwitchPath(switches::kUserDataDir, user_data_dir); | 170 command_line.AppendSwitchPath(switches::kUserDataDir, user_data_dir); |
171 if (enable_logging) { | 171 if (enable_logging) { |
172 command_line.AppendSwitch(switches::kEnableLogging); | 172 command_line.AppendSwitch(switches::kEnableLogging); |
173 command_line.AppendSwitchASCII(switches::kV, "1"); | 173 command_line.AppendSwitchASCII(switches::kV, "1"); |
174 } | 174 } |
175 | 175 |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 ServiceController::State origina_state = state(); | 239 ServiceController::State origina_state = state(); |
240 if (origina_state < ServiceController::STATE_STOPPED) | 240 if (origina_state < ServiceController::STATE_STOPPED) |
241 return S_FALSE; | 241 return S_FALSE; |
242 | 242 |
243 ServiceHandle service; | 243 ServiceHandle service; |
244 HRESULT hr = OpenService(name_, SERVICE_CHANGE_CONFIG, &service); | 244 HRESULT hr = OpenService(name_, SERVICE_CHANGE_CONFIG, &service); |
245 if (FAILED(hr)) | 245 if (FAILED(hr)) |
246 return hr; | 246 return hr; |
247 | 247 |
248 base::FilePath service_path = GetBinary(); | 248 base::FilePath service_path = GetBinary(); |
249 if (!file_util::PathExists(service_path)) | 249 if (!base::PathExists(service_path)) |
250 return HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND); | 250 return HRESULT_FROM_WIN32(ERROR_FILE_NOT_FOUND); |
251 | 251 |
252 command_line_.SetProgram(service_path); | 252 command_line_.SetProgram(service_path); |
253 if (!::ChangeServiceConfig(service, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE, | 253 if (!::ChangeServiceConfig(service, SERVICE_NO_CHANGE, SERVICE_NO_CHANGE, |
254 SERVICE_NO_CHANGE, | 254 SERVICE_NO_CHANGE, |
255 command_line_.GetCommandLineString().c_str(), NULL, | 255 command_line_.GetCommandLineString().c_str(), NULL, |
256 NULL, NULL, NULL, NULL, NULL)) { | 256 NULL, NULL, NULL, NULL, NULL)) { |
257 return cloud_print::GetLastHResult(); | 257 return cloud_print::GetLastHResult(); |
258 } | 258 } |
259 | 259 |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 state_ = STATE_NOT_FOUND; | 307 state_ = STATE_NOT_FOUND; |
308 return; | 308 return; |
309 } | 309 } |
310 is_logging_enabled_ = command_line_.HasSwitch(switches::kEnableLogging); | 310 is_logging_enabled_ = command_line_.HasSwitch(switches::kEnableLogging); |
311 user_ = config->lpServiceStartName; | 311 user_ = config->lpServiceStartName; |
312 } | 312 } |
313 | 313 |
314 bool ServiceController::is_logging_enabled() const { | 314 bool ServiceController::is_logging_enabled() const { |
315 return command_line_.HasSwitch(switches::kEnableLogging); | 315 return command_line_.HasSwitch(switches::kEnableLogging); |
316 } | 316 } |
OLD | NEW |