// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef RLZ_LIB_RLZ_ENUMS_H_
#define RLZ_LIB_RLZ_ENUMS_H_
namespace rlz_lib {
// An Access Point offers a way to search using Google.
enum AccessPoint {
NO_ACCESS_POINT = 0,
// Access points on Windows PCs.
IE_DEFAULT_SEARCH, // The IE7+ chrome search box next to the address bar.
IE_HOME_PAGE, // Search box on IE 5+ primary home page when Google.
IETB_SEARCH_BOX, // IE Toolbar v4+ search box.
QUICK_SEARCH_BOX, // Search box brought up by ctrl-ctrl key sequence,
// distributed as a part of Google Desktop
GD_DESKBAND, // Search box in deskbar when GD in deskbar mode.
GD_SEARCH_GADGET, // Search gadget when GD in sidebar mode.
GD_WEB_SERVER, // Boxes in web pages shown by local GD web server.
GD_OUTLOOK, // Search box installed within outlook by GD.
CHROME_OMNIBOX, // Chrome searches through the address bar omnibox (Win).
CHROME_HOME_PAGE, // Chrome searches through Google as home page (Win).
FFTB2_BOX, // Firefox Toolbar v2 Search Box.
FFTB3_BOX, // Firefox Toolbar v3+ Search Box.
PINYIN_IME_BHO, // Goopy Input Method Editor BHO (Pinyin).
IGOOGLE_WEBPAGE, // Searches on iGoogle through partner deals.
// Mobile idle screen search for different platforms.
MOBILE_IDLE_SCREEN_BLACKBERRY,
MOBILE_IDLE_SCREEN_WINMOB,
MOBILE_IDLE_SCREEN_SYMBIAN,
FF_HOME_PAGE, // Firefox home page when set to Google.
FF_SEARCH_BOX, // Firefox search box when set to Google.
IE_BROWSED_PAGE, // Search made in IE through user action (no product).
QSB_WIN_BOX, // Search box brought up by ctrl+space by default,
// distributed by toolbar and separate from the GD QSB
WEBAPPS_CALENDAR, // Webapps use of calendar.
WEBAPPS_DOCS, // Webapps use of writely.
WEBAPPS_GMAIL, // Webapps use of Gmail.
IETB_LINKDOCTOR, // Linkdoctor of IE Toolbar
FFTB_LINKDOCTOR, // Linkdoctor of FF Toolbar
IETB7_SEARCH_BOX, // IE Toolbar search box.
TB8_SEARCH_BOX, // IE/FF Toolbar search box.
CHROME_FRAME, // Chrome Frame.
// Partner access points.
PARTNER_AP_1,
PARTNER_AP_2,
PARTNER_AP_3,
PARTNER_AP_4,
PARTNER_AP_5,
CHROME_MAC_OMNIBOX, // Chrome searches through the address bar omnibox (Mac).
CHROME_MAC_HOME_PAGE,// Chrome searches through Google as home page (Mac).
CHROMEOS_OMNIBOX, // ChromeOS searches through the address bar omnibox.
CHROMEOS_HOME_PAGE, // ChromeOS searches through Google as home page.
CHROMEOS_APP_LIST, // ChromeOS searches through the app launcher search box.
// Chrome searches through the address bar omnibox (iOS) on tablet or phone.
CHROME_IOS_OMNIBOX_TABLET,
CHROME_IOS_OMNIBOX_MOBILE,
CHROME_APP_LIST, // Chrome searches through the app launcher search box.
CHROME_MAC_APP_LIST, // Chrome searches through the app launcher search box
// (Mac).
// Unclaimed access points - should be used first before creating new APs.
// Please also make sure you re-name the enum before using an unclaimed value;
// this acts as a check to ensure we don't have collisions.
UNDEFINED_AP_Q,
UNDEFINED_AP_R,
UNDEFINED_AP_S,
UNDEFINED_AP_T,
UNDEFINED_AP_U,
UNDEFINED_AP_V,
UNDEFINED_AP_W,
UNDEFINED_AP_X,
UNDEFINED_AP_Y,
UNDEFINED_AP_Z,
PACK_AP0,
PACK_AP1,
PACK_AP2,
PACK_AP3,
PACK_AP4,
PACK_AP5,
PACK_AP6,
PACK_AP7,
PACK_AP8,
PACK_AP9,
PACK_AP10,
PACK_AP11,
PACK_AP12,
PACK_AP13,
// New Access Points should be added here without changing existing enums,
// (i.e. before LAST_ACCESS_POINT)
LAST_ACCESS_POINT
};
// A product is an entity which wants to gets credit for setting
// an Access Point.
enum Product {
IE_TOOLBAR = 1,
TOOLBAR_NOTIFIER,
PACK,
DESKTOP,
CHROME,
FF_TOOLBAR,
QSB_WIN,
WEBAPPS,
PINYIN_IME,
PARTNER
// New Products should be added here without changing existing enums.
};
// Events that note Product and Access Point modifications.
enum Event {
INVALID_EVENT = 0,
INSTALL = 1, // Access Point added to the system.
SET_TO_GOOGLE, // Point set from non-Google provider to Google.
FIRST_SEARCH, // First search from point since INSTALL
REPORT_RLS, // Report old system "RLS" financial value for this point.
// New Events should be added here without changing existing enums,
// before LAST_EVENT.
ACTIVATE, // Product being used for a period of time.
LAST_EVENT
};
} // namespace rlz_lib
#endif // RLZ_LIB_RLZ_ENUMS_H_