/// <summary>
        /// Gets the plugin values.
        /// </summary>
        /// <param name="AppName">Name of the app.</param>
        /// <param name="ConfObject">The conf object.</param>
        /// <returns></returns>
        public OutputValues GetPluginValues(string AppName, ConfService ConfObject)
        {
            ReadApplication read   = new ReadApplication();
            OutputValues    output = OutputValues.GetInstance();

            try
            {
                logger.Debug("ConfigConnectionManager : GetPluginValues Method: Entry");
                StatisticsSetting.GetInstance().confObject = ConfObject;

                read.ReadLoggerDetails(AppName);
                output.MessageCode = "200";
                output.Message     = "Config Server Protocol Opened";
            }
            catch (Exception connectionException)
            {
                logger.Error("ConfigConnectionManager :GetPluginValues Method: " + connectionException.Message.ToString());
            }
            finally
            {
                logger.Debug("ConfigConnectionManager : GetPluginValues Method: Exit");
                GC.Collect();
            }

            return(output);
        }
        /// <summary>
        /// Connects the config server.
        /// </summary>
        /// <param name="ConfigServerHost">The config server host.</param>
        /// <param name="ConfigServerPort">The config server port.</param>
        /// <param name="userName">Name of the user.</param>
        /// <param name="password">The password.</param>
        /// <returns></returns>
        public OutputValues ConnectConfigServer(string ConfigServerHost, string ConfigServerPort,
                                                string userName, string password, string clientName, string logUserName)
        {
            EventBrokerService comEventBrokerService;
            OutputValues       output = OutputValues.GetInstance();
            ReadApplication    read   = new ReadApplication();

            try
            {
                StatisticsSetting.GetInstance().logUserName = logUserName;
                logger.Debug("ConfigConnectionManager : ConnectConfigServer Method: Entry");
                if (StatisticsSetting.GetInstance().protocolManager == null)
                {
                    StatisticsSetting.GetInstance().configurationProperties = new ConfServerConfiguration("config");
                    StatisticsSetting.GetInstance().protocolManager         = new ProtocolManagementService();

                    //Primary Server settings
                    StatisticsSetting.GetInstance().configurationProperties.Uri = new Uri("tcp://" + ConfigServerHost + ":"
                                                                                          + ConfigServerPort);
                    StatisticsSetting.GetInstance().configurationProperties.ClientApplicationType = CfgAppType.CFGAgentDesktop;
                    StatisticsSetting.GetInstance().configurationProperties.ClientName = clientName;
                    StatisticsSetting.GetInstance().configurationProperties.UserName = userName;
                    StatisticsSetting.GetInstance().configurationProperties.UserPassword = password;

                    //Set ADDP
                    StatisticsSetting.GetInstance().configurationProperties.UseAddp = true;
                    StatisticsSetting.GetInstance().configurationProperties.AddpServerTimeout = 30;
                    StatisticsSetting.GetInstance().configurationProperties.AddpClientTimeout = 60;

                    //Open the connection
                    try
                    {
                        StatisticsSetting.GetInstance().protocolManager.Register(StatisticsSetting.GetInstance().configurationProperties);
                    }
                    catch (Exception generalException)
                    {
                        output.MessageCode = "2001";
                        output.Message     = (generalException.InnerException == null ? generalException.Message : generalException.InnerException.Message);
                        logger.Error("ConfigConnectionManager : ConnectConfigServer Method: " + generalException.Message.ToString());
                        return(output);
                    }

                    StatisticsSetting.GetInstance().protocolManager[StatisticsSetting.ConfServer].Open();

                    comEventBrokerService = new EventBrokerService(StatisticsSetting.GetInstance().protocolManager.Receiver);
                    comEventBrokerService.Activate();

                    //comEventBrokerService.Register(OnConfEventError);
                    //comEventBrokerService.Register(OnConfEventObjectsRead);
                    //comEventBrokerService.Register(OnConfEventObjectsSent);

                    //KeyValueCollection filterKey = new KeyValueCollection();
                    //filterKey.Add("switch_dbid", 102);
                    //filterKey.Add("dn_type", (int)CfgDNType.CFGExtension);
                    //RequestReadObjects requestReadObjects = RequestReadObjects.Create((int)CfgObjectType.CFGDN, filterKey);
                    //StatisticsSetting.GetInstance().protocolManager[StatisticsSetting.ConfServer].Send(requestReadObjects);

                    if (StatisticsSetting.GetInstance().confObject == null)
                    {
                        StatisticsSetting.GetInstance().confObject = (ConfService)ConfServiceFactory.CreateConfService(
                            StatisticsSetting.GetInstance().protocolManager[StatisticsSetting.ConfServer] as ConfServerProtocol,
                            comEventBrokerService, true);
                    }

                    //NotificationQuery NQuery=new NotificationQuery();
                    //NQuery.ObjectType=CfgObjectType.CFGPerson;

                    //StatisticsSetting.GetInstance().confObject.Subscribe(NQuery);

                    if (StatisticsSetting.GetInstance().protocolManager[StatisticsSetting.ConfServer].State == ChannelState.Opened)
                    {
                        StatisticsSetting.GetInstance().confProtocol = (ConfServerProtocol)StatisticsSetting.GetInstance().protocolManager[StatisticsSetting.ConfServer];

                        read.ReadLoggerDetails(StatisticsSetting.GetInstance().AppName);
                        output.MessageCode = "2000";
                        output.Message     = "Config Server Protocol Opened";
                        logger.Trace("ConfigConnectionManager : ConnectConfigServer Method: Config Server Protocol Opened");
                    }
                    else
                    {
                        output.MessageCode = "2001";
                        output.Message     = "Config Server Protocol Closed";
                        logger.Warn("ConfigConnectionManager : ConnectConfigServer Method: Config Server Protocol Closed");
                    }
                }
            }
            catch (Exception connectionException)
            {
                logger.Error("ConfigConnectionManager : ConnectConfigServer Method: " + connectionException.Message.ToString());
                output.MessageCode = "2001";
                output.Message     = (connectionException.InnerException == null ? connectionException.Message : connectionException.InnerException.Message);
            }
            finally
            {
                logger.Debug("ConfigConnectionManager : ConnectConfigServer Method: Exit");
                //StatisticsSetting.GetInstance().protocolManager = null;
                GC.Collect();
            }
            return(output);
        }