OLD | NEW |
(Empty) | |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef CHROME_INSTALLER_UTIL_PRODUCT_COMMAND_H_ |
| 6 #define CHROME_INSTALLER_UTIL_PRODUCT_COMMAND_H_ |
| 7 #pragma once |
| 8 |
| 9 #include <windows.h> |
| 10 |
| 11 #include <string> |
| 12 |
| 13 class WorkItemList; |
| 14 |
| 15 namespace base { |
| 16 namespace win { |
| 17 class RegKey; |
| 18 } |
| 19 } |
| 20 |
| 21 namespace installer { |
| 22 |
| 23 // A description of a command registered by setup.exe that can be invoked by |
| 24 // Google Update. This class is CopyConstructible and Assignable for use in |
| 25 // STL containers. |
| 26 class ProductCommand { |
| 27 public: |
| 28 ProductCommand(); |
| 29 ProductCommand(const std::wstring& command_line, bool send_pings, |
| 30 bool is_web_accessible); |
| 31 // The implicit dtor, copy ctor and assignment operator are desired. |
| 32 |
| 33 // Initializes an instance from the command in |key|. |
| 34 bool Initialize(const base::win::RegKey& key); |
| 35 |
| 36 // Adds to |item_list| work items to write this object to the key named |
| 37 // |command_path| under |predefined_root|. |
| 38 void AddWorkItems(HKEY predefined_root, |
| 39 const std::wstring& command_path, |
| 40 WorkItemList* item_list) const; |
| 41 |
| 42 const std::wstring& command_line() const { return command_line_; } |
| 43 void set_command_line(const std::wstring& command_line) { |
| 44 command_line_ = command_line; |
| 45 } |
| 46 |
| 47 bool sends_pings() const { return sends_pings_; } |
| 48 void set_sends_pings(bool sends_pings) { sends_pings_ = sends_pings; } |
| 49 |
| 50 bool is_web_accessible() const { return is_web_accessible_; } |
| 51 void set_is_web_accessible(bool is_web_accessible) { |
| 52 is_web_accessible_ = is_web_accessible; |
| 53 } |
| 54 |
| 55 protected: |
| 56 std::wstring command_line_; |
| 57 bool sends_pings_; |
| 58 bool is_web_accessible_; |
| 59 }; |
| 60 |
| 61 } // namespace installer |
| 62 |
| 63 #endif // CHROME_INSTALLER_UTIL_PRODUCT_COMMAND_H_ |
OLD | NEW |