Implement the DHCP configuration interface
This commit implements the below dhcp options
1) DNS
2) NTP
3) HostName
Change-Id: Ifb66fbc86ce38abc79454ecbbf6fb3c65f892c19
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
diff --git a/dhcp_configuration.cpp b/dhcp_configuration.cpp
new file mode 100644
index 0000000..9e88e7c
--- /dev/null
+++ b/dhcp_configuration.cpp
@@ -0,0 +1,58 @@
+#include "config.h"
+#include "dhcp_configuration.hpp"
+#include "network_manager.hpp"
+
+namespace phosphor
+{
+namespace network
+{
+namespace dhcp
+{
+
+bool Configuration::hostNameEnabled(bool value)
+{
+ if (value == hostNameEnabled())
+ {
+ return value;
+ }
+
+ auto name = ConfigIntf::hostNameEnabled(value);
+ manager.writeToConfigurationFile();
+ restartSystemdUnit(phosphor::network::networkdService);
+
+ return name;
+}
+
+bool Configuration::nTPEnabled(bool value)
+{
+ if (value == nTPEnabled())
+ {
+ return value;
+ }
+
+ auto ntp = ConfigIntf::nTPEnabled(value);
+ manager.writeToConfigurationFile();
+ restartSystemdUnit(phosphor::network::networkdService);
+ restartSystemdUnit(phosphor::network::timeSynchdService);
+
+ return ntp;
+}
+
+
+bool Configuration::dNSEnabled(bool value)
+{
+ if (value == dNSEnabled())
+ {
+ return value;
+ }
+
+ auto dns = ConfigIntf::dNSEnabled(value);
+ manager.writeToConfigurationFile();
+ restartSystemdUnit(phosphor::network::networkdService);
+
+ return dns;
+}
+
+}// namespace dhcp
+}// namespace network
+}// namespace phosphor