Introduce a device setting controlling allowed connection types for AU.

Currently, the updater just updates on WiFi and Ethernet and we'd like
to be more flexible in what connection types we allow updates on. This
only introduces the setting (which also allows policy control). A
follow-up change on the Chrome OS side is needed to wire up
update_engine.

BUG=chromium-os:31099
TEST=Compiles and passes tests, no user visible changes (yet).

Review URL: https://chromiumcodereview.appspot.com/10388254

git-svn-id: http://src.chromium.org/svn/trunk/src/chrome/browser/policy/proto@140027 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
diff --git a/chrome_device_policy.proto b/chrome_device_policy.proto
index 17a1743..5313c88 100644
--- a/chrome_device_policy.proto
+++ b/chrome_device_policy.proto
@@ -178,10 +178,26 @@
   // delay its download of an update from the time the update was first pushed
   // out to the server. The device may wait a portion of this time in terms
   // of wall-clock-time and the remaining portion in terms of the number of
-  // update checks. In any case, the scatter is upper bounded to a constant
+  // update checks. In any case, the scatter is upper bounded by a constant
   // amount of time so that a device does not ever get stuck waiting to download
   // an update forever.
   optional int64 scatter_factor_in_seconds = 4;
+
+  // Enumerates network connection types.
+  enum ConnectionType {
+    CONNECTION_TYPE_ETHERNET = 0;
+    CONNECTION_TYPE_WIFI = 1;
+    CONNECTION_TYPE_WIMAX = 2;
+    CONNECTION_TYPE_BLUETOOTH = 3;
+    CONNECTION_TYPE_CELLULAR = 4;
+  }
+
+  // The types of connections that are OK to use for OS updates. OS updates
+  // potentially put heavy strain on the connection due to their size and may
+  // incur additional cost. Therefore, they are by default not enabled for
+  // connection types that are considered expensive, which include WiMax,
+  // Bluetooth and Cellular at the moment.
+  repeated ConnectionType allowed_connection_types = 5;
 }
 
 message StartUpUrlsProto {