Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: components/variations/variations_associated_data.h

Issue 421663003: Move variations component code to variations namespace. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Fix Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ 5 #ifndef COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_
6 #define COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ 6 #define COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_
7 7
8 #include <map> 8 #include <map>
9 #include <string> 9 #include <string>
10 10
(...skipping 19 matching lines...) Expand all
30 // std::map<std::string, std::string> params; 30 // std::map<std::string, std::string> params;
31 // if (GetVariationParams("trial", &params)) { 31 // if (GetVariationParams("trial", &params)) {
32 // // use |params| 32 // // use |params|
33 // } 33 // }
34 // 34 //
35 // std::string value = GetVariationParamValue("trial", "param_x"); 35 // std::string value = GetVariationParamValue("trial", "param_x");
36 // // use |value|, which will be "" if it does not exist 36 // // use |value|, which will be "" if it does not exist
37 // 37 //
38 // VariationID id = GetGoogleVariationID(GOOGLE_WEB_PROPERTIES, "trial", 38 // VariationID id = GetGoogleVariationID(GOOGLE_WEB_PROPERTIES, "trial",
39 // "group1"); 39 // "group1");
40 // if (id != chrome_variations::kEmptyID) { 40 // if (id != variations::kEmptyID) {
41 // // use |id| 41 // // use |id|
42 // } 42 // }
43 43
44 namespace chrome_variations { 44 namespace variations {
45 45
46 typedef int VariationID; 46 typedef int VariationID;
47 47
48 const VariationID EMPTY_ID = 0; 48 const VariationID EMPTY_ID = 0;
49 49
50 // A key into the Associate/Get methods for VariationIDs. This is used to create 50 // A key into the Associate/Get methods for VariationIDs. This is used to create
51 // separate ID associations for separate parties interested in VariationIDs. 51 // separate ID associations for separate parties interested in VariationIDs.
52 enum IDCollectionKey { 52 enum IDCollectionKey {
53 // This collection is used by Google web properties, transmitted through the 53 // This collection is used by Google web properties, transmitted through the
54 // X-Client-Data header. 54 // X-Client-Data header.
55 GOOGLE_WEB_PROPERTIES, 55 GOOGLE_WEB_PROPERTIES,
56 // This collection is used by Google web properties for IDs that trigger 56 // This collection is used by Google web properties for IDs that trigger
57 // server side experimental behavior, transmitted through the 57 // server side experimental behavior, transmitted through the
58 // X-Client-Data header. 58 // X-Client-Data header.
59 GOOGLE_WEB_PROPERTIES_TRIGGER, 59 GOOGLE_WEB_PROPERTIES_TRIGGER,
60 // This collection is used by Google update services, transmitted through the 60 // This collection is used by Google update services, transmitted through the
61 // Google Update experiment labels. 61 // Google Update experiment labels.
62 GOOGLE_UPDATE_SERVICE, 62 GOOGLE_UPDATE_SERVICE,
63 // The total count of collections. 63 // The total count of collections.
64 ID_COLLECTION_COUNT, 64 ID_COLLECTION_COUNT,
65 }; 65 };
66 66
67 // Associate a chrome_variations::VariationID value with a FieldTrial group for 67 // Associate a variations::VariationID value with a FieldTrial group for
68 // collection |key|. If an id was previously set for |trial_name| and 68 // collection |key|. If an id was previously set for |trial_name| and
69 // |group_name|, this does nothing. The group is denoted by |trial_name| and 69 // |group_name|, this does nothing. The group is denoted by |trial_name| and
70 // |group_name|. This must be called whenever a FieldTrial is prepared (create 70 // |group_name|. This must be called whenever a FieldTrial is prepared (create
71 // the trial and append groups) and needs to have a 71 // the trial and append groups) and needs to have a variations::VariationID
72 // chrome_variations::VariationID associated with it so Google servers can 72 // associated with it so Google servers can recognize the FieldTrial.
73 // recognize the FieldTrial. Thread safe. 73 // Thread safe.
74 void AssociateGoogleVariationID(IDCollectionKey key, 74 void AssociateGoogleVariationID(IDCollectionKey key,
75 const std::string& trial_name, 75 const std::string& trial_name,
76 const std::string& group_name, 76 const std::string& group_name,
77 VariationID id); 77 VariationID id);
78 78
79 // As above, but overwrites any previously set id. Thread safe. 79 // As above, but overwrites any previously set id. Thread safe.
80 void AssociateGoogleVariationIDForce(IDCollectionKey key, 80 void AssociateGoogleVariationIDForce(IDCollectionKey key,
81 const std::string& trial_name, 81 const std::string& trial_name,
82 const std::string& group_name, 82 const std::string& group_name,
83 VariationID id); 83 VariationID id);
84 84
85 // Retrieve the chrome_variations::VariationID associated with a FieldTrial 85 // Retrieve the variations::VariationID associated with a FieldTrial group for
86 // group for collection |key|. The group is denoted by |trial_name| and 86 // collection |key|. The group is denoted by |trial_name| and |group_name|.
87 // |group_name|. This will return chrome_variations::kEmptyID if there is 87 // This will return variations::kEmptyID if there is currently no associated ID
88 // currently no associated ID for the named group. This API can be nicely 88 // for the named group. This API can be nicely combined with
89 // combined with FieldTrial::GetActiveFieldTrialGroups() to enumerate the 89 // FieldTrial::GetActiveFieldTrialGroups() to enumerate the variation IDs for
90 // variation IDs for all active FieldTrial groups. Thread safe. 90 // all active FieldTrial groups. Thread safe.
91 VariationID GetGoogleVariationID(IDCollectionKey key, 91 VariationID GetGoogleVariationID(IDCollectionKey key,
92 const std::string& trial_name, 92 const std::string& trial_name,
93 const std::string& group_name); 93 const std::string& group_name);
94 94
95 // Associates the specified set of key-value |params| with the variation 95 // Associates the specified set of key-value |params| with the variation
96 // specified by |trial_name| and |group_name|. Fails and returns false if the 96 // specified by |trial_name| and |group_name|. Fails and returns false if the
97 // specified variation already has params associated with it or the field trial 97 // specified variation already has params associated with it or the field trial
98 // is already active (group() has been called on it). Thread safe. 98 // is already active (group() has been called on it). Thread safe.
99 bool AssociateVariationParams(const std::string& trial_name, 99 bool AssociateVariationParams(const std::string& trial_name,
100 const std::string& group_name, 100 const std::string& group_name,
(...skipping 23 matching lines...) Expand all
124 namespace testing { 124 namespace testing {
125 125
126 // Clears all of the mapped associations. 126 // Clears all of the mapped associations.
127 void ClearAllVariationIDs(); 127 void ClearAllVariationIDs();
128 128
129 // Clears all of the associated params. 129 // Clears all of the associated params.
130 void ClearAllVariationParams(); 130 void ClearAllVariationParams();
131 131
132 } // namespace testing 132 } // namespace testing
133 133
134 } // namespace chrome_variations 134 } // namespace variations
135 135
136 #endif // COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_ 136 #endif // COMPONENTS_VARIATIONS_VARIATIONS_ASSOCIATED_DATA_H_
OLDNEW
« no previous file with comments | « components/variations/study_filtering_unittest.cc ('k') | components/variations/variations_associated_data.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698