Example #1
0
        public VersionInfo(string assemblyName, string assemblyVersion,
                           string fileVersion, VersionInfoType infoType)
        {
            BuildComponentExceptions.NotNullNotEmpty(assemblyName, "assemblyName");
            BuildComponentExceptions.NotNullNotEmpty(assemblyVersion, "assemblyVersion");

            _infoType        = infoType;
            _fileVersion     = fileVersion;
            _assemblyName    = assemblyName;
            _assemblyVersion = assemblyVersion;

            if (String.IsNullOrEmpty(fileVersion))
            {
                _infoType    = VersionInfoType.Assembly;
                _versionText = assemblyVersion;
            }
            else
            {
                if (_infoType == VersionInfoType.Assembly)
                {
                    _versionText = assemblyVersion;
                }
                else
                {
                    _versionText = String.Format("{0} ({1})", assemblyVersion, fileVersion);
                }
            }
        }
Example #2
0
        public void SsoLogin(string samlAssertionXML, string orgName)
        {
            HttpClient httpClient = this.HttpClient;

            httpClient.DefaultRequestHeaders.Clear();
            string str = this.GZipEncodeXmlToString(samlAssertionXML);

            if (orgName.Equals("System", StringComparison.OrdinalIgnoreCase))
            {
                httpClient.DefaultRequestHeaders.Add("Authorization", "SIGN token=\"" + str + "\"");
            }
            else
            {
                httpClient.DefaultRequestHeaders.Add("Authorization", "SIGN token=\"" + str + "\",org=\"" + orgName + "\"");
            }
            httpClient.DefaultRequestHeaders.Add("Accept", vCloudClient.SUPPORTED_SDK_VERSIONS[this.VcloudClientVersion]);
            HttpRequestHeaders defaultRequestHeaders = httpClient.DefaultRequestHeaders;
            VersionInfoType    supportedVersion      = this.GetSupportedVersions()[this._vcloudClientVersion.Value()];

            if (supportedVersion == null)
            {
                throw new VCloudException(this._vcloudClientVersion.Value() + " " + SdkUtil.GetI18nString(SdkMessage.VERSION_NOT_SUPPORTED));
            }
            Response response = RestUtil.Login(this, supportedVersion.LoginUrl, defaultRequestHeaders);

            if (!response.IsExpected(200))
            {
                response.HandleUnExpectedResponse();
            }
            SessionType resource = response.GetResource <SessionType>();

            this.setOrgName(resource.org);
            this.setUserName(resource.user);
        }
Example #3
0
 public void Login(string userName, string password)
 {
     try
     {
         HttpClient httpClient = this.HttpClient;
         httpClient.DefaultRequestHeaders.Clear();
         httpClient.DefaultRequestHeaders.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.UTF8.GetBytes(userName.Trim() + ":" + password.Trim())));
         HttpRequestHeaders defaultRequestHeaders = httpClient.DefaultRequestHeaders;
         VersionInfoType    supportedVersion      = this.GetSupportedVersions()[this._vcloudClientVersion.Value()];
         if (supportedVersion == null)
         {
             throw new VCloudException(this._vcloudClientVersion.Value() + " " + SdkUtil.GetI18nString(SdkMessage.VERSION_NOT_SUPPORTED));
         }
         Response response = RestUtil.Login(this, supportedVersion.LoginUrl, defaultRequestHeaders);
         if (!response.IsExpected(200))
         {
             response.HandleUnExpectedResponse();
         }
         SessionType resource = response.GetResource <SessionType>();
         this.setOrgName(resource.org);
         this.setUserName(resource.user);
     }
     catch (Exception ex)
     {
         Logger.Log(TraceLevel.Critical, ex.Message);
         throw ex;
     }
 }
