Home | History | Annotate | Download | only in lib
      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