/// <summary>
/// UI: connects to a specified server endpoint, and create subscription list according to configuration
/// </summary>
private async Task <bool> Connect(ConfiguredEndpoint endpoint)
{
bool result = false;
if (endpoint == null)
{
return(false);
}
// connect dialogs
Session session = await SessionsCTRL.Connect(endpoint, m_sessionConfig?.sessionname);
if (session != null)
{
if (m_sessionConfig != null)
{
NamespaceTable namespaceTable = new NamespaceTable();
DataValue namespaceArrayNodeValue = session.ReadValue(VariableIds.Server_NamespaceArray);
namespaceTable.Update(namespaceArrayNodeValue.GetValue <string[]>(null));
m_sessionConfig.endpoint = session.ConfiguredEndpoint;
foreach (MonitoredNode x in m_sessionConfig.monitoredlist)
{
CreateMonitoredItem(x.description,
session, null, ExpandedNodeId.Parse(x.nodeid, namespaceTable), x.displayname, MonitoringMode.Reporting);
}
}
m_design_session = session;
result = true;
}
return(result);
}