Example #4
0
        public VersionInfo(VersionInfo source)
        {
            BuildComponentExceptions.NotNull(source, "source");

            _infoType        = source._infoType;
            _fileVersion     = source._fileVersion;
            _assemblyName    = source._assemblyName;
            _assemblyVersion = source._assemblyVersion;
        }
Example #5
0
 public VersionInfo GetVersionDDI(VersionInfoType InfoType)
 {
     if (this._ready && this._mxiHandle > 0)
     {
         return(PhoenixContact.DDI.DDI.GetVersionDDI(this._mxiHandle, InfoType));
     }
     if (this._ready && this._dtiHandle > 0)
     {
         return(PhoenixContact.DDI.DDI.GetVersionDDI(this._dtiHandle, InfoType));
     }
     return(PhoenixContact.DDI.DDI.GetVersionDDI(0, InfoType));
 }
Example #6
0
        public static unsafe VersionInfo GetVersionDDI(int Handle, VersionInfoType cmd)
        {
            lock (PhoenixContact.DDI.DDI.l_GetVersionDDI)
            {
                Trace.WriteLine("In PhoenixContact.DDI.DDI.l_GetVersionDDI\n");
                VersionInfo versionInfo = new VersionInfo();
                char[]      chArray1    = new char[80];
                char[]      chArray2    = new char[80];
                char[]      chArray3    = new char[80];
                char[]      chArray4    = new char[80];
                if (Handle <= 0 || Handle > (int)ushort.MaxValue)
                {
                    return(versionInfo);
                }
                int num;

                fixed(char *vendor = chArray1)
                fixed(char *name     = chArray2)
                fixed(char *revision = chArray3)
                fixed(char *datetime = chArray4)
                PhoenixContact.DDI.DDI.DN_DDI_GetInfo(Handle, (int)cmd, vendor, name, revision, datetime, &num);

                int length1 = 0;
                while (length1 < chArray1.Length && chArray1[length1] != char.MinValue)
                {
                    ++length1;
                }
                versionInfo.Vendor = new string(chArray1, 0, length1);
                int length2 = 0;
                while (length2 < chArray2.Length && chArray2[length2] != char.MinValue)
                {
                    ++length2;
                }
                versionInfo.Name = new string(chArray2, 0, length2);
                int length3 = 0;
                while (length3 < chArray3.Length && chArray3[length3] != char.MinValue)
                {
                    ++length3;
                }
                versionInfo.Revision  = new string(chArray3, 0, length3);
                versionInfo.RevNumber = num;
                return(versionInfo);
            }
        }
