/// <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()); }
/// <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); }
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); } }
/// <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(); }
/// <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; }