AU: Proxy Resolver classes

A collection of classes (abstract ProxyResolver interface and two
concrete implementations). The abstraction is one that should suit us
moving forward: a string URL is provided and a collection of proxy
servers is returned. One implementation always returns [no
proxy]. Another returns [manual settings from chrome, if applicable,
..., no proxy].

A future concrete implementation will consult Chrome via DBus with the
URL in question, however this is delayed until Chrome exposes such an
API.

As a result of this API missing from Chrome, this CL only resolves
proxies for a URL with manually input proxy settings.

Future CLs will integrate this into the rest of the update system.

BUG=3167
TEST=unit tests, (with future CLs) working proxy support on device

Review URL: http://codereview.chromium.org/5151005

Change-Id: If9dc6d09da681bca6f6ae74c896ba946ab81cb4d
diff --git a/proxy_resolver.cc b/proxy_resolver.cc
new file mode 100644
index 0000000..6b3bd93
--- /dev/null
+++ b/proxy_resolver.cc
@@ -0,0 +1,21 @@
+// Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "update_engine/proxy_resolver.h"
+
+using std::string;
+using std::vector;
+
+namespace chromeos_update_engine {
+
+const char kNoProxy[] = "direct://";
+
+bool DirectProxyResolver::GetProxiesForUrl(const string& url,
+                                           vector<string>* out_proxies) {
+  out_proxies->clear();
+  out_proxies->push_back(kNoProxy);
+  return true;
+}
+
+}  // namespace chromeos_update_engine