Example #7
0
 public VersionInfo()
 {
     _infoType = VersionInfoType.None;
 }
        private void ParseAssemblies(XmlReader reader, VersionInfoType infoType)
        {
            XmlNodeType nodeType = XmlNodeType.None;
            string      nodeName = String.Empty;

            while (reader.Read())
            {
                nodeType = reader.NodeType;
                if (nodeType == XmlNodeType.Element)
                {
                    nodeName = reader.Name;
                    if (String.Equals(nodeName, "assembly"))
                    {
                        string asmName    = reader.GetAttribute("name");
                        string asmVersion = String.Empty;
                        while (reader.Read())
                        {
                            nodeType = reader.NodeType;
                            if (nodeType == XmlNodeType.Element)
                            {
                                nodeName = reader.Name;
                                if (String.Equals(nodeName, "assemblydata"))
                                {
                                    asmVersion = reader.GetAttribute("version");
                                    reader.Skip();
                                }
                                else if (String.Equals(nodeName, "attributes"))
                                {
                                    string fileVersion = String.Empty;
                                    while (reader.Read())
                                    {
                                        nodeType = reader.NodeType;
                                        if (nodeType == XmlNodeType.Element &&
                                            String.Equals(reader.Name, "attribute"))
                                        {
                                            if (reader.ReadToDescendant("type") && String.Equals(
                                                    reader.GetAttribute("api"), "T:System.Reflection.AssemblyFileVersionAttribute"))
                                            {
                                                if (reader.ReadToNextSibling("argument") &&
                                                    reader.ReadToDescendant("value"))
                                                {
                                                    fileVersion = reader.ReadString();
                                                }
                                                break;
                                            }
                                            else
                                            {
                                                reader.Skip();
                                            }
                                        }
                                        else if (nodeType == XmlNodeType.EndElement)
                                        {
                                            if (String.Equals(reader.Name, "attributes"))
                                            {
                                                break;
                                            }
                                        }
                                    }

                                    this.AddVersion(new VersionInfo(asmName,
                                                                    asmVersion, fileVersion, infoType));

                                    break;
                                }
                            }
                            else if (nodeType == XmlNodeType.EndElement)
                            {
                                nodeName = reader.Name;
                                if (String.Equals(nodeName, "assembly") ||
                                    String.Equals(nodeName, "assemblies") ||
                                    String.Equals(nodeName, "apis"))
                                {
                                    break;
                                }
                            }
                        }
                    }
                    else if (String.Equals(nodeName, "apis"))
                    {
                        break;
                    }
                }
                else if (nodeType == XmlNodeType.EndElement)
                {
                    nodeName = reader.Name;
                    if (String.Equals(nodeName, "assemblies") ||
                        String.Equals(nodeName, "apis"))
                    {
                        break;
                    }
                }
            }
        }
        private void OnParseVersionInfo(XPathNavigator navigator)
        {
            string nodeText = navigator.GetAttribute("enabled", String.Empty);

            if (String.IsNullOrEmpty(nodeText))
            {
                return;
            }
            bool isEnabled = Convert.ToBoolean(nodeText);

            if (!isEnabled)
            {
                return;
            }
            nodeText = navigator.GetAttribute("sourceFile", String.Empty);
            if (String.IsNullOrEmpty(nodeText))
            {
                return;
            }
            string reflectionFile = Path.GetFullPath(
                Environment.ExpandEnvironmentVariables(nodeText));

            if (String.IsNullOrEmpty(reflectionFile) ||
                !File.Exists(reflectionFile))
            {
                return;
            }
            nodeText = navigator.GetAttribute("type", String.Empty);
            if (String.IsNullOrEmpty(nodeText))
            {
                return;
            }
            VersionInfoType infoType = (VersionInfoType)Enum.Parse(
                typeof(VersionInfoType), nodeText, true);

            if (infoType == VersionInfoType.None ||
                infoType == VersionInfoType.Advanced)
            {
                return;
            }

            XmlReaderSettings settings = new XmlReaderSettings();

            settings.ConformanceLevel = ConformanceLevel.Document;
            //settings.IgnoreWhitespace = true;
            settings.IgnoreComments = true;
            using (XmlReader reader = XmlReader.Create(reflectionFile, settings))
            {
                reader.MoveToContent();
                if (String.Equals(reader.Name, "versions"))
                {
                    XmlNodeType nodeType = XmlNodeType.None;
                    string      nodeName = String.Empty;
                    while (reader.Read())
                    {
                        nodeType = reader.NodeType;
                        if (nodeType == XmlNodeType.Element &&
                            String.Equals(reader.Name, "version"))
                        {
                            string asmName     = reader.GetAttribute("assemblyName");
                            string asmVersion  = reader.GetAttribute("assemblyVersion");
                            string fileVersion = reader.GetAttribute("fileVersion");
                            if (!String.IsNullOrEmpty(asmName))
                            {
                                this.AddVersion(new VersionInfo(asmName,
                                                                asmVersion, fileVersion, infoType));
                            }
                        }
                        else if (nodeType == XmlNodeType.EndElement)
                        {
                            if (String.Equals(reader.Name, "versions"))
                            {
                                break;
                            }
                        }
                    }
                }
                else if (String.Equals(reader.Name, "reflection"))
                {
                    ParseAssemblies(reader, infoType);
                }
            }
        }