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.
5 #ifndef CHROME_INSTALLER_GCAPI_GCAPI_OMAHA_EXPERIMENT_H_
6 #define CHROME_INSTALLER_GCAPI_GCAPI_OMAHA_EXPERIMENT_H_
8 #include "base/strings/string16.h"
10 namespace gcapi_internals
{
12 extern const wchar_t kReactivationLabel
[];
13 extern const wchar_t kRelaunchLabel
[];
15 // Returns the full experiment label to be used by |label| (which is one of the
16 // labels declared above) for |brand_code|.
17 base::string16
GetGCAPIExperimentLabel(const wchar_t* brand_code
,
18 const base::string16
& label
);
20 } // namespace gcapi_internals
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
);
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
);
38 #endif // CHROME_INSTALLER_GCAPI_GCAPI_OMAHA_EXPERIMENT_H_