Example #1
0
        /// <summary>
        /// Displays the dialog.
        /// </summary>
        public EndpointDescription ShowDialog(
            ApplicationConfiguration configuration,
            ConfiguredEndpointCollection endpoints,
            X509Certificate2 clientCertificate)
        {
            m_configuration     = configuration;
            m_endpoints         = endpoints;
            m_messageContext    = configuration.CreateMessageContext();
            m_clientCertificate = clientCertificate;
            m_running           = false;
            m_filePath          = @".\perftest.csv";

            EndpointSelectorCTRL.Initialize(m_endpoints, configuration);

            lock (m_lock)
            {
                OkBTN.Enabled = m_running = false;
            }

            // show dialog.
            if (ShowDialog() != DialogResult.OK)
            {
                return(null);
            }

            return(null);
        }
Example #2
0
        public ClientForm(
            ServiceMessageContext context,
            ApplicationInstance application,
            ClientForm masterForm,
            ApplicationConfiguration configuration)
        {
            InitializeComponent();
            this.Icon = ClientUtils.GetAppIcon();

            m_masterForm  = masterForm;
            m_context     = context;
            m_application = application;
            m_server      = application.Server as Opc.Ua.Server.StandardServer;

            if (m_masterForm == null)
            {
                m_forms = new List <ClientForm>();
            }

            SessionsCTRL.Configuration  = m_configuration = configuration;
            SessionsCTRL.MessageContext = context;

            // get list of cached endpoints.
            m_endpoints = m_configuration.LoadCachedEndpoints(true);
            m_endpoints.DiscoveryUrls = configuration.ClientConfiguration.WellKnownDiscoveryUrls;
            EndpointSelectorCTRL.Initialize(m_endpoints, m_configuration);

            // initialize control state.
            Disconnect();
        }
Example #3
0
        public ClientPage(
            ServiceMessageContext context,
            ApplicationInstance application,
            ClientPage masterPage,
            ApplicationConfiguration configuration)
        {
            InitializeComponent();

            if (!configuration.SecurityConfiguration.AutoAcceptUntrustedCertificates)
            {
                configuration.CertificateValidator.CertificateValidation += new CertificateValidationEventHandler(CertificateValidator_CertificateValidation);
            }

            m_masterPage  = masterPage;
            m_context     = context;
            m_application = application;
            m_server      = application.Server as Opc.Ua.Server.StandardServer;

            if (m_masterPage == null)
            {
                m_pages = new List <ClientPage>();
            }

            m_configuration = configuration;

            SessionsCTRL.Configuration    = configuration;
            SessionsCTRL.MessageContext   = context;
            SessionsCTRL.AddressSpaceCtrl = BrowseCTRL;
            SessionsCTRL.NodeSelected    += SessionCtrl_NodeSelected;

            // get list of cached endpoints.
            m_endpoints = m_configuration.LoadCachedEndpoints(true);
            m_endpoints.DiscoveryUrls = configuration.ClientConfiguration.WellKnownDiscoveryUrls;

            // hook up endpoint selector
            EndpointSelectorCTRL.Initialize(m_endpoints, m_configuration);
            EndpointSelectorCTRL.ConnectEndpoint  += EndpointSelectorCTRL_ConnectEndpoint;
            EndpointSelectorCTRL.EndpointsChanged += EndpointSelectorCTRL_OnChange;

            BrowseCTRL.SessionTreeCtrl = SessionsCTRL;
            BrowseCTRL.NodeSelected   += BrowseCTRL_NodeSelected;

            // exception dialog
            GuiUtils.ExceptionMessageDlg += ExceptionMessageDlg;

            ServerUrlTB.Text = "None";

            m_publishers = AmqpConnectionCollection.Load(configuration);

            foreach (var publisher in m_publishers)
            {
                Task t = publisher.OpenAsync();
            }

            m_MonitoredItem_Notification = new MonitoredItemNotificationEventHandler(MonitoredItem_Notification);
        }
