Index: rlz/lib/lib_values.h |
=================================================================== |
--- rlz/lib/lib_values.h (revision 0) |
+++ rlz/lib/lib_values.h (revision 0) |
@@ -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_ |