Esempio n. 1
0
        /// <summary>
        /// Creates a ProgId from a URI
        /// </summary>
        public static string CreateProgIdFromUrl(ComSpecification specification, string uri)
        {
            if (String.IsNullOrEmpty(uri))
            {
                return(null);
            }

            StringBuilder buffer = new StringBuilder();

            switch (specification)
            {
            case ComSpecification.DA: {
                buffer.Append("OpcDa.");
                break;
            }

            case ComSpecification.AE: {
                buffer.Append("OpcAe.");
                break;
            }

            case ComSpecification.HDA: {
                buffer.Append("OpcHda.");
                break;
            }
            }

            bool punctuation = false;

            for (int ii = 0; ii < uri.Length; ii++)
            {
                switch (uri[ii])
                {
                case '/':
                case ':':
                case '?':
                case '&':
                case '%': {
                    if (!punctuation)
                    {
                        buffer.Append('.');
                    }

                    punctuation = true;
                    break;
                }

                default: {
                    buffer.Append(uri[ii]);
                    punctuation = false;
                    break;
                }
                }
            }

            return(buffer.ToString());
        }
Esempio n. 2
0
        /// <summary>
        /// Returns the CLSID of the host process to use for the specification.
        /// </summary>
        public static Guid GetServerHostClsid(ComSpecification specification)
        {
            if (specification == ComSpecification.AE)
            {
                return(ConfigUtils.CLSID_UaComAeProxyServer);
            }
            else if (specification == ComSpecification.HDA)
            {
                return(ConfigUtils.CLSID_UaComHdaProxyServer);
            }

            return(ConfigUtils.CLSID_UaComDaProxyServer);
        }
Esempio n. 3
0
        private void SpecificationCB_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                string progId = ProgIdTB.Text;

                if (!String.IsNullOrEmpty(progId))
                {
                    StringBuilder    buffer        = new StringBuilder();
                    ComSpecification specification = (ComSpecification)SpecificationCB.SelectedItem;

                    switch (specification)
                    {
                    case ComSpecification.DA:
                    {
                        buffer.Append("OpcDa.");
                        break;
                    }

                    case ComSpecification.AE:
                    {
                        buffer.Append("OpcAe.");
                        break;
                    }

                    case ComSpecification.HDA:
                    {
                        buffer.Append("OpcHda.");
                        break;
                    }
                    }

                    int index = progId.IndexOf('.');

                    if (index != -1)
                    {
                        buffer.Append(progId.Substring(index + 1));
                    }
                    else
                    {
                        buffer.Append(progId);
                    }

                    ProgIdTB.Text = buffer.ToString();
                }
            }
            catch (Exception exception)
            {
                GuiUtils.HandleException(this.Text, MethodBase.GetCurrentMethod(), exception);
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Creates a ProgId from a URI
        /// </summary>
        public static string CreateProgIdFromUrl(ComSpecification specification, string uri)
        {           
            if (String.IsNullOrEmpty(uri))
            {
                return null;
            }

            StringBuilder buffer = new StringBuilder();

            switch (specification)
            {
                case ComSpecification.DA:
                {
                    buffer.Append("OpcDa.");
                    break;
                }

                case ComSpecification.AE:
                {
                    buffer.Append("OpcAe.");
                    break;
                }

                case ComSpecification.HDA:
                {
                    buffer.Append("OpcHda.");
                    break;
                }
            }

            bool punctuation = false;

            for (int ii = 0; ii < uri.Length; ii++)
            {
                switch (uri[ii])
                {
                    case '/':
                    case ':':
                    case '?':
                    case '&':
                    case '%':
                    {
                        if (!punctuation)
                        {
                            buffer.Append('.');
                        }

                        punctuation = true;
                        break;
                    }

                    default:
                    {
                        buffer.Append(uri[ii]);
                        punctuation = false;
                        break;
                    }
                }
            }                 
            
            return buffer.ToString();       
        }
Esempio n. 5
0
        /// <summary>
        /// Returns the CLSID of the host process to use for the specification.
        /// </summary>
        public static Guid GetServerHostClsid(ComSpecification specification)
        {
            if (specification == ComSpecification.AE)
            {
                return ConfigUtils.CLSID_UaComAeProxyServer;
            }

            else if (specification == ComSpecification.HDA)
            {
                return ConfigUtils.CLSID_UaComHdaProxyServer;
            }
                
            return ConfigUtils.CLSID_UaComDaProxyServer;
        }