Example #4
0
        public MainForm()
        {
            InitializeComponent();
            this.Icon = ClientUtils.GetAppIcon();

            CreateClient(false, 1024);

            TestCancelMI.Enabled = false;
            TestCasesCTRL.Initialize(m_client.SequenceToExecute);

            m_endpoints       = new ConfiguredEndpointCollection(m_configuration);
            m_endpointsToTest = new Queue <ConfiguredEndpoint>();
            m_clientsToTest   = new Queue <ClientOptions>();

            CreateCertificate(false, 1024);
            CreateCertificate(true, 1024);
            CreateCertificate(false, 2048);
            CreateCertificate(true, 2048);

            AddTcpEndpoint(12001, MessageSecurityMode.None, SecurityPolicies.None, 2048, true);
            AddTcpEndpoint(12001, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic128Rsa15, 2048, true);
            AddTcpEndpoint(12001, MessageSecurityMode.Sign, SecurityPolicies.Basic128Rsa15, 2048, true);
            AddTcpEndpoint(12001, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic256, 2048, true);
            AddTcpEndpoint(12001, MessageSecurityMode.Sign, SecurityPolicies.Basic256, 2048, true);

            AddHttpEndpoint(10000, MessageSecurityMode.None, SecurityPolicies.None, false, 1024);
            AddHttpEndpoint(10000, MessageSecurityMode.None, SecurityPolicies.None, true, 1024);
            AddHttpEndpoint(10000, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic128Rsa15, false, 1024);
            AddHttpEndpoint(10000, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic128Rsa15, true, 1024);
            AddHttpEndpoint(10000, MessageSecurityMode.Sign, SecurityPolicies.Basic128Rsa15, false, 1024);
            AddHttpEndpoint(10000, MessageSecurityMode.Sign, SecurityPolicies.Basic128Rsa15, true, 1024);
            AddHttpEndpoint(10000, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic256, false, 1024);
            AddHttpEndpoint(10000, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic256, true, 1024);
            AddHttpEndpoint(10000, MessageSecurityMode.Sign, SecurityPolicies.Basic256, false, 1024);
            AddHttpEndpoint(10000, MessageSecurityMode.Sign, SecurityPolicies.Basic256, true, 1024);

            AddTcpEndpoint(12000, MessageSecurityMode.None, SecurityPolicies.None, 1024, true);
            AddTcpEndpoint(12000, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic128Rsa15, 1024, true);
            AddTcpEndpoint(12000, MessageSecurityMode.Sign, SecurityPolicies.Basic128Rsa15, 1024, true);
            AddTcpEndpoint(12000, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic256, 1024, true);
            AddTcpEndpoint(12000, MessageSecurityMode.Sign, SecurityPolicies.Basic256, 1024, true);

            AddTcpEndpoint(11000, MessageSecurityMode.None, SecurityPolicies.None, 1024, false);
            AddTcpEndpoint(11000, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic128Rsa15, 1024, false);
            AddTcpEndpoint(11000, MessageSecurityMode.Sign, SecurityPolicies.Basic128Rsa15, 1024, false);
            AddTcpEndpoint(11000, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic256, 1024, false);
            AddTcpEndpoint(11000, MessageSecurityMode.Sign, SecurityPolicies.Basic256, 1024, false);

            AddTcpEndpoint(11001, MessageSecurityMode.None, SecurityPolicies.None, 2048, false);
            AddTcpEndpoint(11001, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic128Rsa15, 2048, false);
            AddTcpEndpoint(11001, MessageSecurityMode.Sign, SecurityPolicies.Basic128Rsa15, 2048, false);
            AddTcpEndpoint(11001, MessageSecurityMode.SignAndEncrypt, SecurityPolicies.Basic256, 2048, false);
            AddTcpEndpoint(11001, MessageSecurityMode.Sign, SecurityPolicies.Basic256, 2048, false);

            EndpointSelectorCTRL.Initialize(m_endpoints, m_configuration);
        }
Example #5
0
        public MainForm()
        {
            InitializeComponent();

            m_ItemNotification = new MonitoredItemNotificationEventHandler(ItemNotification);

            SetListViewColumnHeaderDefaults(ServerListView);

            m_configuration = ApplicationConfiguration.Load("Opc.Ua.Client", ApplicationType.Client);

            // get list of cached endpoints.
            m_endpoints = m_configuration.LoadCachedEndpoints(true);
            EndpointSelectorCTRL.Initialize(m_endpoints, m_configuration);

            Disconnect();
        }
