/// <summary>
        /// Return the requested DdnsClient instance based on specified Ddns Service Provider
        /// </summary>
        /// <param name="ddnsServiceProvider">Ddns Service Provider for create the right DdnsClient instance</param>
        /// <param name="ddnsConfig">Ddns configuration information</param>
        /// <returns>Concrete DdnsClient instance</returns>
        public static DdnsClient GetDdnsClient(DdnsServiceProvider ddnsServiceProvider, DdnsConfig ddnsConfig)
        {
            DdnsClient ddnsClient = null;

            switch (ddnsServiceProvider)
            {
                case DdnsServiceProvider.NoIp:
                    ddnsClient = new DdnsNoIpClient(ddnsConfig);
                    break;
                case DdnsServiceProvider.DynDns:
                    ddnsClient = new DdnsDynDnsClient(ddnsConfig);
                    break;
                default:
                    break;
            }

            return ddnsClient;
        }
        /// <summary>
        /// Return the requested DdnsClient instance based on specified Ddns Service Provider
        /// </summary>
        /// <param name="ddnsServiceProvider">Ddns Service Provider for create the right DdnsClient instance</param>
        /// <param name="ddnsConfig">Ddns configuration information</param>
        /// <returns>Concrete DdnsClient instance</returns>
        public static DdnsClient GetDdnsClient(DdnsServiceProvider ddnsServiceProvider, DdnsConfig ddnsConfig)
        {
            DdnsClient ddnsClient = null;

            switch (ddnsServiceProvider)
            {
            case DdnsServiceProvider.NoIp:
                ddnsClient = new DdnsNoIpClient(ddnsConfig);
                break;

            case DdnsServiceProvider.DynDns:
                ddnsClient = new DdnsDynDnsClient(ddnsConfig);
                break;

            default:
                break;
            }

            return(ddnsClient);
        }