| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <atlbase.h> | 5 #include <atlbase.h> |
| 6 #include <security.h> | 6 #include <security.h> |
| 7 | 7 |
| 8 #include <iomanip> | 8 #include <iomanip> |
| 9 #include <iostream> | 9 #include <iostream> |
| 10 | 10 |
| 11 #include "base/at_exit.h" | 11 #include "base/at_exit.h" |
| 12 #include "base/command_line.h" | 12 #include "base/command_line.h" |
| 13 #include "base/file_util.h" | 13 #include "base/file_util.h" |
| 14 #include "base/guid.h" | 14 #include "base/guid.h" |
| 15 #include "base/logging.h" | 15 #include "base/logging.h" |
| 16 #include "base/path_service.h" | 16 #include "base/path_service.h" |
| 17 #include "base/string_util.h" | 17 #include "base/string_util.h" |
| 18 #include "base/utf_string_conversions.h" | 18 #include "base/utf_string_conversions.h" |
| 19 #include "base/win/scoped_handle.h" | 19 #include "base/win/scoped_handle.h" |
| 20 #include "chrome/common/chrome_constants.h" | 20 #include "chrome/common/chrome_constants.h" |
| 21 #include "chrome/common/chrome_switches.h" | 21 #include "chrome/common/chrome_switches.h" |
| 22 #include "cloud_print/common/win/cloud_print_utils.h" | 22 #include "cloud_print/common/win/cloud_print_utils.h" |
| 23 #include "cloud_print/service/service_constants.h" |
| 23 #include "cloud_print/service/service_state.h" | 24 #include "cloud_print/service/service_state.h" |
| 24 #include "cloud_print/service/service_switches.h" | 25 #include "cloud_print/service/service_switches.h" |
| 25 #include "cloud_print/service/win/chrome_launcher.h" | 26 #include "cloud_print/service/win/chrome_launcher.h" |
| 26 #include "cloud_print/service/win/service_controller.h" | 27 #include "cloud_print/service/win/service_controller.h" |
| 27 #include "cloud_print/service/win/service_listener.h" | 28 #include "cloud_print/service/win/service_listener.h" |
| 28 #include "cloud_print/service/win/service_utils.h" | 29 #include "cloud_print/service/win/service_utils.h" |
| 29 #include "cloud_print/service/win/setup_listener.h" | 30 #include "cloud_print/service/win/setup_listener.h" |
| 30 | 31 |
| 31 namespace { | 32 namespace { |
| 32 | 33 |
| 33 const wchar_t kAppDataSubDir[] = L"Google\\Cloud Print Service"; | |
| 34 | |
| 35 void InvalidUsage() { | 34 void InvalidUsage() { |
| 36 base::FilePath service_path; | 35 base::FilePath service_path; |
| 37 CHECK(PathService::Get(base::FILE_EXE, &service_path)); | 36 CHECK(PathService::Get(base::FILE_EXE, &service_path)); |
| 38 | 37 |
| 39 std::cout << "Usage: "; | 38 std::cout << "Usage: "; |
| 40 std::cout << service_path.BaseName().value(); | 39 std::cout << service_path.BaseName().value(); |
| 41 std::cout << " ["; | 40 std::cout << " ["; |
| 42 std::cout << "["; | 41 std::cout << "["; |
| 43 std::cout << "["; | 42 std::cout << "["; |
| 44 std::cout << " -" << kInstallSwitch; | 43 std::cout << " -" << kInstallSwitch; |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 chrome_->Stop(); | 359 chrome_->Stop(); |
| 361 chrome_.reset(); | 360 chrome_.reset(); |
| 362 } | 361 } |
| 363 } | 362 } |
| 364 | 363 |
| 365 base::FilePath GetUserDataDir() const { | 364 base::FilePath GetUserDataDir() const { |
| 366 if (!user_data_dir_switch_.empty()) | 365 if (!user_data_dir_switch_.empty()) |
| 367 return user_data_dir_switch_; | 366 return user_data_dir_switch_; |
| 368 base::FilePath result; | 367 base::FilePath result; |
| 369 CHECK(PathService::Get(base::DIR_LOCAL_APP_DATA, &result)); | 368 CHECK(PathService::Get(base::DIR_LOCAL_APP_DATA, &result)); |
| 370 return result.Append(kAppDataSubDir); | 369 return result.Append(kSubDirectory); |
| 371 } | 370 } |
| 372 | 371 |
| 373 static BOOL WINAPI ConsoleCtrlHandler(DWORD type); | 372 static BOOL WINAPI ConsoleCtrlHandler(DWORD type); |
| 374 | 373 |
| 375 bool check_requirements_; | 374 bool check_requirements_; |
| 376 base::FilePath user_data_dir_switch_; | 375 base::FilePath user_data_dir_switch_; |
| 377 scoped_ptr<ChromeLauncher> chrome_; | 376 scoped_ptr<ChromeLauncher> chrome_; |
| 378 scoped_ptr<ServiceController> controller_; | 377 scoped_ptr<ServiceController> controller_; |
| 379 scoped_ptr<ServiceListener> setup_listener_; | 378 scoped_ptr<ServiceListener> setup_listener_; |
| 380 }; | 379 }; |
| 381 | 380 |
| 382 CloudPrintServiceModule _AtlModule; | 381 CloudPrintServiceModule _AtlModule; |
| 383 | 382 |
| 384 BOOL CloudPrintServiceModule::ConsoleCtrlHandler(DWORD type) { | 383 BOOL CloudPrintServiceModule::ConsoleCtrlHandler(DWORD type) { |
| 385 PostThreadMessage(_AtlModule.m_dwThreadID, WM_QUIT, 0, 0); | 384 PostThreadMessage(_AtlModule.m_dwThreadID, WM_QUIT, 0, 0); |
| 386 return TRUE; | 385 return TRUE; |
| 387 } | 386 } |
| 388 | 387 |
| 389 int main(int argc, char** argv) { | 388 int main(int argc, char** argv) { |
| 390 CommandLine::Init(argc, argv); | 389 CommandLine::Init(argc, argv); |
| 391 base::AtExitManager at_exit; | 390 base::AtExitManager at_exit; |
| 392 return _AtlModule.WinMain(0); | 391 return _AtlModule.WinMain(0); |
| 393 } | 392 } |
| 394 | 393 |
| OLD | NEW |