Example #6
0
        public ClientForm(
            ServiceMessageContext context,
            ApplicationInstance application,
            ClientForm masterForm,
            ApplicationConfiguration configuration)
        {
            InitializeComponent();
            this.Icon = ClientUtils.GetAppIcon();

            // Create the NotifyIcon.
            this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);

            // The Icon property sets the icon that will appear
            // in the systray for this application.
            notifyIcon1.Icon = ClientUtils.GetAppIcon();

            // The Text property sets the text that will be displayed,
            // in a tooltip, when the mouse hovers over the systray icon.
            notifyIcon1.Text    = "OPCUA-MQTT Interface";
            notifyIcon1.Visible = true;

            // Handle the DoubleClick event to activate the form.
            notifyIcon1.DoubleClick += new System.EventHandler(this.notifyIcon1_DoubleClick);

            m_masterForm  = masterForm;
            m_context     = context;
            m_application = application;
            m_server      = application.Server as Opc.Ua.Server.StandardServer;

            if (m_masterForm == null)
            {
                m_forms = new List <ClientForm>();
            }

            SessionsCTRL.Configuration  = m_configuration = configuration;
            SessionsCTRL.MessageContext = context;

            // get list of cached endpoints.
            m_endpoints = m_configuration.LoadCachedEndpoints(true);
            m_endpoints.DiscoveryUrls = configuration.ClientConfiguration.WellKnownDiscoveryUrls;
            EndpointSelectorCTRL.Initialize(m_endpoints, m_configuration);

            // initialize control state.
            Disconnect();
        }
Example #7
0
        public ClientForm(
            ServiceMessageContext context,
            ApplicationInstance application,
            ClientForm masterForm,
            ApplicationConfiguration configuration,
            string logFileFolderPath
            )
        {
            InitializeComponent();
            if (maintenanceControlComponent.Warning != null)
            {
                Utils.Trace("The following warning(s) appeared during loading the license: " + maintenanceControlComponent.Warning);
            }
            if (String.IsNullOrEmpty(logFileFolderPath))
            {
                throw new ArgumentNullException(nameof(logFileFolderPath));
            }
            m_logFileFolderPath = logFileFolderPath;
            m_masterForm        = masterForm;
            m_context           = context;
            m_application       = application;
            m_server            = application.Server as Opc.Ua.Server.StandardServer;

            if (m_masterForm == null)
            {
                m_forms = new List <ClientForm>();
            }

            SessionsCTRL.Configuration  = m_configuration = configuration;
            SessionsCTRL.MessageContext = context;

            m_btcBrowse  = (BaseTreeCtrl)BrowseCTRL;
            m_btcSession = (BaseTreeCtrl)SessionsCTRL;
            m_btcSession.NodesTV.MouseDown += new MouseEventHandler(NodesTVInSession_MouseDown);
            m_btcBrowse.NodesTV.MouseDown  += new MouseEventHandler(NodesTVInBrowse_MouseDown);

            // get list of cached endpoints.
            m_endpoints = m_configuration.LoadCachedEndpoints(true);
            m_endpoints.DiscoveryUrls = configuration.ClientConfiguration.WellKnownDiscoveryUrls;
            EndpointSelectorCTRL.Initialize(m_endpoints, m_configuration);

            // initialize control state.
            Disconnect();
        }
Example #8
0
        public PublisherForm(
            ServiceMessageContext context,
            ApplicationInstance application,
            PublisherForm masterForm,
            ApplicationConfiguration configuration)
        {
            InitializeComponent();
            this.Icon = ClientUtils.GetAppIcon();

            m_masterForm  = masterForm;
            m_context     = context;
            m_application = application;
            m_server      = application.Server as Opc.Ua.Server.StandardServer;

            if (m_masterForm == null)
            {
                m_forms = new List <PublisherForm>();
            }

            SessionsCTRL.Configuration  = m_configuration = configuration;
            SessionsCTRL.MessageContext = context;

            // get list of cached endpoints.
            m_endpoints = m_configuration.LoadCachedEndpoints(true);
            m_endpoints.DiscoveryUrls = configuration.ClientConfiguration.WellKnownDiscoveryUrls;
            EndpointSelectorCTRL.Initialize(m_endpoints, m_configuration);

            // initialize control state.
            Disconnect();

            m_publishers = AmqpConnectionCollection.Load(configuration);
            foreach (var publisher in m_publishers)
            {
                Task t = publisher.OpenAsync();
            }

            this.NotificationsCTRL.ItemsAdded += NotificationsCTRL_ItemsAdded;
        }
