AU: Implement server-dictated poll interval.

The server will need to include a PollInterval XML attribute in its
update check response. The requested interval is in seconds.

BUG=5984
TEST=unit tests, gmerged on device and tested with a modified dev server

Change-Id: I89d13f9f85d93bc141b74ae677cca813e3364fb5

Review URL: http://codereview.chromium.org/3275006
diff --git a/omaha_request_action.h b/omaha_request_action.h
index 7533d14..1f72025 100644
--- a/omaha_request_action.h
+++ b/omaha_request_action.h
@@ -11,9 +11,9 @@
 
 #include <string>
 
+#include <base/scoped_ptr.h>
 #include <curl/curl.h>
 
-#include "base/scoped_ptr.h"
 #include "update_engine/action.h"
 #include "update_engine/http_fetcher.h"
 
@@ -30,10 +30,17 @@
 // These strings in this struct are not XML escaped.
 struct OmahaResponse {
   OmahaResponse()
-      : update_exists(false), size(0), needs_admin(false), prompt(false) {}
+      : update_exists(false),
+        poll_interval(0),
+        size(0),
+        needs_admin(false),
+        prompt(false) {}
   // True iff there is an update to be downloaded.
   bool update_exists;
 
+  // If non-zero, server-dictated poll frequency in seconds.
+  int poll_interval;
+
   // These are only valid if update_exists is true:
   std::string display_version;
   std::string codebase;