Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1042)

Unified Diff: rlz/lib/financial_ping.h

Issue 10597002: Check-in rlz code to src\rlz from http://code.google.com/p/rlz/. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: update license and try clobber build Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « rlz/lib/crc8_unittest.cc ('k') | rlz/lib/financial_ping.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: rlz/lib/financial_ping.h
===================================================================
--- rlz/lib/financial_ping.h (revision 0)
+++ rlz/lib/financial_ping.h (revision 0)
@@ -0,0 +1,64 @@
+// 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.
+//
+// Library functions related to the Financial Server ping.
+
+#ifndef RLZ_LIB_FINANCIAL_PING_H_
+#define RLZ_LIB_FINANCIAL_PING_H_
+
+#include <string>
+#include "rlz/lib/rlz_enums.h"
+
+#if defined(RLZ_NETWORK_IMPLEMENTATION_CHROME_NET)
+namespace net {
+class URLRequestContextGetter;
+} // namespace net
+#endif
+
+namespace rlz_lib {
+
+class FinancialPing {
+ public:
+ // Form the HTTP request to send to the PSO server.
+ // Will look something like:
+ // /pso/ping?as=swg&brand=GGLD&id=124&hl=en&
+ // events=I7S&rep=1&rlz=I7:val,W1:&dcc=dval
+ static bool FormRequest(Product product, const AccessPoint* access_points,
+ const char* product_signature,
+ const char* product_brand, const char* product_id,
+ const char* product_lang, bool exclude_machine_id,
+ std::string* request);
+
+ // Returns whether the time is right to send a ping.
+ // If no_delay is true, this should always ping if there are events,
+ // or one week has passed since last_ping when there are no new events.
+ // If no_delay is false, this should ping if current time < last_ping time
+ // (case of time reset) or if one day has passed since last_ping and there
+ // are events, or one week has passed since last_ping when there are
+ // no new events.
+ static bool IsPingTime(Product product, bool no_delay);
+
+ // Set the last ping time to be now. Writes to RlzValueStore.
+ static bool UpdateLastPingTime(Product product);
+
+ // Clear the last ping time - should be called on uninstall.
+ // Writes to RlzValueStore.
+ static bool ClearLastPingTime(Product product);
+
+ // Ping the financial server with request. Writes to RlzValueStore.
+ static bool PingServer(const char* request, std::string* response);
+
+#if defined(RLZ_NETWORK_IMPLEMENTATION_CHROME_NET)
+ static bool SetURLRequestContext(net::URLRequestContextGetter* context);
+#endif
+
+ private:
+ FinancialPing() {}
+ ~FinancialPing() {}
+};
+
+} // namespace rlz_lib
+
+
+#endif // RLZ_LIB_FINANCIAL_PING_H_
« no previous file with comments | « rlz/lib/crc8_unittest.cc ('k') | rlz/lib/financial_ping.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698