Ejemplo n.º 1
0
        private void OnStart(PluginUpdate update)
        {
            var builder = ImmutableList.CreateBuilder <Plugin>();

            foreach (var rest in update.Rest)
            {
                var plugin = Plugins.FirstOrDefault(p => p.Metadata == rest);
                if (plugin != null)
                {
                    builder.Add(plugin);
                }
            }

            // Stop schedules of any removed plugins
            foreach (var metadata in update.Removed)
            {
                var plugin = Plugins.FirstOrDefault(p => p.Metadata == metadata);
                plugin?.Stop();
            }

            foreach (var metadata in update.Added)
            {
                var plugin = new Plugin(metadata, _scheduler);
                builder.Add(plugin);
                plugin.Start();
            }

            Plugins = builder.ToImmutableList();
            _plugins.OnNext(Plugins);
        }
Ejemplo n.º 2
0
        public async Task <IPlugin> Save()
        {
            var data = new PluginUpdate
            {
                Id         = Id,
                CreatedAt  = CreatedAt,
                ApiId      = ApiId,
                Config     = Config,
                ConsumerId = ConsumerId,
                Enabled    = Enabled
            };
            var response = await _requestFactory.Parent.Put <Plugin>(data);

            response.Configure(_requestFactory);
            return(response);
        }
Ejemplo n.º 3
0
        private void btnCheckForUpdates_Click(object sender, EventArgs e)
        {
            PluginAppSettings.SetString("AutomaticUpdates", "False");

            PluginUpdate.Check();
        }