network_manager: Async query all interface states

This only queries the state during startup and relies on matches to keep
up with changes from the systemd-networkd daemon.

Change-Id: I30776d443c39a52a91826ad1b515da60c7ecf641
Signed-off-by: William A. Kennington III <wak@google.com>
diff --git a/src/ethernet_interface.hpp b/src/ethernet_interface.hpp
index ee83fe2..a2fb409 100644
--- a/src/ethernet_interface.hpp
+++ b/src/ethernet_interface.hpp
@@ -79,12 +79,12 @@
      *  @param[in] vlan - The id of the vlan if configured
      *  @param[in] emitSignal - true if the object added signal needs to be
      *                          send.
-     *  @param[in] enabled - Override the lookup of nicEnabled
+     *  @param[in] enabled - Determine if systemd-networkd is managing this link
      */
     EthernetInterface(sdbusplus::bus_t& bus, Manager& manager,
                       const InterfaceInfo& info, std::string_view objRoot,
-                      const config::Parser& config, bool emitSignal = true,
-                      std::optional<bool> enabled = std::nullopt);
+                      const config::Parser& config, bool emitSignal,
+                      bool enabled);
 
     /** @brief Network Manager object. */
     Manager& manager;
@@ -265,18 +265,13 @@
     EthernetInterface(sdbusplus::bus_t& bus, Manager& manager,
                       const InterfaceInfo& info, std::string&& objPath,
                       const config::Parser& config, bool emitSignal,
-                      std::optional<bool> enabled);
+                      bool enabled);
 
     /** @brief Determines if the address is manually assigned
      *  @param[in] origin - The origin entry of the IP::Address
      *  @returns true/false value if the address is static
      */
     bool originIsManuallyAssigned(IP::AddressOrigin origin);
-
-    /** @brief Determines if the NIC is enabled in systemd
-     *  @returns true/false value if the NIC is enabled
-     */
-    bool queryNicEnabled() const;
 };
 
 } // namespace network