shill: Remove IPConfig/DHCPConfig's dependency on Device.
They care about the device name only so use that instead. This eliminates the
need for some circular dependencies.
BUG=chromium-os:16796
TEST=unit tests
Change-Id: Ibfa4eacac2b04b9311abfb76972aaf032c6013aa
Reviewed-on: http://gerrit.chromium.org/gerrit/2943
Reviewed-by: Darin Petkov <petkov@chromium.org>
Tested-by: Darin Petkov <petkov@chromium.org>
diff --git a/dhcp_provider.h b/dhcp_provider.h
index f60ac02..a0f3914 100644
--- a/dhcp_provider.h
+++ b/dhcp_provider.h
@@ -12,20 +12,18 @@
#include <dbus-c++/connection.h>
#include <gtest/gtest_prod.h> // for FRIEND_TEST
-#include "shill/device.h"
#include "shill/dhcp_config.h"
namespace shill {
class DHCPListenerInterface;
-class Device;
// DHCPProvider is a singleton providing the main DHCP configuration
// entrypoint. Once the provider is initialized through its Init method, DHCP
// configurations for devices can be obtained through its CreateConfig
// method. For example, a single DHCP configuration request can be initiated as:
//
-// DHCPProvider::GetInstance()->CreateConfig(device)->Request();
+// DHCPProvider::GetInstance()->CreateConfig(device_name)->Request();
class DHCPProvider {
public:
// This is a singleton -- use DHCPProvider::GetInstance()->Foo()
@@ -36,10 +34,10 @@
// dispatches them to the appropriate DHCP configuration instance.
void Init(DBus::Connection *connection, GLibInterface *glib);
- // Creates a new DHCPConfig for |device|. The DHCP configuration for the
+ // Creates a new DHCPConfig for |device_name|. The DHCP configuration for the
// device can then be initiated through DHCPConfig::Request and
// DHCPConfig::Renew.
- DHCPConfigRefPtr CreateConfig(DeviceConstRefPtr device);
+ DHCPConfigRefPtr CreateConfig(const std::string &device_name);
// Returns the DHCP configuration associated with DHCP client |pid|. Return
// NULL if |pid| is not bound to a configuration.