Пример #1
0
        private static void LoadPlugin()
        {
            lock (_loaderLock)
            {
                if (Plugin != null)
                {
                    return;
                }

                try
                {
                    Assembly assembly = Assembly.LoadFrom(DllPath);
                    Type     baseType = assembly.GetType("ADAM.Adam");
                    Plugin = Activator.CreateInstance(baseType);

                    Enable      = Plugin.GetType().GetMethod("EnablePlugin");
                    Disable     = Plugin.GetType().GetMethod("DisablePlugin");
                    ButtonPress = Plugin.GetType().GetMethod("OnButtonPress");

                    if (PluginManager.GetEnabledPlugins().Any(n => n == "Allagan Data Acquisition Module"))
                    {
                        Enable.Invoke(Plugin, null);
                    }
                }
                catch (Exception e)
                {
                    FailLoad("Unable to load ADAM assembly.", e);
                }
            }
        }
Пример #2
0
 public override void OnEnabled()
 {
     if (Plugin == null)
     {
         UpdatePlugin();
     }
     if (Plugin != null)
     {
         Enable.Invoke(Plugin, null);
     }
 }
        private void EnableHandler(string name)
        {
            Logger.Trace("EnableHandler called");
            var currentAutoStarts = GetCurrentAutoStarts();

            foreach (var currentAutoStart in currentAutoStarts)
            {
                if (currentAutoStart.Value == name)
                {
                    Enable?.Invoke(currentAutoStart);
                }
            }
        }
        private void EnableHandler(string name)
        {
            Logger.Trace("EnableHandler called");
            var currentAutoStarts = GetCurrentAutoStarts();

            foreach (var currentAutoStart in currentAutoStarts)
            {
                var currentDisableName = currentAutoStart.Path.Substring(currentAutoStart.Path.LastIndexOf('\\') + 1);
                if (currentDisableName == name)
                {
                    Enable?.Invoke(currentAutoStart);
                }
            }
        }
        private void ChangeHandler(object sender, RegistryChangeEventArgs e)
        {
            Logger.Trace("ChangeHandler called for {DisableBasePath}", DisableBasePath);
            var newEnableStatus = GetCurrentEnableStatus();

            foreach (var newStatus in newEnableStatus)
            {
                var name       = newStatus.Key;
                var nowEnabled = newStatus.Value;
                var wasEnabled = true;
                if (lastEnableStatus.ContainsKey(name))
                {
                    wasEnabled = lastEnableStatus[name];
                }
                if (wasEnabled != nowEnabled)
                {
                    if (nowEnabled)
                    {
                        Enable?.Invoke(name);
                    }
                    else
                    {
                        Disable?.Invoke(name);
                    }
                }
            }
            foreach (var lastStatus in lastEnableStatus)
            {
                var name       = lastStatus.Key;
                var wasEnabled = lastStatus.Value;
                if (newEnableStatus.ContainsKey(name))
                {
                    continue;
                }
                if (!wasEnabled)
                {
                    Enable?.Invoke(name);
                }
            }
            lastEnableStatus = newEnableStatus;
        }
Пример #6
0
        private void CheckCurrentState()
        {
            if (SoundOutModes.Any(x => x.Devices.Count > 0))
            {
                if (IsAvailable)
                {
                    return;
                }

                IsAvailable = true;
                Enable?.Invoke(this, EventArgs.Empty);
                return;
            }

            if (!IsAvailable)
            {
                return;
            }
            IsAvailable = false;
            Disable?.Invoke(this, EventArgs.Empty);
        }
Пример #7
0
        private void CheckCurrentState()
        {
            if (
                SoundOutList.Any(
                    soundOutRepresenter => soundOutRepresenter.AudioDevices.Any(x => x.ID != DefaultDevicePlaceholder)))
            {
                if (_enabled == true)
                {
                    return;
                }
                _enabled = true;
                Enable?.Invoke(this, EventArgs.Empty);
                return;
            }

            if (_enabled == true)
            {
                _enabled = false;
                Disable?.Invoke(this, EventArgs.Empty);
            }
        }
 private void EnableHandler(AutoStartEntry e)
 {
     Logger.Trace("EnableHandler called");
     Enable?.Invoke(e);
 }
Пример #9
0
 private void OnEnable() => Enable?.Invoke();