| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef CHROME_INSTALLER_GCAPI_GCAPI_OMAHA_EXPERIMENT_H_ |
| #define CHROME_INSTALLER_GCAPI_GCAPI_OMAHA_EXPERIMENT_H_ |
| |
| #include "base/strings/string16.h" |
| |
| namespace gcapi_internals { |
| |
| extern const wchar_t kReactivationLabel[]; |
| extern const wchar_t kRelaunchLabel[]; |
| |
| // Returns the full experiment label to be used by |label| (which is one of the |
| // labels declared above) for |brand_code|. |
| base::string16 GetGCAPIExperimentLabel(const wchar_t* brand_code, |
| const base::string16& label); |
| |
| } // namespace gcapi_internals |
| |
| // Writes a reactivation brand code experiment label in the Chrome product and |
| // binaries registry keys for |brand_code|. This experiment label will have a |
| // expiration date of now plus one year. If |shell_mode| is set to |
| // GCAPI_INVOKED_UAC_ELEVATION, the value will be written to HKLM, otherwise |
| // HKCU. A user cannot have both a reactivation label and a relaunch label set |
| // at the same time (they are mutually exclusive). |
| bool SetReactivationExperimentLabels(const wchar_t* brand_code, int shell_mode); |
| |
| // Writes a relaunch brand code experiment label in the Chrome product and |
| // binaries registry keys for |brand_code|. This experiment label will have a |
| // expiration date of now plus one year. If |shell_mode| is set to |
| // GCAPI_INVOKED_UAC_ELEVATION, the value will be written to HKLM, otherwise |
| // HKCU. A user cannot have both a reactivation label and a relaunch label set |
| // at the same time (they are mutually exclusive). |
| bool SetRelaunchExperimentLabels(const wchar_t* brand_code, int shell_mode); |
| |
| #endif // CHROME_INSTALLER_GCAPI_GCAPI_OMAHA_EXPERIMENT_H_ |