Ejemplo n.º 1
0
        /// <summary>
        /// Calls the Stop method of the Plugin class.
        /// </summary>
        /// <param name="context">The PluginContext that is hosting this Plugin instance.</param>
        /// <param name="e">EventArgs that contain a PluginDescriptor with meta-data about the Plugin instance.</param>
        internal void OnStop(PluginContext context, PluginDescriptorEventArgs e)
        {
            try
            {
                SingletonLogger.Instance.Debug(string.Format("Stopping Plugin, Plugin: '{0}'.", e.Descriptor.PluginName));

                // inform the plugin that it should stop its services
                Stop(context, e);

                // fire the PluginStopped event of the PluginContext
                context.OnPluginStopped(e);
            }
            catch (Exception ex)
            {
                SingletonLogger.Instance.Debug(ex.Message, ex);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Calls the Start method of the Plugin class.
        /// </summary>
        /// <param name="context">The PluginContext that is hosting this Plugin instance.</param>
        /// <param name="e">EventArgs that contain a PluginDescriptor with meta-data about the Plugin instance.</param>
        internal void OnStart(PluginContext context, PluginDescriptorEventArgs e)
        {
            try
            {
                SingletonLogger.Instance.Debug(string.Format("Starting Plugin, Plugin: '{0}'.", e.Descriptor.PluginName));

                // inform the plugin that it should start its services
                Start(context, e);

                _CairoShell.DoEvents(); // Since we are WPF we use this DoEvents instead of the Application.DoEvents from System.Windows.Forms

                // fire the PluginStarted event of the PluginContext
                context.OnPluginStarted(e);
            }
            catch (Exception ex)
            {
                SingletonLogger.Instance.Debug(ex.Message, ex);
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the PluginContextAlreadyRunningException class
 /// </summary>
 /// <param name="context">The PluginContext that is already running</param>
 internal PluginContextAlreadyRunningException(PluginContext context) :
     base(context, string.Format("A PluginContext is already running for the AppDomain '{0}'. Only one context can be run per application.", AppDomain.CurrentDomain.FriendlyName))
 {
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Initializes a new instance of the PluginContextAlreadyExistsException class
 /// </summary>
 /// <param name="context">The PluginContext that already exists</param>
 internal PluginContextAlreadyExistsException(PluginContext context) :
     base(context, string.Format("A PluginContext already exists for the AppDomain '{0}'. Only one context can exist per application.", AppDomain.CurrentDomain.FriendlyName))
 {
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of the PluginContextException class
 /// </summary>
 /// <param name="context">The PluginContext around which the exception is based</param>
 /// <param name="message"></param>
 protected PluginContextException(PluginContext context, string message)
     : base(message)
 {
     _existingContext = context;
 }
Ejemplo n.º 6
0
 /// <summary>
 /// The abstract method that must be overriden by derived classes to stop plugin functionality
 /// </summary>
 /// <param name="context">The PluginContext that is hosting this Plugin instance.</param>
 /// <param name="e">EventArgs that contain a PluginDescriptor with meta-data about the Plugin instance.</param>
 protected abstract void Stop(PluginContext context, PluginDescriptorEventArgs e);
Ejemplo n.º 7
0
 /// <summary>
 /// Initializes a new instance of the PluginContextEventArgs class.
 /// </summary>
 /// <param name="context">The plugin context that is the context of the event.</param>
 public PluginContextEventArgs(PluginContext context)
 {
     _context = context;
 }