public void TestExtModulesAcrossSerializing_part2() { var dataManager = new FileDataManager(); Singleton.Add(dataManager); var modulesManager = new PluginsManager(); IAction testAction = dataManager.Get <IAction>("testAction"); Debug.WriteLine(testAction.GetValue(null)); if (!testAction.GetType().Equals(modulesManager.GetModules().First())) { throw new Exception(); } }
public void InstallSeleniumPlugin_1_0() { //Arrange PluginsManager pluginsManager = new PluginsManager(WorkSpace.Instance.SolutionRepository); ObservableList <OnlinePluginPackage> list = pluginsManager.GetOnlinePluginsIndex(); OnlinePluginPackage plugin = (from x in list where x.Id == "SeleniumDriver" select x).SingleOrDefault(); OnlinePluginPackageRelease release1_1 = (from x in plugin.Releases where x.Version == "1.0" select x).SingleOrDefault(); // Act string folder = pluginsManager.InstallPluginPackage(plugin, release1_1); //Assert Assert.IsTrue(Directory.Exists(folder)); }
private void Init() { IsNotSaved = false; Profiles = new List <Profile>(); InputGroups = new List <DeviceGroup>(); OutputGroups = new List <DeviceGroup>(); IOController = new IOController(); ProfilesManager = new ProfilesManager(this, Profiles); DevicesManager = new DevicesManager(this); DeviceGroupsManager = new DeviceGroupsManager(this, InputGroups, OutputGroups); SubscriptionsManager = new SubscriptionsManager(this); PluginManager = new PluginsManager(PluginPath); }
public void GetOnlinePluginReleases() { //Arrange PluginsManager pluginsManager = new PluginsManager(); pluginsManager.Init(WorkSpace.Instance.SolutionRepository); ObservableList <OnlinePluginPackage> list = pluginsManager.GetOnlinePluginsIndex(); OnlinePluginPackage PACT = (from x in list where x.Id == "PACT" select x).SingleOrDefault(); // Act ObservableList <OnlinePluginPackageRelease> releases = PACT.Releases; //Assert Assert.IsTrue(releases.Count > 0, "list.Count > 0"); }
private void btnLoadPlugin_Click(object sender, EventArgs e) { if (openFileDialog.ShowDialog() == DialogResult.Cancel) { return; } if (openFileDialog.FileName.EndsWith(".dll")) { PluginsManager.LoadPlugin(openFileDialog.FileName); comboBoxPlugin.DataSource = PluginsManager.GetPlugins(); } else { MessageBox.Show("Plugin file should be .dll file"); } }
public MainForm() { InitializeComponent(); // inicializar sistema de logs Log.Init(Path.Combine(System.Windows.Forms.Application.UserAppDataPath, "Log " + DateTime.Now.ToString("dd-MM-yy") + ".txt")); plugins = new PluginsManager(this); usbKey = new USBKey(); // agregar referencias mainTabs1.ZeusWin = this; mainLlamadosCarros1.ZeusWin = this; mainTree1.ZeusWin = this; }
/// <summary> /// Solicita las definiciones de proyectos /// </summary> public void RequestProjectDefinitions() { MessageRequestPlugin messageRequest = new MessageRequestPlugin(); // Envía el mensaje HostMessenger.Send(new Message(SourceEditorViewModel.Instance.ModuleName, typeof(MessageRequestPlugin).ToString(), "Request", messageRequest)); // Añade los plugins devueltos en el mensaje a la colección de plugins foreach (System.Collections.Generic.KeyValuePair <string, Model.Plugins.IPluginSourceEditor> objKey in messageRequest.Plugins) { if (!string.IsNullOrEmpty(objKey.Key)) { PluginsManager.Add(objKey.Key, objKey.Value); } } }
public void Stop() { Logger.Info("Shutting down HtcSharp..."); PluginsManager.Call_OnDisable(); IsStopped = false; foreach (var engine in _engines) { try { Logger.Info($"Stopping Engine: '{engine.GetType().Name}'"); engine.Stop(); } catch (Exception ex) { Logger.Error($"Failed to stop Engine: '{engine.GetType().Name}'", ex); } } _engines.Clear(); _availableEngines.Clear(); }
public void OpenSolution(string SolutionFolder) { mPluginsManager = null; //TODO: remove later since below init only RS2 SolutionRepository.Open(SolutionFolder); // AutoLogProxy.Init("Ginger Test"); //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // ValueExpression.Solutionfolder = SolutionFolder; //if (UserProfile != null) //{ // UserProfile.AddsolutionToRecent(SolutionFolder); // string UserProfileFileName = UserProfile.CreateUserProfileFileName(); // UserProfile.Save(UserProfileFileName); //} }
static void Main(string[] args) { PluginsManager pManager = PluginsManager.Instance; Console.WriteLine($"Current plugins count: {pManager.PluginCount}"); Console.WriteLine($"HasType DataLoader? Answer: {pManager.HasType(PluginType.DataLoader)}"); Console.WriteLine($"HasPlugin DataLoader? Answer: {pManager.HasType(PluginType.DataLoader)}"); var config = new CsvFileConfiguration(@"C:\temp\config.txt"); Console.WriteLine($"Loading plugin TestPlugin's configuration, result is: {pManager.LoadPluginConfiguration(PluginType.DataLoader, "TestPlugin",config)}"); Console.WriteLine($"Running plugin TestPlugin, result is: {pManager.ExecutePlugin(PluginType.DataLoader, "TestPlugin")}"); Console.WriteLine($"Printing current available plugins"); foreach (var plugin in pManager.GetPlugins()) { Console.WriteLine($"Name: {plugin.Name}, Description: {plugin.Description}, Version: {plugin.Version}, Type: {plugin.Type}"); } Console.ReadKey(); }
/// <summary> /// Gets the project. /// </summary> /// <returns></returns> public Project GetProject() { Project project = Data.ProjectsController.CreateEmptyProject(txtProjectName.Text, txtProjectDirectory.Text); SupportedPluginComponent item = (SupportedPluginComponent)cmbDatabaseType.SelectedItem; project.Type = PluginsManager.GetDataBaseType(item); project.Controller = new Domain.ProjectController { Guid = item.Guid, Plugin = item.Type, ConnectionString = txtConnectionString.Text, Encrypt = chkEncrypt.Checked }; project.Description = txtProjectDescription.Text; return(project); }
static void Initialize() { try { Paths.Initialize(); PluginsManager.LoadPlugins(DocumentManager.PluginHost); PluginsManager.InitializePlugins(); Log.Initialize(); Themes.LoadPresets(); LanguageManager.InitializeLanguages(); Schemes.LoadHighlighters(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } //LanguageManager.SaveLanguage(Path.Combine(Paths.LanguagePath, "en-us.xml")); }
private void btnGenerateScript_Click(object sender, EventArgs e) { try { if (ValidateForm()) { string tableName = (string)cmbDatabaseEntity.SelectedItem; DatabaseEntity entity; if (!_entities.TryGetValue(tableName, out entity)) { entity = PluginsManager.GetEntityInfoFromPlugin(Project.Controller, tableName); _entities[tableName] = entity; } var component = (GeneratorComponent)cmbComponent.SelectedItem; var code = ActiveTemplate.Generate(entity, component); if (!string.IsNullOrWhiteSpace(code)) { txtGeneratedCode.Text = code; ProjectsController.SaveCodeToProject(ActiveTemplate, component, Project, tableName, code, txtFileName.Text); OnControlUpdate?.Invoke(this, new EventArgs()); if (chkCopyToClipboard.Checked) { txtGeneratedCode.SelectAll(); txtGeneratedCode.Copy(); MessageBox.Show("Copied to Clipboard", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } EnableButtons(); } catch (Exception ex) { MessageBoxHelper.ProcessException(ex); } }
public static ApplicationContext Create() { // TODO: use simple injector var viewFactory = new Dictionary <Type, Func <IView> >(); var formManager = new FormManager(viewFactory); var logger = new DefaultLogger(); var gamePluginManager = new PluginsManager <IGamePlugin>(logger); var clusterFactoryPluginManager = new PluginsManager <IClusterFactoryPlugin>(logger); var userNotifier = new UserNotifier(formManager); var configurationRepository = new ConfigurationRepository(); var deviceManager = new DeviceManager(clusterFactoryPluginManager, configurationRepository, userNotifier); var gameManager = new GameManager(gamePluginManager, configurationRepository); var applicationManager = new ApplicationManager(gameManager, deviceManager); viewFactory.Add(typeof(IConfigurationView), () => new ConfigurationForm(new ConfigurationPresenter(gamePluginManager, clusterFactoryPluginManager, configurationRepository))); return(new TrayApplicationContext(formManager, applicationManager)); }
private void xInstallButonn_Click(object sender, RoutedEventArgs e) { xProcessingImage.Visibility = Visibility.Visible; OnlinePluginPackageRelease release = (OnlinePluginPackageRelease)xVersionComboBox.SelectedItem; Task.Factory.StartNew(() => { PluginsManager p = new PluginsManager(WorkSpace.Instance.SolutionRepository); OnlinePluginPackage onlinePluginPackage = (OnlinePluginPackage)xPluginsGrid.CurrentItem; p.InstallPluginPackage(onlinePluginPackage, release); onlinePluginPackage.Status = "Installed"; }).ContinueWith((a) => { Dispatcher.Invoke(() => { xProcessingImage.Visibility = Visibility.Collapsed; }); }); }
private void UpdateFileName() { if (ActiveTemplate != null && cmbDatabaseEntity.SelectedItem != null) { string entityItem = (string)cmbDatabaseEntity.SelectedItem; DatabaseEntity entity; if (!_entities.TryGetValue(entityItem, out entity)) { entity = PluginsManager.GetEntityInfoFromPlugin(Project.Controller, entityItem); _entities[entityItem] = entity; } txtFileName.Text = ActiveTemplate.GenerateFileName(entity, (GeneratorComponent)cmbComponent.SelectedItem); } else { txtFileName.Text = string.Empty; } }
public void Initialize() { Singleton.Add(new PluginsDataManager()); Singleton.Add(UsersRepository = new UsersRepository()); UsersRepository.Initialize(); Singleton.Add(ScenariosRepository = new ScenariosRepository()); Singleton.Add(PluginsManager = new PluginsManager()); ScenariosRepository.Initialize(); Singleton.Add(VisualSettingsRepository = new VisualSettingsRepository()); Singleton.Add(new StatisticsManager()); Singleton.Add(Server = new LazuriteServer()); if (DataManager.Has(SettingsKey)) { SetSettings(DataManager.Get <CoreSettings>(SettingsKey)); } else { SetSettings(new CoreSettings()); } }
private void Init() { IsNotSaved = false; Profiles = new List <Profile>(); try { IOController = new IOController(); } catch (DirectoryNotFoundException e) { Logger.Error("IOWrapper provider directory not found", e); } ProfilesManager = new ProfilesManager(this, Profiles); DevicesManager = new DevicesManager(this); SubscriptionsManager = new SubscriptionsManager(this); PluginManager = new PluginsManager(PluginPath); BindingManager = new BindingManager(this); }
public NodesTree(VirtualControl host) { Style = FindResource("NodesTree") as Style; _host = host; _pluginsManager = new PluginsManager(host); Task.Factory.StartNew(() => { Dispatcher.BeginInvoke(DispatcherPriority.Send, new Action(() => { var loadedNewNodes = _pluginsManager.LoadPlugins(); if (!loadedNewNodes) { return; } ClearAll(); BuildCategories(); BuildNodes(); RefreshBackUp(); Loaded += (o, e) => { _tv = (TreeView)Template.FindName("Tv", this); _tv.SelectedItemChanged += _tv_SelectedItemChanged; _tb = (TextBox)Template.FindName("SearchTextBox", this); _tb.TextChanged += (s, ev) => Filter(_tb.Text); if (_tv.ItemsSource == null) { _tv.ItemsSource = Roots; } _tb.PreviewKeyDown += OnPreviewKeyDown; _tv.MouseDoubleClick += _tv_MouseDoubleClick; ExpandAll(); _tb.Focus(); }; })); }); MouseLeave += (o, e) => Remove(); Panel.SetZIndex(this, ZIndexes.NodesTreeIndex); }
public static void Main(string[] args) { var names = SerialPort.GetPortNames(); var logger = new DefaultLogger(); var gamePluginsManager = new PluginsManager <IGamePlugin>(logger); var clusterPluginsManager = new PluginsManager <ICluster>(logger); var gamePlugins = gamePluginsManager.ReloadPlugins("Plugins"); var clusterPlugins = clusterPluginsManager.ReloadPlugins("Plugins"); var gamePlugin = gamePlugins[1]; cluster = clusterPlugins[0]; //gamePlugin.GameStateChanged += PluginGameStateChanged; //gamePlugin.GameDataChanged += PluginGameDataChanged; // var connected = cluster.Connect(new ClusterConfiguration { PortName = "COM3" }); Console.ReadKey(); cluster.Dispose(); //gamePlugin.Dispose(); }
private void MainForm_Load(object sender, EventArgs e) { try { pluginsManager = new PluginsManager(); pluginsManager.LoadPlugins(); ManageSettings(); LoadUniversityPlugins(); LoadGroupPlugins(); LoadUniversityActionPlugins(); LoadGroupActionPlugins(); UI ui; ui.University = tvUniversity; taskManager = new TaskManager(ui, pluginsManager); } catch (Exception exception) { MessageBox.Show(exception.Message); } }
public async Task LoadSettingsTest() { var assmBuilder = AssemblyBuilder.DefineDynamicAssembly(new AssemblyName(Guid.NewGuid().ToString()), AssemblyBuilderAccess.RunAndCollect); var moduleBuilder = assmBuilder.DefineDynamicModule(Guid.NewGuid().ToString()); var typeBuilder = moduleBuilder.DefineType("Plugin1", TypeAttributes.Public); typeBuilder.AddInterfaceImplementation(typeof(IPlugin <MockSettings1>)); typeBuilder.SetParent(typeof(PluginMock <MockSettings1>)); typeBuilder.CreateType(); var assm = moduleBuilder.Assembly; var assmBuffer = new Lokad.ILPack.AssemblyGenerator().GenerateAssemblyBytes(assm); var conf = new MetadataSerializer().Deserialize <Configuration>("^plg1:\r\n prop-two: 0.1\r\n prp3:\r\n - A\r\n - B"); conf.Plugins = new List <string>(new string[] { "plg1" }); var mgr = new PluginsManager(conf, new Mock <IDocifyApplication>().Object); await mgr.LoadPlugins(new PluginInfoMock[] { new PluginInfoMock("plg1", new FileMock(Location.FromPath("mockplugins.dll"), assmBuffer)) }.ToAsyncEnumerable()); var res = mgr.GetType().GetField("m_Plugins", BindingFlags.Instance | BindingFlags.NonPublic).GetValue(mgr) as IEnumerable <IPluginBase>; var plg = res.OfType <PluginMock <MockSettings1> >().FirstOrDefault(); Assert.IsNotNull(plg); Assert.IsNotNull(plg.Settings); Assert.IsNotNull(plg.App); Assert.AreEqual("A", plg.Settings.Prp1); Assert.AreEqual(0.1, plg.Settings.PropTwo); Assert.That(new string[] { "A", "B" }.SequenceEqual(plg.Settings.Prp3)); }
public void NoPluginFoundTest() { var assmBuilder1 = AssemblyBuilder.DefineDynamicAssembly(new AssemblyName(Guid.NewGuid().ToString()), AssemblyBuilderAccess.RunAndCollect); var moduleBuilder1 = assmBuilder1.DefineDynamicModule(Guid.NewGuid().ToString()); var typeBuilder1 = moduleBuilder1.DefineType("Plugin1", TypeAttributes.Public); var p1 = typeBuilder1.CreateType(); var assm1 = moduleBuilder1.Assembly; var assmBuffer1 = new Lokad.ILPack.AssemblyGenerator().GenerateAssemblyBytes(assm1); var mgr = new PluginsManager(new Configuration() { Plugins = new List <string>() }, new Mock <IDocifyApplication>().Object); Assert.ThrowsAsync <MissingPluginImplementationException>(() => mgr.LoadPlugins(new PluginInfoMock[] { new PluginInfoMock("plg1", new FileMock(Location.FromPath("Plugin1Mock.dll"), assmBuffer1)) }.ToAsyncEnumerable())); }
public void CloseSolution() { //Do cleanup if (SolutionRepository != null) { PlugInsManager.CloseAllRunningPluginProcesses(); CloseAllRunningAgents(); CloseAllEnvironments(); SolutionRepository.StopAllRepositoryFolderWatchers(); if (!RunningInExecutionMode) { AppSolutionAutoSave.SolutionAutoSaveEnd(); } } //Reset values mPluginsManager = new PluginsManager(); SolutionRepository = null; SourceControl = null; Solution = null; EventHandler.SolutionClosed(); }
private void FormMain_Load(object sender, EventArgs e) { _logger.Trace("FormMain.FormMain_Load()"); try { LoadLocalVariables(); UpdateWindowTitle(); if (!PluginsManager.CheckIfPluginsAreLoaded()) { menuMain.Enabled = false; toolStripStatusLabelMain.Text = "Checking plugins"; statusStripMain.Refresh(); workerCheckPlugins.RunWorkerAsync(); } } catch (Exception ex) { _logger.Error(ex, ex.Message); MessageBoxHelper.ProcessException(ex); } }
public MainForm() { InitializeComponent(); comboBoxPlugin.DataSource = PluginsManager.GetPlugins(); comboBoxPlugin.DisplayMember = "Name"; Assembly SerializationAsm = Assembly.LoadFrom("Serialization_lib.dll"); List <ControlInfoAttribute> Attributes = new List <ControlInfoAttribute>(); foreach (Type t in SerializationAsm.GetTypes()) { object[] attrs = t.GetCustomAttributes(typeof(ControlInfoAttribute), false); if (attrs.Length > 0) { Attributes.Add((ControlInfoAttribute)attrs[0]); } } comboBoxType.DataSource = Attributes; comboBoxType.DisplayMember = "Text"; comboBoxType.ValueMember = "type"; Assembly CRUDAsm = Assembly.LoadFrom("CRUD_lib.dll"); List <Type> Types = new List <Type>(); foreach (Type t in CRUDAsm.GetTypes()) { if (!t.IsAbstract && !t.IsSubclassOf(typeof(Attribute)) && !t.IsEnum) { Types.Add(t); } } comboBox.DataSource = Types; comboBox.DisplayMember = "Name"; comboBox.SelectedItem = comboBox.Items[0]; }
private void cmbTemplate_SelectedIndexChanged(object sender, EventArgs e) { try { if (cmbTemplate.SelectedItem != null) { var item = (SupportedPluginComponent)cmbTemplate.SelectedItem; ActiveTemplate = (IGeneratorTemplate)item.Item; if (!ActiveTemplate.IsLoaded) { ActiveTemplate.Load(Project.Name); } cmbComponent.DataSource = PluginsManager.GetComponents(item); cmbComponent.DisplayMember = "Name"; cmbComponent.ValueMember = "Id"; lnkTemplateOptions.Visible = PluginsManager.CheckIfPluginHaveOptions(item); PluginsManager.UpdateProjectSettingsForPlugin(item, Project); } else { ActiveTemplate = null; cmbComponent.DataSource = null; lnkTemplateOptions.Visible = false; } EnableButtons(); } catch (Exception ex) { MessageBoxHelper.ProcessException(ex); } }
public void InstalledPluginPackageFromOnline() { //Arrange // TODO: create a simple plugin for unit test which will download faster. string PluginId = "PACT"; string PluginVersion = "1.6"; string path = TestResources.GetTestTempFolder(@"Solutions\PluginsManagerSR1"); if (Directory.Exists(path)) { Directory.Delete(path, true); } SolutionRepository solutionRepository = new SolutionRepository(); solutionRepository.AddItemInfo <PluginPackage>("*.Ginger.PluginPackage.xml", @"~\Plugins", true, "Plugins", PropertyNameForFileName: nameof(PluginPackage.PluginId)); solutionRepository.CreateRepository(path); solutionRepository.Open(path); PluginsManager pluginsManager = new PluginsManager(solutionRepository); ObservableList <PluginPackage> pluginPackages = solutionRepository.GetAllRepositoryItems <PluginPackage>(); // Act var p = pluginsManager.GetOnlinePluginsIndex(); OnlinePluginPackage onlinePluginPackage = (from x in p where x.Id == PluginId select x).SingleOrDefault(); //OnlinePluginPackageRelease onlinePluginPackageRelease pluginsManager.InstallPluginPackage(onlinePluginPackage, onlinePluginPackage.Releases[0]); //string folder = Path.Combine(Common.GetTestResourcesFolder(), @"PluginPackages\SeleniumPluginPackage.1.0.0"); //Assert Assert.AreEqual(1, pluginPackages.Count); Assert.AreEqual("PACT", pluginPackages[0].PluginId); }
// =================================================================================== // INTERNAL METHODS ------------------------------------------------------------------ // CALLED BY DOTween when spawning/creating a new Tweener. // Returns TRUE if the setup is successful internal static bool Setup <T1, T2, TPlugOptions>( TweenerCore <T1, T2, TPlugOptions> t, DOGetter <T1> getter, DOSetter <T1> setter, T2 endValue, float duration, ABSTweenPlugin <T1, T2, TPlugOptions> plugin = null ) where TPlugOptions : struct { if (plugin != null) { t.tweenPlugin = plugin; } else { if (t.tweenPlugin == null) { t.tweenPlugin = PluginsManager.GetDefaultPlugin <T1, T2, TPlugOptions>(); } if (t.tweenPlugin == null) { // No suitable plugin found. Kill Debugger.LogError("No suitable plugin found for this type"); return(false); } } t.getter = getter; t.setter = setter; t.endValue = endValue; t.duration = duration; // Defaults t.autoKill = DOTween.defaultAutoKill; t.isRecyclable = DOTween.defaultRecyclable; t.easeType = DOTween.defaultEaseType; // Set to INTERNAL_Zero in case of 0 duration, but in DoStartup t.easeOvershootOrAmplitude = DOTween.defaultEaseOvershootOrAmplitude; t.easePeriod = DOTween.defaultEasePeriod; t.loopType = DOTween.defaultLoopType; t.isPlaying = DOTween.defaultAutoPlay == AutoPlay.All || DOTween.defaultAutoPlay == AutoPlay.AutoPlayTweeners; return(true); }
private void btnOpen_Click(object sender, EventArgs e) { if (openFileDialog.ShowDialog() == DialogResult.Cancel) { return; } string FileName = openFileDialog.FileName; if (!FileName.EndsWith(".dat")) { var plugins = PluginsManager.GetPlugins(); bool IsPluginExist = false; foreach (var plugin in plugins) { if (FileName.EndsWith(plugin.Extension)) { IsPluginExist = true; FileName = plugin.Decompress(new FileInfo(FileName)); break; } } if (!IsPluginExist) { MessageBox.Show("No plugin for this type of file"); return; } } ISerializer serializer = (ISerializer)Activator.CreateInstance((Type)comboBoxType.SelectedValue); using (FileStream fs = new FileStream(FileName, FileMode.OpenOrCreate)) { SetUserCreatedObjs(serializer.Deserialize(fs)); } }
/// <summary> /// Called before the main form is created. /// </summary> /// <returns><c>true</c> if the application should continue loading; otherwise, <c>false</c>.</returns> protected override bool OnBeforeCreateMainForm() { // We plug the mef composition here. var pluginsManager = new PluginsManager( Properties.Settings.Default.PluginsDirectories.Cast<string>()); Globals.PluginsManager = pluginsManager; pluginsManager.Compose(); return base.OnBeforeCreateMainForm(); }