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 #include <stdint.h> |
10 | 11 |
11 #include "base/base_switches.h" | 12 #include "base/base_switches.h" |
12 #include "base/command_line.h" | 13 #include "base/command_line.h" |
13 #include "base/files/file_path.h" | 14 #include "base/files/file_path.h" |
14 #include "base/files/file_util.h" | 15 #include "base/files/file_util.h" |
| 16 #include "base/macros.h" |
15 #include "base/path_service.h" | 17 #include "base/path_service.h" |
16 #include "base/win/scoped_handle.h" | 18 #include "base/win/scoped_handle.h" |
17 #include "chrome/common/chrome_switches.h" | 19 #include "chrome/common/chrome_switches.h" |
18 #include "cloud_print/common/win/cloud_print_utils.h" | 20 #include "cloud_print/common/win/cloud_print_utils.h" |
19 #include "cloud_print/service/service_constants.h" | 21 #include "cloud_print/service/service_constants.h" |
20 #include "cloud_print/service/service_switches.h" | 22 #include "cloud_print/service/service_switches.h" |
21 #include "cloud_print/service/win/chrome_launcher.h" | 23 #include "cloud_print/service/win/chrome_launcher.h" |
22 #include "cloud_print/service/win/local_security_policy.h" | 24 #include "cloud_print/service/win/local_security_policy.h" |
23 #include "cloud_print/service/win/service_utils.h" | 25 #include "cloud_print/service/win/service_utils.h" |
24 #include "content/public/common/content_switches.h" | 26 #include "content/public/common/content_switches.h" |
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 if (::QueryServiceStatus(service.Get(), &status) && | 292 if (::QueryServiceStatus(service.Get(), &status) && |
291 status.dwCurrentState == SERVICE_RUNNING) { | 293 status.dwCurrentState == SERVICE_RUNNING) { |
292 state_ = STATE_RUNNING; | 294 state_ = STATE_RUNNING; |
293 } | 295 } |
294 | 296 |
295 DWORD config_size = 0; | 297 DWORD config_size = 0; |
296 ::QueryServiceConfig(service.Get(), NULL, 0, &config_size); | 298 ::QueryServiceConfig(service.Get(), NULL, 0, &config_size); |
297 if (!config_size) | 299 if (!config_size) |
298 return; | 300 return; |
299 | 301 |
300 std::vector<uint8> buffer(config_size, 0); | 302 std::vector<uint8_t> buffer(config_size, 0); |
301 QUERY_SERVICE_CONFIG* config = | 303 QUERY_SERVICE_CONFIG* config = |
302 reinterpret_cast<QUERY_SERVICE_CONFIG*>(&buffer[0]); | 304 reinterpret_cast<QUERY_SERVICE_CONFIG*>(&buffer[0]); |
303 if (!::QueryServiceConfig(service.Get(), config, | 305 if (!::QueryServiceConfig(service.Get(), config, |
304 static_cast<DWORD>(buffer.size()), | 306 static_cast<DWORD>(buffer.size()), |
305 &config_size) || | 307 &config_size) || |
306 config_size != buffer.size()) { | 308 config_size != buffer.size()) { |
307 return; | 309 return; |
308 } | 310 } |
309 | 311 |
310 command_line_ = base::CommandLine::FromString(config->lpBinaryPathName); | 312 command_line_ = base::CommandLine::FromString(config->lpBinaryPathName); |
311 if (!command_line_.HasSwitch(kServiceSwitch)) { | 313 if (!command_line_.HasSwitch(kServiceSwitch)) { |
312 state_ = STATE_NOT_FOUND; | 314 state_ = STATE_NOT_FOUND; |
313 return; | 315 return; |
314 } | 316 } |
315 is_logging_enabled_ = command_line_.HasSwitch(switches::kEnableLogging); | 317 is_logging_enabled_ = command_line_.HasSwitch(switches::kEnableLogging); |
316 user_ = config->lpServiceStartName; | 318 user_ = config->lpServiceStartName; |
317 } | 319 } |
318 | 320 |
319 bool ServiceController::is_logging_enabled() const { | 321 bool ServiceController::is_logging_enabled() const { |
320 return command_line_.HasSwitch(switches::kEnableLogging); | 322 return command_line_.HasSwitch(switches::kEnableLogging); |
321 } | 323 } |
OLD | NEW |