Example #9
0
        /// <summary>
        /// On page loaded
        /// </summary>
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            App.unclosedSession = this;

            sessionInfo = e.Parameter as SessionInfo;

            if (sessionInfo == null)
            {
                sessionMgmtAction         = SESSIONMGMT_ACTION.NEW;
                sessionInfo               = new SessionInfo();
                sessionInfo.sessionName   = "";
                sessionInfo.profilePath   = "";
                sessionInfo.sourceType    = "";
                m_sessionConfig_full_path = "";
                m_sessionConfig           = null;
            }
            else
            {
                m_sessionConfig_full_path = Path.Combine(m_local, SiteProfileManager.GetFullPath(App.SiteProfileId, sessionInfo.profilePath));
                // json configuration
                m_sessionConfig = OpcuaSessionConfig.LoadFromJsonFile(m_sessionConfig_full_path);
            }


            ApplicationInstance      application   = OpcuaSessionConfig.OpcuaApplication;
            ApplicationConfiguration configuration = application.ApplicationConfiguration;
            ServiceMessageContext    context       = configuration.CreateMessageContext();

            if (!configuration.SecurityConfiguration.AutoAcceptUntrustedCertificates)
            {
                configuration.CertificateValidator.CertificateValidation += new CertificateValidationEventHandler(CertificateValidator_CertificateValidation);
            }

            m_context       = context;
            m_application   = application;
            m_configuration = configuration;

            SessionsCTRL.Configuration    = configuration;
            SessionsCTRL.MessageContext   = context;
            SessionsCTRL.AddressSpaceCtrl = BrowseCTRL;
            SessionsCTRL.NodeSelected    += SessionCtrl_NodeSelected;


            // disable cached endpoints from Opc.Ua.SampleClient.Config.xml
            //// get list of cached endpoints.
            //m_endpoints = m_configuration.LoadCachedEndpoints(true);
            m_endpoints = new ConfiguredEndpointCollection();
            m_endpoints.DiscoveryUrls = configuration.ClientConfiguration.WellKnownDiscoveryUrls;

            // work around to fill Configuration and DiscoveryUrls
            if (m_sessionConfig != null)
            {
                m_sessionConfig.endpoint.Configuration = EndpointConfiguration.Create(m_configuration);
                m_sessionConfig.endpoint.Description.Server.DiscoveryUrls.Add(m_sessionConfig.endpoint.EndpointUrl.AbsoluteUri.ToString());
                m_endpoints.Add(m_sessionConfig.endpoint);
            }

            // hook up endpoint selector
            EndpointSelectorCTRL.Initialize(m_endpoints, m_configuration);
            EndpointSelectorCTRL.ConnectEndpoint  += EndpointSelectorCTRL_ConnectEndpoint;
            EndpointSelectorCTRL.EndpointsChanged += EndpointSelectorCTRL_OnChange;

            BrowseCTRL.SessionTreeCtrl = SessionsCTRL;
            BrowseCTRL.NodeSelected   += BrowseCTRL_NodeSelected;

            btnDelSubscription.IsEnabled = false;
            btnAddSubscription.IsEnabled = false;

            btnDelSubscription.Click += ContextMenu_OnDelete;
            btnAddSubscription.Click += ContextMenu_OnReport;

            // exception dialog
            GuiUtils.ExceptionMessageDlg += ExceptionMessageDlg;

            EndpointSelectorCTRL.IsEnabled = false;
            BrowseCTRL.IsEnabled           = false;
            SessionsCTRL.IsEnabled         = false;

            txtSessionName.Text = sessionInfo.sessionName;

            if (sessionMgmtAction == SESSIONMGMT_ACTION.NEW)
            {
                txtSessionName.IsReadOnly      = false;
                btnReload.IsEnabled            = false;
                btnReload.Visibility           = Visibility.Collapsed;
                EndpointSelectorCTRL.IsEnabled = true;
            }
            else
            {
                if (m_sessionConfig == null)
                {
                    txtSessionName.IsReadOnly      = true;
                    EndpointSelectorCTRL.IsEnabled = true;
                    btnReload.IsEnabled            = false;
                }
                else
                {
                    txtSessionName.IsReadOnly = true;
                    btnReload.IsEnabled       = false;
                    var ignored = Task.Run(OpenSessionView_OpcuaClient);
                }
            }
        }