diff options
Diffstat (limited to 'cloud_print/service/win')
-rw-r--r-- | cloud_print/service/win/chrome_launcher.cc | 15 | ||||
-rw-r--r-- | cloud_print/service/win/chrome_launcher.h | 3 | ||||
-rw-r--r-- | cloud_print/service/win/cloud_print_service_config.cc | 5 | ||||
-rw-r--r-- | cloud_print/service/win/cloud_print_service_setup_exe.ver | 3 | ||||
-rw-r--r-- | cloud_print/service/win/installer.cc | 7 | ||||
-rw-r--r-- | cloud_print/service/win/service_controller.cc | 4 | ||||
-rw-r--r-- | cloud_print/service/win/service_utils.cc | 11 | ||||
-rw-r--r-- | cloud_print/service/win/service_utils.h | 3 |
8 files changed, 30 insertions, 21 deletions
diff --git a/cloud_print/service/win/chrome_launcher.cc b/cloud_print/service/win/chrome_launcher.cc index 6c5bbc5..aa35817 100644 --- a/cloud_print/service/win/chrome_launcher.cc +++ b/cloud_print/service/win/chrome_launcher.cc @@ -22,6 +22,7 @@ #include "chrome/installer/launcher_support/chrome_launcher_support.h" #include "cloud_print/common/win/cloud_print_utils.h" #include "cloud_print/service/service_constants.h" +#include "cloud_print/service/win/service_utils.h" #include "google_apis/gaia/gaia_urls.h" #include "googleurl/src/gurl.h" #include "net/base/url_util.h" @@ -183,7 +184,7 @@ void ChromeLauncher::Run() { if (!chrome_path.empty()) { CommandLine cmd(chrome_path); - CopySwitchesFromCurrent(&cmd); + CopyChromeSwitchesFromCurrentProcess(&cmd); // Required switches. cmd.AppendSwitchASCII(switches::kProcessType, switches::kServiceProcess); @@ -231,16 +232,6 @@ void ChromeLauncher::Run() { } } -void ChromeLauncher::CopySwitchesFromCurrent(CommandLine* destination) { - static const char* const kSwitchesToCopy[] = { - switches::kEnableLogging, - switches::kV, - }; - destination->CopySwitchesFrom(*CommandLine::ForCurrentProcess(), - kSwitchesToCopy, - arraysize(kSwitchesToCopy)); -} - std::string ChromeLauncher::CreateServiceStateFile( const std::string& proxy_id, const std::vector<std::string>& printers) { @@ -274,7 +265,7 @@ std::string ChromeLauncher::CreateServiceStateFile( } CommandLine cmd(chrome_path); - CopySwitchesFromCurrent(&cmd); + CopyChromeSwitchesFromCurrentProcess(&cmd); cmd.AppendSwitchPath(switches::kUserDataDir, temp_user_data.path()); cmd.AppendSwitchPath(switches::kCloudPrintSetupProxy, printers_file); cmd.AppendSwitch(switches::kNoServiceAutorun); diff --git a/cloud_print/service/win/chrome_launcher.h b/cloud_print/service/win/chrome_launcher.h index 837b53b..57c92e6 100644 --- a/cloud_print/service/win/chrome_launcher.h +++ b/cloud_print/service/win/chrome_launcher.h @@ -26,9 +26,6 @@ class ChromeLauncher : public base::DelegateSimpleThread::Delegate { virtual void Run() OVERRIDE; - // Copy additional chrome switches. - static void CopySwitchesFromCurrent(CommandLine* destination); - static std::string CreateServiceStateFile( const std::string& proxy_id, const std::vector<std::string>& printers); diff --git a/cloud_print/service/win/cloud_print_service_config.cc b/cloud_print/service/win/cloud_print_service_config.cc index 84598b5..059d89d 100644 --- a/cloud_print/service/win/cloud_print_service_config.cc +++ b/cloud_print/service/win/cloud_print_service_config.cc @@ -17,7 +17,6 @@ #include "cloud_print/resources.h" #include "cloud_print/service/service_state.h" #include "cloud_print/service/win/chrome_launcher.h" -#include "cloud_print/service/win/installer.h" #include "cloud_print/service/win/service_controller.h" #include "cloud_print/service/win/service_utils.h" #include "cloud_print/service/win/setup_listener.h" @@ -428,10 +427,6 @@ int WINAPI WinMain(__in HINSTANCE hInstance, base::AtExitManager at_exit; CommandLine::Init(0, NULL); - HRESULT result = ProcessInstallerSwitches(); - if (result != S_FALSE) - return result; - MessageLoopForUI loop; scoped_refptr<SetupDialog> dialog(new SetupDialog()); dialog->Create(NULL); diff --git a/cloud_print/service/win/cloud_print_service_setup_exe.ver b/cloud_print/service/win/cloud_print_service_setup_exe.ver new file mode 100644 index 0000000..4e283e3 --- /dev/null +++ b/cloud_print/service/win/cloud_print_service_setup_exe.ver @@ -0,0 +1,3 @@ +INTERNAL_NAME=cloud_print_service_setup.exe +ORIGINAL_FILENAME=cloud_print_service_setup.exe +FILETYPE=0x1L diff --git a/cloud_print/service/win/installer.cc b/cloud_print/service/win/installer.cc index c82b1c8..662a44b 100644 --- a/cloud_print/service/win/installer.cc +++ b/cloud_print/service/win/installer.cc @@ -6,6 +6,7 @@ #include <winerror.h> +#include "base/at_exit.h" #include "base/command_line.h" #include "base/file_util.h" #include "base/path_service.h" @@ -13,6 +14,7 @@ #include "base/win/shortcut.h" #include "cloud_print/common/win/cloud_print_utils.h" #include "cloud_print/common/win/install_utils.h" +#include "cloud_print/resources.h" #include "cloud_print/service/service_constants.h" #include "cloud_print/service/service_switches.h" #include "cloud_print/service/win/service_controller.h" @@ -123,3 +125,8 @@ HRESULT ProcessInstallerSwitches() { return S_FALSE; } +int main(int argc, char** argv) { + CommandLine::Init(argc, argv); + base::AtExitManager at_exit; + return ProcessInstallerSwitches(); +} diff --git a/cloud_print/service/win/service_controller.cc b/cloud_print/service/win/service_controller.cc index 3b748d1..19ffc6e 100644 --- a/cloud_print/service/win/service_controller.cc +++ b/cloud_print/service/win/service_controller.cc @@ -19,6 +19,7 @@ #include "cloud_print/service/service_switches.h" #include "cloud_print/service/win/chrome_launcher.h" #include "cloud_print/service/win/local_security_policy.h" +#include "cloud_print/service/win/service_utils.h" namespace { @@ -170,7 +171,8 @@ HRESULT ServiceController::InstallService(const string16& user, command_line.AppendSwitch(switches::kEnableLogging); command_line.AppendSwitchASCII(switches::kV, "1"); } - ChromeLauncher::CopySwitchesFromCurrent(&command_line); + + CopyChromeSwitchesFromCurrentProcess(&command_line); LocalSecurityPolicy local_security_policy; if (local_security_policy.Open()) { diff --git a/cloud_print/service/win/service_utils.cc b/cloud_print/service/win/service_utils.cc index 715cb57..fd988f4 100644 --- a/cloud_print/service/win/service_utils.cc +++ b/cloud_print/service/win/service_utils.cc @@ -7,7 +7,9 @@ #include <windows.h> #include <security.h> // NOLINT +#include "base/command_line.h" #include "base/string_util.h" +#include "chrome/common/chrome_switches.h" string16 GetLocalComputerName() { DWORD size = 0; @@ -44,4 +46,13 @@ string16 GetCurrentUserName() { return result; } +void CopyChromeSwitchesFromCurrentProcess(CommandLine* destination) { + static const char* const kSwitchesToCopy[] = { + switches::kEnableLogging, + switches::kV, + }; + destination->CopySwitchesFrom(*CommandLine::ForCurrentProcess(), + kSwitchesToCopy, + arraysize(kSwitchesToCopy)); +} diff --git a/cloud_print/service/win/service_utils.h b/cloud_print/service/win/service_utils.h index ca5efb1..b75479e 100644 --- a/cloud_print/service/win/service_utils.h +++ b/cloud_print/service/win/service_utils.h @@ -5,10 +5,13 @@ #ifndef CLOUD_PRINT_SERVICE_SERVICE_UTILS_H_ #define CLOUD_PRINT_SERVICE_SERVICE_UTILS_H_ +class CommandLine; + #include "base/string16.h" string16 ReplaceLocalHostInName(const string16& user_name); string16 GetCurrentUserName(); +void CopyChromeSwitchesFromCurrentProcess(CommandLine* destination); #endif // CLOUD_PRINT_SERVICE_SERVICE_UTILS_H_ |