OLD | NEW |
| (Empty) |
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 // Key and value names of the location of the RLZ shared state. | |
6 | |
7 #include "rlz/lib/lib_values.h" | |
8 | |
9 #include "base/stringprintf.h" | |
10 #include "rlz/lib/assert.h" | |
11 | |
12 namespace rlz_lib { | |
13 | |
14 // | |
15 // Ping information. | |
16 // | |
17 | |
18 // rep=2: includes the new stateful events. | |
19 const char kProtocolCgiArgument[] = "rep=2"; | |
20 | |
21 const char kEventsCgiVariable[] = "events"; | |
22 const char kStatefulEventsCgiVariable[] = "stateful-events"; | |
23 const char kEventsCgiSeparator = ','; | |
24 | |
25 const char kRlzCgiVariable[] = "rlz"; | |
26 const char kRlzCgiSeparator[] = ","; | |
27 const char kRlzCgiIndicator[] = ":"; | |
28 | |
29 const char kProductSignatureCgiVariable[] = "as"; | |
30 const char kProductBrandCgiVariable[] = "brand"; | |
31 const char kProductLanguageCgiVariable[] = "hl"; | |
32 const char kProductIdCgiVariable[] = "pid"; | |
33 | |
34 const char kDccCgiVariable[] = "dcc"; | |
35 const char kRlsCgiVariable[] = "rls"; | |
36 const char kMachineIdCgiVariable[] = "id"; | |
37 const char kSetDccResponseVariable[] = "set_dcc"; | |
38 | |
39 // | |
40 // Financial server information. | |
41 // | |
42 | |
43 const char kFinancialPingPath[] = "/tools/pso/ping"; | |
44 const char kFinancialServer[] = "clients1.google.com"; | |
45 const int kFinancialPort = 80; | |
46 | |
47 // Ping times in 100-nanosecond intervals. | |
48 const int64 kEventsPingInterval = 24LL * 3600LL * 10000000LL; // 1 day | |
49 const int64 kNoEventsPingInterval = kEventsPingInterval * 7LL; // 1 week | |
50 | |
51 const char kFinancialPingUserAgent[] = "Mozilla/4.0 (compatible; Win32)"; | |
52 const char* kFinancialPingResponseObjects[] = { "text/*", NULL }; | |
53 | |
54 // | |
55 // AccessPoint and Event names. | |
56 // | |
57 // | |
58 | |
59 const char* GetAccessPointName(AccessPoint point) { | |
60 switch (point) { | |
61 case NO_ACCESS_POINT: return ""; | |
62 case IE_DEFAULT_SEARCH: return "I7"; | |
63 case IE_HOME_PAGE: return "W1"; | |
64 case IETB_SEARCH_BOX: return "T4"; | |
65 case QUICK_SEARCH_BOX: return "Q1"; | |
66 case GD_DESKBAND: return "D1"; | |
67 case GD_SEARCH_GADGET: return "D2"; | |
68 case GD_WEB_SERVER: return "D3"; | |
69 case GD_OUTLOOK: return "D4"; | |
70 case CHROME_OMNIBOX: return "C1"; | |
71 case CHROME_HOME_PAGE: return "C2"; | |
72 case FFTB2_BOX: return "B2"; | |
73 case FFTB3_BOX: return "B3"; | |
74 case PINYIN_IME_BHO: return "N1"; | |
75 case IGOOGLE_WEBPAGE: return "G1"; | |
76 case MOBILE_IDLE_SCREEN_BLACKBERRY: return "H1"; | |
77 case MOBILE_IDLE_SCREEN_WINMOB: return "H2"; | |
78 case MOBILE_IDLE_SCREEN_SYMBIAN: return "H3"; | |
79 case FF_HOME_PAGE: return "R0"; | |
80 case FF_SEARCH_BOX: return "R1"; | |
81 case IE_BROWSED_PAGE: return "R2"; | |
82 case QSB_WIN_BOX: return "R3"; | |
83 case WEBAPPS_CALENDAR: return "R4"; | |
84 case WEBAPPS_DOCS: return "R5"; | |
85 case WEBAPPS_GMAIL: return "R6"; | |
86 case IETB_LINKDOCTOR: return "R7"; | |
87 case FFTB_LINKDOCTOR: return "R8"; | |
88 case IETB7_SEARCH_BOX: return "T7"; | |
89 case TB8_SEARCH_BOX: return "T8"; | |
90 case CHROME_FRAME: return "C3"; | |
91 case PARTNER_AP_1: return "V1"; | |
92 case PARTNER_AP_2: return "V2"; | |
93 case PARTNER_AP_3: return "V3"; | |
94 case PARTNER_AP_4: return "V4"; | |
95 case PARTNER_AP_5: return "V5"; | |
96 case UNDEFINED_AP_H: return "RH"; | |
97 case UNDEFINED_AP_I: return "RI"; | |
98 case UNDEFINED_AP_J: return "RJ"; | |
99 case UNDEFINED_AP_K: return "RK"; | |
100 case UNDEFINED_AP_L: return "RL"; | |
101 case UNDEFINED_AP_M: return "RM"; | |
102 case UNDEFINED_AP_N: return "RN"; | |
103 case UNDEFINED_AP_O: return "RO"; | |
104 case UNDEFINED_AP_P: return "RP"; | |
105 case UNDEFINED_AP_Q: return "RQ"; | |
106 case UNDEFINED_AP_R: return "RR"; | |
107 case UNDEFINED_AP_S: return "RS"; | |
108 case UNDEFINED_AP_T: return "RT"; | |
109 case UNDEFINED_AP_U: return "RU"; | |
110 case UNDEFINED_AP_V: return "RV"; | |
111 case UNDEFINED_AP_W: return "RW"; | |
112 case UNDEFINED_AP_X: return "RX"; | |
113 case UNDEFINED_AP_Y: return "RY"; | |
114 case UNDEFINED_AP_Z: return "RZ"; | |
115 case PACK_AP0: return "U0"; | |
116 case PACK_AP1: return "U1"; | |
117 case PACK_AP2: return "U2"; | |
118 case PACK_AP3: return "U3"; | |
119 case PACK_AP4: return "U4"; | |
120 case PACK_AP5: return "U5"; | |
121 case PACK_AP6: return "U6"; | |
122 case PACK_AP7: return "U7"; | |
123 case PACK_AP8: return "U8"; | |
124 case PACK_AP9: return "U9"; | |
125 case PACK_AP10: return "UA"; | |
126 case PACK_AP11: return "UB"; | |
127 case PACK_AP12: return "UC"; | |
128 case PACK_AP13: return "UD"; | |
129 case LAST_ACCESS_POINT: ; // Fall through. | |
130 } | |
131 | |
132 ASSERT_STRING("GetAccessPointName: Unknown Access Point"); | |
133 return NULL; | |
134 } | |
135 | |
136 | |
137 bool GetAccessPointFromName(const char* name, AccessPoint* point) { | |
138 if (!point) { | |
139 ASSERT_STRING("GetAccessPointFromName: point is NULL"); | |
140 return false; | |
141 } | |
142 *point = NO_ACCESS_POINT; | |
143 if (!name) | |
144 return false; | |
145 | |
146 for (int i = NO_ACCESS_POINT; i < LAST_ACCESS_POINT; i++) | |
147 if (strcmp(name, GetAccessPointName(static_cast<AccessPoint>(i))) == 0) { | |
148 *point = static_cast<AccessPoint>(i); | |
149 return true; | |
150 } | |
151 | |
152 return false; | |
153 } | |
154 | |
155 | |
156 const char* GetEventName(Event event) { | |
157 switch (event) { | |
158 case INVALID_EVENT: return ""; | |
159 case INSTALL: return "I"; | |
160 case SET_TO_GOOGLE: return "S"; | |
161 case FIRST_SEARCH: return "F"; | |
162 case REPORT_RLS: return "R"; | |
163 case ACTIVATE: return "A"; | |
164 case LAST_EVENT: ; // Fall through. | |
165 } | |
166 | |
167 ASSERT_STRING("GetPointName: Unknown Event"); | |
168 return NULL; | |
169 } | |
170 | |
171 | |
172 bool GetEventFromName(const char* name, Event* event) { | |
173 if (!event) { | |
174 ASSERT_STRING("GetEventFromName: event is NULL"); | |
175 return false; | |
176 } | |
177 *event = INVALID_EVENT; | |
178 if (!name) | |
179 return false; | |
180 | |
181 for (int i = INVALID_EVENT; i < LAST_EVENT; i++) | |
182 if (strcmp(name, GetEventName(static_cast<Event>(i))) == 0) { | |
183 *event = static_cast<Event>(i); | |
184 return true; | |
185 } | |
186 | |
187 return false; | |
188 } | |
189 | |
190 const char* GetProductName(Product product) { | |
191 switch (product) { | |
192 case IE_TOOLBAR: return "T"; | |
193 case TOOLBAR_NOTIFIER: return "P"; | |
194 case PACK: return "U"; | |
195 case DESKTOP: return "D"; | |
196 case CHROME: return "C"; | |
197 case FF_TOOLBAR: return "B"; | |
198 case QSB_WIN: return "K"; | |
199 case WEBAPPS: return "W"; | |
200 case PINYIN_IME: return "N"; | |
201 case PARTNER: return "V"; | |
202 } | |
203 | |
204 ASSERT_STRING("GetProductName: Unknown Product"); | |
205 return ""; | |
206 } | |
207 | |
208 } // namespace rlz_lib | |
OLD | NEW |