Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(516)

Side by Side Diff: cloud_print/service/win/cloud_print_service.cc

Issue 14358019: Added Cloud Print Service installer/uninstaller. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
OLDNEW
« no previous file with comments | « cloud_print/service/win/chrome_launcher.cc ('k') | cloud_print/service/win/cloud_print_service_config.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698