Пример #1
0
        public int SetUsageScenario(UsageScenario cpus, uint dwFlags)
        {
            UsageScenario = cpus;
            Supported     = IsUsageSupported(cpus);

            return(Supported ? HRESULT.S_OK : HRESULT.E_NOTIMPL);
        }
Пример #2
0
        public ActionResult Complete(string usageScenarioCode, string storageTypeCode, string connectionString, string languagePacks)
        {
            Installation  installation  = ResourceManager.GetInstallation();
            UsageScenario usageScenario = installation.UsageScenarios.FirstOrDefault(us => string.Equals(us.Code, usageScenarioCode, StringComparison.OrdinalIgnoreCase));
            StorageType   storageType   = installation.StorageTypes.FirstOrDefault(st => string.Equals(st.Code, storageTypeCode, StringComparison.OrdinalIgnoreCase));

            this.ExecuteStorageScript(usageScenario.Code, storageType.Code, connectionString);

            foreach (Package package in usageScenario.Packages)
            {
                if (string.IsNullOrEmpty(package.Condition) || string.Equals(package.Condition.Replace("StorageType=", string.Empty), storageTypeCode, StringComparison.OrdinalIgnoreCase))
                {
                    ResourceManager.WriteResourceToFile(
                        "Platformus.Installer.Input.Packages." + package.Name,
                        Path.Combine(this.hostingEnvironment.ContentRootPath, "Extensions", package.Name)
                        );
                }
            }

            foreach (string contentEntry in usageScenario.Content)
            {
                string tempPath = Path.Combine(this.hostingEnvironment.ContentRootPath, "temp.zip");

                ResourceManager.WriteResourceToFile(
                    "Platformus.Installer.Input.UsageScenarios." + usageScenario.Code + "." + contentEntry,
                    tempPath
                    );

                ZipFile.ExtractToDirectory(tempPath, this.hostingEnvironment.ContentRootPath);
                System.IO.File.Delete(tempPath);
            }

            System.IO.File.WriteAllText(
                Path.Combine(this.hostingEnvironment.ContentRootPath, "appsettings.json"),
                ResourceManager.GetAppSettingsTemplate().Replace("{connectionString}", connectionString)
                );

            if (!string.IsNullOrEmpty(languagePacks))
            {
                foreach (string languagePack in languagePacks.Split(',').Where(lp => !string.Equals(lp, "en", StringComparison.OrdinalIgnoreCase)))
                {
                    string languagePackPath = Path.Combine(this.hostingEnvironment.ContentRootPath, languagePack + ".zip");

                    ResourceManager.WriteResourceToFile(
                        "Platformus.Installer.Input.LanguagePacks." + languagePack + ".zip",
                        languagePackPath
                        );

                    ZipFile.ExtractToDirectory(languagePackPath, this.hostingEnvironment.ContentRootPath);
                    System.IO.File.Delete(languagePackPath);
                }
            }

            return(this.Ok());
        }
        public unsafe int Filter(UsageScenario cpus, uint dwFlags, IntPtr rgclsidProviders, IntPtr rgbAllow, uint cProviders)
        {
            Guid *pProviders = (Guid *)rgclsidProviders.ToPointer();
            bool *pAllow     = (bool *)rgbAllow.ToPointer();

            try
            {
                for (uint i = 0; i < cProviders; i++)
                {
                    pAllow[i] = IsProviderAllowed(cpus, (CredUI.Flags)dwFlags, ref pProviders[i]);
                }
            }
            catch (NotImplementedException)
            {
                return(HRESULT.E_NOTIMPL);
            }
            catch
            {
                return(HRESULT.E_FAIL);
            }

            return(HRESULT.S_OK);
        }
 public virtual extern int SetUsageScenario([In] UsageScenario cpus, [In] uint dwFlags);
Пример #5
0
 public StringHasher(UsageScenario scenario)
 {
     this.scenario = scenario;
 }
Пример #6
0
 public ProxyAddressHasher(UsageScenario scenario)
 {
     this.hasher = new StringHasher(scenario);
 }
 public abstract bool IsProviderAllowed(UsageScenario scenario, CredUI.Flags uiFlags, ref Guid clsIdProvider);
 public override bool IsUsageSupported(UsageScenario usage)
 {
     return(usage == UsageScenario.Logon || usage == UsageScenario.UnlockWorkstation);
 }
Пример #9
0
 public abstract bool IsUsageSupported(UsageScenario usage);