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_GCAPI_GCAPI_OMAHA_EXPERIMENT_H_ 6 #define CHROME_INSTALLER_GCAPI_GCAPI_OMAHA_EXPERIMENT_H_ 7 8 #include "base/strings/string16.h" 9 10 namespace gcapi_internals { 11 12 extern const wchar_t kReactivationLabel[]; 13 extern const wchar_t kRelaunchLabel[]; 14 15 // Returns the full experiment label to be used by |label| (which is one of the 16 // labels declared above) for |brand_code|. 17 string16 GetGCAPIExperimentLabel(const wchar_t* brand_code, 18 const string16& label); 19 20 } // namespace gcapi_internals 21 22 // Writes a reactivation brand code experiment label in the Chrome product and 23 // binaries registry keys for |brand_code|. This experiment label will have a 24 // expiration date of now plus one year. If |shell_mode| is set to 25 // GCAPI_INVOKED_UAC_ELEVATION, the value will be written to HKLM, otherwise 26 // HKCU. A user cannot have both a reactivation label and a relaunch label set 27 // at the same time (they are mutually exclusive). 28 bool SetReactivationExperimentLabels(const wchar_t* brand_code, int shell_mode); 29 30 // Writes a relaunch brand code experiment label in the Chrome product and 31 // binaries registry keys for |brand_code|. This experiment label will have a 32 // expiration date of now plus one year. If |shell_mode| is set to 33 // GCAPI_INVOKED_UAC_ELEVATION, the value will be written to HKLM, otherwise 34 // HKCU. A user cannot have both a reactivation label and a relaunch label set 35 // at the same time (they are mutually exclusive). 36 bool SetRelaunchExperimentLabels(const wchar_t* brand_code, int shell_mode); 37 38 #endif // CHROME_INSTALLER_GCAPI_GCAPI_OMAHA_EXPERIMENT_H_ 39