// 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. // // Key and value names of the location of the RLZ shared state. #ifndef RLZ_LIB_LIB_VALUES_H_ #define RLZ_LIB_LIB_VALUES_H_ #include "base/basictypes.h" #include "rlz/lib/rlz_enums.h" namespace rlz_lib { // // Ping CGI arguments: // // Events are reported as (without spaces): // kEventsCgiVariable = <AccessPoint1><Event1> kEventsCgiSeparator <P2><E2>... // // Event responses from the server look like: // kEventsCgiVariable : <AccessPoint1><Event1> kEventsCgiSeparator <P2><E2>... // // RLZ's are reported as (without spaces): // kRlzCgiVariable = <AccessPoint> <kRlzCgiIndicator> <RLZ value> // <kRlzCgiSeparator> <AP2><Indicator><V2><Separator> .... // // RLZ responses from the server look like (without spaces): // kRlzCgiVariable<Access Point> : <RLZ value> // // DCC if reported should look like (without spaces): // kDccCgiVariable = <DCC Value> // // RLS if reported should look like (without spaces): // kRlsCgiVariable = <RLS Value> // // Machine ID if reported should look like (without spaces): // kMachineIdCgiVariable = <Machine ID Value> // // A server response setting / confirming the DCC will look like (no spaces): // kDccCgiVariable : <DCC Value> // // Each ping to the server must also contain kProtocolCgiArgument as well. // // Pings may also contain (but not necessarily controlled by this Lib): // - The product signature: kProductSignatureCgiVariable = <signature> // - The product brand: kProductBrandCgiVariable = <brand> // - The product installation ID: kProductIdCgiVariable = <id> extern const char kEventsCgiVariable[]; extern const char kStatefulEventsCgiVariable[]; extern const char kEventsCgiSeparator; extern const char kDccCgiVariable[]; extern const char kProtocolCgiArgument[]; extern const char kProductSignatureCgiVariable[]; extern const char kProductBrandCgiVariable[]; extern const char kProductLanguageCgiVariable[]; extern const char kProductIdCgiVariable[]; extern const char kRlzCgiVariable[]; extern const char kRlzCgiSeparator[]; extern const char kRlzCgiIndicator[]; extern const char kRlsCgiVariable[]; extern const char kMachineIdCgiVariable[]; extern const char kSetDccResponseVariable[]; // // Financial ping server information. // extern const char kFinancialPingPath[]; extern const char kFinancialServer[]; extern const int kFinancialPort; extern const int64 kEventsPingInterval; extern const int64 kNoEventsPingInterval; extern const char kFinancialPingUserAgent[]; extern const char* kFinancialPingResponseObjects[]; // // The names for AccessPoints and Events that we use MUST be the same // as those used/understood by the server. // const char* GetAccessPointName(AccessPoint point); bool GetAccessPointFromName(const char* name, AccessPoint* point); const char* GetEventName(Event event); bool GetEventFromName(const char* name, Event* event); // The names for products are used only client-side. const char* GetProductName(Product product); } // namespace rlz_lib #endif // RLZ_LIB_LIB_VALUES_H_