15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Key and value names of the location of the RLZ shared state. 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#ifndef RLZ_LIB_LIB_VALUES_H_ 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define RLZ_LIB_LIB_VALUES_H_ 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "rlz/lib/rlz_enums.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace rlz_lib { 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Ping CGI arguments: 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Events are reported as (without spaces): 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// kEventsCgiVariable = <AccessPoint1><Event1> kEventsCgiSeparator <P2><E2>... 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Event responses from the server look like: 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// kEventsCgiVariable : <AccessPoint1><Event1> kEventsCgiSeparator <P2><E2>... 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// RLZ's are reported as (without spaces): 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// kRlzCgiVariable = <AccessPoint> <kRlzCgiIndicator> <RLZ value> 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// <kRlzCgiSeparator> <AP2><Indicator><V2><Separator> .... 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// RLZ responses from the server look like (without spaces): 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// kRlzCgiVariable<Access Point> : <RLZ value> 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// DCC if reported should look like (without spaces): 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// kDccCgiVariable = <DCC Value> 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// RLS if reported should look like (without spaces): 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// kRlsCgiVariable = <RLS Value> 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Machine ID if reported should look like (without spaces): 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// kMachineIdCgiVariable = <Machine ID Value> 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// A server response setting / confirming the DCC will look like (no spaces): 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// kDccCgiVariable : <DCC Value> 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Each ping to the server must also contain kProtocolCgiArgument as well. 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Pings may also contain (but not necessarily controlled by this Lib): 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// - The product signature: kProductSignatureCgiVariable = <signature> 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// - The product brand: kProductBrandCgiVariable = <brand> 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// - The product installation ID: kProductIdCgiVariable = <id> 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kEventsCgiVariable[]; 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kStatefulEventsCgiVariable[]; 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kEventsCgiSeparator; 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kDccCgiVariable[]; 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kProtocolCgiArgument[]; 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kProductSignatureCgiVariable[]; 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kProductBrandCgiVariable[]; 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kProductLanguageCgiVariable[]; 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kProductIdCgiVariable[]; 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kRlzCgiVariable[]; 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kRlzCgiSeparator[]; 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kRlzCgiIndicator[]; 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kRlsCgiVariable[]; 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kMachineIdCgiVariable[]; 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kSetDccResponseVariable[]; 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Financial ping server information. 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kFinancialPingPath[]; 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kFinancialServer[]; 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const int kFinancialPort; 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const int64 kEventsPingInterval; 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const int64 kNoEventsPingInterval; 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char kFinancialPingUserAgent[]; 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)extern const char* kFinancialPingResponseObjects[]; 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The names for AccessPoints and Events that we use MUST be the same 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// as those used/understood by the server. 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char* GetAccessPointName(AccessPoint point); 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool GetAccessPointFromName(const char* name, AccessPoint* point); 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char* GetEventName(Event event); 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool GetEventFromName(const char* name, Event* event); 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The names for products are used only client-side. 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char* GetProductName(Product product); 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace rlz_lib 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // RLZ_LIB_LIB_VALUES_H_ 100