Exemple #1
0
        public MainForm(ApplicationInstance application)
        {
            InitializeComponent();
            Icon = ClientUtils.GetAppIcon();

            m_application = application;

            // get the configuration.
            m_configuration = m_application.ApplicationConfiguration.ParseExtension <GlobalDiscoveryClientConfiguration>();

            // use suitable defaults if no configuration exists.
            if (m_configuration == null)
            {
                m_configuration = new GlobalDiscoveryClientConfiguration()
                {
                    GlobalDiscoveryServerUrl = "opc.tcp://localhost:58810/GlobalDiscoveryServer",
                    ExternalEditor           = "notepad.exe"
                };
            }

            m_filters                          = new QueryServersFilter();
            m_identity                         = new UserIdentity();
            m_gds                              = new GlobalDiscoveryServerClient(m_application.ApplicationConfiguration, m_configuration.GlobalDiscoveryServerUrl);
            m_gds.KeepAlive                   += GdsServer_KeepAlive;
            m_gds.ServerStatusChanged         += GdsServer_StatusNotification;
            m_lds                              = new LocalDiscoveryServerClient(m_application.ApplicationConfiguration);
            m_server                           = new ServerPushConfigurationClient(m_application.ApplicationConfiguration);
            m_server.AdminCredentialsRequired += Server_AdminCredentialsRequired;
            m_server.KeepAlive                += Server_KeepAlive;
            m_server.ServerStatusChanged      += Server_StatusNotification;
            m_server.ConnectionStatusChanged  += Server_ConnectionStatusChanged;

            RegistrationPanel.Initialize(m_gds, m_server, null, m_configuration);

            m_application.ApplicationConfiguration.CertificateValidator.CertificateValidation += CertificateValidator_CertificateValidation;
            UpdateStatus(true, DateTime.MinValue, "---");
            UpdateGdsStatus(true, DateTime.MinValue, "---");
            UpdateMainFormHeader();

            ShowPanel(Panel.None);


            SelectServerButton.Enabled     = false;
            ServerStatusButton.Enabled     = false;
            CertificateButton.Enabled      = false;
            HttpsCertificateButton.Visible = false;
            TrustListButton.Enabled        = false;
            HttpsTrustListButton.Visible   = false;
        }