Restructure the code so that it is unit testable

Change-Id: I2af7a26d054522beae82f58769f8c2420a22eca2
Signed-off-by: Ratan Gupta <ratagupt@in.ibm.com>
diff --git a/ipaddress.hpp b/ipaddress.hpp
index 628f9cf..51c17ce 100644
--- a/ipaddress.hpp
+++ b/ipaddress.hpp
@@ -44,6 +44,7 @@
          *  @param[in] parent - Parent object.
          *  @param[in] type - ipaddress type(v4/v6).
          *  @param[in] ipAddress - ipadress.
+         *  @param[in] origin - origin of ipaddress(dhcp/static/SLAAC/LinkLocal).
          *  @param[in] prefixLength - Length of prefix.
          *  @param[in] gateway - gateway address.
          */
@@ -52,6 +53,7 @@
                   EthernetInterface& parent,
                   IP::Protocol type,
                   const std::string& ipAddress,
+                  IP::AddressOrigin origin,
                   uint8_t prefixLength,
                   const std::string& gateway);