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 |