Пример #1
0
 public ModelLoader()
 {
     KnownTypesBinder.TypeNotFound += OnTypeNotFound;
     ExtensionsConfigurationManager.SetConfigurationUserLevel(ConfigurationUserLevel.None);
     Manager.Instance.LoadExtensions(ExecutionMode.Simplified);
     Manager.Instance.ApplyExtensionInitializers();
 }
        private void LoadStatusInfoProviders()
        {
            _providers = Manager.Instance.GetExtensions <IStatusInfoProviderExtension>()?.ToArray();

            if (_providers?.Any() ?? false)
            {
                _addStatusInfoProvider.Enabled = true;

                var config = ExtensionsConfigurationManager.GetConfigurationSection();
                var bars   = config.StatusBarItems?.ToArray();
                if (bars?.Any() ?? false)
                {
                    foreach (var bar in bars)
                    {
                        var provider =
                            _providers.FirstOrDefault(x => string.CompareOrdinal(bar, x.GetExtensionId()) == 0);
                        if (provider != null)
                        {
                            AddProviderLabel(provider);
                        }
                    }
                }

                if (string.IsNullOrWhiteSpace(config.UserDictionary))
                {
                    config.UserDictionary = Path.Combine(Program.Folder, "ThreatsManagerPlatform_userdict.txt");
                    config.CurrentConfiguration.Save();
                }
            }
        }
        private void UpdateProviderConfig()
        {
            var config    = ExtensionsConfigurationManager.GetConfigurationSection();
            var providers = GetLoadedStatusInfoProviders()?.ToArray();

            if (providers?.Any() ?? false)
            {
                config.StatusBarItems = providers;
                config.CurrentConfiguration.Save();
            }
        }
Пример #4
0
        public OptionsForm()
        {
            InitializeComponent();

            _loading = true;

            var folders = Manager.Instance.Configuration.Folders?.ToArray();

            if (folders?.Any() ?? false)
            {
                _folders.Items.AddRange(folders);
            }

            var prefixes = Manager.Instance.Configuration.Prefixes?.ToArray();

            if (prefixes?.Any() ?? false)
            {
                _prefixes.Items.AddRange(prefixes);
                _validationPrefix.Checked = true;
            }

            var certificates = Manager.Instance.Configuration.Certificates?.ToArray();

            if (certificates?.Any() ?? false)
            {
                _certificates.Items.AddRange(certificates);
                _validationCertificates.Checked = true;
            }

            var executionModes = EnumExtensions.GetEnumLabels <ExecutionMode>()?.ToArray();

            if (executionModes?.Any() ?? false)
            {
                _executionMode.Items.AddRange(executionModes);
            }

            var config = ExtensionsConfigurationManager.GetConfigurationSection();

            _executionMode.SelectedItem = config.Mode.GetEnumLabel();
            _tooltip.SetToolTip(_executionMode, config.Mode.GetEnumDescription());
            _enableSmartSave.Checked  = config.SmartSave;
            _smartSaveInstances.Value = config.SmartSaveCount;
            _smartSaveAutosave.Value  = config.SmartSaveInterval;
            _userDictionary.Text      = config.UserDictionary;
            if ((Application.UserAppDataRegistry?.GetValue("Consent", false) is string consentString) &&
                bool.TryParse(consentString, out var consent))
            {
                _disableTelemetry.Checked = !consent;
            }
Пример #5
0
        private void InitializeExtensionsManagement()
        {
            Manager.Instance.ShowMessage            += DesktopAlertAwareExtensionOnShowMessage;
            Manager.Instance.ShowWarning            += DesktopAlertAwareExtensionOnShowWarning;
            Manager.Instance.PanelForEntityRequired += CreatePanel;

            var config = ExtensionsConfigurationManager.GetConfigurationSection();

            _executionMode = config.Mode;
            Manager.Instance.LoadExtensions(_executionMode, ExceptExtension);

            HandleExtensionInitializers();

            DiagramNameUpdater();
            var actions = Manager.Instance.GetExtensions <IContextAwareAction>();

            ItemEditor.InitializeContextMenu(actions);
        }