<?xml version="1.0"?>
<doc>
    <assembly>
        <name>DevEnterprise.Core.Plugin</name>
    </assembly>
    <members>
        <member name="T:DevEnterprise.Core.Plugin.Contracts.IMonitoringPlugin">
            <summary>
            An imported plugin type that handles monitoring events and processes them in the background.
            The implementation of this interface should not make any calls to a user interface as it will need to be run from a Windows background service.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.IMonitoringPlugin.DisplayName">
            <summary>
            Gets the translated display name of the plugin.
            </summary>
            <value>
            The translated display name of the plugin.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.IMonitoringPlugin.Enabled">
            <summary>
            Gets the value of whether the user has enabled this plugin and it is actively in use.
            </summary>
            <value>
            <c>true</c> if the plugin is enabled and in use, <c>false</c> if the plugin has not been activated by the user.
            </value>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPlugin.HandleEvent(DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Handles a monitoring event giving the plugin an opportunity to act on the event.
            </summary>
            <remarks>
            This method is called asynchronously and in parallel. Please ensure that you ensure the code in this method is thread-safe.
            </remarks>
            <param name="eventDetail">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPlugin.LoadSettings(System.Guid,System.Collections.Generic.IDictionary{System.String,System.Object},System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Request the plugin to load or update it's internal configuration settings.
            </summary>
            <param name="directoryId">The unique ID of the directory being monitored. Use this to write anything to disk and have the plugin access it again.</param>
            <param name="pluginSettings">The plugin settings which are configured per directory being monitored.</param>
            <param name="pluginOptions">The plugin options which are application-wide and shared by all directories being monitored.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPlugin.GetSettings">
            <summary>
            Request to return the internal configuration settings of the plugin so they can be persisted.
            </summary>
            <returns>A key/value pair list of settings.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPlugin.PauseProcessing">
            <summary>
            Pauses any timers or functionality that is currently in progress.
            </summary>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPlugin.ResumeProcessing">
            <summary>
            Resume any timers or functionality that was previously in progress.
            </summary>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginUI">
            <summary>
            An imported plugin type that augments the user interface with additional tabs and menu options.
            Plugins of this type are only loaded by the user interface and can expose certain views when requested.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginUI.Priority">
            <summary>
            Gets the priority of the tab (if implemented) which will determine the order in which it consistently appears on the various screen.
            </summary>
            <value>
            The priority value. 0 will be on the far left, 100 will be on the far right. official plugins use 10, 20, 30 etc to allow placement in between.
            </value>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginUI.Initialize(DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginHost)">
            <summary>
            Called when the host initializes the plugin.
            </summary>
            <param name="host">The an instance of the host to use if you need to interact with the user from your views.</param>
            <returns>Return <c>true</c> if the plugin was able to initialize correctly, <c>false</c> if it failed which will prevent it from being loaded.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginUI.GetView(System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Gets an new instance of an <see cref="T:DevEnterprise.Core.Plugin.Contracts.Views.IView"/> user control which will be placed on the main user interface screen.
            </summary>
            <remarks>
            Return <c>null</c> if there is no view available.
            </remarks>
            <param name="settings">Any previously persisted settings (from an options view) will be provided for the view to setup the state of it's controls.</param>
            <returns>A new instance (do not re-use instances or use statics) of the user control.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginUI.GetSettingsView(System.Collections.Generic.IDictionary{System.String,System.Object},System.String)">
            <summary>
            Gets an new instance of an <see cref="T:DevEnterprise.Core.Plugin.Contracts.Views.ISettingsView"/> user control which will be placed on the directory settings screen when adding or editing a directory.
            </summary>
            <remarks>
            Return <c>null</c> if there is no view available.
            </remarks>
            <param name="settings">Any previously persisted settings (for the specific directory) will be provided for the view to setup the state of it's controls.</param>
            <param name="directoryPath">The directory path.</param>
            <returns>A new instance (do not re-use instances or use statics) of the user control.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginUI.GetOptionsView(System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Gets an new instance of an <see cref="T:DevEnterprise.Core.Plugin.Contracts.Views.IOptionsView"/> user control which will be placed on the option screen from the menu.
            </summary>
            <remarks>
            Return <c>null</c> if there is no view available.
            </remarks>
            <param name="settings">Any previously persisted settings (general options) will be provided for the view to setup the state of it's controls.</param>
            <returns>A new instance (do not re-use instances or use statics) of the user control.</returns>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.Contracts.IPlugin">
            <summary>
            The general interface for all plugins.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.IPlugin.PluginName">
            <summary>
            Gets the name of the plugin.
            </summary>
            <value>
            The name of the plugin.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.IPlugin.FeatureId">
            <summary>
            Gets the feature identifier for this plugin.
            </summary>
            <value>
            The feature identifier.
            </value>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.Contracts.Views.IOptionsView">
            <summary>
            A <see cref="T:System.Windows.Forms.UserControl"/> that can be used to configure settings for the plugin globally.
            </summary>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.Views.IOptionsView.GetUserControl">
            <summary>
            Gets the user control with necessary controls to configure the general plugin options.
            </summary>
            <returns>An instance of the options settings user control that will be placed in a tab when accessing the general options screen (File -> Options).</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.Views.IOptionsView.GetSettings">
            <summary>
            Request to return the internal configuration settings so they can be persisted.
            </summary>
            <returns>A key/value pair list of settings.</returns>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.Contracts.Views.IView">
            <summary>
            A <see cref="T:System.Windows.Forms.UserControl"/> that can be used to visualize events or display something specific to the plugin on the main screen.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.Views.IView.Enabled">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:DevEnterprise.Core.Plugin.Contracts.Views.IView"/> is enabled.
            </summary>
            <value>
              <c>true</c> if enabled; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.Views.IView.Active">
            <summary>
            Gets or sets a value indicating whether this <see cref="T:DevEnterprise.Core.Plugin.Contracts.Views.IView"/> is currently active and visible.
            </summary>
            <value>
              <c>true</c> if enabled; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.Views.IView.GetUserControl">
            <summary>
            Gets the user control with necessary controls to display information.
            </summary>
            <returns>An instance of the user control that will be placed in a tab on the main screen.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.Views.IView.RestoreEvents(System.Collections.Generic.IEnumerable{DevEnterprise.Core.Plugin.MonitoringEventArgs},System.Threading.CancellationToken)">
            <summary>
            Called when all the events need to be restored for display in the control. This is usually called on startup.
            </summary>
            <param name="events">The events.</param>
            <param name="cancelToken">The cancellation token that can be checked to strop restoring if we need to shutdown.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.Views.IView.HandleEvent(DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Handles a monitoring event giving the plugin an opportunity to act on the event.
            </summary>
            <remarks>
            This method is called asynchronously and in parallel. Please ensure that you ensure the code in this method is thread-safe and does make make cross-thread UI calls.
            </remarks>
            <param name="eventDetail">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.Views.IView.LoadSettings(System.Collections.Generic.IDictionary{System.String,System.Object})">
            <summary>
            Request the plugin to load or update it's internal configuration settings.
            </summary>
            <param name="settings">The collection of setting values to load.</param>
            <returns>A key/value pair list of settings.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.Views.IView.GetMenu">
            <summary>
            Provides a way to generate a context menu for the view plguin.
            </summary>
            <returns>A <see cref="T:System.Windows.Forms.ContextMenuStrip"/> that will be injected into the main menu bar of the user interface.</returns>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.Contracts.Views.ISettingsView">
            <summary>
            A <see cref="T:System.Windows.Forms.UserControl"/> that can be used to configure settings per directory.
            </summary>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.Views.ISettingsView.GetUserControl">
            <summary>
            Gets the user control with necessary controls to configure the plugin for a specific directory.
            </summary>
            <returns>An instance of the directory settings user control that will be placed in a tab when adding/editing a directory.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.Views.ISettingsView.GetSettings">
            <summary>
            Request to return the internal configuration settings for the directory so they can be persisted.
            </summary>
            <returns>A key/value pair list of settings.</returns>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginSystem">
            <summary>
            An imported plugin type that handles monitoring events and processes them in the background.
            Only one instance of this plugin will be created to handle all events for all configured directories.
            The implementation of this interface should not make any calls to a user interface as it will need to be run from a Windows background service.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginSystem.DisplayName">
            <summary>
            Gets the translated display name of the plugin.
            </summary>
            <value>
            The translated display name of the plugin.
            </value>    
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginSystem.Enabled">
            <summary>
            Gets the value of whether the user has enabled this plugin and it is actively in use.
            </summary>
            <value>
            <c>true</c> if the plugin is enabled and in use, <c>false</c> if the plugin has not been activated by the user.
            </value>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginSystem.HandleEvent(DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Handles a monitoring event giving the plugin an opportunity to act on the event.
            </summary>
            <remarks>
            This method is called asynchronously and in parallel. Please ensure that you ensure the code in this method is thread-safe.
            </remarks>
            <param name="eventDetail">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance containing the event data.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginSystem.PauseProcessing">
            <summary>
            Pauses any timers or functionality that is currently in progress.
            </summary>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginSystem.ResumeProcessing">
            <summary>
            Resume any timers or functionality that was previously in progress.
            </summary>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginHost">
            <summary>
            A host (such as a user interface) should implement this interface to allow for communication between plugins and the user of the application.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginHost.UserName">
            <summary>
            Gets the current username.
            </summary>
            <value>
            The username running the application.
            </value>
            <returns>The current username.</returns>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginHost.UserSettingsPath">
            <summary>
            Gets the settings path for the current user. You can safely store any custom files in this location.
            </summary>
            <value>
            The path to user settings.
            </value>
            <returns>The settings path.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginHost.ShowMessage(System.Boolean,System.String,System.String,DevEnterprise.Core.Plugin.HostMessageType)">
            <summary>
            Shows a message to the user.
            </summary>
            <param name="modal">If set to <c>true</c> a message dialog will be displayed to the user instead of a notification balloon.</param>
            <param name="message">The message text to display.</param>
            <param name="title">The title of the dialog or notification balloon.</param>
            <param name="messageType">Type of which will determine the icon and interaction options for the message.</param>
            <returns>The result of the user action on the dialog.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginHost.ShowUnlockDialog(System.String,System.Int32)">
            <summary>
            Shows the unlock dialog to the user, this is used for areas of plugins that are locked.
            </summary>
            <param name="pluginName">Name of the plugin (if any) to determine if the feature is specific to the plugin, leave blank for PRO features.</param>
            <param name="featureId">The unique feature identifier.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginHost.ShowUnlockDialog(System.String,System.Int32,System.Uri)">
            <summary>
            Shows the unlock dialog to the user, this is used for areas of plugins that are locked.
            </summary>
            <param name="pluginName">Name of the plugin (if any) to determine if the feature is specific to the plugin, leave blank for PRO features.</param>
            <param name="buyNowUrl">The URL to launch if the user clicks "Buy Now".</param>
            <param name="featureId">The unique feature identifier.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginHost.ShowMacroEditor(System.String,System.Boolean,System.Collections.Generic.IEnumerable{System.String})">
            <summary>
            Shows the macro editor.
            </summary>
            <param name="command">The command string containing the macros that need to be replaced.</param>
            <param name="requiresQuotesForSpaces">If set to <c>true</c> will wrap replacement values that contain spaces in quotes.</param>
            <param name="disabledMacros">A list of disabled macros that the user should not be able to use.</param>
            <returns>The new command string after being manipulated in the macro editor.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Contracts.IMonitoringPluginHost.ClearEvents">
            <summary>
            Clears the events being kept in all view and plugin memory. This should be initiated by the user.
            </summary>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.Macros">
            <summary>
            Helper method and constants to deal with replacement macros.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroDirPath">
            <summary>
            The monitored directory path.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroFullFile">
            <summary>
            The full file or directory path where the change was detected.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroFullDir">
            <summary>
            The full directory path only without the file name.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroFile">
            <summary>
            The file name only.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroSize">
            <summary>
            The file size in bytes.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroDir">
            <summary>
            The directory name only.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroOldFullFile">
            <summary>
            The full file or directory path of the renamed file.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroOldFile">
            <summary>
            The file name only of the renamed file.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroUser">
            <summary>
            The formatted user information string.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroUserName">
            <summary>
            The user login name.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroUserMachine">
            <summary>
            The machine name.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroIpAddress">
            <summary>
            The user's IP address.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroUserProcess">
            <summary>
            The full path of the process involved in the change (local only).
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroEvent">
            <summary>
            The change event name.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroDate">
            <summary>
            The date only portion of when the event occurred (no time).
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroTime">
            <summary>
            The time only portion of when the event occurred (no date).
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.Macros.MacroCount">
            <summary>
            The number of events that occurred.
            </summary>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Macros.ContainsMacro(System.String)">
            <summary>
            Determines whether the specified command string contains any of the macro constants except for <c>MacroDirPath</c>.
            </summary>
            <remarks>
            Only macro constants provided by this class are detected, the check is not pattern based.
            </remarks>
            <param name="command">The command string to check for macros.</param>
            <returns><c>true</c> if a macros was found; <c>false</c> if no macros were found.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Macros.ContainsMacro(System.String,System.String)">
            <summary>
            Determines whether the specified command string contains a 
            </summary>
            <remarks>
            Only macro constants provided by this class are detected, the check is not pattern based.
            </remarks>
            <param name="command">The command string to check for macros.</param>
            <param name="macro">The macro constant to look for.</param>
            <returns><c>true</c> if a macros was found; <c>false</c> if no macros were found.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Macros.ContainsMacro(System.String,System.Boolean)">
            <summary>
            Determines whether the specified command string contains any of the macro constants.
            </summary>
            <remarks>
            Only macro constants provided by this class are detected, the check is not pattern based.
            </remarks>
            <param name="command">The command string to check for macros.</param>
            <param name="includeBulkMacros">If set to <c>true</c> then <c>MacroDirPath</c> and <c>MacroCount</c> will be included in the detection.</param>
            <returns><c>true</c> if a macros was found; <c>false</c> if no macros were found.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Macros.RemoveMacros(System.String)">
            <summary>
            Removes all instances of any of the macro constants (except for <c>MacroDirPath</c> and <c>MacroCount</c>) from the command string.
            </summary>
            <param name="command">The command string to remove macros from.</param>
            <returns>The new command string with macros removed.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Macros.RemoveMacros(System.String,System.Boolean)">
            <summary>
            Removes all instances of any of the macro constants from the command string.
            </summary>
            <param name="command">The command string to remove macros from.</param>
            <param name="removeBulkOnlyMacros">If set to <c>true</c> then <c>MacroDirPath</c> and <c>MacroCount</c> will also be removed.</param>
            <returns>The new command string with macros removed.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Macros.ReplaceMacro(System.String,System.String,System.String,System.Boolean)">
            <summary>
            Replaces a specific macro with a value.
            </summary>
            <param name="command">The command string to use for replacement.</param>
            <param name="macroToReplace">The macro to replace.</param>
            <param name="replacementValue">The replacement value.</param>
            <param name="wrapSpacesInQuotes">If set to <c>true</c> the macro will automatically be wrapped in quotes if it contains any spaces.</param>
            <returns>The new command string with the macro replaced.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Macros.ReplaceMacros(System.String,System.Boolean,DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Replaces all macros based on the <paramref name="eventDetail"/> object except <c>MacroCount</c>.
            </summary>
            <param name="command">The command string to use for replacement.</param>
            <param name="wrapSpacesInQuotes">If set to <c>true</c> the macros will automatically be wrapped in quotes if it contains any spaces.</param>
            <param name="eventDetail">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance containing the event data.</param>
            <returns>The new command string with the macros replaced.</returns>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.Properties.Resources">
            <summary>
              A strongly-typed resource class, for looking up localized strings, etc.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Properties.Resources.ResourceManager">
            <summary>
              Returns the cached ResourceManager instance used by this class.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Properties.Resources.Culture">
            <summary>
              Overrides the current thread's CurrentUICulture property for all
              resource lookups using this strongly typed resource class.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Properties.Resources.ACCESSED">
            <summary>
              Looks up a localized string similar to Accessed.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Properties.Resources.DELETED">
            <summary>
              Looks up a localized string similar to Deleted.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Properties.Resources.INACTIVE">
            <summary>
              Looks up a localized string similar to Inactive.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Properties.Resources.MODIFIED">
            <summary>
              Looks up a localized string similar to Modified.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Properties.Resources.NEW">
            <summary>
              Looks up a localized string similar to New.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Properties.Resources.NONE">
            <summary>
              Looks up a localized string similar to None.
            </summary>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.Properties.Resources.RENAMED">
            <summary>
              Looks up a localized string similar to Renamed.
            </summary>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.UserInformation">
            <summary>
            Stores information about the user and the process involved when file system changes are detected.
            </summary>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.UserInformation.#ctor(System.String,System.String,System.String,System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:DevEnterprise.Core.Plugin.UserInformation"/> class.
            </summary>
            <param name="userName">The login name of the user.</param>
            <param name="machineName">The machine name the user is logged on to.</param>
            <param name="ipAddress">The IP address of the machine the user is logged on to.</param>
            <param name="processName">The full path of the process that was involved in the change (local changes only).</param>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.UserInformation.UserName">
            <summary>
            Gets the login name of the user.
            </summary>
            <value>
            The login name of the user.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.UserInformation.MachineName">
            <summary>
            Gets the name of the machine the user is logged in to.
            </summary>
            <value>
            The name of the machine.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.UserInformation.IpAddress">
            <summary>
            Gets the IP address of the machine the user is logged in to.
            </summary>
            <value>
            The IP address of the machine.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.UserInformation.ProcessName">
            <summary>
            Gets full path of the process that was involved in the change (local changes only).
            </summary>
            <value>
            The full path of the process.
            </value>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.UserInformation.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <remarks>
            Returns a formatted string that can be used to display the information.
            </remarks>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.HostMessageType">
            <summary>
            Various message types that the host can display to the user.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.HostMessageType.Error">
            <summary>
            An error message.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.HostMessageType.Info">
            <summary>
            An informational message.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.HostMessageType.Warning">
            <summary>
            A warning message.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.HostMessageType.Question">
            <summary>
            A question message with Yes/No buttons.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.HostMessageType.Shield">
            <summary>
            A message pertaining to elevated access requirements.
            </summary>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.Extensions">
            <summary>
            Contains useful extensions to help with plugin development.
            </summary>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Extensions.Replace2(System.String,System.String,System.String,System.StringComparison)">
            <summary>
            Improved replace function that includes a comparison option for case-insensitive replacements.
            </summary>
            <param name="text">The text to replace.</param>
            <param name="oldValue">The old text value that will be replaced with the new value.</param>
            <param name="newValue">The new value that will replace the old value in the given text.</param>
            <param name="comparison">The <see cref="T:System.StringComparison"/> type to use when performing matching for replacements.</param>
            <returns>The new string after replacements have been made.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Extensions.GetDescription(System.Enum)">
            <summary>
            Gets the <see cref="T:System.ComponentModel.DescriptionAttribute"/> text from an <see cref="T:System.Enum"/> value.
            </summary>
            <param name="value">The <see cref="T:System.Enum"/> value.</param>
            <returns>A description of the <see cref="T:System.Enum"/> retrieved from any <see cref="T:System.ComponentModel.DescriptionAttribute"/> applied to it.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Extensions.FromDescription``1(System.String)">
            <summary>
            Gets the <see cref="T:System.Enum"/> value from it's <see cref="T:System.ComponentModel.DescriptionAttribute"/> text.
            </summary>
            <typeparam name="T">The type of <see cref="T:System.Enum"/> to return.</typeparam>
            <param name="description">The <see cref="T:System.ComponentModel.DescriptionAttribute"/> text.</param>
            <returns>An <see cref="T:System.Enum"/> based on the specified type that contains the given description.</returns>
            <exception cref="T:System.InvalidOperationException">The type provided in not of type <see cref="T:System.Enum"/>.</exception>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Extensions.Invoke(System.Windows.Forms.Control,System.Action)">
            <summary>
            Invokes an action on a control (if required) to prevent cross-thread UI errors.
            </summary>
            <param name="control">The control to check.</param>
            <param name="action">The action to invoke if the control is not running on the UI thread.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Extensions.GetSetting``1(System.Collections.Generic.IDictionary{System.String,System.Object},System.String)">
            <summary>
            Helper for getting type-safe settings out of the typical plugin settings object.
            </summary>
            <typeparam name="T">The type you want the setting converted to.</typeparam>
            <param name="settings">The settings dictionary to search.</param>
            <param name="key">The key of the setting you want to get the value for.</param>
            <returns>The value of the setting in the type specified.</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.Extensions.GetSetting``1(System.Collections.Generic.IDictionary{System.String,System.Object},System.String,``0)">
            <summary>
            Helper for getting type-safe settings out of the typical plugin settings object.
            </summary>
            <typeparam name="T">The type you want the setting converted to.</typeparam>
            <param name="settings">The settings dictionary to search.</param>
            <param name="key">The key of the setting you want to get the value for.</param>
            <param name="defaultValue">The default value to return if the setting is not found.</param>
            <returns>The value of the setting in the type specified.</returns>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.MonitoringEventArgs">
            <summary>
            Stores information about an event that occurred on the file system.
            </summary>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> class.
            </summary>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.#ctor(System.Guid)">
            <summary>
            Initializes a new instance of the <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> class.
            </summary>
            <param name="sender">The monitor that created the event.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.#ctor(System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> class.
            </summary>
            <param name="isSyntheticEvent">Specify if this event was created in an event handler or synthetically.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.#ctor(System.Guid,System.Boolean)">
            <summary>
            Initializes a new instance of the <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> class.
            </summary>
            <param name="sender">The monitor that created the event.</param>
            <param name="isSyntheticEvent">Specify if this event was created in an event handler or synthetically.</param>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.Sender">
            <summary>
            The monitor that creates this event must provide it's reference to ensure that duplicates are not incorrectly detected when the same directory is being used.
            </summary>
            <value>
            The monitor reference that created this event.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.DirectoryPath">
            <summary>
            Gets or sets the directory path that was being monitored.
            </summary>
            <value>
            The directory path.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.EventType">
            <summary>
            Gets or sets the single type of the event that occurred.
            </summary>
            <value>
            The type of the event.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.FullPathFast">
            <summary>
            Gets or sets the full path of the file or directory on which the event occurred. The fast version does not set the modified date and file size properties.
            </summary>
            <value>
            The full path.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.FullPath">
            <summary>
            Gets or sets the full path of the file or directory on which the event occurred.
            </summary>
            <value>
            The full path.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.FileName">
            <summary>
            Gets or sets the name of the file (if any) on which the event occurred.
            </summary>
            <value>
            The name of the file.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.MD5Hash">
            <summary>
            Gets the MDS hash of the file that has changed. This will always be and empty string for deleted files or files that cannot be accessed.
            </summary>
            <value>
            The MD5 hash of the file.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.FileSize">
            <summary>
            Gets the size, in bytes, of the file.
            </summary>
            <value>
            The size in bytes.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.ModifiedDate">
            <summary>
            Gets the time the file was last written to.
            </summary>
            <value>
            The time the file was last written to.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.OldFullPath">
            <summary>
            Gets or sets the full path of the old file before a rename event.
            </summary>
            <value>
            The old full path before the rename.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.OldFileName">
            <summary>
            Gets or sets the old name of the file before a rename event.
            </summary>
            <value>
            The old name of the file before the rename.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.User">
            <summary>
            Gets or sets the user and process information when user detection is enabled.
            </summary>
            <value>
            The user information.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.EventTime">
            <summary>
            Gets or sets the time that the event occurred.
            </summary>
            <value>
            The event time.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.Cancel">
            <summary>
            Gets or sets a value indicating whether this event should be ignored.
            </summary>
            <remarks>
            Each plugin has the opportunity to cancel the event based on it's internal rules.
            </remarks>
            <value>
            <c>true</c> if the event should be canceled and ignored; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.IsSyntheticEvent">
            <summary>
            Gets a value indicating whether this instance was generated by a real file system change event or synthetically.
            </summary>
            <remarks>
            This value is used internally to filter out duplicated synthetic events from real ones that get generated at a later stage.
            </remarks>
            <value>
            <c>true</c> if this instance was synthetically generated; otherwise, <c>false</c>.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.IsFile">
            <summary>
            Determine if the path is for a file.
            </summary>
            <value>
            Whether the path points to a file.
            </value>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.MonitoringEventArgs.IsDirectory">
            <summary>
            Determine if the path is for a directory.
            </summary>
            <value>
            Whether the path points to a directory.
            </value>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.Compare(DevEnterprise.Core.Plugin.MonitoringEventArgs,DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Compares two monitoring event objects and returns an integer that indicates whether the left precedes, follows, or occurs in the same position in the sort order as right.
            </summary>
            <param name="left">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance to compare.</param>
            <param name="right">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance to compare.</param>
            <returns>
            A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero <paramref name="right"/> precedes <paramref name="left" /> in the sort order. Zero <paramref name="right"/> instance occurs in the same position in the sort order as <paramref name="left" />. Greater than zero <paramref name="right"/> instance follows <paramref name="left" /> in the sort order.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.op_Equality(DevEnterprise.Core.Plugin.MonitoringEventArgs,DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Determines whether the specified objects are equal.
            </summary>
            <param name="left">The first object of type <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> to compare.</param>
            <param name="right">The second object of type <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> to compare.</param>
            <returns>
            <c>true</c> if the specified objects are equal; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.op_Inequality(DevEnterprise.Core.Plugin.MonitoringEventArgs,DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Determines whether the specified objects are not equal.
            </summary>
            <param name="left">The first object of type <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> to compare.</param>
            <param name="right">The second object of type <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> to compare.</param>
            <returns>
            <c>true</c> if the specified objects are not equal; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.op_LessThan(DevEnterprise.Core.Plugin.MonitoringEventArgs,DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Compares two monitoring event objects and returns an boolean that indicates whether the left precedes the right.
            </summary>
            <param name="left">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance to compare.</param>
            <param name="right">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance to compare.</param>
            <returns>
            <c>true</c> if the left precedes the right.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.op_GreaterThan(DevEnterprise.Core.Plugin.MonitoringEventArgs,DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Compares two monitoring event objects and returns an boolean that indicates whether the left follows right.
            </summary>
            <param name="left">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance containing the event data.</param>
            <param name="right">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance containing the event data.</param>
            <returns>
            <c>true</c> if the left follows right.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.GetUniqueCode">
            <summary>
            Gets a genuinely unique code for this instance which includes the instance which created it.
            </summary>
            <returns>Unique hash code of the object as well as the instance that created it (if any).</returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.ToString">
            <summary>
            Returns a <see cref="T:System.String" /> that represents this instance.
            </summary>
            <returns>
            A <see cref="T:System.String" /> that represents this instance.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.Equals(System.Object)">
            <summary>
            Determines whether the specified <see cref="T:System.Object"/>, is equal to this instance.
            </summary>
            <param name="obj">The <see cref="T:System.Object" /> to compare with this instance.</param>
            <returns>
              <c>true</c> if the specified <see cref="T:System.Object" /> is equal to this instance; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.GetHashCode">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.GetSchema">
            <summary>
            This method is reserved and should not be used. When implementing the IXmlSerializable interface, you should return null (Nothing in Visual Basic) from this method, and instead, if specifying a custom schema is required, apply the <see cref="T:System.Xml.Serialization.XmlSchemaProviderAttribute" /> to the class.
            </summary>
            <returns>
            An <see cref="T:System.Xml.Schema.XmlSchema" /> that describes the XML representation of the object that is produced by the <see cref="M:System.Xml.Serialization.IXmlSerializable.WriteXml(System.Xml.XmlWriter)" /> method and consumed by the <see cref="M:System.Xml.Serialization.IXmlSerializable.ReadXml(System.Xml.XmlReader)" /> method.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.ReadXml(System.Xml.XmlReader)">
            <summary>
            Generates an object from its XML representation.
            </summary>
            <param name="reader">The <see cref="T:System.Xml.XmlReader" /> stream from which the object is deserialized.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.WriteXml(System.Xml.XmlWriter)">
            <summary>
            Converts an object into its XML representation.
            </summary>
            <param name="writer">The <see cref="T:System.Xml.XmlWriter" /> stream to which the object is serialized.</param>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.Equals(DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Indicates whether the current object is equal to another object of the same type.
            </summary>
            <param name="other">An object to compare with this object.</param>
            <returns>
            true if the current object is equal to the <paramref name="other" /> parameter; otherwise, false.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.Equals(DevEnterprise.Core.Plugin.MonitoringEventArgs,DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Determines whether the specified objects are equal.
            </summary>
            <param name="x">The first object of type <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> to compare.</param>
            <param name="y">The second object of type <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> to compare.</param>
            <returns>
            <c>true</c> if the specified objects are equal; otherwise, <c>false</c>.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.GetHashCode(DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Returns a hash code for this instance.
            </summary>
            <param name="obj">The <see cref="T:DevEnterprise.Core.Plugin.MonitoringEventArgs"/> instance containing the event data.</param>
            <returns>
            A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. 
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.CompareTo(System.Object)">
            <summary>
            Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
            </summary>
            <param name="obj">An object to compare with this instance.</param>
            <returns>
            A value that indicates the relative order of the objects being compared. The return value has these meanings: Value Meaning Less than zero This instance precedes <paramref name="obj" /> in the sort order. Zero This instance occurs in the same position in the sort order as <paramref name="obj" />. Greater than zero This instance follows <paramref name="obj" /> in the sort order.
            </returns>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.MonitoringEventArgs.CompareTo(DevEnterprise.Core.Plugin.MonitoringEventArgs)">
            <summary>
            Compares the current object with another object of the same type.
            </summary>
            <param name="other">An object to compare with this object.</param>
            <returns>
            A value that indicates the relative order of the objects being compared. The return value has the following meanings: Value Meaning Less than zero This object is less than the <paramref name="other" /> parameter.Zero This object is equal to <paramref name="other" />. Greater than zero This object is greater than <paramref name="other" />.
            </returns>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.MonitoringEventTypes">
            <summary>
            Monitoring events that can occur on the file system.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.MonitoringEventTypes.None">
            <summary>
            No events, effectively disables monitoring.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.MonitoringEventTypes.NewFile">
            <summary>
            A new file was created by the user.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.MonitoringEventTypes.Modified">
            <summary>
            A file or directory was modified (security descriptors and/or attributes included) by the user.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.MonitoringEventTypes.Deleted">
            <summary>
            A file or directory was deleted by the user.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.MonitoringEventTypes.Renamed">
            <summary>
            A file or directory was renamed by the user.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.MonitoringEventTypes.Accessed">
            <summary>
            An file or directory has been accessed by the user.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.MonitoringEventTypes.SystemNewFile">
            <summary>
            A new file was created by the system.
            </summary>
        </member>
        <member name="F:DevEnterprise.Core.Plugin.MonitoringEventTypes.Inactive">
            <summary>
            A new file was created by the system.
            </summary>
        </member>
        <member name="T:DevEnterprise.Core.Plugin.PluginErrorEventArgs">
            <summary>
            Error information arguments passed into plugin error event that a host would listen to.
            </summary>
        </member>
        <member name="M:DevEnterprise.Core.Plugin.PluginErrorEventArgs.#ctor(System.Exception)">
            <summary>
            Initializes a new instance of the <see cref="T:DevEnterprise.Core.Plugin.PluginErrorEventArgs"/> class.
            </summary>
            <param name="ex">The exception that occurred during plugin processing.</param>
        </member>
        <member name="P:DevEnterprise.Core.Plugin.PluginErrorEventArgs.Error">
            <summary>
            Gets the exception information that occurred during plugin processing.
            </summary>
            <value>
            The exception from the plugin.
            </value>
        </member>
    </members>
</doc>
