diff options
Diffstat (limited to 'rlz/lib/lib_values.h')
-rw-r--r-- | rlz/lib/lib_values.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/rlz/lib/lib_values.h b/rlz/lib/lib_values.h new file mode 100644 index 0000000..05fbc6b --- /dev/null +++ b/rlz/lib/lib_values.h @@ -0,0 +1,99 @@ +// 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_ |