Home | History | Annotate | Download | only in util
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef CHROME_INSTALLER_UTIL_GOOGLE_UPDATE_UTIL_H_
      6 #define CHROME_INSTALLER_UTIL_GOOGLE_UPDATE_UTIL_H_
      7 
      8 #include <string>
      9 
     10 namespace google_update {
     11 
     12 // If user-level Google Update is absent, calls the system-level
     13 // GoogleUpdateSetup.exe to install it, and waits until it finishes.
     14 // Returns true if already installed, installed successfully, or
     15 // if Google Update is not present at system-level.
     16 // Returns false if the installation fails.
     17 bool EnsureUserLevelGoogleUpdatePresent();
     18 
     19 // Tell Google Update that an uninstall has taken place.  This gives it a chance
     20 // to uninstall itself straight away if no more products are installed on the
     21 // system rather than waiting for the next time the scheduled task runs.
     22 // Returns false if Google Update could not be executed, or times out.
     23 bool UninstallGoogleUpdate(bool system_install);
     24 
     25 // Run setup.exe to attempt to reenable updates for for Chrome while elevating
     26 // if needed. Setup.exe will call into
     27 // GoogleUpdateSettings::ReenableAutoupdatesForApp() to do the work.
     28 void ElevateIfNeededToReenableUpdates();
     29 
     30 // Returns the value corresponding to |key| in untrusted data passed from
     31 // Google Update.  Returns an empty string if |key| is absent or if its value
     32 // contains non-printable characters.
     33 std::string GetUntrustedDataValue(const std::string& key);
     34 
     35 // Returns the value corresponding to |key| in untrusted data passed from
     36 // |tag|.  |tag| should be a printable list of key-value pairs, e.g.
     37 // "key1=value1&key2=value2".  Returns an empty string if |key| is absent or if
     38 // its value contains non-printable characters.
     39 std::string GetUntrustedDataValueFromTag(const std::string& tag,
     40                                          const std::string& key);
     41 
     42 }  // namespace google_update
     43 
     44 #endif  // CHROME_INSTALLER_UTIL_GOOGLE_UPDATE_UTIL_H_
     45