internal OPCItemIdentifier GetItemIdentifier(string description, out ConfigurationManagement.AdditionalResultInfo resultInfo)
 {
     if ((!Opened) && !Open(m_DefaultFileName, out resultInfo))
     {
         return(null);
     }
     foreach (OPCCliConfiguration.ItemsRow item in m_ConfigurationManagement.Configuartion.Items)
     {
         if (item.Name.Contains(description))
         {
             OPCCliConfiguration.SubscriptionsRow subscription = item.SUBSCRIPTIONRow;
             OPCCliConfiguration.ServersRow       server       = subscription.SERVERSRow;
             resultInfo = ConfigurationManagement.AdditionalResultInfo.OK;
             return(new OPCItemIdentifier()
             {
                 ItemName = item.Name, SubscriptionName = subscription.Name, ServerName = server.Name
             });
         }
     }
     resultInfo = ConfigurationManagement.AdditionalResultInfo.Exception;
     return(null);
 }
        /// <summary>
        /// Creates the OPCDA client source configuration.
        /// </summary>
        /// <param name="item">The item.</param>
        /// <param name="LastResultInfo">The last result info.</param>
        /// <param name="SkipGetItemIdentifier">if set to <c>true</c> skip calling OPCDAClienteEntryPoint.GetItemIdentifier (OPCItemIdentifier==null) </param>
        public OPCDAClientSourceConfiguration(
            INodeDescriptor item,
            out ConfigurationManagement.AdditionalResultInfo LastResultInfo,
            bool SkipGetItemIdentifier)
        {
            LastResultInfo = ConfigurationManagement.AdditionalResultInfo.OK;
            OPCItemIdentifier ret = null;

            if (!SkipGetItemIdentifier)
            {
                ret = Main.EntryPoint.OPCDAClienteEntryPoint.GetItemIdentifier(item.BindingDescription, out LastResultInfo);
            }
            if (ret == null)
            {
                Selected       = false;
                LastResultInfo = ConfigurationManagement.AdditionalResultInfo.Cancel;
                return;
            }
            ItemName         = ret.ItemName;
            ServerName       = ret.ServerName;
            SubscriptionName = ret.SubscriptionName;
            Selected         = true;
        }
 /// <summary>
 /// Opens the specified file.
 /// </summary>
 /// <param name="fileName">Name of the file.</param>
 /// <param name="additionalResult">
 /// The additional result from the enumerations <see cref="ConfigurationManagement.AdditionalResultInfo"/>.signaling if the operation succeeded, failed or was canceled by the user.
 /// </param>
 /// <returns><c>true</c> if success.</returns>
 internal bool Open(string fileName, out ConfigurationManagement.AdditionalResultInfo additionalResult)
 {
     if (string.IsNullOrEmpty(fileName))
     {
         Opened = m_ConfigurationManagement.Open(out additionalResult);
     }
     else
     {
         try
         {
             m_ConfigurationManagement.ReadConfiguration(fileName);
             additionalResult = ConfigurationManagement.AdditionalResultInfo.OK;
             Opened           = true;
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message, m_ConfigurationManagement.ToString(), MessageBoxButtons.OK, MessageBoxIcon.Warning);
             additionalResult = ConfigurationManagement.AdditionalResultInfo.Exception;
             Opened           = m_ConfigurationManagement.Open();
         }
     }
     return(Opened);
 }