diff --git a/connection_manager.h b/connection_manager.h
new file mode 100644
index 0000000..6cc279e
--- /dev/null
+++ b/connection_manager.h
@@ -0,0 +1,57 @@
+// Copyright (c) 2012 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.
+
+#ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_CONNECTION_MANAGER_H_
+#define CHROMEOS_PLATFORM_UPDATE_ENGINE_CONNECTION_MANAGER_H_
+
+#include <base/basictypes.h>
+
+#include "update_engine/dbus_interface.h"
+
+namespace chromeos_update_engine {
+
+enum NetworkConnectionType {
+  kNetEthernet = 0,
+  kNetWifi,
+  kNetWimax,
+  kNetBluetooth,
+  kNetCellular,
+  kNetUnknown
+};
+
+class SystemState;
+
+// This class exposes a generic interface to the connection manager
+// (e.g FlimFlam, Shill, etc.) to consolidate all connection-related
+// logic in update_engine.
+class ConnectionManager {
+ public:
+  // Constructs a new ConnectionManager object initialized with the
+  // given system state.
+  explicit ConnectionManager(SystemState* system_state);
+
+  // Populates |out_type| with the type of the network connection
+  // that we are currently connected. The dbus_iface is used to
+  // query the real connection manager (e.g shill).
+  virtual bool GetConnectionType(DbusGlibInterface* dbus_iface,
+                                 NetworkConnectionType* out_type) const;
+
+  // Returns true if we're allowed to update the system when we're
+  // connected to the internet through the given network connection type.
+  virtual bool IsUpdateAllowedOver(NetworkConnectionType type) const;
+
+  // Returns the string representation corresponding to the given
+  // connection type.
+  virtual const char* StringForConnectionType(NetworkConnectionType type) const;
+
+ private:
+  // The global context for update_engine
+  SystemState* system_state_;
+
+  DISALLOW_COPY_AND_ASSIGN(ConnectionManager);
+};
+
+}  // namespace chromeos_update_engine
+
+#endif  // CHROMEOS_PLATFORM_UPDATE_ENGINE_CONNECTION_MANAGER_H_
