コード例 #1
0
ファイル: BootstrapRequest.cs プロジェクト: shenhx/PowerShell
        internal bool YieldFromSwidtag(Package provider, string requiredVersion, string minimumVersion, string maximumVersion, string searchKey)
        {
            if (provider == null)
            {
                // if the provider isn't there, just return.
                return(!IsCanceled);
            }

            if (AnyNullOrEmpty(provider.Name, provider.Version, provider.VersionScheme))
            {
                Debug("Skipping yield on swid due to missing field \r\n", provider.ToString());
                return(!IsCanceled);
            }

            if (!String.IsNullOrWhiteSpace(requiredVersion))
            {
                if (provider.Version != requiredVersion)
                {
                    return(!IsCanceled);
                }
            }
            else
            {
                if (!String.IsNullOrWhiteSpace(minimumVersion) && SoftwareIdentityVersionComparer.CompareVersions(provider.VersionScheme, provider.Version, minimumVersion) < 0)
                {
                    return(!IsCanceled);
                }

                if (!String.IsNullOrWhiteSpace(maximumVersion) && SoftwareIdentityVersionComparer.CompareVersions(provider.VersionScheme, provider.Version, maximumVersion) > 0)
                {
                    return(!IsCanceled);
                }
            }
            return(YieldFromSwidtag(provider, searchKey));
        }
コード例 #2
0
ファイル: BootstrapRequest.cs プロジェクト: 40a/PowerShell
        internal bool YieldFromSwidtag(Package provider, string requiredVersion, string minimumVersion, string maximumVersion, string searchKey) {
            if (provider == null) {
                // if the provider isn't there, just return.
                return !IsCanceled;
            }

            if (AnyNullOrEmpty(provider.Name, provider.Version, provider.VersionScheme)) {
                Debug("Skipping yield on swid due to missing field \r\n", provider.ToString());
                return !IsCanceled;
            }

            if (!String.IsNullOrWhiteSpace(requiredVersion)) {
                if (provider.Version != requiredVersion) {
                    return !IsCanceled;
                }
            } else {
                if (!String.IsNullOrWhiteSpace(minimumVersion) && SoftwareIdentityVersionComparer.CompareVersions(provider.VersionScheme, provider.Version, minimumVersion) < 0) {
                    return !IsCanceled;
                }

                if (!String.IsNullOrWhiteSpace(maximumVersion) && SoftwareIdentityVersionComparer.CompareVersions(provider.VersionScheme, provider.Version, maximumVersion) > 0) {
                    return !IsCanceled;
                }
            }
            return YieldFromSwidtag(provider, searchKey);
        }