/// <summary>
 /// Initializes the object with a url.
 /// </summary>
 public DotNetOpcServerWrapper(Guid clsid)
 {
     m_clsid          = clsid;
     m_progId         = ConfigUtils.ProgIDFromCLSID(clsid);
     m_codebase       = ConfigUtils.GetExecutablePath(clsid);
     m_specifications = GetSpecifications(clsid);
 }
        /// <summary>
        /// Exports a server to a export file.
        /// </summary>
        private static Export.RegisteredServer Export(RegisteredDotNetOpcServer server)
        {
            Export.RegisteredServer serverToExport = new Export.RegisteredServer();

            serverToExport.Clsid  = server.Clsid.ToString();
            serverToExport.ProgId = server.ProgId;

            if (server.Description != server.ProgId)
            {
                serverToExport.Description = server.Description;
            }

            serverToExport.WrapperClsid = ConfigUtils.ProgIDFromCLSID(server.WrapperClsid);
            serverToExport.ServerClsid  = ConfigUtils.ProgIDFromCLSID(server.ServerClsid);

            // export parameters.
            serverToExport.Parameter = new Export.Parameter[server.Parameters.Count];

            int index = 0;

            foreach (KeyValuePair <string, string> entry in server.Parameters)
            {
                Export.Parameter parameter = new Export.Parameter();

                parameter.Name  = entry.Key;
                parameter.Value = entry.Value;

                serverToExport.Parameter[index++] = parameter;
            }

            // return exported server.
            return(serverToExport);
        }
Пример #3
0
        /// <see cref="BaseListCtrl.UpdateItem" />
        protected override void UpdateItem(ListViewItem listItem, object item)
        {
            if (!(item is Guid))
            {
                base.UpdateItem(listItem, item);
                return;
            }

            Guid clsid = (Guid)item;

            listItem.SubItems[0].Text = ConfigUtils.ProgIDFromCLSID(clsid);
            listItem.SubItems[1].Text = ConfigUtils.GetExecutablePath(clsid);

            listItem.Tag = item;

            if (m_catid == ConfigUtils.CATID_DotNetOpcServerWrappers)
            {
                listItem.ImageKey = "Folder";
            }

            else if (m_catid == ConfigUtils.CATID_RegisteredDotNetOpcServers)
            {
                listItem.ImageKey = "Method";
            }
            else
            {
                listItem.ImageKey = "Object";
            }
        }
        /// <summary>
        /// Initializes the object from the registry.
        /// </summary>
        public RegisteredDotNetOpcServer(Guid clsid)
        {
            m_clsid        = clsid;
            m_progId       = ConfigUtils.ProgIDFromCLSID(clsid);
            m_description  = GetDescription(clsid);
            m_wrapperClsid = GetWrapper(clsid);
            m_serverClsid  = GetDotNetOpcServer(clsid);
            m_parameters   = GetParameters(clsid);

            if (m_description == m_progId)
            {
                m_description = null;
            }
        }