Ejemplo n.º 1
0
        private async Task ReloadPluginsAsync()
        {
            var _plugins = LoadLocalAvspackage();

            if (Win64)
            {
                _plugins = Array.FindAll(_plugins, c => c.Releases[0].Win64 != null || c.Releases[0].Script != null);
            }
            else
            {
                _plugins = Array.FindAll(_plugins, c => c.Releases[0].Win32 != null || c.Releases[0].Script != null);
            }

            var plugins_installed = await avsrepo.GetInstalledAsync();

            // Set Plugin status (installed, not installed, update available etc.)
            foreach (var plugin in plugins_installed)
            {
                var index = Array.FindIndex(_plugins, row => row.Identifier == plugin.Key);
                if (index >= 0) //-1 if not found
                {
                    _plugins[index].Status = plugin.Value.Value;
                    _plugins[index].Releases[0].VersionLocal = plugin.Value.Key;
                }
            }
            Plugins.Full = _plugins;
            FilterPlugins(Plugins.Full);
        }