Пример #1
0
 public static void SetPosition(this Window window, ISettingsManagerSection settingsManager)
 {
     window.Width  = settingsManager.GetValueOrSetDefault(String.Format("{0}_Width", window.GetType()), window.Width);
     window.Height = settingsManager.GetValueOrSetDefault(String.Format("{0}_Height", window.GetType()), window.Height);
     window.Left   = settingsManager.GetValueOrSetDefault(String.Format("{0}_X", window.GetType()), window.Left);
     window.Top    = settingsManager.GetValueOrSetDefault(String.Format("{0}_Y", window.GetType()), window.Top);
 }
Пример #2
0
        internal Core(ISynchronizeInvoke syncInvoke)
        {
            var pluginLoadingHandler = new Action <string>(x => { RaisePartLoadingEvent($"Loading plugin {x}..."); });

            RaisePartLoadingEvent("Loading Settings...");
            _settingsManager = new Settings.SettingsManager(this);
            SettingsManager  = _settingsManager.GetSection("Core");

            RaisePartLoadingEvent("Loading SIP...");
            _sip = new SIP.SIP(this, syncInvoke);

            RaisePartLoadingEvent("Loading Audio...");
            _audio = new Audio.Audio(this);

            RaisePartLoadingEvent("Initializing Audio...");
            _sip.InitializeAudio();

            // Load core classes
            RaisePartLoadingEvent("Loading Calls core...");
            CallManager = new CallManager.CallManager(this);

            RaisePartLoadingEvent("Loading Plugins...");
            _pluginManager = new PluginManager.PluginManager(this);

            RaisePartLoadingEvent("Loading Contacts...");
            _contactsManager = new ContactsManager(this, syncInvoke);

            _pluginManager.PluginLoading += pluginLoadingHandler;
            _pluginManager.LoadPluginsFromDirectory(System.IO.Path.GetFullPath("plugins"));
            _pluginManager.PluginLoading -= pluginLoadingHandler;
            _pluginManager.Start();

            RaisePartLoadingEvent("Core loaded successfully. Starting...");
        }
Пример #3
0
 public static void SavePosition(this Window window, ISettingsManagerSection settingsManager)
 {
     settingsManager.Set(String.Format("{0}_Width", window.GetType()), window.Width);
     settingsManager.Set(String.Format("{0}_Height", window.GetType()), window.Height);
     settingsManager.Set(String.Format("{0}_X", window.GetType()), window.Left);
     settingsManager.Set(String.Format("{0}_Y", window.GetType()), window.Top);
 }
Пример #4
0
        public PluginInformation(ICore core, ISettingsManagerSection settings, Guid id, string name, string version, string assemblyName)
        {
            _core     = core;
            _settings = settings ?? (core as Core)?.SettingsManagerInternal.GetSection(id.ToString()) ?? core.SettingsManager;

            ID           = id;
            Name         = name;
            Version      = version;
            AssemblyName = assemblyName;
        }
Пример #5
0
 internal CallToolsOptions(ISettingsManagerSection settingsManager)
 {
     _settingsManager = settingsManager;
 }
Пример #6
0
        public PluginManagerWrapper(IPluginInformation pluginInformation, ICore core, ISettingsManagerSection settingsManager)
        {
            _core = core;

            Plugins = new [] { pluginInformation };

            Core = core.CreateChildCore(new CoreSettings {
                PluginManager   = this,
                SettingsManager = settingsManager,
            });
        }
Пример #7
0
 protected virtual IPluginInformation CreatePluginInformation(Type pluginType, Guid pluginId, string pluginName,
                                                              string pluginVersion, string info = null, bool haveSettingsForm = false, ISettingsManagerSection settings = null)
 {
     return(new PluginInformation(
                _core,
                settings,
                pluginId,
                pluginName,
                pluginVersion,
                pluginType.Assembly.FullName)
     {
         PluginType = pluginType,
         TypeName = pluginType.FullName,
         FileName = pluginType.Assembly.Location,
         Info = info,
         HaveSettingsForm = haveSettingsForm
     });
 }