• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 RLZ_LIB_RLZ_ENUMS_H_
6 #define RLZ_LIB_RLZ_ENUMS_H_
7 
8 namespace rlz_lib {
9 
10 // An Access Point offers a way to search using Google.
11 enum AccessPoint {
12   NO_ACCESS_POINT = 0,
13 
14   // Access points on Windows PCs.
15   IE_DEFAULT_SEARCH,  // The IE7+ chrome search box next to the address bar.
16   IE_HOME_PAGE,       // Search box on IE 5+ primary home page when Google.
17   IETB_SEARCH_BOX,    // IE Toolbar v4+ search box.
18   QUICK_SEARCH_BOX,   // Search box brought up by ctrl-ctrl key sequence,
19                       // distributed as a part of Google Desktop
20   GD_DESKBAND,        // Search box in deskbar when GD in deskbar mode.
21   GD_SEARCH_GADGET,   // Search gadget when GD in sidebar mode.
22   GD_WEB_SERVER,      // Boxes in web pages shown by local GD web server.
23   GD_OUTLOOK,         // Search box installed within outlook by GD.
24   CHROME_OMNIBOX,     // Chrome searches through the address bar omnibox (Win).
25   CHROME_HOME_PAGE,   // Chrome searches through Google as home page (Win).
26   FFTB2_BOX,          // Firefox Toolbar v2 Search Box.
27   FFTB3_BOX,          // Firefox Toolbar v3+ Search Box.
28   PINYIN_IME_BHO,     // Goopy Input Method Editor BHO (Pinyin).
29   IGOOGLE_WEBPAGE,    // Searches on iGoogle through partner deals.
30 
31   // Mobile idle screen search for different platforms.
32   MOBILE_IDLE_SCREEN_BLACKBERRY,
33   MOBILE_IDLE_SCREEN_WINMOB,
34   MOBILE_IDLE_SCREEN_SYMBIAN,
35 
36   FF_HOME_PAGE,       // Firefox home page when set to Google.
37   FF_SEARCH_BOX,      // Firefox search box when set to Google.
38   IE_BROWSED_PAGE,    // Search made in IE through user action (no product).
39   QSB_WIN_BOX,        // Search box brought up by ctrl+space by default,
40                       // distributed by toolbar and separate from the GD QSB
41   WEBAPPS_CALENDAR,   // Webapps use of calendar.
42   WEBAPPS_DOCS,       // Webapps use of writely.
43   WEBAPPS_GMAIL,      // Webapps use of Gmail.
44 
45   IETB_LINKDOCTOR,    // Linkdoctor of IE Toolbar
46   FFTB_LINKDOCTOR,    // Linkdoctor of FF Toolbar
47   IETB7_SEARCH_BOX,   // IE Toolbar search box.
48   TB8_SEARCH_BOX,     // IE/FF Toolbar search box.
49   CHROME_FRAME,       // Chrome Frame.
50 
51   // Partner access points.
52   PARTNER_AP_1,
53   PARTNER_AP_2,
54   PARTNER_AP_3,
55   PARTNER_AP_4,
56   PARTNER_AP_5,
57 
58   CHROME_MAC_OMNIBOX,  // Chrome searches through the address bar omnibox (Mac).
59   CHROME_MAC_HOME_PAGE,// Chrome searches through Google as home page (Mac).
60 
61   CHROMEOS_OMNIBOX,    // ChromeOS searches through the address bar omnibox.
62   CHROMEOS_HOME_PAGE,  // ChromeOS searches through Google as home page.
63   CHROMEOS_APP_LIST,   // ChromeOS searches through the app launcher search box.
64 
65   // Chrome searches through the address bar omnibox (iOS) on tablet or phone.
66   CHROME_IOS_OMNIBOX_TABLET,
67   CHROME_IOS_OMNIBOX_MOBILE,
68 
69   CHROME_APP_LIST,     // Chrome searches through the app launcher search box.
70   CHROME_MAC_APP_LIST, // Chrome searches through the app launcher search box
71                        // (Mac).
72 
73   // Unclaimed access points - should be used first before creating new APs.
74   // Please also make sure you re-name the enum before using an unclaimed value;
75   // this acts as a check to ensure we don't have collisions.
76   UNDEFINED_AP_Q,
77   UNDEFINED_AP_R,
78   UNDEFINED_AP_S,
79   UNDEFINED_AP_T,
80   UNDEFINED_AP_U,
81   UNDEFINED_AP_V,
82   UNDEFINED_AP_W,
83   UNDEFINED_AP_X,
84   UNDEFINED_AP_Y,
85   UNDEFINED_AP_Z,
86 
87   PACK_AP0,
88   PACK_AP1,
89   PACK_AP2,
90   PACK_AP3,
91   PACK_AP4,
92   PACK_AP5,
93   PACK_AP6,
94   PACK_AP7,
95   PACK_AP8,
96   PACK_AP9,
97   PACK_AP10,
98   PACK_AP11,
99   PACK_AP12,
100   PACK_AP13,
101 
102   // New Access Points should be added here without changing existing enums,
103   // (i.e. before LAST_ACCESS_POINT)
104   LAST_ACCESS_POINT
105 };
106 
107 // A product is an entity which wants to gets credit for setting
108 // an Access Point.
109 enum Product {
110   IE_TOOLBAR = 1,
111   TOOLBAR_NOTIFIER,
112   PACK,
113   DESKTOP,
114   CHROME,
115   FF_TOOLBAR,
116   QSB_WIN,
117   WEBAPPS,
118   PINYIN_IME,
119   PARTNER
120   // New Products should be added here without changing existing enums.
121 };
122 
123 // Events that note Product and Access Point modifications.
124 enum Event {
125   INVALID_EVENT = 0,
126   INSTALL = 1,    // Access Point added to the system.
127   SET_TO_GOOGLE,  // Point set from non-Google provider to Google.
128   FIRST_SEARCH,   // First search from point since INSTALL
129   REPORT_RLS,     // Report old system "RLS" financial value for this point.
130   // New Events should be added here without changing existing enums,
131   // before LAST_EVENT.
132   ACTIVATE,       // Product being used for a period of time.
133   LAST_EVENT
134 };
135 
136 }  // namespace rlz_lib
137 
138 #endif  // RLZ_LIB_RLZ_ENUMS_H_
139