From 1399ff15f2786a69027f17633247de1e5da0923c Mon Sep 17 00:00:00 2001 From: "kay.one" Date: Mon, 30 May 2011 00:33:07 -0700 Subject: [PATCH] moved all libraries out of NzbDrone.Core\Libraries to the root of the solution --- Libraries/NLog.Extended.dll | Bin 14336 -> 0 bytes Libraries/NLog.Extended.xml | 432 - NzbDrone.Core.Test/NzbDrone.Core.Test.csproj | 17 +- NzbDrone.Core/Libraries/Castle.Core.dll | Bin 286208 -> 0 bytes NzbDrone.Core/Libraries/Castle.Core.xml | 4937 ------ .../Exceptioneer.WindowsFormsClient.dll | Bin 42496 -> 0 bytes NzbDrone.Core/Libraries/NLog.Extended.dll | Bin 14336 -> 0 bytes NzbDrone.Core/Libraries/NLog.Extended.xml | 432 - NzbDrone.Core/Libraries/NLog.dll | Bin 368640 -> 0 bytes NzbDrone.Core/Libraries/NLog.xml | 14031 ---------------- NzbDrone.Core/Libraries/SQLite.Interop.dll | Bin 622080 -> 0 bytes NzbDrone.Core/Libraries/SubSonic.Core.XML | 4624 ----- NzbDrone.Core/Libraries/SubSonic.Core.dll | Bin 310272 -> 0 bytes .../Libraries/System.Data.SQLite.dll | Bin 165376 -> 0 bytes NzbDrone.Core/Libraries/TvdbLib.XML | 8152 --------- NzbDrone.Core/Libraries/TvdbLib.dll | Bin 206848 -> 0 bytes NzbDrone.Core/Libraries/nlog.xsd | 1868 -- NzbDrone.Core/NzbDrone.Core.csproj | 18 +- NzbDrone.Web/NzbDrone.Web.csproj | 10 +- NzbDrone/NzbDrone.csproj | 6 +- 20 files changed, 28 insertions(+), 34499 deletions(-) delete mode 100644 Libraries/NLog.Extended.dll delete mode 100644 Libraries/NLog.Extended.xml delete mode 100644 NzbDrone.Core/Libraries/Castle.Core.dll delete mode 100644 NzbDrone.Core/Libraries/Castle.Core.xml delete mode 100644 NzbDrone.Core/Libraries/Exceptioneer.WindowsFormsClient.dll delete mode 100644 NzbDrone.Core/Libraries/NLog.Extended.dll delete mode 100644 NzbDrone.Core/Libraries/NLog.Extended.xml delete mode 100644 NzbDrone.Core/Libraries/NLog.dll delete mode 100644 NzbDrone.Core/Libraries/NLog.xml delete mode 100644 NzbDrone.Core/Libraries/SQLite.Interop.dll delete mode 100644 NzbDrone.Core/Libraries/SubSonic.Core.XML delete mode 100644 NzbDrone.Core/Libraries/SubSonic.Core.dll delete mode 100644 NzbDrone.Core/Libraries/System.Data.SQLite.dll delete mode 100644 NzbDrone.Core/Libraries/TvdbLib.XML delete mode 100644 NzbDrone.Core/Libraries/TvdbLib.dll delete mode 100644 NzbDrone.Core/Libraries/nlog.xsd diff --git a/Libraries/NLog.Extended.dll b/Libraries/NLog.Extended.dll deleted file mode 100644 index 762a6a99233cb41e3894de6db86945d4a6a482db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14336 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 H7lHo;oOu#h diff --git a/Libraries/NLog.Extended.xml b/Libraries/NLog.Extended.xml deleted file mode 100644 index 3838cfbe7..000000000 --- a/Libraries/NLog.Extended.xml +++ /dev/null @@ -1,432 +0,0 @@ - - - - NLog.Extended - - - - - ASP.NET Application variable. - - - Use this layout renderer to insert the value of the specified variable stored - in the ASP.NET Application dictionary. - - - You can set the value of an ASP.NET Application variable by using the following code: - - - - Example usage of ${aspnet-application}: - - ${aspnet-application:variable=myvariable} - produces "123" - ${aspnet-application:variable=anothervariable} - produces "01/01/2006 00:00:00" - ${aspnet-application:variable=anothervariable:culture=pl-PL} - produces "2006-01-01 00:00:00" - ${aspnet-application:variable=myvariable:padding=5} - produces " 123" - ${aspnet-application:variable=myvariable:padding=-5} - produces "123 " - ${aspnet-application:variable=stringvariable:upperCase=true} - produces "AAA BBB" - - - - - - Renders the specified ASP.NET Application variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the variable name. - - - - - - ASP.NET Request variable. - - - Use this layout renderer to insert the value of the specified parameter of the - ASP.NET Request object. - - - Example usage of ${aspnet-request}: - - ${aspnet-request:item=v} - ${aspnet-request:querystring=v} - ${aspnet-request:form=v} - ${aspnet-request:cookie=v} - ${aspnet-request:serverVariable=v} - - - - - - Renders the specified ASP.NET Request variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the item name. The QueryString, Form, Cookies, or ServerVariables collection variables having the specified name are rendered. - - - - - - Gets or sets the QueryString variable to be rendered. - - - - - - Gets or sets the form variable to be rendered. - - - - - - Gets or sets the cookie to be rendered. - - - - - - Gets or sets the ServerVariables item to be rendered. - - - - - - ASP.NET Session ID. - - - - - Renders the ASP.NET Session ID appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - ASP.NET Session variable. - - - Use this layout renderer to insert the value of the specified variable stored - in the ASP.NET Session dictionary. - - - You can set the value of an ASP.NET Session variable by using the following code: - - - - Example usage of ${aspnet-session}: - - ${aspnet-session:variable=myvariable} - produces "123" - ${aspnet-session:variable=anothervariable} - produces "01/01/2006 00:00:00" - ${aspnet-session:variable=anothervariable:culture=pl-PL} - produces "2006-01-01 00:00:00" - ${aspnet-session:variable=myvariable:padding=5} - produces " 123" - ${aspnet-session:variable=myvariable:padding=-5} - produces "123 " - ${aspnet-session:variable=stringvariable:upperCase=true} - produces "AAA BBB" - - - - - - Renders the specified ASP.NET Session value and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the session variable name. - - - - - - ASP.NET User variable. - - - - - Renders the specified ASP.NET User.Identity.AuthenticationType variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - ASP.NET User variable. - - - - - Renders the specified ASP.NET User.Identity.Name variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Writes log messages to the ASP.NET trace. - - Documentation on NLog Wiki - - Log entries can then be viewed by navigating to http://server/path/Trace.axd. - - - - - Writes the specified logging event to the ASP.NET Trace facility. - If the log level is greater than or equal to it uses the - method, otherwise it uses - method. - - The logging event. - - - - Writes log message to the specified message queue handled by MSMQ. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- You can use a single target to write to multiple queues (similar to writing to multiple files with the File target). -

- -

- The above examples assume just one target and a single rule. - More configuration options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
-
- - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Writes the specified logging event to a queue specified in the Queue - parameter. - - The logging event. - - - - Prepares a message to be sent to the message queue. - - The log event to be used when calculating label and text to be written. - The message to be sent. - - You may override this method in inheriting classes - to provide services like encryption or message - authentication. - - - - - Gets or sets the name of the queue to write to. - - - To write to a private queue on a local machine use .\private$\QueueName. - For other available queue names, consult MSMQ documentation. - - - - - - Gets or sets the label to associate with each message. - - - By default no label is associated. - - - - - - Gets or sets a value indicating whether to create the queue if it doesn't exists. - - - - - - Gets or sets a value indicating whether to use recoverable messages (with guaranteed delivery). - - - - - - Gets or sets the encoding to be used when writing text to the queue. - - - - - - Gets or sets a value indicating whether to use the XML format when serializing message. - - - - - - Buffers log events for the duration of ASP.NET request and sends them down - to the wrapped target at the end of a request. - - Documentation on NLog Wiki - -

- Typically this target is used in cooperation with PostFilteringTargetWrapper - to provide verbose logging for failing requests and normal or no logging for - successful requests. We need to make the decision of the final filtering rule - to apply after all logs for a page have been generated. -

-

- To use this target, you need to add an entry in the httpModules section of - web.config: -

- - - - - - - - - - ]]> - -
- -

To set up the ASP.NET Buffering target wrapper configuration file, put - the following in web.nlog file in your web application directory (this assumes - that PostFilteringWrapper is used to provide the filtering and actual logs go to - a file). -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To configure the target programmatically, put the following - piece of code in your Application_OnStart() handler in Global.asax.cs - or some other place that gets executed at the very beginning of your code: -

- -

- Fully working C# project can be found in the Examples/Targets/Configuration API/ASPNetBufferingWrapper - directory along with usage instructions. -

-
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - Size of the buffer. - - - - Initializes the target by hooking up the NLogHttpModule BeginRequest and EndRequest events. - - - - - Closes the target by flushing pending events in the buffer (if any). - - - - - Adds the specified log event to the buffer. - - The log event. - - - - Gets or sets the number of log events to be buffered. - - - - - - Gets or sets a value indicating whether buffer should grow as needed. - - A value of true if buffer should grow as needed; otherwise, false. - - Value of true causes the buffer to expand until is hit, - false causes the buffer to never expand and lose the earliest entries in case of overflow. - - - - - - Gets or sets the maximum number of log events that the buffer can keep. - - - - - - ASP.NET HttpModule that enables NLog to hook BeginRequest and EndRequest events easily. - - - - - Initializes the HttpModule. - - - ASP.NET application. - - - - - Disposes the module. - - - - - Event to be raised at the end of each HTTP Request. - - - - - Event to be raised at the beginning of each HTTP Request. - - -
-
diff --git a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj index 01828069e..9b38e1ca4 100644 --- a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj +++ b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj @@ -65,23 +65,24 @@ ..\packages\Ninject.2.2.1.0\lib\.NetFramework 4.0\Ninject.dll - - ..\NzbDrone.Core\Libraries\NLog.dll + + False + ..\Libraries\NLog.dll False - ..\NzbDrone.Core\Libraries\SubSonic.Core.dll + ..\Libraries\SubSonic.Core.dll - - False - Libs\System.Data.SQLite.DLL + + ..\Libraries\System.Data.SQLite.dll - - ..\NzbDrone.Core\Libraries\TvdbLib.dll + + False + ..\Libraries\TvdbLib.dll diff --git a/NzbDrone.Core/Libraries/Castle.Core.dll b/NzbDrone.Core/Libraries/Castle.Core.dll deleted file mode 100644 index 34c155ab46040c36780ff5aa388d574d26937227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286208 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

)`IG98sBl!a?Fp{Sjz51z%_^i=x$ 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

MFEr)Y{H@6`>xzuw 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 I{~ZMWH%m)Wr~m)} diff --git a/NzbDrone.Core/Libraries/Castle.Core.xml b/NzbDrone.Core/Libraries/Castle.Core.xml deleted file mode 100644 index d3d950979..000000000 --- a/NzbDrone.Core/Libraries/Castle.Core.xml +++ /dev/null @@ -1,4937 +0,0 @@ - - - - Castle.Core - - - -

- Assignes a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-feteched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Suppress property change notifications. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the xpath navigable. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the xpath navigable. - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The property behaviors. - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Adds the key builder. - - The builder. - - - - Adds the key builders. - - The builders. - - - - Copies the key builders to the other - - - - - - - Copies the selected key builders to the other - - - - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Adds the dictionary getter. - - The getter. - - - - Adds the dictionary getters. - - The getters. - - - - Copies the property getters to the other - - - - - - - Copies the selected property getters to the other - - - - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds the dictionary setter. - - The setter. - - - - Adds the dictionary setters. - - The setters. - - - - Copies the property setters to the other - - - - - - - Copies the selected property setters to the other - - - - - - - - Adds the behaviors. - - - - - - - Adds the behaviors. - - - - - - - Copies the behaviors to the other - - - - - - - Copies the behaviors to the other - - - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Adds the dictionary initializers. - - The initializers. - - - - Adds the dictionary initializers. - - The initializers. - - - - Copies the initializers to the other - - - - - - - Copies the filtered initializers to the other - - - - - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Copies the meta-initializers to the other - - - - - - - Copies the filtered meta-initializers to the other - - - - - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Contract for dictionary meta-data initialization. - - - - - Performs any initialization of the dictionary adapter meta-data. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Adapts the specified name values. - - The name values. - - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Helper class for retrieving attributes. - - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the attributes. - - The member. - The member attributes. - - - - Gets the type converter. - - The member. - - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Encapsulates an invocation of a proxied method. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the , with any generic - parameters bound to real types. - - - The concrete instantiation of the , or the if - not a generic method. - - Can be slower than calling . - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - - The concrete instantiation of , or - if not a generic method. - Can be slower than calling . - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the representing the method being invoked. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Interface describing elements composing generated type - - - - - Checks if the method is public or protected. - - - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , using provided. - - The class type to proxy. - The proxy generation options. - The generated proxy type. - Thrown when is a generic type definition. - Thrown when is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - - - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - - - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducable behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order - to avoid the performance hit associated with proxy generation. - - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - This is useful for test cases. - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application - might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy - types. This instance can be reset and set to a specific value via and . - - - - Holds objects representing methods of class. - - - - - Holds objects representing methods of class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - The WebLogger sends everything to the HttpContext.Trace - - - Trace must be enabled on the Asp.Net configuration file (web.config or machine.config) - - - - - Creates a new WebLogger with the priority set to DEBUG. - - - - - Creates a new WebLogger. - - The Log level typecode. - - - - Creates a new WebLogger. - - The Log name. - - - - Creates a new WebLogger. - - The Log name. - The Log level typecode. - - - - A Common method to log. - - The level of logging - The Log name. - The Message - The Exception - - - - Just returns this logger (WebLogger is not hierarchical). - - Ignored - This ILogger instance. - - - - Tries to get the current http context's trace context. - - The current http context's trace context or null if none is - available - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Pendent - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - If a config value is an empty string we return null, this is to keep - backward compability with old code - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identificator is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Email sender abstraction. - - - - - Sends a mail message. - - From field - To field - E-mail's subject - message's body - - - - Sends a message. - - Message instance - - - - Sends multiple messages. - - List of messages - - - - Default implementation. - - - - - Initializes a new instance of the class based on the configuration provided in the application configuration file. - - - This constructor is based on the default configuration in the application configuration file. - - - - - This service implementation - requires a host name in order to work - - The smtp server name - - - - Sends a message. - - If any of the parameters is null - From field - To field - e-mail's subject - message's body - - - - Sends a message. - - If the message is null - Message instance - - - - Configures the sender - with port information and eventual credential - informed - - Message instance - - - - Gets or sets the port used to - access the SMTP server - - - - - Gets the hostname. - - The hostname. - - - - Gets or sets a value which is used to - configure if emails are going to be sent asyncrhonously or not. - - - - - Gets or sets a value that specifies - the amount of time after which a synchronous Send call times out. - - - - - Gets or sets a value indicating whether the email should be sent using - a secure communication channel. - - true if should use SSL; otherwise, false. - - - - Gets or sets the domain. - - The domain. - - - - Gets or sets the name of the user. - - The name of the user. - - - - Gets or sets the password. - - The password. - - - - Gets a value indicating whether credentials were informed. - - - if this instance has credentials; otherwise, . - - - - diff --git a/NzbDrone.Core/Libraries/Exceptioneer.WindowsFormsClient.dll b/NzbDrone.Core/Libraries/Exceptioneer.WindowsFormsClient.dll deleted file mode 100644 index c3c9bde07b3d02a397029bba088de2c80e76ae60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42496 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 H7lHo;oOu#h diff --git a/NzbDrone.Core/Libraries/NLog.Extended.xml b/NzbDrone.Core/Libraries/NLog.Extended.xml deleted file mode 100644 index 3838cfbe7..000000000 --- a/NzbDrone.Core/Libraries/NLog.Extended.xml +++ /dev/null @@ -1,432 +0,0 @@ - - - - NLog.Extended - - - - - ASP.NET Application variable. - - - Use this layout renderer to insert the value of the specified variable stored - in the ASP.NET Application dictionary. - - - You can set the value of an ASP.NET Application variable by using the following code: - - - - Example usage of ${aspnet-application}: - - ${aspnet-application:variable=myvariable} - produces "123" - ${aspnet-application:variable=anothervariable} - produces "01/01/2006 00:00:00" - ${aspnet-application:variable=anothervariable:culture=pl-PL} - produces "2006-01-01 00:00:00" - ${aspnet-application:variable=myvariable:padding=5} - produces " 123" - ${aspnet-application:variable=myvariable:padding=-5} - produces "123 " - ${aspnet-application:variable=stringvariable:upperCase=true} - produces "AAA BBB" - - - - - - Renders the specified ASP.NET Application variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the variable name. - - - - - - ASP.NET Request variable. - - - Use this layout renderer to insert the value of the specified parameter of the - ASP.NET Request object. - - - Example usage of ${aspnet-request}: - - ${aspnet-request:item=v} - ${aspnet-request:querystring=v} - ${aspnet-request:form=v} - ${aspnet-request:cookie=v} - ${aspnet-request:serverVariable=v} - - - - - - Renders the specified ASP.NET Request variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the item name. The QueryString, Form, Cookies, or ServerVariables collection variables having the specified name are rendered. - - - - - - Gets or sets the QueryString variable to be rendered. - - - - - - Gets or sets the form variable to be rendered. - - - - - - Gets or sets the cookie to be rendered. - - - - - - Gets or sets the ServerVariables item to be rendered. - - - - - - ASP.NET Session ID. - - - - - Renders the ASP.NET Session ID appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - ASP.NET Session variable. - - - Use this layout renderer to insert the value of the specified variable stored - in the ASP.NET Session dictionary. - - - You can set the value of an ASP.NET Session variable by using the following code: - - - - Example usage of ${aspnet-session}: - - ${aspnet-session:variable=myvariable} - produces "123" - ${aspnet-session:variable=anothervariable} - produces "01/01/2006 00:00:00" - ${aspnet-session:variable=anothervariable:culture=pl-PL} - produces "2006-01-01 00:00:00" - ${aspnet-session:variable=myvariable:padding=5} - produces " 123" - ${aspnet-session:variable=myvariable:padding=-5} - produces "123 " - ${aspnet-session:variable=stringvariable:upperCase=true} - produces "AAA BBB" - - - - - - Renders the specified ASP.NET Session value and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the session variable name. - - - - - - ASP.NET User variable. - - - - - Renders the specified ASP.NET User.Identity.AuthenticationType variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - ASP.NET User variable. - - - - - Renders the specified ASP.NET User.Identity.Name variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Writes log messages to the ASP.NET trace. - - Documentation on NLog Wiki - - Log entries can then be viewed by navigating to http://server/path/Trace.axd. - - - - - Writes the specified logging event to the ASP.NET Trace facility. - If the log level is greater than or equal to it uses the - method, otherwise it uses - method. - - The logging event. - - - - Writes log message to the specified message queue handled by MSMQ. - - Documentation on NLog Wiki - - - -

- You can use a single target to write to multiple queues (similar to writing to multiple files with the File target). -

- -

- The above examples assume just one target and a single rule. - More configuration options are described here. -

-

- To set up the log target programmatically use code like this: -

- - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Writes the specified logging event to a queue specified in the Queue - parameter. - - The logging event. - - - - Prepares a message to be sent to the message queue. - - The log event to be used when calculating label and text to be written. - The message to be sent. - - You may override this method in inheriting classes - to provide services like encryption or message - authentication. - - - - - Gets or sets the name of the queue to write to. - - - To write to a private queue on a local machine use .\private$\QueueName. - For other available queue names, consult MSMQ documentation. - - - - - - Gets or sets the label to associate with each message. - - - By default no label is associated. - - - - - - Gets or sets a value indicating whether to create the queue if it doesn't exists. - - - - - - Gets or sets a value indicating whether to use recoverable messages (with guaranteed delivery). - - - - - - Gets or sets the encoding to be used when writing text to the queue. - - - - - - Gets or sets a value indicating whether to use the XML format when serializing message. - - - - - - Buffers log events for the duration of ASP.NET request and sends them down - to the wrapped target at the end of a request. - - Documentation on NLog Wiki - -

- Typically this target is used in cooperation with PostFilteringTargetWrapper - to provide verbose logging for failing requests and normal or no logging for - successful requests. We need to make the decision of the final filtering rule - to apply after all logs for a page have been generated. -

-

- To use this target, you need to add an entry in the httpModules section of - web.config: -

- - - - - - - - - - ]]> - -
- -

To set up the ASP.NET Buffering target wrapper configuration file, put - the following in web.nlog file in your web application directory (this assumes - that PostFilteringWrapper is used to provide the filtering and actual logs go to - a file). -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To configure the target programmatically, put the following - piece of code in your Application_OnStart() handler in Global.asax.cs - or some other place that gets executed at the very beginning of your code: -

- -

- Fully working C# project can be found in the Examples/Targets/Configuration API/ASPNetBufferingWrapper - directory along with usage instructions. -

-
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - Size of the buffer. - - - - Initializes the target by hooking up the NLogHttpModule BeginRequest and EndRequest events. - - - - - Closes the target by flushing pending events in the buffer (if any). - - - - - Adds the specified log event to the buffer. - - The log event. - - - - Gets or sets the number of log events to be buffered. - - - - - - Gets or sets a value indicating whether buffer should grow as needed. - - A value of true if buffer should grow as needed; otherwise, false. - - Value of true causes the buffer to expand until is hit, - false causes the buffer to never expand and lose the earliest entries in case of overflow. - - - - - - Gets or sets the maximum number of log events that the buffer can keep. - - - - - - ASP.NET HttpModule that enables NLog to hook BeginRequest and EndRequest events easily. - - - - - Initializes the HttpModule. - - - ASP.NET application. - - - - - Disposes the module. - - - - - Event to be raised at the end of each HTTP Request. - - - - - Event to be raised at the beginning of each HTTP Request. - - - - diff --git a/NzbDrone.Core/Libraries/NLog.dll b/NzbDrone.Core/Libraries/NLog.dll deleted file mode 100644 index 8a27b27f388e3879c8fae6249668de3815a0a509..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368640 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

>gAP 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 diff --git a/NzbDrone.Core/Libraries/NLog.xml b/NzbDrone.Core/Libraries/NLog.xml deleted file mode 100644 index cd0c12c15..000000000 --- a/NzbDrone.Core/Libraries/NLog.xml +++ /dev/null @@ -1,14031 +0,0 @@ - - - - NLog - - - -

- NLog COM Interop logger implementation. - - - - - NLog COM Interop logger interface. - - - - - Writes the diagnostic message at the specified level. - - The log level. - A to be written. - - - - Writes the diagnostic message at the Trace level. - - A to be written. - - - - Writes the diagnostic message at the Debug level. - - A to be written. - - - - Writes the diagnostic message at the Info level. - - A to be written. - - - - Writes the diagnostic message at the Warn level. - - A to be written. - - - - Writes the diagnostic message at the Error level. - - A to be written. - - - - Writes the diagnostic message at the Fatal level. - - A to be written. - - - - Checks if the specified log level is enabled. - - The log level. - A value indicating whether the specified log level is enabled. - - - - Gets a value indicating whether the Trace level is enabled. - - - - - Gets a value indicating whether the Debug level is enabled. - - - - - Gets a value indicating whether the Info level is enabled. - - - - - Gets a value indicating whether the Warn level is enabled. - - - - - Gets a value indicating whether the Error level is enabled. - - - - - Gets a value indicating whether the Fatal level is enabled. - - - - - Gets or sets the logger name. - - - - - Writes the diagnostic message at the specified level. - - The log level. - A to be written. - - - - Writes the diagnostic message at the Trace level. - - A to be written. - - - - Writes the diagnostic message at the Debug level. - - A to be written. - - - - Writes the diagnostic message at the Info level. - - A to be written. - - - - Writes the diagnostic message at the Warn level. - - A to be written. - - - - Writes the diagnostic message at the Error level. - - A to be written. - - - - Writes the diagnostic message at the Fatal level. - - A to be written. - - - - Checks if the specified log level is enabled. - - The log level. - - A value indicating whether the specified log level is enabled. - - - - - Gets a value indicating whether the Trace level is enabled. - - - - - - Gets a value indicating whether the Debug level is enabled. - - - - - - Gets a value indicating whether the Info level is enabled. - - - - - - Gets a value indicating whether the Warn level is enabled. - - - - - - Gets a value indicating whether the Error level is enabled. - - - - - - Gets a value indicating whether the Fatal level is enabled. - - - - - - Gets or sets the logger name. - - - - - - NLog COM Interop LogManager implementation. - - - - - NLog COM Interop LogManager interface. - - - - - Loads NLog configuration from the specified file. - - The name of the file to load NLog configuration from. - - - - Creates the specified logger object and assigns a LoggerName to it. - - Logger name. - The new logger instance. - - - - Gets or sets a value indicating whether internal messages should be written to the console. - - - - - Gets or sets the name of the internal log file. - - - - - Gets or sets the name of the internal log level. - - - - - Creates the specified logger object and assigns a LoggerName to it. - - The name of the logger. - The new logger instance. - - - - Loads NLog configuration from the specified file. - - The name of the file to load NLog configuration from. - - - - Gets or sets a value indicating whether to log internal messages to the console. - - - A value of true if internal messages should be logged to the console; otherwise, false. - - - - - Gets or sets the name of the internal log level. - - - - - - Gets or sets the name of the internal log file. - - - - - - Asynchronous continuation delegate - function invoked at the end of asynchronous - processing. - - Exception during asynchronous processing or null if no exception - was thrown. - - - - Helpers for asynchronous operations. - - - - - Iterates over all items in the given collection and runs the specified action - in sequence (each action executes only after the preceding one has completed without an error). - - Type of each item. - The items to iterate. - The asynchronous continuation to invoke once all items - have been iterated. - The action to invoke for each item. - - - - Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end. - - The repeat count. - The asynchronous continuation to invoke at the end. - The action to invoke. - - - - Modifies the continuation by pre-pending given action to execute just before it. - - The async continuation. - The action to pre-pend. - Continuation which will execute the given action before forwarding to the actual continuation. - - - - Attaches a timeout to a continuation which will invoke the continuation when the specified - timeout has elapsed. - - The asynchronous continuation. - The timeout. - Wrapped continuation. - - - - Iterates over all items in the given collection and runs the specified action - in parallel (each action executes on a thread from thread pool). - - Type of each item. - The items to iterate. - The asynchronous continuation to invoke once all items - have been iterated. - The action to invoke for each item. - - - - Runs the specified asynchronous action synchronously (blocks until the continuation has - been invoked). - - The action. - - Using this method is not recommended because it will block the calling thread. - - - - - Wraps the continuation with a guard which will only make sure that the continuation function - is invoked only once. - - The asynchronous continuation. - Wrapped asynchronous continuation. - - - - Gets the combined exception from all exceptions in the list. - - The exceptions. - Combined exception or null if no exception was thrown. - - - - Asynchronous action. - - Continuation to be invoked at the end of action. - - - - Asynchronous action with one argument. - - Type of the argument. - Argument to the action. - Continuation to be invoked at the end of action. - - - - Represents the logging event with asynchronous continuation. - - - - - Initializes a new instance of the struct. - - The log event. - The continuation. - - - - Implements the operator ==. - - The event info1. - The event info2. - The result of the operator. - - - - Implements the operator ==. - - The event info1. - The event info2. - The result of the operator. - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - A value of true if the specified is equal to this instance; otherwise, false. - - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Gets the log event. - - - - - Gets the continuation. - - - - - NLog internal logger. - - - - - Initializes static members of the InternalLogger class. - - - - - Logs the specified message at the specified level. - - Log level. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the specified level. - - Log level. - Log message. - - - - Logs the specified message at the Trace level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Trace level. - - Log message. - - - - Logs the specified message at the Debug level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Debug level. - - Log message. - - - - Logs the specified message at the Info level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Info level. - - Log message. - - - - Logs the specified message at the Warn level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Warn level. - - Log message. - - - - Logs the specified message at the Error level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Error level. - - Log message. - - - - Logs the specified message at the Fatal level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Fatal level. - - Log message. - - - - Gets or sets the internal log level. - - - - - Gets or sets a value indicating whether internal messages should be written to the console output stream. - - - - - Gets or sets a value indicating whether internal messages should be written to the console error stream. - - - - - Gets or sets the name of the internal log file. - - A value of value disables internal logging to a file. - - - - Gets or sets the text writer that will receive internal logs. - - - - - Gets or sets a value indicating whether timestamp should be included in internal log output. - - - - - Gets a value indicating whether internal log includes Trace messages. - - - - - Gets a value indicating whether internal log includes Debug messages. - - - - - Gets a value indicating whether internal log includes Info messages. - - - - - Gets a value indicating whether internal log includes Warn messages. - - - - - Gets a value indicating whether internal log includes Error messages. - - - - - Gets a value indicating whether internal log includes Fatal messages. - - - - - A cyclic buffer of object. - - - - - Initializes a new instance of the class. - - Buffer size. - Whether buffer should grow as it becomes full. - The maximum number of items that the buffer can grow to. - - - - Adds the specified log event to the buffer. - - Log event. - The number of items in the buffer. - - - - Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation. - - Events in the buffer. - - - - Gets the number of items in the array. - - - - - Condition and expression. - - - - - Base class for representing nodes in condition expression trees. - - - - - Converts condition text to a condition expression tree. - - Condition text to be converted. - Condition expression tree. - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Initializes a new instance of the class. - - Left hand side of the AND expression. - Right hand side of the AND expression. - - - - Returns a string representation of this expression. - - A concatenated '(Left) and (Right)' string. - - - - Evaluates the expression by evaluating and recursively. - - Evaluation context. - The value of the conjunction operator. - - - - Gets the left hand side of the AND expression. - - - - - Gets the right hand side of the AND expression. - - - - - Exception during evaluation of condition expression. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - The parameter is null. - - - The class name is null or is zero (0). - - - - - Condition layout expression (represented by a string literal - with embedded ${}). - - - - - Initializes a new instance of the class. - - The layout. - - - - Returns a string representation of this expression. - - String literal in single quotes. - - - - Evaluates the expression by calculating the value - of the layout in the specified evaluation context. - - Evaluation context. - The value of the layout. - - - - Gets the layout. - - The layout. - - - - Condition level expression (represented by the level keyword). - - - - - Returns a string representation of the expression. - - The 'level' string. - - - - Evaluates to the current log level. - - Evaluation context. Ignored. - The object representing current log level. - - - - Condition literal expression (numeric, LogLevel.XXX, true or false). - - - - - Initializes a new instance of the class. - - Literal value. - - - - Returns a string representation of the expression. - - The literal value. - - - - Evaluates the expression. - - Evaluation context. - The literal value as passed in the constructor. - - - - Gets the literal value. - - The literal value. - - - - Condition logger name expression (represented by the logger keyword). - - - - - Returns a string representation of this expression. - - A logger string. - - - - Evaluates to the logger name. - - Evaluation context. - The logger name. - - - - Condition message expression (represented by the message keyword). - - - - - Returns a string representation of this expression. - - The 'message' string. - - - - Evaluates to the logger message. - - Evaluation context. - The logger message. - - - - Marks class as a log event Condition and assigns a name to it. - - - - - Attaches a simple name to an item (such as , - , , etc.). - - - - - Initializes a new instance of the class. - - The name of the item. - - - - Gets the name of the item. - - The name of the item. - - - - Initializes a new instance of the class. - - Condition method name. - - - - Condition method invocation expression (represented by method(p1,p2,p3) syntax). - - - - - Initializes a new instance of the class. - - Name of the condition method. - of the condition method. - The method parameters. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Gets the method info. - - - - - Gets the method parameters. - - The method parameters. - - - - A bunch of utility methods (mostly predicates) which can be used in - condition expressions. Parially inspired by XPath 1.0. - - - - - Compares two values for equality. - - The first value. - The second value. - true when two objects are equal, false otherwise. - - - - Gets or sets a value indicating whether the second string is a substring of the first one. - - The first string. - The second string. - true when the second string is a substring of the first string, false otherwise. - - - - Gets or sets a value indicating whether the second string is a prefix of the first one. - - The first string. - The second string. - true when the second string is a prefix of the first string, false otherwise. - - - - Gets or sets a value indicating whether the second string is a suffix of the first one. - - The first string. - The second string. - true when the second string is a prefix of the first string, false otherwise. - - - - Returns the length of a string. - - A string whose lengths is to be evaluated. - The length of the string. - - - - Marks the class as containing condition methods. - - - - - Condition not expression. - - - - - Initializes a new instance of the class. - - The expression. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Gets the expression to be negated. - - The expression. - - - - Condition or expression. - - - - - Initializes a new instance of the class. - - Left hand side of the OR expression. - Right hand side of the OR expression. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression by evaluating and recursively. - - Evaluation context. - The value of the alternative operator. - - - - Gets the left expression. - - The left expression. - - - - Gets the right expression. - - The right expression. - - - - Exception during parsing of condition expression. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - The parameter is null. - - - The class name is null or is zero (0). - - - - - Condition parser. Turns a string representation of condition expression - into an expression tree. - - - - - Initializes a new instance of the class. - - The expression text. - Instance of used to resolve references to condition methods and layout renderers. - - - - Parses the specified condition string and turns it into - tree. - - The expression to be parsed. - The root of the expression syntax tree which can be used to get the value of the condition in a specified context. - - - - Parses the specified condition string and turns it into - tree. - - The expression to be parsed. - Instance of used to resolve references to condition methods and layout renderers. - The root of the expression syntax tree which can be used to get the value of the condition in a specified context. - - - - Condition relational (==, !=, <, <=, - > or >=) expression. - - - - - Initializes a new instance of the class. - - The left expression. - The right expression. - The relational operator. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Compares the specified values using specified relational operator. - - The first value. - The second value. - The relational operator. - Result of the given relational operator. - - - - Gets the left expression. - - The left expression. - - - - Gets the right expression. - - The right expression. - - - - Gets the relational operator. - - The operator. - - - - Relational operators used in conditions. - - - - - Equality (==). - - - - - Inequality (!=). - - - - - Less than (<). - - - - - Greater than (>). - - - - - Less than or equal (<=). - - - - - Greater than or equal (>=). - - - - - Hand-written tokenizer for conditions. - - - - - Initializes a new instance of the class. - - The expression text. - - - - Asserts current token type and advances to the next token. - - Expected token type. - If token type doesn't match, an exception is thrown. - - - - Asserts that current token is a keyword and returns its value and advances to the next token. - - Keyword value. - - - - Gets or sets a value indicating whether current keyword is equal to the specified value. - - The keyword. - - A value of true if current keyword is equal to the specified value; otherwise, false. - - - - - Gets or sets a value indicating whether the tokenizer has reached the end of the token stream. - - - A value of true if the tokenizer has reached the end of the token stream; otherwise, false. - - - - - Gets or sets a value indicating whether current token is a number. - - - A value of true if current token is a number; otherwise, false. - - - - - Gets or sets a value indicating whether the specified token is of specified type. - - The token type. - - A value of true if current token is of specified type; otherwise, false. - - - - - Gets the next token and sets and properties. - - - - - Gets the token position. - - The token position. - - - - Gets the type of the token. - - The type of the token. - - - - Gets the token value. - - The token value. - - - - Gets the value of a string token. - - The string token value. - - - - Mapping between characters and token types for punctuations. - - - - - Initializes a new instance of the CharToTokenType struct. - - The character. - Type of the token. - - - - Token types for condition expressions. - - - - - Marks the class or a member as advanced. Advanced classes and members are hidden by - default in generated documentation. - - - - - Initializes a new instance of the class. - - - - - Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain. - - - - - Used to mark configurable parameters which are arrays. - Specifies the mapping between XML elements and .NET types. - - - - - Initializes a new instance of the class. - - The type of the array item. - The XML element name that represents the item. - - - - Gets the .NET type of the array item. - - - - - Gets the XML element name. - - - - - NLog configuration section handler class for configuring NLog from App.config. - - - - - Creates a configuration section handler. - - Parent object. - Configuration context object. - Section XML node. - The created section handler object. - - - - Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog. - - - - - Initializes static members of the class. - - - - - Initializes a new instance of the class. - - The assemblies to scan for named items. - - - - Registers named items from the assembly. - - The assembly. - - - - Registers named items from the assembly. - - The assembly. - Item name prefix. - - - - Clears the contents of all factories. - - - - - Registers the type. - - The type to register. - The item name prefix. - - - - Gets or sets default singleton instance of . - - - - - Gets the factory. - - The target factory. - - - - Gets the factory. - - The filter factory. - - - - Gets the factory. - - The layout renderer factory. - - - - Gets the factory. - - The layout factory. - - - - Gets the ambient property factory. - - The ambient property factory. - - - - Gets the condition method factory. - - The condition method factory. - - - - Attribute used to mark the default parameters for layout renderers. - - - - - Initializes a new instance of the class. - - - - - Factory for class-based items. - - The base type of each item. - The type of the attribute used to annotate itemss. - - - - Represents a factory of named items (such as targets, layouts, layout renderers, etc.). - - Base type for each item instance. - Item definition type (typically or ). - - - - Registers new item definition. - - Name of the item. - Item definition. - - - - Tries to get registed item definition. - - Name of the item. - Reference to a variable which will store the item definition. - Item definition. - - - - Creates item instance. - - Name of the item. - Newly created item instance. - - - - Tries to create an item instance. - - Name of the item. - The result. - True if instance was created successfully, false otherwise. - - - - Gets a collection of all registered items in the factory. - - Sequence of key/value pairs where each key represents the name - of the item and value is the of - the item. - - - - Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.). - - - - - Scans the assembly. - - The assembly. - The prefix. - - - - Registers the type. - - The type to register. - The item name prefix. - - - - Clears the contents of the factory. - - - - - Registers a single type definition. - - The item name. - The type of the item. - - - - Tries to get registed item definition. - - Name of the item. - Reference to a variable which will store the item definition. - Item definition. - - - - Tries to create an item instance. - - Name of the item. - The result. - True if instance was created successfully, false otherwise. - - - - Creates an item instance. - - The name of the item. - Created item. - - - - Gets a collection of all registered items in the factory. - - Sequence of key/value pairs where each key represents the name - of the item and value is the of - the item. - - - - Implemented by objects which support installation and uninstallation. - - - - - Performs installation which requires administrative permissions. - - The installation context. - - - - Performs uninstallation which requires administrative permissions. - - The installation context. - - - - Determines whether the item is installed. - - The installation context. - - Value indicating whether the item is installed or null if it is not possible to determine. - - - - - Provides context for install/uninstall operations. - - - - - Mapping between log levels and console output colors. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The log output. - - - - Logs the specified trace message. - - The message. - The arguments. - - - - Logs the specified debug message. - - The message. - The arguments. - - - - Logs the specified informational message. - - The message. - The arguments. - - - - Logs the specified warning message. - - The message. - The arguments. - - - - Logs the specified error message. - - The message. - The arguments. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Creates the log event which can be used to render layouts during installation/uninstallations. - - Log event info object. - - - - Gets or sets the installation log level. - - - - - Gets or sets a value indicating whether to ignore failures during installation. - - - - - Gets the installation parameters. - - - - - Gets or sets the log output. - - - - - Keeps logging configuration and provides simple API - to modify it. - - - - - Initializes a new instance of the class. - - - - - Registers the specified target object under a given name. - - - Name of the target. - - - The target object. - - - - - Finds the target with the specified name. - - - The name of the target to be found. - - - Found target or when the target is not found. - - - - - Called by LogManager when one of the log configuration files changes. - - - A new instance of that represents the updated configuration. - - - - - Removes the specified named target. - - - Name of the target. - - - - - Installs target-specific objects on current system. - - The installation context. - - Installation typically runs with administrative permissions. - - - - - Uninstalls target-specific objects from current system. - - The installation context. - - Uninstallation typically runs with administrative permissions. - - - - - Closes all targets and releases any unmanaged resources. - - - - - Flushes any pending log messages on all appenders. - - The asynchronous continuation. - - - - Validates the configuration. - - - - - Gets a collection of named targets specified in the configuration. - - - A list of named targets. - - - Unnamed targets (such as those wrapped by other targets) are not returned. - - - - - Gets the collection of file names which should be watched for changes by NLog. - - - - - Gets the collection of logging rules. - - - - - Gets all targets. - - - - - Arguments for events. - - - - - Initializes a new instance of the class. - - The old configuration. - The new configuration. - - - - Gets the old configuration. - - The old configuration. - - - - Gets the new configuration. - - The new configuration. - - - - Arguments for . - - - - - Initializes a new instance of the class. - - Whether configuration reload has succeeded. - The exception during configuration reload. - - - - Gets a value indicating whether configuration reload has succeeded. - - A value of true if succeeded; otherwise, false. - - - - Gets the exception which occurred during configuration reload. - - The exception. - - - - Represents a logging rule. An equivalent of <logger /> configuration element. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - Minimum log level needed to trigger this rule. - Target to be written to when the rule matches. - - - - Initializes a new instance of the class. - - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - Target to be written to when the rule matches. - By default no logging levels are defined. You should call and to set them. - - - - Enables logging for a particular level. - - Level to be enabled. - - - - Disables logging for a particular level. - - Level to be disabled. - - - - Returns a string representation of . Used for debugging. - - - A that represents the current . - - - - - Checks whether te particular log level is enabled for this rule. - - Level to be checked. - A value of when the log level is enabled, otherwise. - - - - Checks whether given name matches the logger name pattern. - - String to be matched. - A value of when the name matches, otherwise. - - - - Gets a collection of targets that should be written to when this rule matches. - - - - - Gets a collection of child rules to be evaluated when this rule matches. - - - - - Gets a collection of filters to be checked before writing to targets. - - - - - Gets or sets a value indicating whether to quit processing any further rule when this one matches. - - - - - Gets or sets logger name pattern. - - - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends but not anywhere else. - - - - - Gets the collection of log levels enabled by this rule. - - - - - Factory for locating methods. - - The type of the class marker attribute. - The type of the method marker attribute. - - - - Scans the assembly for classes marked with - and methods marked with and adds them - to the factory. - - The assembly. - The prefix to use for names. - - - - Registers the type. - - The type to register. - The item name prefix. - - - - Clears contents of the factory. - - - - - Registers the definition of a single method. - - The method name. - The method info. - - - - Tries to retrieve method by name. - - The method name. - The result. - A value of true if the method was found, false otherwise. - - - - Retrieves method by name. - - Method name. - MethodInfo object. - - - - Tries to get method definition. - - The method . - The result. - A value of true if the method was found, false otherwise. - - - - Gets a collection of all registered items in the factory. - - - Sequence of key/value pairs where each key represents the name - of the item and value is the of - the item. - - - - - Marks the object as configuration item for NLog. - - - - - Initializes a new instance of the class. - - - - - Represents simple XML element with case-insensitive attribute semantics. - - - - - Initializes a new instance of the class. - - The input URI. - - - - Initializes a new instance of the class. - - The reader to initialize element from. - - - - Prevents a default instance of the class from being created. - - - - - Returns children elements with the specified element name. - - Name of the element. - Children elements with the specified element name. - - - - Gets the required attribute. - - Name of the attribute. - Attribute value. - Throws if the attribute is not specified. - - - - Gets the optional boolean attribute value. - - Name of the attribute. - Default value to return if the attribute is not found. - Boolean attribute value or default. - - - - Gets the optional attribute value. - - Name of the attribute. - The default value. - Value of the attribute or default value. - - - - Asserts that the name of the element is among specified element names. - - The allowed names. - - - - Gets the element name. - - - - - Gets the dictionary of attribute values. - - - - - Gets the collection of child elements. - - - - - Gets the value of the element. - - - - - Attribute used to mark the required parameters for targets, - layout targets and filters. - - - - - Supported operating systems. - - - If you add anything here, make sure to add the appropriate detection - code to - - - - - Any operating system. - - - - - Unix/Linux operating systems. - - - - - Windows CE. - - - - - Desktop versions of Windows (95,98,ME). - - - - - Windows NT, 2000, 2003 and future versions based on NT technology. - - - - - Unknown operating system. - - - - - Provides simple programmatic configuration API used for trivial logging cases. - - - - - Configures NLog for console logging so that all messages above and including - the level are output to the console. - - - - - Configures NLog for console logging so that all messages above and including - the specified level are output to the console. - - The minimal logging level. - - - - Configures NLog for to log to the specified target so that all messages - above and including the level are output. - - The target to log all messages to. - - - - Configures NLog for to log to the specified target so that all messages - above and including the specified level are output. - - The target to log all messages to. - The minimal logging level. - - - - Configures NLog for file logging so that all messages above and including - the level are written to the specified file. - - Log file name. - - - - Configures NLog for file logging so that all messages above and including - the specified level are written to the specified file. - - Log file name. - The minimal logging level. - - - - Value indicating how stack trace should be captured when processing the log event. - - - - - Stack trace should not be captured. - - - - - Stack trace should be captured without source-level information. - - - - - Stack trace should be captured including source-level information such as line numbers. - - - - - Capture maximum amount of the stack trace information supported on the plaform. - - - - - Marks the layout or layout renderer as producing correct results regardless of the thread - it's running on. - - - - - A class for configuring NLog through an XML configuration file - (App.config style or App.nlog style). - - - - - Initializes a new instance of the class. - - Configuration file to be read. - - - - Initializes a new instance of the class. - - Configuration file to be read. - Ignore any errors during configuration. - - - - Initializes a new instance of the class. - - containing the configuration section. - Name of the file that contains the element (to be used as a base for including other files). - - - - Initializes a new instance of the class. - - containing the configuration section. - Name of the file that contains the element (to be used as a base for including other files). - Ignore any errors during configuration. - - - - Initializes a new instance of the class. - - The XML element. - Name of the XML file. - - - - Initializes a new instance of the class. - - The XML element. - Name of the XML file. - If set to true errors will be ignored during file processing. - - - - Re-reads the original configuration file and returns the new object. - - The new object. - - - - Initializes the configuration. - - containing the configuration section. - Name of the file that contains the element (to be used as a base for including other files). - Ignore any errors during configuration. - - - - Gets the default object by parsing - the application configuration file (app.exe.config). - - - - - Gets or sets a value indicating whether the configuration files - should be watched for changes and reloaded automatically when changed. - - - - - Gets the collection of file names which should be watched for changes by NLog. - This is the list of configuration files processed. - If the autoReload attribute is not set it returns empty collection. - - - - - Matches when the specified condition is met. - - - Conditions are expressed using a simple language - described here. - - - - - An abstract filter class. Provides a way to eliminate log messages - based on properties other than logger name and log level. - - - - - Initializes a new instance of the class. - - - - - Gets the result of evaluating filter against given log event. - - The log event. - Filter result. - - - - Checks whether log event should be logged or not. - - Log event. - - - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
- - - Gets or sets the action to be taken when filter matches. - - - - - - Checks whether log event should be logged or not. - - Log event. - - - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
- - - Gets or sets the condition expression. - - - - - - Marks class as a layout renderer and assigns a name to it. - - - - - Initializes a new instance of the class. - - Name of the filter. - - - - Filter result. - - - - - The filter doesn't want to decide whether to log or discard the message. - - - - - The message should be logged. - - - - - The message should not be logged. - - - - - The message should be logged and processing should be finished. - - - - - The message should not be logged and processing should be finished. - - - - - A base class for filters that are based on comparing a value to a layout. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the layout to be used to filter log messages. - - The layout. - - - - - Matches when the calculated layout contains the specified substring. - This filter is deprecated in favour of <when /> which is based on contitions. - - - - - Checks whether log event should be logged or not. - - Log event. - - - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
- - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Gets or sets the substring to be matched. - - - - - - Matches when the calculated layout is equal to the specified substring. - This filter is deprecated in favour of <when /> which is based on contitions. - - - - - Checks whether log event should be logged or not. - - Log event. - - - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
- - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Gets or sets a string to compare the layout to. - - - - - - Matches when the calculated layout does NOT contain the specified substring. - This filter is deprecated in favour of <when /> which is based on contitions. - - - - - Checks whether log event should be logged or not. - - Log event. - - - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
- - - Gets or sets the substring to be matched. - - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Matches when the calculated layout is NOT equal to the specified substring. - This filter is deprecated in favour of <when /> which is based on contitions. - - - - - Initializes a new instance of the class. - - - - - Checks whether log event should be logged or not. - - Log event. - - - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
- - - Gets or sets a string to compare the layout to. - - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Global Diagnostics Context - used for log4net compatibility. - - - - - Sets the Global Diagnostics Context item to the specified value. - - Item name. - Item value. - - - - Gets the Global Diagnostics Context named item. - - Item name. - The item value of String.Empty if the value is not present. - - - - Checks whether the specified item exists in the Global Diagnostics Context. - - Item name. - A boolean indicating whether the specified item exists in current thread GDC. - - - - Removes the specified item from the Global Diagnostics Context. - - Item name. - - - - Clears the content of the GDC. - - - - - Global Diagnostics Context - a dictionary structure to hold per-application-instance values. - - - - - Sets the Global Diagnostics Context item to the specified value. - - Item name. - Item value. - - - - Gets the Global Diagnostics Context named item. - - Item name. - The item value of String.Empty if the value is not present. - - - - Checks whether the specified item exists in the Global Diagnostics Context. - - Item name. - A boolean indicating whether the specified item exists in current thread GDC. - - - - Removes the specified item from the Global Diagnostics Context. - - Item name. - - - - Clears the content of the GDC. - - - - - Various helper methods for accessing state of ASP application. - - - - - Optimized methods to get current time. - - - - - Gets the current time in an optimized fashion. - - Current time. - - - - Provides untyped IDictionary interface on top of generic IDictionary. - - The type of the key. - The type of the value. - - - - Initializes a new instance of the DictionaryAdapter class. - - The implementation. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - - - Removes all elements from the object. - - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - True if the contains an element with the key; otherwise, false. - - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets an object containing the values in the object. - - - - An object containing the values in the object. - - - - - Gets the number of elements contained in the . - - - - The number of elements contained in the . - - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - - Gets an object that can be used to synchronize access to the . - - - - An object that can be used to synchronize access to the . - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - - Gets an object containing the keys of the object. - - - - An object containing the keys of the object. - - - - - Gets or sets the with the specified key. - - Dictionary key. - Value corresponding to key or null if not found - - - - Wrapper IDictionaryEnumerator. - - - - - Initializes a new instance of the class. - - The wrapped. - - - - Advances the enumerator to the next element of the collection. - - - True if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection. - - - - - Sets the enumerator to its initial position, which is before the first element in the collection. - - - - - Gets both the key and the value of the current dictionary entry. - - - - A containing both the key and the value of the current dictionary entry. - - - - - Gets the key of the current dictionary entry. - - - - The key of the current element of the enumeration. - - - - - Gets the value of the current dictionary entry. - - - - The value of the current element of the enumeration. - - - - - Gets the current element in the collection. - - - - The current element in the collection. - - - - - LINQ-like helpers (cannot use LINQ because we must work with .NET 2.0 profile). - - - - - Filters the given enumerable to return only items of the specified type. - - - Type of the item. - - - The enumerable. - - - Items of specified type. - - - - - Reverses the specified enumerable. - - - Type of enumerable item. - - - The enumerable. - - - Reversed enumerable. - - - - - Determines is the given predicate is met by any element of the enumerable. - - Element type. - The enumerable. - The predicate. - True if predicate returns true for any element of the collection, false otherwise. - - - - Converts the enumerable to list. - - Type of the list element. - The enumerable. - List of elements. - - - - Safe way to get environment variables. - - - - - Helper class for dealing with exceptions. - - - - - Determines whether the exception must be rethrown. - - The exception. - True if the exception must be rethrown, false otherwise. - - - - Object construction helper. - - - - - Base class for optimized file appenders. - - - - - Initializes a new instance of the class. - - Name of the file. - The create parameters. - - - - Writes the specified bytes. - - The bytes. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last write time. - Length of the file. - True if the operation succeeded, false otherwise. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Records the last write time for a file. - - - - - Records the last write time for a file to be specific date. - - Date and time when the last write occurred. - - - - Creates the file stream. - - If set to true allow concurrent writes. - A object which can be used to write to the file. - - - - Gets the name of the file. - - The name of the file. - - - - Gets the last write time. - - The last write time. - - - - Gets the open time of the file. - - The open time. - - - - Gets the file creation parameters. - - The file creation parameters. - - - - Implementation of which caches - file information. - - - - - Initializes a new instance of the class. - - Name of the file. - The parameters. - - - - Closes this instance of the appender. - - - - - Flushes this current appender. - - - - - Gets the file info. - - The last write time. - Length of the file. - True if the operation succeeded, false otherwise. - - - - Writes the specified bytes to a file. - - The bytes to be written. - - - - Factory class which creates objects. - - - - - Interface implemented by all factories capable of creating file appenders. - - - - - Opens the appender for given file name and parameters. - - Name of the file. - Creation parameters. - Instance of which can be used to write to the file. - - - - Opens the appender for given file name and parameters. - - Name of the file. - Creation parameters. - - Instance of which can be used to write to the file. - - - - - Interface that provides parameters for create file function. - - - - - Provides a multiprocess-safe atomic file appends while - keeping the files open. - - - On Unix you can get all the appends to be atomic, even when multiple - processes are trying to write to the same file, because setting the file - pointer to the end of the file and appending can be made one operation. - On Win32 we need to maintain some synchronization between processes - (global named mutex is used for this) - - - - - Initializes a new instance of the class. - - Name of the file. - The parameters. - - - - Writes the specified bytes. - - The bytes to be written. - - - - Closes this instance. - - - - - Flushes this instance. - - - - - Gets the file info. - - The last write time. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - Factory class. - - - - - Opens the appender for given file name and parameters. - - Name of the file. - Creation parameters. - - Instance of which can be used to write to the file. - - - - - Multi-process and multi-host file appender which attempts - to get exclusive write access and retries if it's not available. - - - - - Initializes a new instance of the class. - - Name of the file. - The parameters. - - - - Writes the specified bytes. - - The bytes. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last write time. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - Factory class. - - - - - Opens the appender for given file name and parameters. - - Name of the file. - Creation parameters. - - Instance of which can be used to write to the file. - - - - - Optimized single-process file appender which keeps the file open for exclusive write. - - - - - Initializes a new instance of the class. - - Name of the file. - The parameters. - - - - Writes the specified bytes. - - The bytes. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last write time. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - Factory class. - - - - - Opens the appender for given file name and parameters. - - Name of the file. - Creation parameters. - - Instance of which can be used to write to the file. - - - - - Optimized routines to get the size and last write time of the specified file. - - - - - Initializes static members of the FileInfoHelper class. - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file. - Length of the file. - A value of true if file information was retrieved successfully, false otherwise. - - - - Form helper methods. - - - - - Creates RichTextBox and docks in parentForm. - - Name of RichTextBox. - Form to dock RichTextBox. - Created RichTextBox. - - - - Finds control embedded on searchControl. - - Name of the control. - Control in which we're searching for control. - A value of null if no control has been found. - - - - Finds control of specified type embended on searchControl. - - The type of the control. - Name of the control. - Control in which we're searching for control. - - A value of null if no control has been found. - - - - - Creates a form. - - Name of form. - Width of form. - Height of form. - Auto show form. - If set to true the form will be minimized. - If set to true the form will be created as tool window. - Created form. - - - - Interface implemented by layouts and layout renderers. - - - - - Renders the the value of layout or layout renderer in the context of the specified log event. - - The log event. - String representation of a layout. - - - - Supports mocking of SMTP Client code. - - - - - Supports object initialization and termination. - - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Allows components to request stack trace information to be provided in the . - - - - - Gets the level of stack trace information required by the implementing class. - - - - - Logger configuration. - - - - - Initializes a new instance of the class. - - The targets by level. - - - - Gets targets for the specified level. - - The level. - Chain of targets with attached filters. - - - - Determines whether the specified level is enabled. - - The level. - - A value of true if the specified level is enabled; otherwise, false. - - - - - Watches multiple files at the same time and raises an event whenever - a single change is detected in any of those files. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Stops the watching. - - - - - Watches the specified files for changes. - - The file names. - - - - Occurs when a change is detected in one of the monitored files. - - - - - Supports mocking of SMTP Client code. - - - - - Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, and releases all resources used by the current instance of the class. - - - - - Supports mocking of SMTP Client code. - - - - - Supports mocking of SMTP Client code. - - - - - Supports mocking of SMTP Client code. - - - - - Supports mocking of SMTP Client code. - - - - - Supports mocking of SMTP Client code. - - - - - Supports mocking of SMTP Client code. - - - - - Supports mocking of SMTP Client code. - - - - - Supports mocking of SMTP Client code. - - - - - Supports mocking of SMTP Client code. - - - - - Creates instances of objects for given URLs. - - - - - Creates a new instance of the network sender based on a network URL. - - - URL that determines the network sender to be created. - - - A newly created network sender. - - - - - Interface for mocking socket calls. - - - - - A base class for all network senders. Supports one-way sending of messages - over various protocols. - - - - - Initializes a new instance of the class. - - The network URL. - - - - Finalizes an instance of the NetworkSender class. - - - - - Initializes this network sender. - - - - - Closes the sender and releases any unmanaged resources. - - The continuation. - - - - Flushes any pending messages and invokes a continuation. - - The continuation. - - - - Send the given text over the specified protocol. - - Bytes to be sent. - Offset in buffer. - Number of bytes to send. - The asynchronous continuation. - - - - Closes the sender and releases any unmanaged resources. - - - - - Performs sender-specific initialization. - - - - - Performs sender-specific close operation. - - The continuation. - - - - Performs sender-specific flush. - - The continuation. - - - - Actually sends the given text over the specified protocol. - - The bytes to be sent. - Offset in buffer. - Number of bytes to send. - The async continuation to be invoked after the buffer has been sent. - To be overridden in inheriting classes. - - - - Parses the URI into an endpoint address. - - The URI to parse. - The address family. - Parsed endpoint. - - - - Gets the address of the network endpoint. - - - - - Gets the last send time. - - - - - Default implementation of . - - - - - Creates a new instance of the network sender based on a network URL:. - - - URL that determines the network sender to be created. - - - A newly created network sender. - - - - - Socket proxy for mocking Socket code. - - - - - Initializes a new instance of the class. - - The address family. - Type of the socket. - Type of the protocol. - - - - Closes the wrapped socket. - - - - - Invokes ConnectAsync method on the wrapped socket. - - The instance containing the event data. - Result of original method. - - - - Invokes SendAsync method on the wrapped socket. - - The instance containing the event data. - Result of original method. - - - - Invokes SendToAsync method on the wrapped socket. - - The instance containing the event data. - Result of original method. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Sends messages over a TCP network connection. - - - - - Initializes a new instance of the class. - - URL. Must start with tcp://. - The address family. - - - - Creates the socket with given parameters. - - The address family. - Type of the socket. - Type of the protocol. - Instance of which represents the socket. - - - - Performs sender-specific initialization. - - - - - Closes the socket. - - The continuation. - - - - Performs sender-specific flush. - - The continuation. - - - - Sends the specified text over the connected socket. - - The bytes to be sent. - Offset in buffer. - Number of bytes to send. - The async continuation to be invoked after the buffer has been sent. - To be overridden in inheriting classes. - - - - Facilitates mocking of class. - - - - - Raises the Completed event. - - - - - Sends messages over the network as UDP datagrams. - - - - - Initializes a new instance of the class. - - URL. Must start with udp://. - The address family. - - - - Creates the socket. - - The address family. - Type of the socket. - Type of the protocol. - Implementation of to use. - - - - Performs sender-specific initialization. - - - - - Closes the socket. - - The continuation. - - - - Sends the specified text as a UDP datagram. - - The bytes to be sent. - Offset in buffer. - Number of bytes to send. - The async continuation to be invoked after the buffer has been sent. - To be overridden in inheriting classes. - - - - Scans (breadth-first) the object graph following all the edges whose are - instances have attached and returns - all objects implementing a specified interfaces. - - - - - Finds the objects which have attached which are reachable - from any of the given root objects when traversing the object graph over public properties. - - Type of the objects to return. - The root objects. - Ordered list of objects implementing T. - - - - Parameter validation utilities. - - - - - Asserts that the value is not null and throws otherwise. - - The value to check. - Name of the parameter. - - - - Detects the platform the NLog is running on. - - - - - Portable implementation of . - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file. - Length of the file. - - A value of true if file information was retrieved successfully, false otherwise. - - - - - Portable implementation of . - - - - - Returns details about current process and thread in a portable manner. - - - - - Initializes static members of the ThreadIDHelper class. - - - - - Gets the singleton instance of PortableThreadIDHelper or - Win32ThreadIDHelper depending on runtime environment. - - The instance. - - - - Gets current thread ID. - - - - - Gets current process ID. - - - - - Gets current process name. - - - - - Gets current process name (excluding filename extension, if any). - - - - - Initializes a new instance of the class. - - - - - Gets the name of the process. - - - - - Gets current thread ID. - - - - - - Gets current process ID. - - - - - - Gets current process name. - - - - - - Gets current process name (excluding filename extension, if any). - - - - - - Reflection helpers for accessing properties. - - - - - Implements a single-call guard around given continuation function. - - - - - Initializes a new instance of the class. - - The asynchronous continuation. - - - - Continuation function which implements the single-call guard. - - The exception. - - - - Provides helpers to sort log events and associated continuations. - - - - - Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. - - The type of the value. - The type of the key. - The inputs. - The key selector function. - - Dictonary where keys are unique input keys, and values are lists of . - - - - - Key selector delegate. - - The type of the value. - The type of the key. - Value to extract key information from. - Key selected from log event. - - - - Utilities for dealing with values. - - - - - Represents target with a chain of filters which determine - whether logging should happen. - - - - - Initializes a new instance of the class. - - The target. - The filter chain. - - - - Gets the stack trace usage. - - A value that determines stack trace handling. - - - - Gets the target. - - The target. - - - - Gets the filter chain. - - The filter chain. - - - - Gets or sets the next item in the chain. - - The next item in the chain. - - - - Wraps with a timeout. - - - - - Initializes a new instance of the class. - - The asynchronous continuation. - The timeout. - - - - Continuation function which implements the timeout logic. - - The exception. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - URL Encoding helper. - - - - - Win32-optimized implementation of . - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file. - Length of the file. - - A value of true if file information was retrieved successfully, false otherwise. - - - - - Win32-optimized implementation of . - - - - - Initializes a new instance of the class. - - - - - Gets current thread ID. - - - - - - Gets current process ID. - - - - - - Gets current process name. - - - - - - Gets current process name (excluding filename extension, if any). - - - - - - Designates a property of the class as an ambient property. - - - - - Initializes a new instance of the class. - - Ambient property name. - - - - ASP Application variable. - - - - - Render environmental information related to logging events. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Renders the the value of layout renderer in the context of the specified log event. - - The log event. - String representation of a layout renderer. - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Renders the specified environmental information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets the logging configuration this target is part of. - - - - - Renders the specified ASP Application variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the ASP Application variable name. - - - - - - ASP Request variable. - - - - - Renders the specified ASP Request variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the item name. The QueryString, Form, Cookies, or ServerVariables collection variables having the specified name are rendered. - - - - - - Gets or sets the QueryString variable to be rendered. - - - - - - Gets or sets the form variable to be rendered. - - - - - - Gets or sets the cookie to be rendered. - - - - - - Gets or sets the ServerVariables item to be rendered. - - - - - - ASP Session variable. - - - - - Renders the specified ASP Session variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the session variable name. - - - - - - The current application domain's base directory. - - - - - Initializes a new instance of the class. - - - - - Renders the application base directory and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file to be Path.Combine()'d with with the base directory. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with with the base directory. - - - - - - The call site (class name, method name and source information). - - - - - Initializes a new instance of the class. - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to render the class name. - - - - - - Gets or sets a value indicating whether to render the method name. - - - - - - Gets or sets a value indicating whether to render the source file name and line number. - - - - - - Gets or sets a value indicating whether to include source file path. - - - - - - Gets the level of stack trace information required by the implementing class. - - - - - A counter value (increases on each layout rendering). - - - - - Initializes a new instance of the class. - - - - - Renders the specified counter value and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the initial value of the counter. - - - - - - Gets or sets the value to be added to the counter after each layout rendering. - - - - - - Gets or sets the name of the sequence. Different named sequences can have individual values. - - - - - - Current date and time. - - - - - Initializes a new instance of the class. - - - - - Renders the current date and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the culture used for rendering. - - - - - - Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). - - - - - - The environment variable. - - - - - Renders the specified environment variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the environment variable. - - - - - - Log event context data. - - - - - Renders the specified log event context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Exception information provided through - a call to one of the Logger.*Exception() methods. - - - - - Initializes a new instance of the class. - - - - - Renders the specified exception information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the format of the output. Must be a comma-separated list of exception - properties: Message, Type, ShortType, ToString, Method, StackTrace. - This parameter value is case-insensitive. - - - - - - Gets or sets the separator used to concatenate parts specified in the Format. - - - - - - Renders contents of the specified file. - - - - - Initializes a new instance of the class. - - - - - Renders the contents of the specified file and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file. - - - - - - Gets or sets the encoding used in the file. - - The encoding. - - - - - The information about the garbage collector. - - - - - Initializes a new instance of the class. - - - - - Renders the selected process information. - - The to append the rendered data to. - Logging event. - - - - Gets or sets the property to retrieve. - - - - - - Gets or sets the property of System.GC to retrieve. - - - - - Total memory allocated. - - - - - Total memory allocated (perform full garbage collection first). - - - - - Gets the number of Gen0 collections. - - - - - Gets the number of Gen1 collections. - - - - - Gets the number of Gen2 collections. - - - - - Maximum generation number supported by GC. - - - - - Global Diagnostics Context item. Provided for compatibility with log4net. - - - - - Renders the specified Global Diagnostics Context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Globally-unique identifier (GUID). - - - - - Initializes a new instance of the class. - - - - - Renders a newly generated GUID string and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the GUID format as accepted by Guid.ToString() method. - - - - - - Thread identity information (name and authentication information). - - - - - Initializes a new instance of the class. - - - - - Renders the specified identity information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the separator to be used when concatenating - parts of identity information. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated. - - - - - - Gets or sets a value indicating whether to modify the output of this renderer so it can be used as a part of file path - (illegal characters are replaced with '_'). - - - - - - Installation parameter (passed to InstallNLogConfig). - - - - - Renders the specified installation parameter and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the parameter. - - - - - - Marks class as a layout renderer and assigns a format string to it. - - - - - Initializes a new instance of the class. - - Name of the layout renderer. - - - - The log level. - - - - - Renders the current log level and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - A string literal. - - - This is used to escape '${' sequence - as ;${literal:text=${}' - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The literal text value. - This is used by the layout compiler. - - - - Renders the specified string literal and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the literal text. - - - - - - XML event description compatible with log4j, Chainsaw and NLogViewer. - - - - - Initializes a new instance of the class. - - - - - Renders the XML logging event and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. - - - - - - Gets or sets a value indicating whether the XML should use spaces for indentation. - - - - - - Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. - - - - - - Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. - - - - - - Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. - - - - - - Gets or sets a value indicating whether to include contents of the dictionary. - - - - - - Gets or sets a value indicating whether to include contents of the stack. - - - - - - Gets the level of stack trace information required by the implementing class. - - - - - The logger name. - - - - - Renders the logger name and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). - - - - - - The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. - - - - - Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The machine name that the process is running on. - - - - - Initializes the layout renderer. - - - - - Renders the machine name and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Mapped Diagnostic Context item. Provided for compatibility with log4net. - - - - - Renders the specified MDC item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - The formatted log message. - - - - - Renders the log message including any positional parameters and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Nested Diagnostic Context item. Provided for compatibility with log4net. - - - - - Initializes a new instance of the class. - - - - - Renders the specified Nested Diagnostics Context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the number of top stack frames to be rendered. - - - - - - Gets or sets the number of bottom stack frames to be rendered. - - - - - - Gets or sets the separator to be used for concatenating nested diagnostics context output. - - - - - - A newline literal. - - - - - Renders the specified string literal and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The directory where NLog.dll is located. - - - - - Initializes static members of the NLogDirLayoutRenderer class. - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - The performance counter. - - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Renders the specified environment variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the counter category. - - - - - - Gets or sets the name of the performance counter. - - - - - - Gets or sets the name of the performance counter instance (e.g. this.Global_). - - - - - - Gets or sets the name of the machine to read the performance counter from. - - - - - - The identifier of the current process. - - - - - Renders the current process ID. - - The to append the rendered data to. - Logging event. - - - - The information about the running process. - - - - - Initializes a new instance of the class. - - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Renders the selected process information. - - The to append the rendered data to. - Logging event. - - - - Gets or sets the property to retrieve. - - - - - - Property of System.Diagnostics.Process to retrieve. - - - - - Base Priority. - - - - - Exit Code. - - - - - Exit Time. - - - - - Process Handle. - - - - - Handle Count. - - - - - Whether process has exited. - - - - - Process ID. - - - - - Machine name. - - - - - Handle of the main window. - - - - - Title of the main window. - - - - - Maximum Working Set. - - - - - Minimum Working Set. - - - - - Non-paged System Memory Size. - - - - - Non-paged System Memory Size (64-bit). - - - - - Paged Memory Size. - - - - - Paged Memory Size (64-bit).. - - - - - Paged System Memory Size. - - - - - Paged System Memory Size (64-bit). - - - - - Peak Paged Memory Size. - - - - - Peak Paged Memory Size (64-bit). - - - - - Peak Vitual Memory Size. - - - - - Peak Virtual Memory Size (64-bit).. - - - - - Peak Working Set Size. - - - - - Peak Working Set Size (64-bit). - - - - - Whether priority boost is enabled. - - - - - Priority Class. - - - - - Private Memory Size. - - - - - Private Memory Size (64-bit). - - - - - Privileged Processor Time. - - - - - Process Name. - - - - - Whether process is responding. - - - - - Session ID. - - - - - Process Start Time. - - - - - Total Processor Time. - - - - - User Processor Time. - - - - - Virtual Memory Size. - - - - - Virtual Memory Size (64-bit). - - - - - Working Set Size. - - - - - Working Set Size (64-bit). - - - - - The name of the current process. - - - - - Renders the current process name (optionally with a full path). - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to write the full path to the process executable. - - - - - - The process time in format HH:mm:ss.mmm. - - - - - Renders the current process running time and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - High precision timer, based on the value returned from QueryPerformanceCounter() optionally converted to seconds. - - - - - Initializes a new instance of the class. - - - - - Initializes the layout renderer. - - - - - Renders the ticks value of current time and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to normalize the result by subtracting - it from the result of the first call (so that it's effectively zero-based). - - - - - - Gets or sets a value indicating whether to output the difference between the result - of QueryPerformanceCounter and the previous one. - - - - - - Gets or sets a value indicating whether to convert the result to seconds by dividing - by the result of QueryPerformanceFrequency(). - - - - - - Gets or sets the number of decimal digits to be included in output. - - - - - - Gets or sets a value indicating whether to align decimal point (emit non-significant zeros). - - - - - - A value from the Registry. - - - - - Reads the specified registry key and value and appends it to - the passed . - - The to append the rendered data to. - Logging event. Ignored. - - - - Gets or sets the registry value name. - - - - - - Gets or sets the value to be output when the specified registry key or value is not found. - - - - - - Gets or sets the registry key. - - - Must have one of the forms: -
    -
  • HKLM\Key\Full\Name
  • -
  • HKEY_LOCAL_MACHINE\Key\Full\Name
  • -
  • HKCU\Key\Full\Name
  • -
  • HKEY_CURRENT_USER\Key\Full\Name
  • -
-
- -
- - - The short date in a sortable format yyyy-MM-dd. - - - - - Renders the current short date string (yyyy-MM-dd) and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Specifies application information to display in ${sl-appinfo} renderer. - - - - - URI of the current application XAP file. - - - - - Whether application is running out-of-browser. - - - - - Installed state of an application. - - - - - Whether application is running with elevated permissions. - - - - - System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the system special folder to use. - - - Full list of options is available at MSDN. - The most common ones are: -
    -
  • ApplicationData - roaming application data for current user.
  • -
  • CommonApplicationData - application data for all users.
  • -
  • MyDocuments - My Documents
  • -
  • DesktopDirectory - Desktop directory
  • -
  • LocalApplicationData - non roaming application data
  • -
  • Personal - user profile directory
  • -
  • System - System directory
  • -
-
- -
- - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - Format of the ${stacktrace} layout renderer output. - - - - - Raw format (multiline - as returned by StackFrame.ToString() method). - - - - - Flat format (class and method names displayed in a single line). - - - - - Detailed flat format (method signatures displayed in a single line). - - - - - Stack trace renderer. - - - - - Initializes a new instance of the class. - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the output format of the stack trace. - - - - - - Gets or sets the number of top stack frames to be rendered. - - - - - - Gets or sets the stack frame separator string. - - - - - - Gets the level of stack trace information required by the implementing class. - - - - - - A temporary directory. - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - The identifier of the current thread. - - - - - Renders the current thread identifier and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The name of the current thread. - - - - - Renders the current thread name and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The Ticks value of current date and time. - - - - - Renders the ticks value of current time and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Thread Windows identity information (username). - - - - - Initializes a new instance of the class. - - - - - Renders the current thread windows identity information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether domain name should be included. - - - - - - Gets or sets a value indicating whether username should be included. - - - - - - Applies caching to another layout output. - - - The value of the inner layout will be rendered only once and reused subsequently. - - - - - Decodes text "encrypted" with ROT-13. - - - See http://en.wikipedia.org/wiki/ROT13. - - - - - Renders the inner message, processes it and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - Contents of inner layout. - - - - Gets or sets the wrapped layout. - - - - - - Initializes a new instance of the class. - - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - Contents of inner layout. - - - - Gets or sets a value indicating whether this is enabled. - - - - - - Converts the result of another layout output to lower case. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - Gets or sets a value indicating whether lower case conversion should be applied. - - A value of true if lower case conversion should be applied; otherwise, false. - - - - - Gets or sets the culture used for rendering. - - - - - - Applies padding to another layout output. - - - - - Initializes a new instance of the class. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Gets or sets the number of characters to pad the output to. - - - Positive padding values cause left padding, negative values - cause right padding to the desired width. - - - - - - Gets or sets the padding character. - - - - - - Gets or sets a value indicating whether to trim the - rendered text to the absolute value of the padding length. - - - - - - Replaces a string in the output of another layout with another string. - - - - - Initializes the layout renderer. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Post-processed text. - - - - Gets or sets the text to search for. - - The text search for. - - - - - Gets or sets a value indicating whether regular expressions should be used. - - A value of true if regular expressions should be used otherwise, false. - - - - - Gets or sets the replacement string. - - The replacement string. - - - - - Gets or sets a value indicating whether to ignore case. - - A value of true if case should be ignored when searching; otherwise, false. - - - - - Gets or sets a value indicating whether to search for whole words. - - A value of true if whole words should be searched for; otherwise, false. - - - - - Decodes text "encrypted" with ROT-13. - - - See http://en.wikipedia.org/wiki/ROT13. - - - - - Encodes/Decodes ROT-13-encoded string. - - The string to be encoded/decoded. - Encoded/Decoded text. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Gets or sets the layout to be wrapped. - - The layout to be wrapped. - This variable is for backwards compatibility - - - - - Trims the whitespace from the result of another layout renderer. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Trimmed string. - - - - Gets or sets a value indicating whether lower case conversion should be applied. - - A value of true if lower case conversion should be applied; otherwise, false. - - - - - Converts the result of another layout output to upper case. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - Gets or sets a value indicating whether upper case conversion should be applied. - - A value of true if upper case conversion should be applied otherwise, false. - - - - - Gets or sets the culture used for rendering. - - - - - - Encodes the result of another layout output for use with URLs. - - - - - Initializes a new instance of the class. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Gets or sets a value indicating whether spaces should be translated to '+' or '%20'. - - A value of true if space should be translated to '+'; otherwise, false. - - - - - A column in the CSV. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The name of the column. - The layout of the column. - - - - Gets or sets the name of the column. - - - - - - Gets or sets the layout of the column. - - - - - - Specifies allowed column delimiters. - - - - - Automatically detect from regional settings. - - - - - Comma (ASCII 44). - - - - - Semicolon (ASCII 59). - - - - - Tab character (ASCII 9). - - - - - Pipe character (ASCII 124). - - - - - Space character (ASCII 32). - - - - - Custom string, specified by the CustomDelimiter. - - - - - A specialized layout that renders CSV-formatted events. - - - - - A specialized layout that supports header and footer. - - - - - Abstract interface that layouts must implement. - - - - - Converts a given text to a . - - Text to be converted. - object represented by the text. - - - - Implicitly converts the specified string to a . - - The layout string. - Instance of . - - - - Implicitly converts the specified string to a . - - The layout string. - The NLog factories to use when resolving layout renderers. - Instance of . - - - - Precalculates the layout for the specified log event and stores the result - in per-log event cache. - - The log event. - - Calling this method enables you to store the log event in a buffer - and/or potentially evaluate it in another thread even though the - layout may contain thread-dependent renderer. - - - - - Renders the event info in layout. - - The event info. - String representing log event. - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Initializes the layout. - - - - - Closes the layout. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Gets the logging configuration this target is part of. - - - - - Precalculates the layout for the specified log event and stores the result - in per-log event cache. - - The log event. - - Calling this method enables you to store the log event in a buffer - and/or potentially evaluate it in another thread even though the - layout may contain thread-dependent renderer. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Gets or sets the body layout (can be repeated multiple times). - - - - - - Gets or sets the header layout. - - - - - - Gets or sets the footer layout. - - - - - - Initializes a new instance of the class. - - - - - Initializes the layout. - - - - - Formats the log event for write. - - The log event to be formatted. - A string representation of the log event. - - - - Gets the array of parameters to be passed. - - - - - - Gets or sets a value indicating whether CVS should include header. - - A value of true if CVS should include header; otherwise, false. - - - - - Gets or sets the column delimiter. - - - - - - Gets or sets the quoting mode. - - - - - - Gets or sets the quote Character. - - - - - - Gets or sets the custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). - - - - - - Header for CSV layout. - - - - - Initializes a new instance of the class. - - The parent. - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Specifies allowes CSV quoting modes. - - - - - Quote all column. - - - - - Quote nothing. - - - - - Quote only whose values contain the quote symbol or - the separator. - - - - - Marks class as a layout renderer and assigns a format string to it. - - - - - Initializes a new instance of the class. - - Layout name. - - - - Parses layout strings. - - - - - Simple character tokenizer. - - - - - Initializes a new instance of the class. - - The text to be tokenized. - - - - A specialized layout that renders Log4j-compatible XML events. - - - This layout is not meant to be used explicitly. Instead you can use ${log4jxmlevent} layout renderer. - - - - - Initializes a new instance of the class. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Gets the instance that renders log events. - - - - - Represents a string with embedded placeholders that can render contextual information. - - - This layout is not meant to be used explicitly. Instead you can just use a string containing layout - renderers everywhere the layout is required. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The layout string to parse. - - - - Initializes a new instance of the class. - - The layout string to parse. - The NLog factories to use when creating references to layout renderers. - - - - Converts a text to a simple layout. - - Text to be converted. - A object. - - - - Escapes the passed text so that it can - be used literally in all places where - layout is normally expected without being - treated as layout. - - The text to be escaped. - The escaped text. - - Escaping is done by replacing all occurences of - '${' with '${literal:text=${}' - - - - - Evaluates the specified text by expadinging all layout renderers. - - The text to be evaluated. - Log event to be used for evaluation. - The input text with all occurences of ${} replaced with - values provided by the appropriate layout renderers. - - - - Evaluates the specified text by expadinging all layout renderers - in new context. - - The text to be evaluated. - The input text with all occurences of ${} replaced with - values provided by the appropriate layout renderers. - - - - Returns a that represents the current object. - - - A that represents the current object. - - - - - Renders the layout for the specified logging event by invoking layout renderers - that make up the event. - - The logging event. - The rendered layout. - - - - Gets or sets the layout text. - - - - - - Gets a collection of objects that make up this layout. - - - - - Represents the logging event. - - - - - Gets the date of the first log event created. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Log level. - Logger name. - Log message including parameter placeholders. - - - - Initializes a new instance of the class. - - Log level. - Logger name. - An IFormatProvider that supplies culture-specific formatting information. - Log message including parameter placeholders. - Parameter array. - - - - Initializes a new instance of the class. - - Log level. - Logger name. - An IFormatProvider that supplies culture-specific formatting information. - Log message including parameter placeholders. - Parameter array. - Exception information. - - - - Creates the null event. - - Null log event. - - - - Creates the log event. - - The log level. - Name of the logger. - The message. - Instance of . - - - - Creates the log event. - - The log level. - Name of the logger. - The format provider. - The message. - The parameters. - Instance of . - - - - Creates the log event. - - The log level. - Name of the logger. - The format provider. - The message. - Instance of . - - - - Creates the log event. - - The log level. - Name of the logger. - The message. - The exception. - Instance of . - - - - Creates from this by attaching the specified asynchronous continuation. - - The asynchronous continuation. - Instance of with attached continuation. - - - - Returns a string representation of this log event. - - String representation of the log event. - - - - Sets the stack trace for the event info. - - The stack trace. - Index of the first user stack frame within the stack trace. - - - - Gets the unique identifier of log event which is automatically generated - and monotonously increasing. - - - - - Gets or sets the timestamp of the logging event. - - - - - Gets or sets the level of the logging event. - - - - - Gets a value indicating whether stack trace has been set for this event. - - - - - Gets the stack frame of the method that did the logging. - - - - - Gets the number index of the stack frame that represents the user - code (not the NLog code). - - - - - Gets the entire stack trace. - - - - - Gets or sets the exception information. - - - - - Gets or sets the logger name. - - - - - Gets the logger short name. - - - - - Gets or sets the log message including any parameter placeholders. - - - - - Gets or sets the parameter values or null if no parameters have been specified. - - - - - Gets or sets the format provider that was provided while logging or - when no formatProvider was specified. - - - - - Gets the formatted message. - - - - - Gets the dictionary of per-event context properties. - - - - - Gets the dictionary of per-event context properties. - - - - - Creates and manages instances of objects. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The config. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Creates a logger that discards all log messages. - - Null logger instance. - - - - Gets the logger named after the currently-being-initialized class. - - The logger. - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Gets the logger named after the currently-being-initialized class. - - The type of the logger to create. The type must inherit from NLog.Logger. - The logger. - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Gets the specified named logger. - - Name of the logger. - The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. - - - - Gets the specified named logger. - - Name of the logger. - The type of the logger to create. The type must inherit from NLog.Logger. - The logger reference. Multiple calls to GetLogger with the - same argument aren't guaranteed to return the same logger reference. - - - - Loops through all loggers previously returned by GetLogger - and recalculates their target and filter list. Useful after modifying the configuration programmatically - to ensure that all loggers have been properly configured. - - - - - Flush any pending log messages (in case of asynchronous targets). - - - - - Flush any pending log messages (in case of asynchronous targets). - - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - Decreases the log enable counter and if it reaches -1 - the logs are disabled. - Logging is enabled if the number of calls is greater - than or equal to calls. - An object that iplements IDisposable whose Dispose() method - reenables logging. To be used with C# using () statement. - - - Increases the log enable counter and if it reaches 0 the logs are disabled. - Logging is enabled if the number of calls is greater - than or equal to calls. - - - - Returns if logging is currently enabled. - - A value of if logging is currently enabled, - otherwise. - Logging is enabled if the number of calls is greater - than or equal to calls. - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Occurs when logging changes. - - - - - Occurs when logging gets reloaded. - - - - - Gets or sets a value indicating whether exceptions should be thrown. - - A value of true if exceptiosn should be thrown; otherwise, false. - By default exceptions - are not thrown under any circumstances. - - - - - Gets or sets the current logging configuration. - - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Logger cache key. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Determines if two objects are equal in value. - - Other object to compare to. - True if objects are equal, false otherwise. - - - - Enables logging in implementation. - - - - - Initializes a new instance of the class. - - The factory. - - - - Enables logging. - - - - - Specialized LogFactory that can return instances of custom logger types. - - The type of the logger to be returned. Must inherit from . - - - - Gets the logger. - - The logger name. - An instance of . - - - - Gets the logger named after the currently-being-initialized class. - - The logger. - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Provides logging interface and utility functions. - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - - - Initializes a new instance of the class. - - - - - Gets a value indicating whether logging is enabled for the specified level. - - Log level to be checked. - A value of if logging is enabled for the specified level, otherwise it returns . - - - - Writes the specified diagnostic message. - - Log event. - - - - Writes the specified diagnostic message. - - The name of the type that wraps Logger. - Log event. - - - - Writes the diagnostic message at the specified level using the specified format provider and format parameters. - - - Writes the diagnostic message at the specified level. - - Type of the value. - The log level. - The value to be written. - - - - Writes the diagnostic message at the specified level. - - Type of the value. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the specified level. - - The log level. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the specified level. - - The log level. - A to be written. - An exception to be logged. - - - - Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the specified level. - - The log level. - Log message. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameter. - - The type of the argument. - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The log level. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - The log level. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Trace level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Trace level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Trace level. - - Log message. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Debug level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Debug level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level. - - Log message. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Info level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Info level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Info level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Info level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Info level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Info level. - - Log message. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Warn level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Warn level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Warn level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Warn level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Warn level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Warn level. - - Log message. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Error level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Error level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Error level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Error level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Error level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Error level. - - Log message. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Fatal level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Fatal level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Fatal level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Fatal level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Fatal level. - - Log message. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the specified level. - - The log level. - A to be written. - - - - Writes the diagnostic message at the specified level. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level. - - A to be written. - - - - Writes the diagnostic message at the Trace level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level. - - A to be written. - - - - Writes the diagnostic message at the Debug level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level. - - A to be written. - - - - Writes the diagnostic message at the Info level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level. - - A to be written. - - - - Writes the diagnostic message at the Warn level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level. - - A to be written. - - - - Writes the diagnostic message at the Error level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level. - - A to be written. - - - - Writes the diagnostic message at the Fatal level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Occurs when logger configuration changes. - - - - - Gets the name of the logger. - - - - - Gets the factory that created this logger. - - - - - Gets a value indicating whether logging is enabled for the Trace level. - - A value of if logging is enabled for the Trace level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Debug level. - - A value of if logging is enabled for the Debug level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Info level. - - A value of if logging is enabled for the Info level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Warn level. - - A value of if logging is enabled for the Warn level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Error level. - - A value of if logging is enabled for the Error level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Fatal level. - - A value of if logging is enabled for the Fatal level, otherwise it returns . - - - - Implementation of logging engine. - - - - - Gets the filter result. - - The filter chain. - The log event. - The result of the filter. - - - - Defines available log levels. - - - - - Trace log level. - - - - - Debug log level. - - - - - Info log level. - - - - - Warn log level. - - - - - Error log level. - - - - - Fatal log level. - - - - - Off log level. - - - - - Compares two objects - and returns a value indicating whether - the first one is equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal == level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is not equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal != level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is greater than the second one. - - The first level. - The second level. - The value of level1.Ordinal > level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is greater than or equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal >= level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is less than the second one. - - The first level. - The second level. - The value of level1.Ordinal < level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is less than or equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal <= level2.Ordinal. - - - - Gets the that corresponds to the specified ordinal. - - The ordinal. - The instance. For 0 it returns , 1 gives and so on. - - - - Returns the that corresponds to the supplied . - - The texual representation of the log level. - The enumeration value. - - - - Returns a string representation of the log level. - - Log level name. - - - - Returns a hash code for this instance. - - - A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. - - - - - Determines whether the specified is equal to this instance. - - The to compare with this instance. - - Value of true if the specified is equal to this instance; otherwise, false. - - - The parameter is null. - - - - - Compares the level to the other object. - - - The object object. - - - A value less than zero when this logger's is - less than the other logger's ordinal, 0 when they are equal and - greater than zero when this ordinal is greater than the - other ordinal. - - - - - Gets the name of the log level. - - - - - Gets the ordinal of the log level. - - - - - Creates and manages instances of objects. - - - - - Initializes static members of the LogManager class. - - - - - Prevents a default instance of the LogManager class from being created. - - - - - Gets the logger named after the currently-being-initialized class. - - The logger. - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Gets the logger named after the currently-being-initialized class. - - The logger class. The class must inherit from . - The logger. - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Creates a logger that discards all log messages. - - Null logger which discards all log messages. - - - - Gets the specified named logger. - - Name of the logger. - The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. - - - - Gets the specified named logger. - - Name of the logger. - The logger class. The class must inherit from . - The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. - - - - Loops through all loggers previously returned by GetLogger. - and recalculates their target and filter list. Useful after modifying the configuration programmatically - to ensure that all loggers have been properly configured. - - - - - Flush any pending log messages (in case of asynchronous targets). - - - - - Flush any pending log messages (in case of asynchronous targets). - - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - Decreases the log enable counter and if it reaches -1 - the logs are disabled. - Logging is enabled if the number of calls is greater - than or equal to calls. - An object that iplements IDisposable whose Dispose() method - reenables logging. To be used with C# using () statement. - - - Increases the log enable counter and if it reaches 0 the logs are disabled. - Logging is enabled if the number of calls is greater - than or equal to calls. - - - - Returns if logging is currently enabled. - - A value of if logging is currently enabled, - otherwise. - Logging is enabled if the number of calls is greater - than or equal to calls. - - - - Occurs when logging changes. - - - - - Occurs when logging gets reloaded. - - - - - Gets or sets a value indicating whether NLog should throw exceptions. - By default exceptions are not thrown under any circumstances. - - - - - Gets or sets the current logging configuration. - - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Returns a log message. Used to defer calculation of - the log message until it's actually needed. - - Log message. - - - - Service contract for Log Receiver client. - - - - - Begins processing of log messages. - - The events. - The callback. - Asynchronous state. - - IAsyncResult value which can be passed to . - - - - - Ends asynchronous processing of log messages. - - The result. - - - - Log Receiver Client Channel. - - - - - Service contract for Log Receiver server. - - - - - Processes the log messages. - - The events. - - - - Internal configuration of Log Receiver Service contracts. - - - - - Wire format for NLog Event. - - - - - Initializes a new instance of the class. - - - - - Converts the to . - - The object this is part of.. - The logger name prefix to prepend in front of the logger name. - Converted . - - - - Gets or sets the client-generated identifier of the event. - - - - - Gets or sets the ordinal of the log level. - - - - - Gets or sets the logger ordinal (index into . - - The logger ordinal. - - - - Gets or sets the time delta (in ticks) between the time of the event and base time. - - - - - Gets or sets the message string index. - - - - - Gets or sets the collection of layout values. - - - - - Gets the collection of indexes into array for each layout value. - - - - - Wire format for NLog event package. - - - - - Converts the events to sequence of objects suitable for routing through NLog. - - The logger name prefix to prepend in front of each logger name. - - Sequence of objects. - - - - - Converts the events to sequence of objects suitable for routing through NLog. - - - Sequence of objects. - - - - - Gets or sets the name of the client. - - The name of the client. - - - - Gets or sets the base time (UTC ticks) for all events in the package. - - The base time UTC. - - - - Gets or sets the collection of layout names which are shared among all events. - - The layout names. - - - - Gets or sets the collection of logger names. - - The logger names. - - - - Gets or sets the list of events. - - The events. - - - - List of strings annotated for more terse serialization. - - - - - Initializes a new instance of the class. - - - - - Log Receiver Client using WCF. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the endpoint configuration. - - - - Initializes a new instance of the class. - - Name of the endpoint configuration. - The remote address. - - - - Initializes a new instance of the class. - - Name of the endpoint configuration. - The remote address. - - - - Initializes a new instance of the class. - - The binding. - The remote address. - - - - Opens the client asynchronously. - - - - - Opens the client asynchronously. - - User-specific state. - - - - Closes the client asynchronously. - - - - - Closes the client asynchronously. - - User-specific state. - - - - Processes the log messages asynchronously. - - The events to send. - - - - Processes the log messages asynchronously. - - The events to send. - User-specific state. - - - - Begins processing of log messages. - - The events to send. - The callback. - Asynchronous state. - - IAsyncResult value which can be passed to . - - - - - Ends asynchronous processing of log messages. - - The result. - - - - Occurs when the log message processing has completed. - - - - - Occurs when Open operation has completed. - - - - - Occurs when Close operation has completed. - - - - - Mapped Diagnostics Context - a thread-local structure that keeps a dictionary - of strings and provides methods to output them in layouts. - Mostly for compatibility with log4net. - - - - - Sets the current thread MDC item to the specified value. - - Item name. - Item value. - - - - Gets the current thread MDC named item. - - Item name. - The item value of String.Empty if the value is not present. - - - - Checks whether the specified item exists in current thread MDC. - - Item name. - A boolean indicating whether the specified item exists in current thread MDC. - - - - Removes the specified item from current thread MDC. - - Item name. - - - - Clears the content of current thread MDC. - - - - - Mapped Diagnostics Context - used for log4net compatibility. - - - - - Sets the current thread MDC item to the specified value. - - Item name. - Item value. - - - - Gets the current thread MDC named item. - - Item name. - The item value of String.Empty if the value is not present. - - - - Checks whether the specified item exists in current thread MDC. - - Item name. - A boolean indicating whether the specified item exists in current thread MDC. - - - - Removes the specified item from current thread MDC. - - Item name. - - - - Clears the content of current thread MDC. - - - - - Nested Diagnostics Context - for log4net compatibility. - - - - - Pushes the specified text on current thread NDC. - - The text to be pushed. - An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. - - - - Pops the top message off the NDC stack. - - The top message which is no longer on the stack. - - - - Clears current thread NDC stack. - - - - - Gets all messages on the stack. - - Array of strings on the stack. - - - - Gets the top NDC message but doesn't remove it. - - The top message. . - - - - Nested Diagnostics Context - a thread-local structure that keeps a stack - of strings and provides methods to output them in layouts - Mostly for compatibility with log4net. - - - - - Pushes the specified text on current thread NDC. - - The text to be pushed. - An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. - - - - Pops the top message off the NDC stack. - - The top message which is no longer on the stack. - - - - Clears current thread NDC stack. - - - - - Gets all messages on the stack. - - Array of strings on the stack. - - - - Gets the top NDC message but doesn't remove it. - - The top message. . - - - - Resets the stack to the original count during . - - - - - Initializes a new instance of the class. - - The stack. - The previous count. - - - - Reverts the stack to original item count. - - - - - Exception thrown during NLog configuration. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - The parameter is null. - - - The class name is null or is zero (0). - - - - - Exception thrown during log event processing. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - The parameter is null. - - - The class name is null or is zero (0). - - - - - TraceListener which routes all messages through NLog. - - - - - Initializes a new instance of the class. - - - - - When overridden in a derived class, writes the specified message to the listener you create in the derived class. - - A message to write. - - - - When overridden in a derived class, writes a message to the listener you create in the derived class, followed by a line terminator. - - A message to write. - - - - When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output. - - - - - Emits an error message. - - A message to emit. - - - - Emits an error message and a detailed error message. - - A message to emit. - A detailed message to emit. - - - - Flushes the output buffer. - - - - - Writes trace information, a data object and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - The trace data to emit. - - - - Writes trace information, an array of data objects and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - An array of objects to emit as data. - - - - Writes trace and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - - - - Writes trace information, a formatted array of objects and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - A format string that contains zero or more format items, which correspond to objects in the array. - An object array containing zero or more objects to format. - - - - Writes trace information, a message, and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - A message to write. - - - - Writes trace information, a message, a related activity identity and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - A numeric identifier for the event. - A message to write. - A object identifying a related activity. - - - - Gets the custom attributes supported by the trace listener. - - - A string array naming the custom attributes supported by the trace listener, or null if there are no custom attributes. - - - - - Translates the event type to level from . - - Type of the event. - Translated log level. - - - - Gets or sets the log factory to use when outputting messages (null - use LogManager). - - - - - Gets or sets the default log level. - - - - - Gets or sets the log which should be always used regardless of source level. - - - - - Gets a value indicating whether the trace listener is thread safe. - - - true if the trace listener is thread safe; otherwise, false. The default is false. - - - - Gets or sets a value indicating whether to use auto logger name detected from the stack trace. - - - - - Specifies the way archive numbering is performed. - - - - - Sequence style numbering. The most recent archive has the highest number. - - - - - Rolling style numbering (the most recent is always #0 then #1, ..., #N. - - - - - Outputs log messages through the ASP Response object. - - Documentation on NLog Wiki - - - - Represents target that supports string formatting using layouts. - - - - - Represents logging target. - - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Closes the target. - - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - - - - Calls the on each volatile layout - used by this target. - - - The log event. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Writes the log to the target. - - Log event to write. - - - - Writes the array of log events. - - The log events. - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Initializes the target. Can be used by inheriting classes - to initialize logging. - - - - - Closes the target and releases any unmanaged resources. - - - - - Flush any pending log messages asynchronously (in case of asynchronous targets). - - The asynchronous continuation. - - - - Writes logging event to the log target. - classes. - - - Logging event to be written out. - - - - - Writes log event to the log target. Must be overridden in inheriting - classes. - - Log event to be written out. - - - - Writes an array of logging events to the log target. By default it iterates on all - events and passes them to "Write" method. Inheriting classes can use this method to - optimize batch writes. - - Logging events to be written out. - - - - Gets or sets the name of the target. - - - - - - Gets the object which can be used to synchronize asynchronous operations that must rely on the . - - - - - Gets the logging configuration this target is part of. - - - - - Gets a value indicating whether the target has been initialized. - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Gets or sets the layout used to format log messages. - - - - - - Outputs the rendered logging event through the OutputDebugString() Win32 API. - - The logging event. - - - - Gets or sets a value indicating whether to add <!-- --> comments around all written texts. - - - - - - Sends log messages to the remote instance of Chainsaw application from log4j. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -

- NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol - or you'll get TCP timeouts and your application will crawl. - Either switch to UDP transport or use AsyncWrapper target - so that your application threads will not be blocked by the timing-out connection attempts. -

-
-
- - - Sends log messages to the remote instance of NLog Viewer. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -

- NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol - or you'll get TCP timeouts and your application will crawl. - Either switch to UDP transport or use AsyncWrapper target - so that your application threads will not be blocked by the timing-out connection attempts. -

-
-
- - - Sends log messages over the network. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -

- To print the results, use any application that's able to receive messages over - TCP or UDP. NetCat is - a simple but very powerful command-line tool that can be used for that. This image - demonstrates the NetCat tool receiving log messages from Network target. -

- -

- NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol - or you'll get TCP timeouts and your application will crawl. - Either switch to UDP transport or use AsyncWrapper target - so that your application threads will not be blocked by the timing-out connection attempts. -

-

- There are two specialized versions of the Network target: Chainsaw - and NLogViewer which write to instances of Chainsaw log4j viewer - or NLogViewer application respectively. -

-
-
- - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Flush any pending log messages asynchronously (in case of asynchronous targets). - - The asynchronous continuation. - - - - Closes the target. - - - - - Sends the - rendered logging event over the network optionally concatenating it with a newline character. - - The logging event. - - - - Gets the bytes to be written. - - Log event. - Byte array. - - - - Gets or sets the network address. - - - The network address can be: -
    -
  • tcp://host:port - TCP (auto select IPv4/IPv6)
  • -
  • tcp4://host:port - force TCP/IPv4
  • -
  • tcp6://host:port - force TCP/IPv6
  • -
  • udp://host:port - UDP (auto select IPv4/IPv6, not supported on Silverlight)
  • -
  • udp4://host:port - force UDP/IPv4 (not supported on Silverlight)
  • -
  • udp6://host:port - force UDP/IPv6 (not supported on Silverlight)
  • -
- For HTTP Support use WebService target. -
- -
- - - Gets or sets a value indicating whether to keep connection open whenever possible. - - - - - - Gets or sets a value indicating whether to append newline at the end of log message. - - - - - - Gets or sets the maximum message size in bytes. - - - - - - Gets or sets the size of the connection cache (number of connections which are kept alive). - - - - - - Gets or sets the action that should be taken if the message is larger than - maxMessageSize. - - - - - - Gets or sets the encoding to be used. - - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. - - - - - - Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. - - - - - - Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. - - - - - - Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. - - - - - - Gets or sets a value indicating whether to include dictionary contents. - - - - - - Gets or sets a value indicating whether to include stack contents. - - - - - - Gets the collection of parameters. Each parameter contains a mapping - between NLog layout and a named parameter. - - - - - - Gets the layout renderer which produces Log4j-compatible XML events. - - - - - Gets or sets the instance of that is used to format log messages. - - - - - Initializes a new instance of the class. - - - - - Writes log messages to the console with customizable coloring. - - Documentation on NLog Wiki - - - - Represents target that supports string formatting using layouts. - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Gets or sets the text to be rendered. - - - - - - Gets or sets the footer. - - - - - - Gets or sets the header. - - - - - - Gets or sets the layout with header and footer. - - The layout with header and footer. - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Initializes the target. - - - - - Closes the target and releases any unmanaged resources. - - - - - Writes the specified log event to the console highlighting entries - and words based on a set of defined rules. - - Log event. - - - - Gets or sets a value indicating whether the error stream (stderr) should be used instead of the output stream (stdout). - - - - - - Gets or sets a value indicating whether to use default row highlighting rules. - - - The default rules are: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ConditionForeground ColorBackground Color
level == LogLevel.FatalRedNoChange
level == LogLevel.ErrorYellowNoChange
level == LogLevel.WarnMagentaNoChange
level == LogLevel.InfoWhiteNoChange
level == LogLevel.DebugGrayNoChange
level == LogLevel.TraceDarkGrayNoChange
-
- -
- - - Gets the row highlighting rules. - - - - - - Gets the word highlighting rules. - - - - - - Color pair (foreground and background). - - - - - Colored console output color. - - - Note that this enumeration is defined to be binary compatible with - .NET 2.0 System.ConsoleColor + some additions - - - - - Black Color (#000000). - - - - - Dark blue Color (#000080). - - - - - Dark green Color (#008000). - - - - - Dark Cyan Color (#008080). - - - - - Dark Red Color (#800000). - - - - - Dark Magenta Color (#800080). - - - - - Dark Yellow Color (#808000). - - - - - Gray Color (#C0C0C0). - - - - - Dark Gray Color (#808080). - - - - - Blue Color (#0000FF). - - - - - Green Color (#00FF00). - - - - - Cyan Color (#00FFFF). - - - - - Red Color (#FF0000). - - - - - Magenta Color (#FF00FF). - - - - - Yellow Color (#FFFF00). - - - - - White Color (#FFFFFF). - - - - - Don't change the color. - - - - - The row-highlighting condition. - - - - - Initializes static members of the ConsoleRowHighlightingRule class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The condition. - Color of the foreground. - Color of the background. - - - - Checks whether the specified log event matches the condition (if any). - - - Log event. - - - A value of if the condition is not defined or - if it matches, otherwise. - - - - - Gets the default highlighting rule. Doesn't change the color. - - - - - Gets or sets the condition that must be met in order to set the specified foreground and background color. - - - - - - Gets or sets the foreground color. - - - - - - Gets or sets the background color. - - - - - - Writes log messages to the console. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
-
- - - Initializes the target. - - - - - Closes the target and releases any unmanaged resources. - - - - - Writes the specified logging event to the Console.Out or - Console.Error depending on the value of the Error flag. - - The logging event. - - Note that the Error option is not supported on .NET Compact Framework. - - - - - Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. - - - - - - Highlighting rule for Win32 colorful console. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The text to be matched.. - Color of the foreground. - Color of the background. - - - - Gets or sets the regular expression to be matched. You must specify either text or regex. - - - - - - Gets or sets the text to be matched. You must specify either text or regex. - - - - - - Gets or sets a value indicating whether to match whole words only. - - - - - - Gets or sets a value indicating whether to ignore case when comparing texts. - - - - - - Gets the compiled regular expression that matches either Text or Regex property. - - - - - Gets or sets the foreground color. - - - - - - Gets or sets the background color. - - - - - - Information about database command + parameters. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the type of the command. - - The type of the command. - - - - - Gets or sets the connection string to run the command against. If not provided, connection string from the target is used. - - - - - - Gets or sets the command text. - - - - - - Gets or sets a value indicating whether to ignore failures. - - - - - - Gets the collection of parameters. Each parameter contains a mapping - between NLog layout and a database named or positional parameter. - - - - - - Represents a parameter to a Database target. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the parameter. - The parameter layout. - - - - Gets or sets the database parameter name. - - - - - - Gets or sets the layout that should be use to calcuate the value for the parameter. - - - - - - Gets or sets the database parameter size. - - - - - - Gets or sets the database parameter precision. - - - - - - Gets or sets the database parameter scale. - - - - - - Writes log messages to the database using an ADO.NET provider. - - Documentation on NLog Wiki - - - The configuration is dependent on the database type, because - there are differnet methods of specifying connection string, SQL - command and command parameters. - - MS SQL Server using System.Data.SqlClient: - - Oracle using System.Data.OracleClient: - - Oracle using System.Data.OleDBClient: - - To set up the log target programmatically use code like this (an equivalent of MSSQL configuration): - - - - - - Initializes a new instance of the class. - - - - - Performs installation which requires administrative permissions. - - The installation context. - - - - Performs uninstallation which requires administrative permissions. - - The installation context. - - - - Determines whether the item is installed. - - The installation context. - - Value indicating whether the item is installed or null if it is not possible to determine. - - - - - Initializes the target. Can be used by inheriting classes - to initialize logging. - - - - - Closes the target and releases any unmanaged resources. - - - - - Writes the specified logging event to the database. It creates - a new database command, prepares parameters for it by calculating - layouts and executes the command. - - The logging event. - - - - Writes an array of logging events to the log target. By default it iterates on all - events and passes them to "Write" method. Inheriting classes can use this method to - optimize batch writes. - - Logging events to be written out. - - - - Gets or sets the name of the database provider. - - - - The parameter name should be a provider invariant name as registered in machine.config or app.config. Common values are: - -
    -
  • System.Data.SqlClient - SQL Sever Client
  • -
  • System.Data.SqlServerCe.3.5 - SQL Sever Compact 3.5
  • -
  • System.Data.OracleClient - Oracle Client from Microsoft (deprecated in .NET Framework 4)
  • -
  • Oracle.DataAccess.Client - ODP.NET provider from Oracle
  • -
  • System.Data.SQLite - System.Data.SQLite driver for SQLite
  • -
  • Npgsql - Npgsql driver for PostgreSQL
  • -
  • MySql.Data.MySqlClient - MySQL Connector/Net
  • -
- (Note that provider invariant names are not supported on .NET Compact Framework). - - Alternatively the parameter value can be be a fully qualified name of the provider - connection type (class implementing ) or one of the following tokens: - -
    -
  • sqlserver, mssql, microsoft or msde - SQL Server Data Provider
  • -
  • oledb - OLEDB Data Provider
  • -
  • odbc - ODBC Data Provider
  • -
-
- -
- - - Gets or sets the name of the connection string (as specified in <connectionStrings> configuration section. - - - - - - Gets or sets the connection string. When provided, it overrides the values - specified in DBHost, DBUserName, DBPassword, DBDatabase. - - - - - - Gets or sets the connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used. - - - - - - Gets the installation DDL commands. - - - - - - Gets the uninstallation DDL commands. - - - - - - Gets or sets a value indicating whether to keep the - database connection open between the log events. - - - - - - Gets or sets a value indicating whether to use database transactions. - Some data providers require this. - - - - - - Gets or sets the database host name. If the ConnectionString is not provided - this value will be used to construct the "Server=" part of the - connection string. - - - - - - Gets or sets the database user name. If the ConnectionString is not provided - this value will be used to construct the "User ID=" part of the - connection string. - - - - - - Gets or sets the database password. If the ConnectionString is not provided - this value will be used to construct the "Password=" part of the - connection string. - - - - - - Gets or sets the database name. If the ConnectionString is not provided - this value will be used to construct the "Database=" part of the - connection string. - - - - - - Gets or sets the text of the SQL command to be run on each log level. - - - Typically this is a SQL INSERT statement or a stored procedure call. - It should use the database-specific parameters (marked as @parameter - for SQL server or :parameter for Oracle, other data providers - have their own notation) and not the layout renderers, - because the latter is prone to SQL injection attacks. - The layout renderers should be specified as <parameter /> elements instead. - - - - - - Gets the collection of parameters. Each parameter contains a mapping - between NLog layout and a database named or positional parameter. - - - - - - Writes log messages to the attached managed debugger. - - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
-
- - - Initializes the target. - - - - - Closes the target and releases any unmanaged resources. - - - - - Writes the specified logging event to the attached debugger. - - The logging event. - - - - Mock target - useful for testing. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
-
- - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Increases the number of messages. - - The logging event. - - - - Gets the number of times this target has been called. - - - - - - Gets the last message rendered by this target. - - - - - - Writes log message to the Event Log. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
-
- - - Initializes a new instance of the class. - - - - - Performs installation which requires administrative permissions. - - The installation context. - - - - Performs uninstallation which requires administrative permissions. - - The installation context. - - - - Determines whether the item is installed. - - The installation context. - - Value indicating whether the item is installed or null if it is not possible to determine. - - - - - Initializes the target. - - - - - Writes the specified logging event to the event log. - - The logging event. - - - - Gets or sets the name of the machine on which Event Log service is running. - - - - - - Gets or sets the layout that renders event ID. - - - - - - Gets or sets the layout that renders event Category. - - - - - - Gets or sets the value to be used as the event Source. - - - By default this is the friendly name of the current AppDomain. - - - - - - Gets or sets the name of the Event Log to write to. This can be System, Application or - any user-defined name. - - - - - - Modes of archiving files based on time. - - - - - Don't archive based on time. - - - - - Archive every year. - - - - - Archive every month. - - - - - Archive daily. - - - - - Archive every hour. - - - - - Archive every minute. - - - - - Writes log messages to one or more files. - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Removes records of initialized files that have not been - accessed in the last two days. - - - Files are marked 'initialized' for the purpose of writing footers when the logging finishes. - - - - - Removes records of initialized files that have not been - accessed after the specified date. - - The cleanup threshold. - - Files are marked 'initialized' for the purpose of writing footers when the logging finishes. - - - - - Flushes all pending file operations. - - The asynchronous continuation. - - The timeout parameter is ignored, because file APIs don't provide - the needed functionality. - - - - - Initializes file logging by creating data structures that - enable efficient multi-file logging. - - - - - Closes the file(s) opened for writing. - - - - - Writes the specified logging event to a file specified in the FileName - parameter. - - The logging event. - - - - Writes the specified array of logging events to a file specified in the FileName - parameter. - - An array of objects. - - This function makes use of the fact that the events are batched by sorting - the requests by filename. This optimizes the number of open/close calls - and can help improve performance. - - - - - Formats the log event for write. - - The log event to be formatted. - A string representation of the log event. - - - - Gets the bytes to be written to the file. - - Log event. - Array of bytes that are ready to be written. - - - - Modifies the specified byte array before it gets sent to a file. - - The byte array. - The modified byte array. The function can do the modification in-place. - - - - Gets or sets the name of the file to write to. - - - This FileName string is a layout which may include instances of layout renderers. - This lets you use a single target to write to multiple files. - - - The following value makes NLog write logging events to files based on the log level in the directory where - the application runs. - ${basedir}/${level}.log - All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on. - You can combine as many of the layout renderers as you want to produce an arbitrary log file name. - - - - - - Gets or sets a value indicating whether to create directories if they don't exist. - - - Setting this to false may improve performance a bit, but you'll receive an error - when attempting to write to a directory that's not present. - - - - - - Gets or sets a value indicating whether to delete old log file on startup. - - - This option works only when the "FileName" parameter denotes a single file. - - - - - - Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end. - - - - - - Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event. - - - Setting this property to True helps improve performance. - - - - - - Gets or sets a value indicating whether to enable log file(s) to be deleted. - - - - - - Gets or sets the file attributes (Windows only). - - - - - - Gets or sets the line ending mode. - - - - - - Gets or sets a value indicating whether to automatically flush the file buffers after each log message. - - - - - - Gets or sets the number of files to be kept open. Setting this to a higher value may improve performance - in a situation where a single File target is writing to many files - (such as splitting by level or by logger). - - - The files are managed on a LRU (least recently used) basis, which flushes - the files that have not been used for the longest period of time should the - cache become full. As a rule of thumb, you shouldn't set this parameter to - a very high value. A number like 10-15 shouldn't be exceeded, because you'd - be keeping a large number of files open which consumes system resources. - - - - - - Gets or sets the maximum number of seconds that files are kept open. If this number is negative the files are - not automatically closed after a period of inactivity. - - - - - - Gets or sets the log file buffer size in bytes. - - - - - - Gets or sets the file encoding. - - - - - - Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. - - - This makes multi-process logging possible. NLog uses a special technique - that lets it keep the files open for writing. - - - - - - Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on different network hosts. - - - This effectively prevents files from being kept open. - - - - - - Gets or sets the number of times the write is appended on the file before NLog - discards the log message. - - - - - - Gets or sets the delay in milliseconds to wait before attempting to write to the file again. - - - The actual delay is a random value between 0 and the value specified - in this parameter. On each failed attempt the delay base is doubled - up to times. - - - Assuming that ConcurrentWriteAttemptDelay is 10 the time to wait will be:

- a random value between 0 and 10 milliseconds - 1st attempt
- a random value between 0 and 20 milliseconds - 2nd attempt
- a random value between 0 and 40 milliseconds - 3rd attempt
- a random value between 0 and 80 milliseconds - 4th attempt
- ...

- and so on. - - - - -

- Gets or sets the size in bytes above which log files will be automatically archived. - - - Caution: Enabling this option can considerably slow down your file - logging in multi-process scenarios. If only one process is going to - be writing to the file, consider setting ConcurrentWrites - to false for maximum performance. - - -
- - - Gets or sets a value indicating whether to automatically archive log files every time the specified time passes. - - - Files are moved to the archive as part of the write operation if the current period of time changes. For example - if the current hour changes from 10 to 11, the first write that will occur - on or after 11:00 will trigger the archiving. -

- Caution: Enabling this option can considerably slow down your file - logging in multi-process scenarios. If only one process is going to - be writing to the file, consider setting ConcurrentWrites - to false for maximum performance. -

-
- -
- - - Gets or sets the name of the file to be used for an archive. - - - It may contain a special placeholder {#####} - that will be replaced with a sequence of numbers depending on - the archiving strategy. The number of hash characters used determines - the number of numerical digits to be used for numbering files. - - - - - - Gets or sets the maximum number of archive files that should be kept. - - - - - - Gets or sets the way file archives are numbered. - - - - - - Gets the characters that are appended after each line. - - - - - Logs text to Windows.Forms.Control.Text property control of specified Name. - - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- The result is: -

- -

- To set up the log target programmatically similar to above use code like this: -

- , -
-
- - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Log message to control. - - - The logging event. - - - - - Gets or sets the name of control to which NLog will log write log text. - - - - - - Gets or sets a value indicating whether log text should be appended to the text of the control instead of overwriting it. - - - - - Gets or sets the name of the Form on which the control is located. - - - - - - Line ending mode. - - - - - Insert platform-dependent end-of-line sequence after each line. - - - - - Insert CR LF sequence (ASCII 13, ASCII 10) after each line. - - - - - Insert CR character (ASCII 13) after each line. - - - - - Insert LF character (ASCII 10) after each line. - - - - - Don't insert any line ending. - - - - - Sends log messages to a NLog Receiver Service (using WCF or Web Services). - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - - - Writes logging event to the log target. Must be overridden in inheriting - classes. - - Logging event to be written out. - - - - Writes an array of logging events to the log target. By default it iterates on all - events and passes them to "Append" method. Inheriting classes can use this method to - optimize batch writes. - - Logging events to be written out. - - - - Gets or sets the endpoint address. - - The endpoint address. - - - - - Gets or sets the name of the endpoint configuration in WCF configuration file. - - The name of the endpoint configuration. - - - - - Gets or sets a value indicating whether to use binary message encoding. - - - - - - Gets or sets the client ID. - - The client ID. - - - - - Gets the list of parameters. - - The parameters. - - - - - Sends log messages by email using SMTP protocol. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -

- Mail target works best when used with BufferingWrapper target - which lets you send multiple log messages in single mail -

-

- To set up the buffered mail target in the configuration file, - use the following syntax: -

- -

- To set up the buffered mail target programmatically use code like this: -

- -
-
- - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Renders the logging event message and adds it to the internal ArrayList of log messages. - - The logging event. - - - - Renders an array logging events. - - Array of logging events. - - - - Gets or sets sender's email address (e.g. joe@domain.com). - - - - - - Gets or sets recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - - Gets or sets CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - - Gets or sets BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - - Gets or sets a value indicating whether to add new lines between log entries. - - A value of true if new lines should be added; otherwise, false. - - - - - Gets or sets the mail subject. - - - - - - Gets or sets mail message body (repeated for each log message send in one mail). - - Alias for the Layout property. - - - - - Gets or sets encoding to be used for sending e-mail. - - - - - - Gets or sets a value indicating whether to send message as HTML instead of plain text. - - - - - - Gets or sets SMTP Server to be used for sending. - - - - - - Gets or sets SMTP Authentication mode. - - - - - - Gets or sets the username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). - - - - - - Gets or sets the password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). - - - - - - Gets or sets a value indicating whether SSL (secure sockets layer) should be used when communicating with SMTP server. - - - - - - Gets or sets the port number that SMTP Server is listening on. - - - - - - Writes log messages to an ArrayList in memory for programmatic retrieval. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
-
- - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Renders the logging event message and adds it to the internal ArrayList of log messages. - - The logging event. - - - - Gets the list of logs gathered in the . - - - - - Pops up log messages as message boxes. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- The result is a message box: -

- -

- To set up the log target programmatically use code like this: -

- -
-
- - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Displays the message box with the log message and caption specified in the Caption - parameter. - - The logging event. - - - - Displays the message box with the array of rendered logs messages and caption specified in the Caption - parameter. - - The array of logging events. - - - - Gets or sets the message box title. - - - - - - A parameter to MethodCall. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The layout to use for parameter value. - - - - Initializes a new instance of the class. - - Name of the parameter. - The layout. - - - - Initializes a new instance of the class. - - The name of the parameter. - The layout. - The type of the parameter. - - - - Gets or sets the name of the parameter. - - - - - - Gets or sets the type of the parameter. - - - - - - Gets or sets the layout that should be use to calcuate the value for the parameter. - - - - - - Calls the specified static method on each log message and passes contextual parameters to it. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
-
- - - The base class for all targets which call methods (local or remote). - Manages parameters and type coercion. - - - - - Initializes a new instance of the class. - - - - - Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). - - - The logging event. - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Gets the array of parameters to be passed. - - - - - - Initializes the target. - - - - - Calls the specified Method. - - Method parameters. - - - - Gets or sets the class name. - - - - - - Gets or sets the method name. The method must be public and static. - - - - - - Action that should be taken if the message overflows. - - - - - Report an error. - - - - - Split the message into smaller pieces. - - - - - Discard the entire message. - - - - - Represents a parameter to a NLogViewer target. - - - - - Initializes a new instance of the class. - - - - - Gets or sets viewer parameter name. - - - - - - Gets or sets the layout that should be use to calcuate the value for the parameter. - - - - - - Discards log messages. Used mainly for debugging and benchmarking. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
-
- - - Does nothing. Optionally it calculates the layout text but - discards the results. - - The logging event. - - - - Gets or sets a value indicating whether to perform layout calculation. - - - - - - Outputs log messages through the OutputDebugString() Win32 API. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
-
- - - Outputs the rendered logging event through the OutputDebugString() Win32 API. - - The logging event. - - - - Increments specified performance counter on each write. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
- - TODO: - 1. Unable to create a category allowing multiple counter instances (.Net 2.0 API only, probably) - 2. Is there any way of adding new counters without deleting the whole category? - 3. There should be some mechanism of resetting the counter (e.g every day starts from 0), or auto-switching to - another counter instance (with dynamic creation of new instance). This could be done with layouts. - -
- - - Initializes a new instance of the class. - - - - - Performs installation which requires administrative permissions. - - The installation context. - - - - Performs uninstallation which requires administrative permissions. - - The installation context. - - - - Determines whether the item is installed. - - The installation context. - - Value indicating whether the item is installed or null if it is not possible to determine. - - - - - Increments the configured performance counter. - - Log event. - - - - Closes the target and releases any unmanaged resources. - - - - - Ensures that the performance counter has been initialized. - - True if the performance counter is operational, false otherwise. - - - - Gets or sets a value indicating whether performance counter should be automatically created. - - - - - - Gets or sets the name of the performance counter category. - - - - - - Gets or sets the name of the performance counter. - - - - - - Gets or sets the performance counter instance name. - - - - - - Gets or sets the counter help text. - - - - - - Gets or sets the performance counter type. - - - - - - The row-coloring condition. - - - - - Initializes static members of the RichTextBoxRowColoringRule class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The condition. - Color of the foregroung text. - Color of the background text. - The font style. - - - - Initializes a new instance of the class. - - The condition. - Color of the text. - Color of the background. - - - - Checks whether the specified log event matches the condition (if any). - - - Log event. - - - A value of if the condition is not defined or - if it matches, otherwise. - - - - - Gets the default highlighting rule. Doesn't change the color. - - - - - - Gets or sets the condition that must be met in order to set the specified font color. - - - - - - Gets or sets the font color. - - - Names are identical with KnownColor enum extended with Empty value which means that background color won't be changed. - - - - - - Gets or sets the background color. - - - Names are identical with KnownColor enum extended with Empty value which means that background color won't be changed. - - - - - - Gets or sets the font style of matched text. - - - Possible values are the same as in FontStyle enum in System.Drawing - - - - - - Log text a Rich Text Box control in an existing or new form. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- The result is: -

- To set up the target with coloring rules in the configuration file, - use the following syntax: -

- - - -

- The result is: -

- To set up the log target programmatically similar to above use code like this: -

- - , - - - for RowColoring, - - - for WordColoring -
-
- - - Initializes static members of the RichTextBoxTarget class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Initializes the target. Can be used by inheriting classes - to initialize logging. - - - - - Closes the target and releases any unmanaged resources. - - - - - Log message to RichTextBox. - - The logging event. - - - - Gets the default set of row coloring rules which applies when is set to true. - - - - - Gets or sets the Name of RichTextBox to which Nlog will write. - - - - - - Gets or sets the name of the Form on which the control is located. - If there is no open form of a specified name than NLog will create a new one. - - - - - - Gets or sets a value indicating whether to use default coloring rules. - - - - - - Gets the row coloring rules. - - - - - - Gets the word highlighting rules. - - - - - - Gets or sets a value indicating whether the created window will be a tool window. - - - This parameter is ignored when logging to existing form control. - Tool windows have thin border, and do not show up in the task bar. - - - - - - Gets or sets a value indicating whether the created form will be initially minimized. - - - This parameter is ignored when logging to existing form control. - - - - - - Gets or sets the initial width of the form with rich text box. - - - This parameter is ignored when logging to existing form control. - - - - - - Gets or sets the initial height of the form with rich text box. - - - This parameter is ignored when logging to existing form control. - - - - - - Gets or sets a value indicating whether scroll bar will be moved automatically to show most recent log entries. - - - - - - Gets or sets the maximum number of lines the rich text box will store (or 0 to disable this feature). - - - After exceeding the maximum number, first line will be deleted. - - - - - - Gets or sets the form to log to. - - - - - Gets or sets the rich text box to log to. - - - - - Highlighting rule for Win32 colorful console. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The text to be matched.. - Color of the text. - Color of the background. - - - - Initializes a new instance of the class. - - The text to be matched.. - Color of the text. - Color of the background. - The font style. - - - - Gets or sets the regular expression to be matched. You must specify either text or regex. - - - - - - Gets or sets the text to be matched. You must specify either text or regex. - - - - - - Gets or sets a value indicating whether to match whole words only. - - - - - - Gets or sets a value indicating whether to ignore case when comparing texts. - - - - - - Gets or sets the font style of matched text. - Possible values are the same as in FontStyle enum in System.Drawing. - - - - - - Gets the compiled regular expression that matches either Text or Regex property. - - - - - Gets or sets the font color. - Names are identical with KnownColor enum extended with Empty value which means that font color won't be changed. - - - - - - Gets or sets the background color. - Names are identical with KnownColor enum extended with Empty value which means that background color won't be changed. - - - - - - SMTP authentication modes. - - - - - No authentication. - - - - - Basic - username and password. - - - - - NTLM Authentication. - - - - - Marks class as a logging target and assigns a name to it. - - - - - Initializes a new instance of the class. - - Name of the target. - - - - Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). - - - - - Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). - - - - - Sends log messages through System.Diagnostics.Trace. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -
-
- - - Writes the specified logging event to the facility. - If the log level is greater than or equal to it uses the - method, otherwise it uses - method. - - The logging event. - - - - Web service protocol. - - - - - Use SOAP 1.1 Protocol. - - - - - Use SOAP 1.2 Protocol. - - - - - Use HTTP POST Protocol. - - - - - Use HTTP GET Protocol. - - - - - Calls the specified web service on each log message. - - Documentation on NLog Wiki - - The web service must implement a method that accepts a number of string parameters. - - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- This assumes just one target and a single rule. More configuration - options are described here. -

-

- To set up the log target programmatically use code like this: -

- -

The example web service that works with this example is shown below

- -
-
- - - Initializes a new instance of the class. - - - - - Invokes the web service method. - - Parameters to be passed. - - - - Gets or sets the web service URL. - - - - - - Gets or sets the Web service method name. - - - - - - Gets or sets the Web service namespace. - - - - - - Gets or sets the protocol to be used when calling web service. - - - - - - Win32 file attributes. - - - For more information see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp. - - - - - Read-only file. - - - - - Hidden file. - - - - - System file. - - - - - File should be archived. - - - - - Device file. - - - - - Normal file. - - - - - File is temporary (should be kept in cache and not - written to disk if possible). - - - - - Sparse file. - - - - - Reparse point. - - - - - Compress file contents. - - - - - File should not be indexed by the content indexing service. - - - - - Encrypted file. - - - - - The system writes through any intermediate cache and goes directly to disk. - - - - - The system opens a file with no system caching. - - - - - Delete file after it is closed. - - - - - A file is accessed according to POSIX rules. - - - - - Asynchronous request queue. - - - - - Initializes a new instance of the AsyncRequestQueue class. - - Request limit. - The overflow action. - - - - Enqueues another item. If the queue is overflown the appropriate - action is taken as specified by . - - The log event info. - - - - Dequeues a maximum of count items from the queue - and adds returns the list containing them. - - Maximum number of items to be dequeued. - The array of log events. - - - - Clears the queue. - - - - - Gets or sets the request limit. - - - - - Gets or sets the action to be taken when there's no more room in - the queue and another request is enqueued. - - - - - Gets the number of requests currently in the queue. - - - - - Provides asynchronous, buffered execution of target writes. - - Documentation on NLog Wiki - -

- Asynchronous target wrapper allows the logger code to execute more quickly, by queueing - messages and processing them in a separate thread. You should wrap targets - that spend a non-trivial amount of time in their Write() method with asynchronous - target to speed up logging. -

-

- Because asynchronous logging is quite a common scenario, NLog supports a - shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to - the <targets/> element in the configuration file. -

- - - ... your targets go here ... - - ]]> -
- -

- To set up the target in the configuration file, - use the following syntax: -

- -

- The above examples assume just one target and a single rule. See below for - a programmatic configuration that's equivalent to the above config file: -

- -
-
- - - Base class for targets wrap other (single) targets. - - - - - Returns the text representation of the object. Used for diagnostics. - - A string that describes the target. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - - - - Writes logging event to the log target. Must be overridden in inheriting - classes. - - Logging event to be written out. - - - - Gets or sets the target that is wrapped by this target. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - Maximum number of requests in the queue. - The action to be taken when the queue overflows. - - - - Waits for the lazy writer thread to finish writing messages. - - The asynchronous continuation. - - - - Initializes the target by starting the lazy writer timer. - - - - - Shuts down the lazy writer timer. - - - - - Starts the lazy writer thread which periodically writes - queued log messages. - - - - - Starts the lazy writer thread. - - - - - Adds the log event to asynchronous queue to be processed by - the lazy writer thread. - - The log event. - - The is called - to ensure that the log event can be processed in another thread. - - - - - Gets or sets the number of log events that should be processed in a batch - by the lazy writer thread. - - - - - - Gets or sets the time in milliseconds to sleep between batches. - - - - - - Gets or sets the action to be taken when the lazy writer thread request queue count - exceeds the set limit. - - - - - - Gets or sets the limit on the number of requests in the lazy writer thread request queue. - - - - - - Gets the queue of lazy writer thread requests. - - - - - The action to be taken when the queue overflows. - - - - - Grow the queue. - - - - - Discard the overflowing item. - - - - - Block until there's more room in the queue. - - - - - Causes a flush after each write on a wrapped target. - - Documentation on NLog Wiki - -

- To set up the target in the configuration file, - use the following syntax: -

- -

- The above examples assume just one target and a single rule. See below for - a programmatic configuration that's equivalent to the above config file: -

- -
-
- - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Forwards the call to the .Write() - and calls on it. - - Logging event to be written out. - - - - A target that buffers log events and sends them in batches to the wrapped target. - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - Size of the buffer. - - - - Initializes a new instance of the class. - - The wrapped target. - Size of the buffer. - The flush timeout. - - - - Flushes pending events in the buffer (if any). - - The asynchronous continuation. - - - - Initializes the target. - - - - - Closes the target by flushing pending events in the buffer (if any). - - - - - Adds the specified log event to the buffer and flushes - the buffer in case the buffer gets full. - - The log event. - - - - Gets or sets the number of log events to be buffered. - - - - - - Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed - if there's no write in the specified period of time. Use -1 to disable timed flushes. - - - - - - Gets or sets a value indicating whether to use sliding timeout. - - - This value determines how the inactivity period is determined. If sliding timeout is enabled, - the inactivity timer is reset after each write, if it is disabled - inactivity timer will - count from the first event written to the buffer. - - - - - - A base class for targets which wrap other (multiple) targets - and provide various forms of target routing. - - - - - Initializes a new instance of the class. - - The targets. - - - - Returns the text representation of the object. Used for diagnostics. - - A string that describes the target. - - - - Writes logging event to the log target. - - Logging event to be written out. - - - - Flush any pending log messages for all wrapped targets. - - The asynchronous continuation. - - - - Gets the collection of targets managed by this compound target. - - - - - Provides fallback-on-error. - - Documentation on NLog Wiki - -

This example causes the messages to be written to server1, - and if it fails, messages go to server2.

-

- To set up the target in the configuration file, - use the following syntax: -

- -

- The above examples assume just one target and a single rule. See below for - a programmatic configuration that's equivalent to the above config file: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The targets. - - - - Forwards the log event to the sub-targets until one of them succeeds. - - The log event. - - The method remembers the last-known-successful target - and starts the iteration from it. - If is set, the method - resets the target to the first target - stored in . - - - - - Gets or sets a value indicating whether to return to the first target after any successful write. - - - - - - Filtering rule for . - - - - - Initializes a new instance of the FilteringRule class. - - - - - Initializes a new instance of the FilteringRule class. - - Condition to be tested against all events. - Filter to apply to all log events when the first condition matches any of them. - - - - Gets or sets the condition to be tested. - - - - - - Gets or sets the resulting filter to be applied when the condition matches. - - - - - - Filters log entries based on a condition. - - Documentation on NLog Wiki - -

This example causes the messages not contains the string '1' to be ignored.

-

- To set up the target in the configuration file, - use the following syntax: -

- -

- The above examples assume just one target and a single rule. See below for - a programmatic configuration that's equivalent to the above config file: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The wrapped target. - The condition. - - - - Checks the condition against the passed log event. - If the condition is met, the log event is forwarded to - the wrapped target. - - Log event. - - - - Gets or sets the condition expression. Log events who meet this condition will be forwarded - to the wrapped target. - - - - - - Impersonates another user for the duration of the write. - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Initializes the impersonation context. - - - - - Closes the impersonation context. - - - - - Changes the security context, forwards the call to the .Write() - and switches the context back to original. - - The log event. - - - - Changes the security context, forwards the call to the .Write() - and switches the context back to original. - - Log events. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - - - - Gets or sets username to change context to. - - - - - - Gets or sets the user account password. - - - - - - Gets or sets Windows domain name to change context to. - - - - - - Gets or sets the Logon Type. - - - - - - Gets or sets the type of the logon provider. - - - - - - Gets or sets the required impersonation level. - - - - - - Gets or sets a value indicating whether to revert to the credentials of the process instead of impersonating another user. - - - - - - Helper class which reverts the given - to its original value as part of . - - - - - Initializes a new instance of the class. - - The windows impersonation context. - - - - Reverts the impersonation context. - - - - - Logon provider. - - - - - Use the standard logon provider for the system. - - - The default security provider is negotiate, unless you pass NULL for the domain name and the user name - is not in UPN format. In this case, the default provider is NTLM. - NOTE: Windows 2000/NT: The default security provider is NTLM. - - - - - Filters buffered log entries based on a set of conditions that are evaluated on a group of events. - - Documentation on NLog Wiki - - PostFilteringWrapper must be used with some type of buffering target or wrapper, such as - AsyncTargetWrapper, BufferingWrapper or ASPNetBufferingWrapper. - - -

- This example works like this. If there are no Warn,Error or Fatal messages in the buffer - only Info messages are written to the file, but if there are any warnings or errors, - the output includes detailed trace (levels >= Debug). You can plug in a different type - of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different - functionality. -

-

- To set up the target in the configuration file, - use the following syntax: -

- -

- The above examples assume just one target and a single rule. See below for - a programmatic configuration that's equivalent to the above config file: -

- -
-
- - - Initializes a new instance of the class. - - - - - Evaluates all filtering rules to find the first one that matches. - The matching rule determines the filtering condition to be applied - to all items in a buffer. If no condition matches, default filter - is applied to the array of log events. - - Array of log events to be post-filtered. - - - - Gets or sets the default filter to be applied when no specific rule matches. - - - - - - Gets the collection of filtering rules. The rules are processed top-down - and the first rule that matches determines the filtering condition to - be applied to log events. - - - - - - Sends log messages to a randomly selected target. - - Documentation on NLog Wiki - -

This example causes the messages to be written to either file1.txt or file2.txt - chosen randomly on a per-message basis. -

-

- To set up the target in the configuration file, - use the following syntax: -

- -

- The above examples assume just one target and a single rule. See below for - a programmatic configuration that's equivalent to the above config file: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The targets. - - - - Forwards the log event to one of the sub-targets. - The sub-target is randomly chosen. - - The log event. - - - - Repeats each log event the specified number of times. - - Documentation on NLog Wiki - -

This example causes each log message to be repeated 3 times.

-

- To set up the target in the configuration file, - use the following syntax: -

- -

- The above examples assume just one target and a single rule. See below for - a programmatic configuration that's equivalent to the above config file: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The wrapped target. - The repeat count. - - - - Forwards the log message to the by calling the method times. - - The log event. - - - - Gets or sets the number of times to repeat each log message. - - - - - - Retries in case of write error. - - Documentation on NLog Wiki - -

This example causes each write attempt to be repeated 3 times, - sleeping 1 second between attempts if first one fails.

-

- To set up the target in the configuration file, - use the following syntax: -

- -

- The above examples assume just one target and a single rule. See below for - a programmatic configuration that's equivalent to the above config file: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The wrapped target. - The retry count. - The retry delay milliseconds. - - - - Writes the specified log event to the wrapped target, retrying and pausing in case of an error. - - The log event. - - - - Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure. - - - - - - Gets or sets the time to wait between retries in milliseconds. - - - - - - Distributes log events to targets in a round-robin fashion. - - Documentation on NLog Wiki - -

This example causes the messages to be written to either file1.txt or file2.txt. - Each odd message is written to file2.txt, each even message goes to file1.txt. -

-

- To set up the target in the configuration file, - use the following syntax: -

- -

- The above examples assume just one target and a single rule. See below for - a programmatic configuration that's equivalent to the above config file: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The targets. - - - - Forwards the write to one of the targets from - the collection. - - The log event. - - The writes are routed in a round-robin fashion. - The first log event goes to the first target, the second - one goes to the second target and so on looping to the - first target when there are no more targets available. - In general request N goes to Targets[N % Targets.Count]. - - - - - Impersonation level. - - - - - Anonymous Level. - - - - - Identification Level. - - - - - Impersonation Level. - - - - - Delegation Level. - - - - - Logon type. - - - - - Interactive Logon. - - - This logon type is intended for users who will be interactively using the computer, such as a user being logged on - by a terminal server, remote shell, or similar process. - This logon type has the additional expense of caching logon information for disconnected operations; - therefore, it is inappropriate for some client/server applications, - such as a mail server. - - - - - Network Logon. - - - This logon type is intended for high performance servers to authenticate plaintext passwords. - The LogonUser function does not cache credentials for this logon type. - - - - - Batch Logon. - - - This logon type is intended for batch servers, where processes may be executing on behalf of a user without - their direct intervention. This type is also for higher performance servers that process many plaintext - authentication attempts at a time, such as mail or Web servers. - The LogonUser function does not cache credentials for this logon type. - - - - - Logon as a Service. - - - Indicates a service-type logon. The account provided must have the service privilege enabled. - - - - - Network Clear Text Logon. - - - This logon type preserves the name and password in the authentication package, which allows the server to make - connections to other network servers while impersonating the client. A server can accept plaintext credentials - from a client, call LogonUser, verify that the user can access the system across the network, and still - communicate with other servers. - NOTE: Windows NT: This value is not supported. - - - - - New Network Credentials. - - - This logon type allows the caller to clone its current token and specify new credentials for outbound connections. - The new logon session has the same local identifier but uses different credentials for other network connections. - NOTE: This logon type is supported only by the LOGON32_PROVIDER_WINNT50 logon provider. - NOTE: Windows NT: This value is not supported. - - - - - Writes log events to all targets. - - Documentation on NLog Wiki - -

This example causes the messages to be written to both file1.txt or file2.txt -

-

- To set up the target in the configuration file, - use the following syntax: -

- -

- The above examples assume just one target and a single rule. See below for - a programmatic configuration that's equivalent to the above config file: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The targets. - - - - Forwards the specified log event to all sub-targets. - - The log event. - - - - Writes an array of logging events to the log target. By default it iterates on all - events and passes them to "Write" method. Inheriting classes can use this method to - optimize batch writes. - - Logging events to be written out. - - - diff --git a/NzbDrone.Core/Libraries/SQLite.Interop.dll b/NzbDrone.Core/Libraries/SQLite.Interop.dll deleted file mode 100644 index 5f2e272e50728e6377025912a3354467d244d126..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 622080 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�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

pc!z=;5oCCOnW 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

tUj87{u^f58vK?kJZ{&V_lg2@<8J{oz#rz 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

o*y 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 z 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 N|NQ?7{2#BtzXKCi&GG;M diff --git a/NzbDrone.Core/Libraries/SubSonic.Core.XML b/NzbDrone.Core/Libraries/SubSonic.Core.XML deleted file mode 100644 index e2696c72f..000000000 --- a/NzbDrone.Core/Libraries/SubSonic.Core.XML +++ /dev/null @@ -1,4624 +0,0 @@ - - - - SubSonic.Core - - - - - Summary for the SqlFragment class - - - - - A Repository class which wraps the a Database by type - - - - - Loads a T object - - - The item. - The column. - The value. - - - - - Loads a T object - - - The item. - The expression. - - - - - Returns all T items - - - - - Returns a single record - - - - - Returns a server-side Paged List - - - - - Returns a server-side Paged List - - - - - Returns a server-side Paged List - - - - - Returns an IQueryable based on the passed-in Expression Chinook Database - - - - - Returns an IQueryable based on the passed-in Expression Chinook Database - - - - - Adds a T item to the db - - - - - Adds a T item to the db - - - - - Adds a bunch of T items - - - - - Adds a bunch of T items - - - - - Updates the passed-in T - - - - - Updates the passed-in T - - - - - Updates the passed-in T - - - - - Updates the passed-in T - - - - - Deletes the passed-in T items - - - - - Deletes the passed-in T items - - - - - Deletes the passed-in T item - - - - - Deletes the passed-in T item - - - - - Deletes the T item by Primary Key - - - - - Deletes the T item by Primary Key - - - - - Deletes 0 to n T items from the Database based on the passed-in Expression - - - - - Deletes 0 to n T items from the Database based on the passed-in Expression - - - - - Finds the first sub-expression that accesses a Query<T> object - - - - - Converts user arguments into named-value parameters - - - - - An extended expression visitor including custom DbExpression nodes - - - - - Returns the SqlDbType for a give DbType - - - - - - Takes the properties of an object and turns them into SubSonic.Query.Constraint - - - - - - - Coerces an IDataReader to try and load an object using name/property matching - - - - - Loads a single primitive value type - - - - - - Toes the type of the enumerable value. - - - The IDataReader to read from. - - - - - Determines whether [is core system type] [the specified type]. - - The type. - - true if [is core system type] [the specified type]; otherwise, false. - - - - - Coerces an IDataReader to load an enumerable of T - - - - - Invoked when a new item is created - - - - Creates a typed list from an IDataReader - - - - - Builds a SubSonic UPDATE query from the passed-in object - - - - - Builds a SubSonic INSERT query from the passed-in object - - - - - Builds a SubSonic DELETE query from the passed-in object - - - - - Defines the language rules for the query provider - - - - - - - - - - - - - - - - Generates the command line. - - - - - - Generates the constraints. - - - - - - Generates from list. - - - - - - Generates the order by. - - - - - - Generates the group by. - - - - - - Generates the joins. - - - - - - Gets the paging SQL wrapper. - - - - - - Gets the select columns. - - - - - - Finds the column. - - Name of the column. - - - - - Builds the select statement. - - - - - - Builds the paged select statement. - - - - - - Builds the update statement. - - - - - - Builds the insert statement. - - - - - - Builds the delete statement. - - - - - - Sets the insert query. - - The q. - - - - SqlFragment. Field values may change depending on the inheriting Generator. - - - - - Initializes a new instance of the class. - - - - - Sets the insert query. - - The q. - - - - Finds the column. - - Name of the column. - - - - - Generates the group by. - - - - - - Generates the command line. - - - - - - Generates the joins. - - - - - - Generates from list. - - - - - - Generates the constraints. - - - - - - Generates the order by. - - - - - - Gets the select columns. - - - - - - Gets the paging SQL wrapper. - - - - - - Builds the paged select statement. - - - - - - Builds the select statement. - - - - - - Builds the update statement. - - - - - - Builds the insert statement. - - - - - - Builds the delete statement. - - - - - - Qualifies the name of the table. - - The TBL. - - - - - Gets the qualified select. - - The table. - - - - - Generates the select column list. - - - - - - Builds the aggregate commands. - - - - - - Generates the 'SELECT' part of an - - The aggregate to include in the SELECT clause - The portion of the SELECT clause represented by this - - The ToString() logic moved from , rather than - including it in the Aggregate class itself... - - - - - Initializes a new instance of the class. - - The query. - - - - Builds the paged select statement. - - - - - - Builds the insert statement. - - - - - - Where, And, Or - - - - - WHERE operator - - - - - AND operator - - - - - OR Operator - - - - - SQL Comparison Operators - - - - - Summary for the SqlComparison class - - - - - A Class for handling SQL Constraint generation - - - - - The query that this constraint is operating on - - - - - Initializes a new instance of the class. - - The condition. - Name of the constraint column. - - - - Initializes a new instance of the class. - - The condition. - Name of the constraint column. - Name of the constraint qualified column. - - - - Initializes a new instance of the class. - - The condition. - Name of the constraint column. - Name of the constraint qualified column. - The constraint construction fragment. - - - - Initializes a new instance of the class. - - The condition. - Name of the constraint column. - The SQL query. - - - - Initializes a new instance of the class. - - The condition. - Name of the constraint column. - Name of the constraint qualified column. - The constraint construction fragment. - The SQL query. - - - - Wheres the specified column name. - - Name of the column. - - - - - Ands the specified column name. - - Name of the column. - - - - - Ors the specified column name. - - Name of the column. - - - - - Gets or sets the name of the table. - - The name of the table. - - - - Gets the comparison operator. - - The comp. - - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Creates a LIKE statement. - - The val. - - - - - Creates a LIKE statement and appends a wildcard to the end of the passed-in value. - - The val. - - - - - Creates a LIKE statement and appends a wildcard to the end of the passed-in value. - - The val. - The wild card. - - - - - Creates a LIKE statement and appends a wildcard to the end of the passed-in value. - - The val. - - - - - Creates a NOT LIKE statement - - The val. - - - - - Determines whether [is greater than] [the specified val]. - - The val. - - - - - Determines whether [is greater than] [the specified val]. - - The val. - - - - - Specifies a SQL IN statement using a nested Select statement - - The select query. - - - - - Specifies a SQL IN statement - - Value array - - - - - Specifies a SQL IN statement - - Value array - - - - - Specifies a SQL IN statement using a nested Select statement - - The select query. - - - - - Specifies a SQL Not IN statement - - Value array - - - - - Specifies a SQL NOT IN statement - - Value array - - - - - Determines whether [is less than] [the specified val]. - - The val. - - - - - Determines whether [is less than] [the specified val]. - - The val. - - - - - Determines whether [is not null] [the specified val]. - - - - - - Determines whether the specified val is null. - - - - - - Determines whether [is between and] [the specified val1]. - - The val1. - The val2. - - - - - Determines whether [is equal to] [the specified val]. - - The val. - - - - - Determines whether [is not equal to] [the specified val]. - - The val. - - - - - Gets or sets the condition. - - The condition. - - - - Gets or sets the name of the column. - - The name of the column. - - - - Gets or sets the fully qualified name of the column. - - The name of the column. - - - - Gets or sets the string fragment used when assembling the text of query. - - The construction fragment. - - - - Gets or sets the comparison. - - The comparison. - - - - Gets or sets the parameter value. - - The parameter value. - - - - Gets or sets the start value. - - The start value. - - - - Gets or sets the end value. - - The end value. - - - - Gets or sets the in values. - - The in values. - - - - Gets or sets the in select. - - The in select. - - - - Gets or sets the name of the parameter. - - The name of the parameter. - - - - Gets or sets the type of the db. - - The type of the db. - - - - Gets or sets a value indicating whether this constraint is an Aggregate. - - - true if this instance is aggregate; otherwise, false. - - - - - returns the set of all aliases produced by a query source - - - - - Removes joins expressions that are identical to joins that already exist - - - - - MySQL specific QueryLanguage - - - - - - Defines the language rules for the query provider - - - - - Determines whether the CLR type corresponds to a scalar data type in the query language - - - - - - - Determines whether the given expression can be represented as a column in a select expressionss - - - - - - - Provides language specific query translation. Use this to apply language specific rewrites or - to make assertions/validations about the query. - - - - - - - Converts the query expression into text of this query language - - - - - - - Determine which sub-expressions must be parameters - - - - - - - Creates a set of SQL commands for synchronizing your database with your object set - - - - - Type related helper methods - - - - - SQLite specific QueryLanguage - - - - - Adds relationship to query results depending on policy - - - - - Holds list of tables, views, stored procedures, etc. - - - - - - - - - - - Initializes a new instance of the class. - - The query. - - - - Gets the type of the native. - - Type of the db. - - - - - Generates SQL for all the columns in table - - Table containing the columns. - - SQL fragment representing the supplied columns. - - - - - Generates from list. - - - - - - Sets the column attributes. - - The column. - - - - - Builds the paged select statement. - - - - - - Builds the delete query. - - The item. - - - - - Builds the insert query. - - The item. - - - - - Builds the update query. - - The item. - - - - - For Jeff Atwood - http://www.codinghorror.com/blog/archives/000989.html - - - A class which wraps an inline SQL call - - Updated to support MySQL user and system variables. - - If the connection string contains "Allow User Variables=true" and the provider - is MySQL, the following syntax is supported: - - @parametername - a command parameter - @@uservariable - a MySQL user variable - @@@servervariable - a MySQL server variable - - eg: UPDATE company SET next_job_id = @@job_id:=next_job_id+1 WHERE company_id=@company_id; - SELECT @@job_id; - - where: @company_id is a command parameter. - @@job_id is a MySql user variable. - - - - - - - Initializes a new instance of the class. - Warning: This method assumes the default provider is intended. - Call InlineQuery(string providerName) if this is not the case. - - The SQL. - - - - Initializes a new instance of the class. - - The SQL. - The values. - - - - Initializes a new instance of the class. - - The provider. - - - - Gets the command. - - - - - - Executes the specified SQL. - - - - - Executes the scalar. - - The type of the result. - - - - - Executes the typed list. - - - - - - - Executes the reader. - - - - - - Initializes a new instance of the class. - Warning: This method assumes the default provider is intended. - Call InlineQuery(string providerName) if this is not the case. - - The SQL. - - - - Initializes a new instance of the class. - - The SQL. - The values. - - - - Initializes a new instance of the class. - - The provider. - - - - A holder for 1 or more queries to be executed together - - - - - Builds the SQL statement. - - - - - - Executes this instance. - - - - - - Executes the queries in and returns a multiple result set reader. - - - - - - Gets a command containing all the queued queries. - - - - - - Queues the specified query. - - The query. - - - - Queues the specified query. - - - The query. - - - - Queues a query for use in a transaction. - - The qry. - - - - Queues a query for use in a transaction. - - The CMD. - - - - Queues a query for use in a transaction. - - The SQL. - The parameters. - - - - Executes the transaction. - - - - - TSQL specific QueryLanguage - - - - - Attempts to rewrite cross-apply and outer-apply joins as inner and left-outer joins - - - - - Writes out an expression tree (including DbExpression nodes) in a C#-ish syntax - - - - - Writes out an expression tree in a C#-ish syntax - - - - - A basic abstract LINQ query provider - - - - - Optional interface for IQueryProvider to implement Query<T>'s QueryText property. - - - - - Simple implementation of the IGrouping<TKey, TElement> interface - - - - - - - Formats a query expression into TSQL language syntax - - - - - Formats a query expression into TSQL language syntax - - - - - rewrites nested projections into client-side joins - - - - - Defines mapping information and rules for the query provider - - - - - Determines if a give CLR type is mapped as a database entity - - - - - - - Deterimines is a property is mapped onto a column or relationship - - - - - - - Determines if a property is mapped onto a column - - - - - - - Determines if a property represents or is part of the entities unique identity (often primary key) - - - - - - - Determines if a property is mapped as a relationship - - - - - - - The type of the entity on the other side of the relationship - - - - - - - The name of the corresponding database table - - - - - - - The name of the corresponding table column - - - - - - - A sequence of all the mapped members - - - - - - - Determines if a relationship property refers to a single optional entity (as opposed to a collection.) - - - - - - - Get a query expression that selects all entities from a table - - - - - - - Gets an expression that constructs an entity instance relative to a root. - The root is most often a TableExpression, but may be any other experssion such as - a ConstantExpression. - - - - - - - - Get the members for the key properities to be joined in an association relationship - - - - - - - - Get an expression for a mapped property relative to a root expression. - The root is either a TableExpression or an expression defining an entity instance. - - - - - - - - Get a function that coerces an a sequence of one type into another type. - This is primarily used for aggregators stored in ProjectionExpression's, which are used to represent the - final transformation of the entire result set of a query. - - The expected type. - The actual type. - - - - - Apply mapping translations to this expression - - - - - - - The language related to the mapping - - - - - A LINQ IQueryable query provider that executes database queries over a DbConnection - - - - - DbQueryProvider constrcutor that allows for external control of policy - to allow for new types of databases. - - - - - Converts the query expression into text that corresponds to the command that would be executed. - Useful for debugging. - - - - - - - Execute the query expression (does translation, etc.) - - - - - - - Convert the query expression into an execution plan - - - - - - - Do all query translations execpt building the execution plan - - - - - - - Determines whether a given expression can be executed locally. - (It contains no parts that should be translated to the target environment.) - - - - - - - Execute an actual query specified in the target language using the sADO connection - - - - - - - - - Get an IEnumerable that will execute the specified query when enumerated - - - - - - - - - Get an ADO command object initialized with the command-text and parameters - - - - - - - - - Write a command to the log - - - - - - - - - - - Initializes a new instance of the class. - - From. - To. - Type of the join. - - - - Gets the join type value. - - The j. - - - - - - Gets or sets the type. - - The type. - - - - Gets or sets from column. - - From column. - - - - Gets or sets to column. - - To column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Singles the specified expression. - - - The expression. - - - - - Singles the specified key. - - - The key. - - - - - Retrieves subset of records from the database matching the expression - - - - - Gets the paged. - - - Index of the page. - Size of the page. - - - - - Gets the paged. - - - The sort by. - Index of the page. - Size of the page. - - - - - Adds the specified item, setting the key if available. - - - The item. - - - - - Adds a lot of the items using a transaction. - - - The items. - - - - Updates the specified item. - - - The item. - - - - - Updates lots of items using a transaction. - - - The items. - - - - - Deletes the specified key. - - - The key. - - - - - Deletes 1 or more items. - - - The expression. - - - - - Deletes 1 or more items. - - - The items. - - - - - Migrates this instance. - - - - - - Formats a query expression into TSQL language syntax - - - - - Returns an Object with the specified Type and whose value is equivalent to the specified object. - - An Object that implements the IConvertible interface. - - An object whose Type is conversionType (or conversionType's underlying type if conversionType - is Nullable<>) and whose value is equivalent to value. -or- a null reference, if value is a null - reference and conversionType is not a value type. - - - This method exists as a workaround to System.Convert.ChangeType(Object, Type) which does not handle - nullables as of version 2.0 (2.0.50727.42) of the .NET Framework. The idea is that this method will - be deleted once Convert.ChangeType is updated in a future version of the .NET Framework to handle - nullable types, so we want this to behave as closely to Convert.ChangeType as possible. - This method was written by Peter Johnson at: - http://aspalliance.com/author.aspx?uId=1026. - - - - - - Process the passed-in LINQ expression - - - - - - Initializes the shared connection. - - - - - - Initializes the shared connection. - - The shared connection string. - - - - - Resets the shared connection. - - - - - Adds the params. - - The CMD. - The qry. - - - - Converts a data reader into a sequence of objects using a projector function on each row - - - The reader. - The fn projector. - - - - - Gets a value indicating whether [current connection string is default]. - - - true if [current connection string is default]; otherwise, false. - - - - - Gets or sets the current shared connection. - - The current shared connection. - - - - Creates a reusable, parameterized representation of a query that caches the execution plan - - - - - Summary for the Files class - - - - - Read a text file and obtain it's contents. - - The complete file path to write to. - String containing the content of the file. - - - - Creates or opens a file for writing and writes text to it. - - The complete file path to write to. - A String containing text to be written to the file. - - - - Update text within a file by replacing a substring within the file. - - The complete file path to write to. - A String to be replaced. - A String to replace all occurrences of lookFor. - - - - Writes out a string to a file. - - The complete file path to write to. - A String containing text to be written to the file. - - - - Fetches a web page - - The URL. - - - - - Gets a value indicating whether this instance is numeric. - - - true if this instance is numeric; otherwise, false. - - - - - Gets a value indicating whether this instance is date time. - - - true if this instance is date time; otherwise, false. - - - - - Gets a value indicating whether this instance is string. - - true if this instance is string; otherwise, false. - - - - Gets a value indicating whether this instance is numeric. - - - true if this instance is numeric; otherwise, false. - - - - - Gets a value indicating whether this instance is date time. - - - true if this instance is date time; otherwise, false. - - - - - Gets a value indicating whether this instance is string. - - true if this instance is string; otherwise, false. - - - - Summary for the ReservedColumnName class - - - - - A schema generator for your DB - - - - - Builds a CREATE TABLE statement. - - - - - - - Builds a DROP TABLE statement. - - Name of the table. - - - - - Adds the column. - - Name of the table. - The column. - - - - Alters the column. - - The column. - - - - Removes the column. - - Name of the table. - Name of the column. - - - - - Gets the type of the native. - - Type of the db. - - - - - Generates the columns. - - Table containing the columns. - - SQL fragment representing the supplied columns. - - - - - Sets the column attributes. - - The column. - - - - - Builds a CREATE TABLE statement. - - - - - - - Builds a DROP TABLE statement. - - Name of the table. - - - - - Adds the column. - - Name of the table. - The column. - - - - - Alters the column. - - The column. - - - - Removes the column. - - Name of the table. - Name of the column. - - - - - Gets the type of the native. - - Type of the db. - - - - - Generates the columns. - - Table containing the columns. - - SQL fragment representing the supplied columns. - - - - - Sets the column attributes. - - The column. - - - - - Gets an ITable from the DB based on name - - - - - Creates a list of table names - - - - - Sets the column attributes. - - The column. - - - - - Gets the type of the db. - - Type of the SQL. - - - - - Returns Schema instance with empty lists. - - - - - Rewrites nested singleton projection into server-side joins - - - - - Initializes the class. - - - - - Strips the last specified chars from a string. - - The source string. - The remove from end. - - - - - Strips the last specified chars from a string. - - The source string. - The back down to. - - - - - Plurals to singular. - - The source string. - - - - - Singulars to plural. - - The source string. - - - - - Make plural when count is not one - - The number of things - The source string. - - - - - Removes the specified chars from the beginning of a string. - - The source string. - The remove from beginning. - - - - - Removes chars from the beginning of a string, up to the specified string - - The source string. - The remove up to. - - - - - Strips the last char from a a string. - - The source string. - - - - - Strips the last char from a a string. - - The source string. - - - - - Fasts the replace. - - The original. - The pattern. - The replacement. - - - - - Fasts the replace. - - The original. - The pattern. - The replacement. - Type of the comparison. - - - - - Returns text that is located between the startText and endText tags. - - The source string. - The text from which to start the crop - The endpoint of the crop - - - - - Removes excess white space in a string. - - The source string. - - - - - Removes all non-alpha numeric characters in a string - - The source string. - - - - - Creates a string array based on the words in a sentence - - The source string. - - - - - Strips all HTML tags from a string - - The HTML string. - - - - - Strips all HTML tags from a string and replaces the tags with the specified replacement - - The HTML string. - The HTML place holder. - - - - - Converts a generic List collection to a single comma-delimitted string. - - The list. - - - - - Converts a generic List collection to a single string using the specified delimitter. - - The list. - The delimiter. - - - - - Strips the specified input. - - The source string. - The strip value. - - - - - Converts ASCII encoding to Unicode - - The ASCII code. - - - - - Converts Text to HTML-encoded string - - The text string. - - - - - Converts HTML-encoded bits to Text - - The entity text. - - - - - Formats the args using String.Format with the target string as a format string. - - The format string passed to String.Format - The args passed to String.Format - - - - - Strings to enum. - - - The value. - - - - - Fills the entities. - - - - - Converts US State Name to it's two-character abbreviation. Returns null if the state name was not found. - - US State Name (ie Texas) - - - - - Converts a two-character US State Abbreviation to it's official Name Returns null if the abbreviation was not found. - - US State Name (ie Texas) - - - - - Fills the US States. - - - - - Type related helper methods - - - - - Removes the column. - - - - - - - - Sets the column attributes. - - The column. - - - - - Gets the type of the db. - - Type of the SQL. - - - - - - - - - - - - - - - Initializes a new instance of the class. - - The provider. - - - - Validates the query. - - - - - Finds the column. - - Name of the column. - - - - - Wheres the specified column name. - - Name of the column. - - - - - Wheres the specified column. - - The column. - - - - - Wheres the specified agg. - - The agg. - - - - - Ors the specified column name. - - Name of the column. - - - - - Ors the specified column. - - The column. - - - - - Ors the specified agg. - - The agg. - - - - - Ors the expression. - - Name of the column. - - - - - Opens the expression. - - - - - - Closes the expression. - - - - - - Ands the specified column name. - - Name of the column. - - - - - Ands the specified column. - - The column. - - - - - Ands the specified agg. - - The agg. - - - - - Ands the expression. - - Name of the column. - - - - - Returns the currently set SQL statement for this query object - - - - - - Builds the SQL statement. - - - - - - Froms the specified TBL. - - The TBL. - - - - - Froms the specified TBL. - - Name of the table. - - - - - Froms the specified TBL. - - - - - - - Creates an inner join based on the passed-in column names - - - - - - - - - Creates an Inner Join, guessing based on Primary Key matching - - - - - - - Inners the join. - - From column. - To column. - - - - - Outers the join. - - From column. - To column. - - - - - Crosses the join. - - From column. - To column. - - - - - Lefts the inner join. - - From column. - To column. - - - - - Rights the inner join. - - From column. - To column. - - - - - Lefts the outer join. - - From column. - To column. - - - - - Rights the outer join. - - From column. - To column. - - - - - Nots the equal join. - - From column. - To column. - - - - - Orders the asc. - - The columns. - - - - - Orders the desc. - - The columns. - - - - - Pageds the specified current page. - - The current page. - Size of the page. - - - - - Pageds the specified current page. - - The current page. - Size of the page. - The id column. - - - - - Executes this instance. - - - - - - Executes the reader. - - - - - - Executes the scalar. - - - - - - Executes the scalar. - - The type of the result. - - - - - Gets the record count. - - - - - - Executes the typed list. - - - - - - - Executes the typed list. - - - - - - - Executes the query and returns the result as a single item of T - - The type of item to return - - - - Executes the transaction. - - The queries. - - - - Executes the transaction. - - The queries. - Name of the connection string. - - - - Gets or sets the open paren count. - - The open paren count. - - - - Gets or sets the closed paren count. - - The closed paren count. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The table. - The provider. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Removes one or more SelectExpression's by rewriting the expression tree to not include them, promoting - their from clause expressions and rewriting any column expressions that may have referenced them to now - reference the underlying data directly. - - - - - Rewrites take and skip expressions into uses of TSQL row_number function - - - - - Translates accesses to relationship members into projections or joins - - - - - Determines if two expressions are equivalent. Supports DbExpression nodes. - - - - - Compare two expressions to determine if they are equivalent - - - - - - - - - - Initializes a new instance of the class. - - The provider. - The columns. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The aggregates. - - - - Initializes a new instance of the class. - - The provider. - The aggregates. - - - - Initializes a new instance of the class. - - The columns. - - - - Initializes a new instance of the class. - WARNING: This overload should only be used with applications that use a single provider! - - The columns. - - - - Alls the columns from. - - - - - - - Expressions the specified SQL expression. - - The SQL expression. - - - - - Tops the specified top. - - The top. - - - - - Gets the type of the native. - - Type of the db. - - - - - Generates the columns. - - Table containing the columns. - - SQL fragment representing the supplied columns. - - - - - Builds a CREATE TABLE statement. - - - - - - - Sets the column attributes. - - The column. - - - - - Gets the type of the db. - - Type of my SQL. - - - - - Rewrite aggregate expressions, moving them into same select expression that has the group-by clause - - - - - Replaces references to one specific instance of an expression node with another node. - Supports DbExpression nodes - - - - - Summary for the Dates class - - - - - Returns a date in the past by days. - - The days. - - - - - Returns a date in the future by days. - - The days. - - - - - Returns a date in the past by hours. - - The hours. - - - - - Returns a date in the future by hours. - - The hours. - - - - - Returns a date in the past by minutes - - The minutes. - - - - - Returns a date in the future by minutes. - - The minutes. - - - - - Gets a date in the past according to seconds - - The seconds. - - - - - Gets a date in the future by seconds. - - The seconds. - - - - - Diffs the specified date. - - The date one. - The date two. - - - - - Returns a double indicating the number of days between two dates (past is negative) - - The date one. - The date two. - - - - - Returns a double indicating the number of days between two dates (past is negative) - - The date one. - The date two. - - - - - Returns a double indicating the number of days between two dates (past is negative) - - The date one. - The date two. - - - - - Returns a double indicating the number of days between two dates (past is negative) - - The date one. - The date two. - - - - - Returns a double indicating the number of days between two dates (past is negative) - - The date one. - The date two. - - - - - Returns a double indicating the number of days between two dates (past is negative) - - The date one. - The date two. - - - - - Displays the difference in time between the two dates. Return example is "12 years 4 months 24 days 8 hours 33 minutes 5 seconds" - - The start time. - The end time. - - - - - Counts the number of weekdays between two dates. - - The start time. - The end time. - - - - - Counts the number of weekends between two dates. - - The start time. - The end time. - - - - - Verifies if the object is a date - - The dt. - - true if the specified dt is date; otherwise, false. - - - - - Checks to see if the date is a week day (Mon - Fri) - - The dt. - - true if [is week day] [the specified dt]; otherwise, false. - - - - - Checks to see if the date is Saturday or Sunday - - The dt. - - true if [is week end] [the specified dt]; otherwise, false. - - - - - Displays the difference in time between the two dates. Return example is "12 years 4 months 24 days 8 hours 33 minutes 5 seconds" - - The start time. - The end time. - - - - - Given a datetime object, returns the formatted month and day, i.e. "April 15th" - - The date to extract the string from - - - - - Given a datetime object, returns the formatted day, "15th" - - The date to extract the string from - - - - - Remove leading strings with zeros and adjust for singular/plural - - The STR. - The previous STR. - The t. - - - - - Replaces references to one specific instance of an expression node with another node - - - - - Moves order-bys to the outermost select if possible - - - - - Add a sequence of order expressions to an accumulated list, prepending so as - to give precedence to the new expressions over any previous expressions - - - - - - Rebind order expressions to reference a new alias and add to column declarations if necessary - - - - - Defines query execution and materialization policies. - - - - - Determines if a relationship property is to be included in the results of the query - - - - - - - Determines if a relationship property is included, but the query for the related data is - deferred until the property is first accessed. - - - - - - - Provides policy specific query translations. This is where choices about inclusion of related objects and how - heirarchies are materialized affect the definition of the queries. - - - - - - - Converts a query into an execution plan. The plan is an function that executes the query and builds the - resulting objects. - - - - - - - - The mapping related to the policy. - - - - - A simple query mapping that attempts to infer mapping from naming conventionss - - - - - Summary for the Numbers class - - - - - Determines whether a number is a natural number (positive, non-decimal) - - The s item. - - true if [is natural number] [the specified s item]; otherwise, false. - - - - - Determines whether [is whole number] [the specified s item]. - - The s item. - - true if [is whole number] [the specified s item]; otherwise, false. - - - - - Determines whether the specified s item is integer. - - The s item. - - true if the specified s item is integer; otherwise, false. - - - - - Determines whether the specified s item is number. - - The s item. - - true if the specified s item is number; otherwise, false. - - - - - Determines whether the specified value is an even number. - - The value. - - true if the specified value is even; otherwise, false. - - - - - Determines whether the specified value is an odd number. - - The value. - - true if the specified value is odd; otherwise, false. - - - - - Generates a random number with an upper bound - - The high. - - - - - Generates a random number between the specified bounds - - The low. - The high. - - - - - Generates a random double - - - - - - This set of classes abstracts out commands and their parameters so that - the DataProviders can work their magic regardless of the client type. The - System.Data.Common class was supposed to do this, but sort of fell flat - when it came to MySQL and other DB Providers that don't implement the Data - Factory pattern. Abstracts out the assignment of parameters, etc - - - - - Gets or sets the size. - - The size. - - - - Gets or sets the mode. - - The mode. - - - - Gets or sets the name of the parameter. - - The name of the parameter. - - - - Gets or sets the parameter value. - - The parameter value. - - - - Gets or sets the type of the data. - - The type of the data. - - - - Summary for the QueryParameterCollection class - - - - - Checks to see if specified parameter exists in the current collection - - - - - - - returns the specified QueryParameter, if it exists in this collection - - - - - - - Adds the specified parameter name. - - Name of the parameter. - The value. - - - - Adds the specified parameter name. - - Name of the parameter. - The value. - Type of the data. - - - - Adds the specified parameter name. - - Name of the parameter. - The value. - Type of the data. - The mode. - - - - Summary for the QueryCommandCollection class - - - - - Summary for the QueryCommand class - - - - - - - - - - Initializes a new instance of the class. - - The SQL. - The provider. - - - - Determines whether [has output params]. - - - true if [has output params]; otherwise, false. - - - - - Adds the parameter. The public AddParameter methods should call this one. - - Name of the parameter. - The parameter value. - Size of the max. - Type of the db. - The direction. - - - - Adds the parameter. - - Name of the parameter. - The parameter value. - Type of the data. - The parameter direction. - - - - Adds the parameter. - - Name of the parameter. - The parameter value. - Type of the data. - - - - Adds the parameter. - - Name of the parameter. - The parameter value. - - - - Adds the output parameter. - - Name of the parameter. - Size of the max. - Type of the db. - - - - Adds the output parameter. - - Name of the parameter. - Size of the max. - - - - Adds the output parameter. - - Name of the parameter. - - - - Adds the output parameter. - - Name of the parameter. - Type of the db. - - - - Adds a return parameter (RETURN_VALUE) to the command. - - - - - - Suggested by feroalien@hotmail.com - Issue 11 fix - - - - - - Gets or sets the command timeout (in seconds). - - The command timeout. - - - - Gets or sets the type of the command. - - The type of the command. - - - - Gets or sets the command SQL. - - The command SQL. - - - - Gets or sets the parameters. - - The parameters. - - - - A default implementation of IQueryable for use with QueryProvider - - - - - Removes column declarations in SelectExpression's that are not referenced - - - - - - - - - Rewrites an expression tree so that locally isolatable sub-expressions are evaluated and converted into ConstantExpression nodes. - - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A function that decides whether a given expression node can be part of the local function. - A new tree with sub-trees evaluated and replaced. - - - - Performs evaluation and replacement of independent sub-trees - - The root of the expression tree. - A new tree with sub-trees evaluated and replaced. - - - - Evaluates and replaces sub-trees when first candidate is reached (top-down) - - - - - Performs bottom-up analysis to determine which nodes can possibly - be part of an evaluated sub-tree. - - - - - Removes column declarations in SelectExpression's that are not referenced - - - - - Converts LINQ query operators to into custom DbExpression's - - - - - returns the set of all aliases produced by a query source - - - - - Result from calling ColumnProjector.ProjectColumns - - - - - Splits an expression into two parts - 1) a list of column declarations for sub-expressions that must be evaluated on the server - 2) a expression that describes how to combine/project the columns back together into the correct result - - - - - Nominator is a class that walks an expression tree bottom up, determining the set of - candidate expressions that are possible columns of a select expression - - - - - Converts the string method calls Contains,EndsWith and StartsWith into queries - - The MethodCall we are attempting to map to a query. - an expression tree. - - - - Executes the specified SQL. - - - - - Executes the scalar. - - The type of the result. - - - - - Executes the typed list. - - - - - - - Executes the reader. - - - - - - Enum for General SQL Functions - - - - - - - - - - Counts the specified col. - - The col. - - - - - Counts the specified col. - - The col. - The alias. - - - - - Counts the specified column name. - - Name of the column. - - - - - Counts the specified column name. - - Name of the column. - The alias. - - - - - Sums the specified col. - - The col. - - - - - Sums the specified column name. - - Name of the column. - - - - - Sums the specified col. - - The col. - The alias. - - - - - Sums the specified column name. - - Name of the column. - The alias. - - - - - Groups the by. - - The col. - - - - - Groups the by. - - Name of the column. - - - - - Groups the by. - - The col. - The alias. - - - - - Groups the by. - - Name of the column. - The alias. - - - - - Avgs the specified col. - - The col. - - - - - Avgs the specified column name. - - Name of the column. - - - - - Avgs the specified col. - - The col. - The alias. - - - - - Avgs the specified column name. - - Name of the column. - The alias. - - - - - Maxes the specified col. - - The col. - - - - - Maxes the specified column name. - - Name of the column. - - - - - Maxes the specified col. - - The col. - The alias. - - - - - Maxes the specified column name. - - Name of the column. - The alias. - - - - - Mins the specified col. - - The col. - - - - - Mins the specified column name. - - Name of the column. - - - - - Mins the specified col. - - The col. - The alias. - - - - - Mins the specified column name. - - Name of the column. - The alias. - - - - - Variances the specified col. - - The col. - - - - - Variances the specified column name. - - Name of the column. - - - - - Variances the specified col. - - The col. - The alias. - - - - - Variances the specified column name. - - Name of the column. - The alias. - - - - - Standards the deviation. - - The col. - - - - - Standards the deviation. - - Name of the column. - - - - - Standards the deviation. - - The col. - The alias. - - - - - Standards the deviation. - - Name of the column. - The alias. - - - - - Initializes a new instance of the class. - - Name of the column. - Type of the aggregate. - - - - Initializes a new instance of the class. - - Name of the column. - The alias. - Type of the aggregate. - - - - Initializes a new instance of the class. - - The column. - Type of the aggregate. - - - - Initializes a new instance of the class. - - The column. - The alias. - Type of the aggregate. - - - - Gets the type of the function. - - The agg. - - - - - Gets the SQL function call without an alias. Example: AVG(UnitPrice). - - - - - - Overrides ToString() to return the SQL Function call - - - - - - Gets or sets the type of the aggregate. - - The type of the aggregate. - - - - Gets or sets the name of the column. - - The name of the column. - - - - Gets or sets the alias. - - The alias. - - - - Common interface for controlling defer-loadable types - - - - - A list implementation that is loaded the first the contents are examined - - - - - - returns the list of SelectExpressions accessible from the source expression - - - - - Builds an execution plan for a query expression - - - - - columns referencing the outer alias are turned into special named-value parameters - - - - - Extended node types for custom expressions - - - - - A custom expression node that represents a table reference in a SQL query - - - - - A custom expression node that represents a reference to a column in a SQL query - - - - - A declaration of a column in a SQL SELECT expression - - - - - An SQL OrderBy order type - - - - - A pairing of an expression and an order type for use in a SQL Order By clause - - - - - A custom expression node used to represent a SQL SELECT expression - - - - - A kind of SQL join - - - - - A custom expression node representing a SQL join clause - - - - - Allows is-null tests against value-types like int and float - - - - - A custom expression representing the construction of one or more result objects from a - SQL select expression - - - - - Summary for the Validation class - - - - - Determines whether the specified eval string contains only alpha characters. - - The eval string. - - true if the specified eval string is alpha; otherwise, false. - - - - - Determines whether the specified eval string contains only alphanumeric characters - - The eval string. - - true if the string is alphanumeric; otherwise, false. - - - - - Determines whether the specified eval string contains only alphanumeric characters - - The eval string. - if set to true [allow spaces]. - - true if the string is alphanumeric; otherwise, false. - - - - - Determines whether the specified eval string contains only numeric characters - - The eval string. - - true if the string is numeric; otherwise, false. - - - - - Determines whether the specified email address string is valid based on regular expression evaluation. - - The email address string. - - true if the specified email address is valid; otherwise, false. - - - - - Determines whether the specified string is lower case. - - The input string. - - true if the specified string is lower case; otherwise, false. - - - - - Determines whether the specified string is upper case. - - The input string. - - true if the specified string is upper case; otherwise, false. - - - - - Determines whether the specified string is a valid GUID. - - The GUID. - - true if the specified string is a valid GUID; otherwise, false. - - - - - Determines whether the specified string is a valid US Zip Code, using either 5 or 5+4 format. - - The zip code. - - true if it is a valid zip code; otherwise, false. - - - - - Determines whether the specified string is a valid US Zip Code, using the 5 digit format. - - The zip code. - - true if it is a valid zip code; otherwise, false. - - - - - Determines whether the specified string is a valid US Zip Code, using the 5+4 format. - - The zip code. - - true if it is a valid zip code; otherwise, false. - - - - - Determines whether the specified string is a valid Social Security number. Dashes are optional. - - The Social Security Number - - true if it is a valid Social Security number; otherwise, false. - - - - - Determines whether the specified string is a valid IP address. - - The ip address. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is a valid US phone number using the referenced regex string. - - The telephone number. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is a valid currency string using the referenced regex string. - - The currency string. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is a valid URL string using the referenced regex string. - - The URL string. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is consider a strong password based on the supplied string. - - The password. - - true if strong; otherwise, false. - - - - - Determines whether the specified string is a valid credit, based on matching any one of the eight credit card strings - - The credit card. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is an American Express, Discover, MasterCard, or Visa - - The credit card. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is an American Express card - - The credit card. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is an Carte Blanche card - - The credit card. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is an Diner's Club card - - The credit card. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is a Discover card - - The credit card. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is an En Route card - - The credit card. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is an JCB card - - The credit card. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is a Master Card credit card - - The credit card. - - true if valid; otherwise, false. - - - - - Determines whether the specified string is Visa card. - - The credit card. - - true if valid; otherwise, false. - - - - - Cleans the credit card number, returning just the numeric values. - - The credit card. - - - - - Determines whether the credit card number, once cleaned, passes the Luhn algorith. - See: http://en.wikipedia.org/wiki/Luhn_algorithm - - The credit card number. - - - - - Determines whether the specified int array passes the Luhn algorith - - The int array to evaluate - - true if it validates; otherwise, false. - - - - - Determine whether the passed string is numeric, by attempting to parse it to a double - - The string to evaluated for numeric conversion - - true if the string can be converted to a number; otherwise, false. - - - - - Summary for the RegexPattern class - - - - - An enumeration value for no options configured. - - - - - The default set of options (right now the same as none). - - - - - Use this flag to let the repository run migrations. - - - - - - - - - - - - - - - - - - - - Summary for the Inflector class - - - - - Initializes the class. - - - - - Adds the irregular rule. - - The singular. - The plural. - - - - Adds the unknown count rule. - - The word. - - - - Adds the plural rule. - - The rule. - The replacement. - - - - Adds the singular rule. - - The rule. - The replacement. - - - - Makes the plural. - - The word. - - - - - Makes the singular. - - The word. - - - - - Applies the rules. - - The rules. - The word. - - - - - Converts the string to title case. - - The word. - - - - - Converts the string to human case. - - The lowercase and underscored word. - - - - - Convert string to proper case - - The source string. - - - - - Converts the string to pascal case. - - The lowercase and underscored word. - - - - - Converts text to pascal case... - - The text. - if set to true [remove underscores]. - - - - - Converts the string to camel case. - - The lowercase and underscored word. - - - - - Adds the underscores. - - The pascal cased word. - - - - - Makes the initial caps. - - The word. - - - - - Makes the initial lower case. - - The word. - - - - - Adds the ordinal suffix. - - The number. - - - - - Converts the underscores to dashes. - - The underscored word. - - - - - Summary for the InflectorRule class - - - - - - - - - - - - - - - Initializes a new instance of the class. - - The regex pattern. - The replacement text. - - - - Applies the specified word. - - The word. - - - - - - - - - - Equals to. - - The value. - - - - - Determines whether the specified is equal to the current . - - The to compare with the current . - - true if the specified is equal to the current ; otherwise, false. - - The parameter is null. - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The table. - - - - Sets the specified column name. - - Name of the column. - - - - - Sets the expression. - - The column. - - - - - Executes this instance. - - - - - - - - - - - Initializes a new instance of the class. - - The provider. - - - - Sets the specified columns. - - The columns. - - - - - Parses the object value. - - The expression. - - - - - Parses the passed-in Expression into exclusive (WHERE x=y) constraints. - - The exp. - - - - - Parses the passed-in Expression into exclusive (WHERE x=y) constraint. - - The expression. - - - - - Determines whether the specified exp is constraint. - - The exp. - - true if the specified exp is constraint; otherwise, false. - - - - - Gets the constant value. - - The exp. - - - - - - - - - - - Initializes a new instance of the class. - - The query. - - - - Builds the paged select statement. - - - - - - Builds the insert statement. - - - - - - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The provider. - - - - Builds the SQL statement. - - - - - - Adds the specified columns into a new Insert object. - - - The columns. - - - - - Adds the specified columns into a new Insert object. - - - The TBL. - - - - - Inits this instance. - - - - - - Values the specified column. - - The column. - The column value. - - - - - Values the specified column. - - The column. - The column value. - Type of the db. - - - - - Valueses the specified values. - - The values. - - - - - Values the expression. - - The values. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Executes this instance. - - - - - - Removes select expressions that don't add any additional semantic value - - - - - Removes duplicate column declarations that refer to the same underlying column - - - - - Duplicate the query expression by making a copy with new table aliases - - - - - Rewrite all column references to one or more aliases to a new single alias - - - - - Determines if a SelectExpression contains any aggregate expressions - - - - - Indicates that a per-thread shared DbConnection object should be used the default DataProvider - (or alternativley a specific DataProvider if one is given) when communicating with the database. - This class is designed to be used within a using () {} block and in conjunction with a TransactionScope object. - It's purpose is to force a common DbConnection object to be used which has the effect of avoiding promotion - of a System.Transaction ambient Transaction to the DTC where possible. - When this class is created, it indicates to the underlying DataProvider that is should use a shared DbConnection - for subsequent operations. When the class is disposed (ie the using() {} block ends) it will indicate to the - underlying provider that it should no longer it's current shared connection and should Dispose() it. - - - - - Used to support nesting. By keeping a stack of all instances of the class that are created on this thread - thread we know when it is safe to Reset the underlying shared connection. - - - - - Indicates to the default DataProvider that it should use a per-thread shared connection. - - - - - Indicates to the default DataProvider that it should use a per-thread shared connection using the given connection string. - - The connection string. - Name of the provider. - - - - Indicates to the specified DataProvider that it should use a per-thread shared connection. - - The data provider. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Provides access to underlying connection that is shared per thread - - The current connection. - - - - Used within SubSonic to automatically manage a SqlConnection. If a shared connection is available - for the specified provider on the current thread, that shared connection will be used. - Otherwise, a new connection will be created. - Note that if a shared connection is used, it will NOT be automatically disposed - that is up to the caller. - Lifetime management of the shared connection is taken care of by using a - If a new connection is created, it will be automatically disposed when this AutomaticConnectionScope object - is disposed. - - - - - Initializes a new instance of the class. - - The provider. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Gets the connection. - - - - - - - Gets the connection. - - The connection. - - - - Gets a value indicating whether this instance is using shared connection. - - - true if this instance is using shared connection; otherwise, false. - - - - diff --git a/NzbDrone.Core/Libraries/SubSonic.Core.dll b/NzbDrone.Core/Libraries/SubSonic.Core.dll deleted file mode 100644 index f342c91de381e16dc16d40a6c0dc68146cddeaba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310272 zcmeF434kO;m9VojtFx-Ix_hR&daCB`W?-76s=8sOIeLa`5Qh7Zo8dm>MiQ!KKxumz zK;)1c1RX^b#q~zS6Ia(`U4C_48oXB>4@5jxS$?lwkKzB`i^#03?w(;r@z{UunXHU> z5%J>1ix)4h7mJp7eA4vTa9uH$Y~=*T(F2cXI~&|99sJ%IbWLg@d;~ z#kGzzQ~$T#)@!0Tqu@PS+~B=L7%}Cq)9C{CkB?`Z`BTC+0~l}|N|5~J@E@4?9A|j- z*)Lm-|E~Aja!FY&-ElOMoIc!WHqHW|v`N{e_#cv=*53*kGTb=(qKJq>tK(Q6JTfKT zi!?a(bBXYkKcUSf-RgZ@=fK-sr$eDz|Fh5?+YTbDi(GG99RR>(0O|lB^`0CfN;#Q=2x=!*gB05B^Cr~^Pb2B-r- zB?hPi!0Z^H4ghmvfI0xojREQaFfRtE0{~6Hltmo?7Q_H`09Y6U)B&JB2B-tTKnzd^ zfNf%cIshz+0qOv-Z46L{x0CB!k1WZb+rV+jI6oP;L7iMOE;8jdDD)-cB28`ste1?7 z9J!5M#3>TwHjWUd$d21MUz{Q}Zexu&MPA&-4dN6@aT~XbQ)I+#+$Ta>>%=Mb={6n|r_`j|_?$SU4&BBx;*{DWV;85?o7>n?oKjiM&Q;=shd|F2r__ntxLll48*WJAph_hz#;2`X9n0O2^nvSz zs5!qHRI0mrZrH>f{oDgUg26a}I$8-{o=WhtB*Ae1OfUK^NjG*>7kQQFIfF%Wsip&$ zdIS4Vis%pN2n!84lI`|!w$@PzuagX0`Cn`E-$*WnjN^M{&CH8Rc z5H8h?az`QpC@Ikv5hUp^irSKc3B-I}h?E2o@)1Ob`;H&@M0Muv0*!I~~6(7a>tWJ;-@|A^FrQgP&YLxr|@KF-pUg#Twr5JaeXbR zAH9;IML$Dmw9KBCIYLd1vSu4l2lhzbgq5+e0DkNh9v4fBieEfCi1;=-D~g1>CN1T2nb zk{}ahfGRmrQT%@NYcfY}N5E9i<;oG_5EQcYle25-f`Z{=GO1Sb9C5p6bZjh3!-;k! zJm0FaXgB<&OtzSbsPZ5@4S|8l8Sf^EUF__OmI2=24Q_BIHwUK!W$(bjBj4nBw1Wz>C>P5Q~(p@X(qdjmGvW5*^G`nL7&qsR#9s2%; zAYaELjq+Q5bQB?jFwnG<9%s=`)8@Gsv5`Yp$JNwIu^hnVLd<2@mCIzK--{~nCs)zl zl2+(F7<#G0nBH>1P+ZE?DzHpw?#daY-4G}=16HEHyP>O?sS9IMWEWa`r08t7iy2N& z;?;_+%bO8G?FGwwpJ{m}S*T=gmSV{+JI;YeI~~j|6M#UbZ=M8?@yPoM9tH>c#QDZJ_P6OK z!^O|=!x{Y$Kd!f$Az4TC73od!z?P2aYu3ZCtRwom_0WlSME`C*G~ABp8`eXI+Yx=! zdcfQfeam_V#Pe6@K6k=wmrpOB&fe*^VwEB z-?g6Y#PdDzG`^{M37VTOoi;B@=rFP_x?Xe;v7!wm3y??g40n4Gx*+hwL-?(F6jS?; zCA=X;(i|#j9=B=4Gd#x>4HSpr^`gW14e4=`^se(+(xYjMZuDZ{Dwp$DydR(etR8?; zn#hq7c$EAgQbA*uM;CVtu4N)UHkfh;jmzVZ`XzpJERb?^9KZC^;;E>o%hi0k^Zhec zt;~WzL=MSuU}N$Kk7>kCZ6KQqkH=l*eS&?jvhNe^`y_e0h9{lQwInO@-wVGAaWgyM zjTTOMgXd&oE29c{s9@vif=v=_q&I7#jO24BczBuNakkpfShP%o7EJ^bclP2)!H#~<*({e!N*-08a=fobN z|J>Lk^h-3QU!o}e5-|pA5esn4E zH2=1;Hzc*n1%!%6+F6sgFVi|npk+5{`b^o^NSg24b|#)yn#-o7nPt*kE@_^$X~fe? z^RiSL&w+hTnKXtmFDJ}0289$vUjl<=%ou*d7zq)^yn=U%F`7VPwKGN_EylRa@U%`O z-%672IFW3=YjH+jZsmI=ev_|+NWSZMr}EVV601F5flQNcjeKppxQZA_U5ICxS*Iv2 zs^)55;Whk7jff1bAl+=k+gAckbftKPLod3Px6E2!#hdivm1!{P4Jf=`Jvu(y6Uc!r0KlIb59=`~!5ZUgMg#8(O>e6o-`6oTN!bj>q# z-6>HNCv@E<9ua(@OG1<`fez=ge)t+330=srbaln%e<(q&rW^FfhGc3@nB+6U+tg#I z&B@i!p>6#7!U_7c4xKRjhRnM`UeCJzxFFDh(gcX5UR|fZ!;$&6jFbATUJd+#A9;?m zYGsi;I(gp9gC5dR2oy6Tb{yf|(W&QSxKHPKDGx0{M>uchy^JRwxx7nyxt~kcbm8w7 z&okEZka+&ndL9yTAufo+%$AIC*s|Zl(kaCDe z=(yIz4n)wTZ5|9Q+BWUQcPd4oKNP2deG`3k2+Xp<9S=z>Jgs1oftwFc2y`8`5ReLfTj@VC|XV+|fj34df_E z@p_Wmk;MCTX!iyHlBtwQ>Uewd^y+7uZ0}97eWT6x_$k>6M6;bK*%n*b9%r&WR#MzI zIomgxY?oVLCOpdA~S!6ldtlYQWN_$IEn`BJV=$PQ0z$PpVH_g~KHr zQibi+Cut+nhEmSxE#y=`n@SRgF0X}b!T3W*xnn|#f%iJmTL~W8y>TZKG&oZ9mKa&=C%e^zyN zwZE_0pRdm4-@NMlYJX34A^*zN{)&clSNprF{Q;o{Jg-Vh)!iQzJVNt?R`nt%9m(|< zg3g@v=6+f$qf1 zTY!Z@Z8vw~iUiQvpATw_-HEXTl9?0K`rHYqGdnCJnMzRe`e(NGS4b`VVqf5NR*Hk> zqb#|xxbPmz6TO$8?%LkHUicucuIyNMhm(okhkK};&FQi^>$(p~RM~(Ttn~r?0SMZl zB!9mo`N)QzUT4&I z#~4Beb0UU|LG{KMMqdz&(M{6qKEiKAbp^V>Qk^atc}n}6LyH&^8GeM=rQTw1W}I?w;cj5>p^zEY;IG^6%jIH6B5JEdp8NMihkpsc-d;G2jA;sU#+8ZlSrr8g%~~E zWiej&DN<6royC%5@Hn_{5-GQ-s!6KwCCF@j#GnYDAYPJ4iW7cGsLIAvWo`POP(G7H z=HWqo*m$N%%COoLC})$hXWq`5QofkiK4Q=yVI%8q!Pyt5%-fV}BvXqmZwZ#Y85?{Y z!Ntt7BY179T1F=4t@)OMV(>iGQjpyrt(QVuy%eU_i>x~bqsSM;L|?_7u9p~1!loJgZ#A$u zbFnrvx@Ku@w%xe0s2=Qn%I}|h&XBO?cxtx3z<5@Rr&KH!E71?YQ!JLFr+A~P&=a0> z4)0-D)TS7|4!-(PeoONY&-Gh<151DtmnCX>j^~ymDWV^KgWm_Fa;}n}Y8;RPnXx&c z(svb`-y}g$n-!L6$pyE!Bdp-?v$CuoxVrH@^rRoo23QrlmtT=i{@jTu&VKhN)xRe3 z(@Y4b$23}Qck~nfW)l9e`bU!Rx2QiU&hB@rpWfD{zefE@&oz9RJF!a~IDCGp3mZP! zo!B)AIU>~`4!_8q*ewa!CDqFfhwj8^5;8B<+YR@)6U*WdHDrJe(d$`S4#P6byU}L= z_jYWYB@Ay>A-k{J!otP_=qlNI2!dDw(~>^=Eb;q)wr^QmGkM6yz4o4Mg0b9x?z!iDCP97S9FY%^ zWhC8Uj26q)%3jwnCZ`zd1-fiyRKC_}vh(V_-Za@6ON+Mbh90KHhz-X}U>(v`bQPx= zXn4_F5#Vg}OBz=5NeJ&U!KNWbDNlDknvmA~10t33wcUI3;Zx#dZ8{1VZ4B*zgVC%% zG?2rkCK3yCj6!0Mj!=4m43hMRBpv$44QqPy8_Rnl0r75bGU6!(40!?_@{~HWDD)fI zxumB3dPp5>hW$7+!*UK+zvhJz3Ya64P0$+h1nD79IosN)Z(dIQi;%#y#NxsrxrvZs zE)BkW3gmi)lo)Z%C;wtrcH)9uRrc^*XQgxC&1Nj+I&XIl{iSh>eS(a&Y01oUg#T)p za5tb-)pU8yU8F?eJgJ~uYbaRitR36isf>~RX=Mv_P+tL`Gs6De;(8dy(FLTQ&*im5 zb%rUK=vivf0`Q4xR9RaidoC68C1Zy zjEJ*h7KMBpV>WdFfXN1+4ggSW0O|mMPBZ{@06-NQfI0x60S!PM08o4epbl)h7DAGn z32EzM(^cgq#Ox7AQwMDef#Cdc{9{&NLyw`PvH-DzN$Z~TqSn0BaXe9JI%As}`HTIu4Q6Im= z$Y#OF9=V~OY~xd+-=CFKwce~79z*$}0?RT6mTf#rcs}~I*!ApBECVhxR52xZ=Oil- z850;8-P1Yo9-Xo(kM=<4QENq|llib#K{P?5Fc{MWYpIs7i+eG|6h>bQN}FJ;BBfSp zZGu?f7{$mn#WyyOr|fP(%naZ%L^(YL=4r|+jIK$RLKg#MDy zp>NRc(Z>6ww6SDXHGKU&CIKBi@I?7a83nxxBf$1ZW< zf;jDD7=C4(w^CvTMX?+j&R{~RavvmeU%_rqR6(mL(}Ipf6r?eCHLpcYcjt5Cl0}NG z`HlXo2xyRd#u#o}}cDD@1tWLZtgZfS=lyQe^F_o7Tg#lDUHB?x@;chI>`Knf2RKykgxV(SuY zle9`%#(ox^u6_I-1f||lOn9B%-tZ6N>r^dO^2;R|D_lo5ysqJ;%MJBYEwJ$=nFDVm zMg0&rj-joP5kP&kX!s-p%EmW{=|&d{ri@uge2!$1>6?hC9p`Hau8?JRIil@M$z<7g zftHz_8j>1Mi`HY`DX3>E-L<8Fu>|*r2HV1Q)LV{0Kb0g3@+zf#JIz5cKXh<0sPAth zGcyyx<0ZAN#+o`d4x%139&+A6*2dt`79(gCqqbYI(=u5)l5)fXZ=mDC=-Ct#=oMln zD4R=uZfNNQb?E9|D3n}D?3)z8+Her4eYziIaH})Ks6GgYcLVYIyN64$vq!dQO(Ts# zGe*wL#%e0=C8+ecLr8J|qN3n->rS1kc;BkNHm08K^CXtpMOZQ8PGmL=xQe!658O(fU6uV42{}?lP z(PO2V+2TwSA=^;F(#WI#Y-HC|$VjQuou+^EZK=?nky4q^RNCt$)K5vaTM^o%1*RI? z*$FSDc}hm%>!rvshcxT_aKQ%l2P2DdzM3d?sT6VOg3QSLY@^s>MUP+;HdsVzD^u=5 zDKOa#mVf7Ws?mElmJdoade(5Fm@gJhF@|AGd1J?EWMm*JNwVy~pkg1?DeGL$I-U^8 zdpnPIg7{?&CZ$L7wfBR)t?u|d+X=?1es&@viK^Gw(o=WWwqcQ0I_j=z)HmS4GV?&w zSAW&4;_jCe%TMd>mCkT89;as<>1`Q-7IiT<*3@l(?}l?_AQT@)I$H4@x;VI#Yu3sm{)fj+e|RlI|1&jX3#QH4-zrV2nJ&$3lk)@c+6wN&0zoEP`8{SAW4*Clw?V3 zER{-B^<%ggrQ-DvZ>T?>Eu;d11VL@lG{IdGEQ;13*4^9`_K3<0_TEKSe~d`Au}SsG zZz<=Bgir36O!o?LNoOP_^|NEg$uP6UBddY6Koob^gizmTIb}(93`_b<#N2=(`c-7* zH+D_fP+@0DgQ)|Vxb4Y!ff0Ssos+R-tN+Q5y%;1zGyMG6kxGMTCNY&C;{ZV>LY<+g zx=4(O1w)UR5%pm$MU|qbR%jed{>?sOUSTy@JdeBDIrv{=9p>r&X-kG>*D#e=bQ|^tUFj;lJsFnS4OPNVANnsO&(G2B+<)5HiBHHRp|6DgD1 z*q%t?Dx9WI%j$XjmC$SSDLVq9NeiY!VTC~yX1DD-GG^uyPhe~{Do4$V1f7g%+mhcn zjBMtbE`;eySI*bc@QaE{|6iRbt0%>tJ#CC4yQOfz<&( zxTXMg05~TGr~|;cF+d#v&Wi!+0C0W`PzQhuVt_gTTo?n?0pOw-pbh{pjREQaaB&P! z$Nuiv*#H&~We43*)?}1s0m&+P6vtHufJ4)m2a^Uk(q;> zWOA5%t0mH6-km%vc@EY$BzyvgWB50w`t}z#M_OOGKi-VDeSDnJOA@B;Fk_U_9#N zkD#$@3u$~|;8LQtfrYpN{XnZhv5~=<=Cqj+>}J;^wzBuE_VHal7xI5fgfg z)PE+tOkx5+>+7{63{D%IQ4`y7bgZaz%WQ+Br+ z1CwQWbJA4|uD6jPnTG+dT2Q;qMS`gzn3gs_B#g7B@!<8e$71ag+xU=K9+=lWOn)%5 z!>b?YMRGD^%{%dPeta30(sE=(!@cmMAX+U!ETGY)3i_-bQ_1OXv@MyM1XVj{$vB^< z30Kw-8<7z@0-N`Lq5kB&a`+i#3J&&N z{Q3%S&8OfBqZ>IVfDw`$#9H%^NGdgkjCAh`AP*4g6r_25AB7TiLi!K{>>%sPy& zcdj5`Dpl^KQ2Zbk{8*MH`0Lx`^cYutP6~*Hg5=Y;u|t*?(wF93Cbds{%!;kKbGXQo z7d=K1g0&1KY1q3`Xm9QINL1zKJk`k6B|cY|U=I>7WEzw7Uh^Fcu0$4P-(Uf6#x}^L zhDFZ_GCx`iqY4{3S?J&3$dwkl2E)rKmz_>zxMR4v131@7t|=+KTTR{r8*nED(0=tJ(&}GQJpw+8nT}1 zC}C2!%%$XPQ?Yp+&9Xc1jZ1jEsUso~4G|Y(fa?iw4&xTPBr)#W2{$W=Wtg!9XP57C zxr!7(i2=$aDj53SyQ-MoY<}zTJcm zH+4(6a&sN0RC?Lfv%GSF&LhOZR};1sl7}vB{|zivS*Ull!dHoY>+#% zrOpkj+iYb1$&F|QY+coNX1l4pWH?vi7$~&e*C@DHE!GhZQtyiJogiB> z#Q@RzcQ@KiXj*9A6SOB&ieZ-RBt(-}`>MrGX`jLiM8-J=UQ8xApuG3nlFHmp#t6g0 zGer^jL#|u(wdCdX)vMk5Jj;%f8;z3D#4F>hQS{~N{;sh?Wdr)(DFF9_9d2B8jF5zV zAaT)u9byya94q;(SqlbCzfhWA6|L;9p`OuA^=wwH{Q=wr08XJ|mw|#}$(p87?b|c$ zoldo@%x_M&e;@K*VBMa1p>_Lux39UJ5|3X&yRjoNZ=9VnIV(It!yJFP=+s@^=982r zKCNi#Tl#<*!r#>CL>WQop+p80(%IlmpG-uW7$=}$q#aYa&T*1{O!Ba2+H1|HN@KT7&AddDVUa52RdMIbZ zd@p?6*?hD&@1e_0?0nQq#QOQ}m@pw9Jq{1*CmAC0(F$VLw`uH551%*prECi^c{R1x zxp;FQVsHVPW}J`afvc2Zh`iTgN#Q;RK&hm?lGVVkfcN%4!tM{0D z337TD0Rso$RFfxG!@jjoy3~1nm(k0uWq2Kp=rX*tgMXp4)K$^rJlkB{GW_bXj|_nN zcmyub01rKZgQn7RtxI{2^2BLmT}IpzSHj}({VZI<=yzrO?65Sn4n|cQcj)hW{e7GM zzF&X;S%1H*zu(ngw_D=(>hFO5R`qwe{wg*ZH+1Sg$njF9)?Uz%uS=*^W8#?Vkh^OG zrh6~=jTeE)bVzhVGZ@ZA`%)$B)u`tGdU_XzL)cRH6~A#Ri8zHV-IR7^W-(beII(4v z9l`J>`c~0{X3u7^Q$Mn`w}mV?CqSzqEZ(yVl0Ca*_h_c<9{m_$&~3J#;4r&KtvyFf z0F?sfKwO6(*i^GL?EAAvY# z4*#R~s~(^XyHW;i4zZm}Yai{;Yp>kX^C#OY%NU_V8CFR>gy*5(1HUmByeeNZ*3A5U ze`$AmC*9>T#uS^{Upgnb@N^{-?>6`6cl-c;s-K`|702Qsf3O8MFm6L5B)QY^D>O5d zo6Ogk^EoFrPUTY* zO9+lITfI5oS+tk2b%^HxC$I`ZS)zMm_in^S})2Y2IzU;3n8gCv!fz+_p-bsTuEqqq)iyK zhjL$m;Q?owgtd{#sY1=sYN;C;mmq1y=1D}8x{>G!voUxMny2t1)?O`f#lS0$GbZu1 zHI&shW(oLC1E0C3vrsExiw_TNbYEj;&0ylG4MDcf^p@dN@GV5#%6Qi4A8d^cMke8# z5##g2)5&?z;`(tKmnV1fa#ODvYh;~yi(2?(td^#)FUF^wv@Ovh{lPRyW1Iuq8=P~S zXF^7GZgXem(#*Y7fFikOwt1EWu<{qaBzBw~JA`x%Iwy9V8#_?vCg}Xwae+AQuzD)w zyo*1+4&^3y+RD3`CA0A>aaI3i3nHP_ByJ|$mjOv?X-H62Ka^-g%>i5b_8e^DPLufR z=ZP)ysdS+*Riubq7zPS z3r4_dYY@zN(`5ucX$N=mK11+^E8$Ch2hUS#!~JClESLTof8%tz+2)1RNVp#%?9y8J zMeT53PuXztXSmQ_-VQtix@)S8I3A1W%>c!0twqvSefozW0~ocKeJ8msQ} zM5(L#oMaO@+u8G2GftqjDWTypkYFz6Z3k&<0}tzyP$pIov;pijWphfCs(#_PQ9?Hh zg!^H&DTK3BF7g|##m#ZkK8~ASiIam_0?tS4@BqVdAQ*ZQnmH|cenK-iv@j1F%gZr5LDpL;E*~U4tVcaZ~OI2{y7kG8tm2qSaN&kypkm~UwA09?EDl%wZLo8ZG zi%_o4ByS;9TEp*T+WJa7z!E|^+tnh}@WIzQ%0|}`wJ9>h5k4U!ACr;HZMWG!rqk0~ zo5K@`EzA4DLN9t12pAW6x<-Jx4R?<>MNa7>C4wLAj>p83dU2h1Q8u_k*`z9)FQ=!W z)nCC&PET+$uB~o%ZPkqkm090r8)G3Ju3$Imt|whSE9Wav0ypwI7}v(9rqqVmkHq=i zgwtksGtP7exq zGA4-2@gcNeGe03FHD*UeAIo07daQdFXrQ1=O-C+zVdLl zc?T)SUq!BVHCCidyxeI?NcEO@c#9SuYQ;+C8cil&K{=klAYf#0n}HTJ7sajqET5?neJiO4qy_c#$S17c%;~t?cV&pC%7q3yxAJ_Oa33xWe^B zlI6$O2w3(3?463UhrPMAOr_RQmc0s7Shfh_dlnD(WLMJ8is85^-g zC->*ljs$D;T2fMV7m`q#(+!fXCOomgB~u#5oRWAQ5k<89?9v|@T%Ou&Fy<(F{Xw*z z@bc1~y|p)j!tB4vCpB(4zpFOa^|R~43&z2dw#ba(B{(jYD!<~7csIK=a zBQv;rO(@}d7kO2^*&{tMXq5p`mJVlUgsMyOXH8btT66Y6z3AHO6};o;%#=HZ%>^d& z&ec2z^T?WO9EK#R{oH;jn1l`R2;b%D;SpH;j?=opn9C;Xx-ned=h^s@ruMSN!|0W2 zg){Mt}dH zzg|(W<>j|e`6`wcBR{x z6?-Nnmc#keC6;4<3a`CrQVRJ7kx4;-w2|l{pdC$@R{K2;piC7?a)+HhOkTE9e@#GrJpa7E@V?}eI+ zrJd*&OW^m{`iG;})7o&Jt}Pc6gC%*Nn@rvyP)~PKhq$ZrUcB|yIx6kT+0#zBh6rA~ zdMulT_BI^`cRLk12WFS^;~2EkpkBWXR*K3tXXDs|)gpj9w@P%9P8AS#yI*{bi%o!%?~sy@WNBVv5W!W$C+ z20#+~O9;pydTP~dWJ>+67hsmr4~L+Ps}!S1tijp}dVe$ECP#R!eQD z;7(U^*&f}-GTa@+Z@!tdVF*BP;f{VJJgv!gXFJi-fTjIndZ6`TKktCp29+hpxDCFR zW^{s7)Im~S31Y4cCh_{MTk%bm!L3B|*t+_%+qf!5QxhXENoc;kpk{LB?n+P2;3hIL zuDPg8ti`Ffyl;U_Xj#&D47G}fF2_pZ^UIdDfmP5We|!KgCf~I!z}!o&chI7zlLE&r zAa#d%t5qaw3L9?e_!HfE4|!aqvdS1ch~7fYRhFFKstvkIo$x*hD%9jYVDb9VTZtMy zAT=!lsKuIw{}X%;FH!mxo47nFvD*Srwlk!weK-&XH1qt@IZoqA*sN(lkwQL9J? zb)@)@lAlx`n&!7gNcf$SH~ZNPqXe=ona3c-+|oZdDMnn;iI}Nud+3!*EuC)T;e>6_ z#yn^$ZE~@Osrrb?n$a|sC8_)sxBkw~p|%fqt$&L46x}G9WhaG4s)>W_SZA`GROtE%8w2$pn(R z*&Ln!;{(PP;4?|KF@f3Mc+{S{ z7##}cC2&h%W19q$x;1^enC2e!=cN_hV))qDCBdAi#N-PGWH3$tn0(Wq)k~z9A&uu8 z*k$XOTtxP1CZbQ6Lz|jDm>AfAze_4S+t?QxYBL)L@k*^EaW$19aT_ho*ElR8*O-jk z7|8%k4f_`&z;5$Bh{ZTUFJ@%n4h*Nf=-nbmvi3IwJq_)*-vg*nWB=>DION(3np17s z{V!=}@jg|&_r>b8V2&OX#7Q>qYx6zS=6ipe?_u$snnL2qcP49LogcP~4cVE_h$R_W zMYsOwgKbDY)aLuJ_&D95CDyAZqmKwk*P>rT z5r+^6^))|+FZxG*;^2?tUX8k(mrNF&Hdcb$e5SH5`ZN)S7ETQ@Y0Ra` zvH9?W?dHR2n)O;rY=e`1>|LdSq&SgejP0T@BKibe=*}53?A^`zmi+JF9J^MQL0GSG z$E3jRHVe17W2}mj!9VjmCTvQVCwh#`1((dTk#ji>T5NunSYk^d34M25QX14gcY)(E z+vShqO5}kx+5dyzi#{h%gHP~YCip%NOpHRmzue->zKQy$Ok(Hz7Yd$<;~tgp}35S_ni8TL@+=g6@1dOJ;V0EGE^#{rO7Y zO{@saliT@IIPcGgUzgyVzA87PD0EM>%w0K|a0#Uslj>H*B0t~6?~Z+o-_6U<>F|ln zip_5m6|3}dNy1eeDs-l@#tkkJQzqCOc%@7){PI${NJawHBxXleaK+<$>=LpI_#NEx zxd)NeUh-m*L)PuT3z)uwUC-~~O6u-#ckKK4)6%YTY4&2qgw7`kFHHWTZ;);23aeZM zPZoNAz`OYrKjS~-C;jo@`sr@?G_Y3EmNazfS%+Xk(#W;wDQPg(PwnNXmLCzGs*jx1 z$5N?}5fRBvlN^ejpY-=U5M5hqOi_>>hfS#Q}@p;xI!Add-S@?UK`Q z_#YHnFVauyZLJ$J9iXL$G!Q>L$haA|`{7CaaAmCN+`RFhk=AYgoZsVi9VEj9sy-tr)UvBira)ZI+ZckE~ zGP645VEe(hLTa;p&4A!v6I|yknLj3Ea=_uK%*I()Q~M&nt~1a|Q?Y5H-%L*O!*arv zMSOqazcfcsApb{^ex1~bu4d^JESR`n`r<_>7<0-5x$^HfXGCV-EZRXfcsPc^(j}j_ zriO{Rx<~ZSh8#WLe}n!CuD{i>g{-XaaiEiX16~e@M-%ixYI!0%GU{WWC$5O!k`kkV z-wAze+=y394#Y3p@sm8nc(V*iKs2rn0QbiLb=<)Y5(D`7EP}4zjzbBy2!8%S198NzY15yCC;;vfU%`k#u>*+dT?eWk813-8<}lMS9Ms-v>S%YSIr&Y`U|P zhCQEqx-o^Fx@XamnvH=e zU+fj#e*iP#t5x!4Gwc^7Fh+PQXmf*$R%dYNKk$yR1wfxOUN`IG?>MxK_EY;t` z9ZU5ua3@kdt0mPX+_6;eh&z_*y>Z7)M&bI<>3Nt=j%MLU~z7g zZH%}j=q1L_!V`Lr)XK4~AGswbX(zJko8GOlab6Fpv7WJ@%_DtRl7K8Xfi$hWUNEF- zN=?peophi{DkF=ys?^1$ySeiHTI*lE18Pw}ZY$Ol8o8^sJ-fBG<86GlRTyU0isErm z!q&RtD~YJL@njRF{$dN+COPwT5+_0Zs{}M%9ZthauN+s|7A7ceHi0bbJ)e|JiDN#q zzR4cTR{FMoa>mON45__}*(0;8?4`+ITU19=jRTT27BCGDk8H)6rr}H}?lcYO1)=P; zgp5QSE=)kv)$V2~Yh%$q#%DQn7_Gnc{i2cWEN7;mOEc8QN$YV7x@NO9-kXGa3|)>S zXER7*NN2|=jG)^TdZ}~S`%r~g3ciK3W~6ie_)67+e1~XN_WH^tI~aN$3yy~amT9k4BW9QU4uJTrPtt& zRq36$V^w+|?s!Q5F5GrV&#YBwL9fcInB&tts#iG+<`nZQ(F;0qm(hFrxds1c?K2xa z`(vKbFA*cI-c5|Qe#+8MJoi5Y3r?$Fbwoq2rcB(Ht~7j#i0Q!8x={O|D2*}QvspsK zUiSHv_?-zM@$e)?iQdxOM#+{8lGBu=#w(SP-7H-nrwX2rt}i5UWP~BZakcW8z2XAq zM^k$eb~&xw9ZdLEMdhOI#Tm9`?Z+6e1*mew~;ZX?06R|7&IUm zr&w6YVnACPOt;6)xlbV7!#uLyv>ok~HFalndvKb1d_iU1ipIGV_xYrIYo#vL0xB!c zlQQhVK^L20^Us{&3)61jPYrCY-QGd?Ry3}y<=|GJo~GT3T5engpUpKT$J+^|PPwAE zIdd!{J<*gewa6wxVO$#+5M1e)&~NMH;)ik*29uJ0laGq}VfZ>~v&J;ldPxrkUSu zf}nPOv})te$&bck)J{ryq!v5HZbcTd_Kaf8<9D@714=4Z~xm6k=Nd8t~F z@M)N^WOAHoYVO#{ab~A%zinP?k~q@8CdABN@l)vjE6{UILJy5d$eA;h<_9LnnL9Pk z7beG}VfKa|}+vt?As_6NH^L{PSWzPa@C z3_RmJ@_v2lk)CPvZhk1!q2yq;Qhx-h`jFxAX2yA%;3qO>tXA!VcV7&WD|b8P|bOWX@rq48Q=*=m;3x>bIM^e%e(?r<3Te{Q~Qoi!Eay}JG9qNPSgnU`pxr<@j<{pVJ zV-R_Ni1sf}9RGCEPKHTXoQJ%NLI1X^bfu?EN~%SlbBGl`8;SLZeMZk9fKPpjE)GfV z*Z0GxvSbT(NHXj2XNt-o-mS6E!qGnBUZaOu|Zz4NZE6i5N_L4e9Qho zA*@^Pw`i^BuK0c{=mDASEQe7J=A7CwZ%Zi}PeHXApU9Ur6)qk2P!(S?fvSwm!z=x7 z!GcXE(=~ck3ZD)wlCE@kc8pKq$sB*=$QZ8q|96uAvKX%86)`$Z@}E62-+E2HF%_m8 z>!Kq5BoVuYLQKMuUy$gJO||#h5tGtvy9H_HHTERd6e|K%pSG2yHHz$kejMuPX^I|Z z12QXNwlmJ8XXx1Zf8;`lEPlk3JXsVmlRV~9g4Sa9xe`m3HR}6iSF*5y6Jg}(;bBiU zxsb88-6oIOnuE7`*tV}q66qUGdL+AAtzl4oSkBwVy-}j2 zhWy5zu(aB^M}K8$LhPTo4VNa9&TC~6WWr2&u-Ve*d%QRIh<=g7IN#)Xi08vRet+Mp zmBNfy@LbLFk<{~U+;6gvAFJPk0BmQUSMyFkFU2pN#fRqUGq+Q_*=2AXFR5#LGM}3p9%ka;f<;u@PJZ zbsVebN^|A$1T?34+&^olL;TsRR!U#PFjb$o@s{T<9zG^(I;6AlV3et!eu>@UPs3`L z`~8c|xsy?X4(1uOk3aCAo}5YXQ?TW@<%#3eMmdHe9ej(Maxi61JES78fp%D#JD=>q z83u7brYjU9^f$<~>|OBIj4QnAMjKeK+rSSefk|?c>aiq1%!y2QW6uY=&Vk4&3!8Fy z6HWx0-?GnB5R3IUNn#tLtxuk@FeZr5b3}Gj6?)ORxP#ik{^|u3j*Ci^`~|JpS#$C? z-M^=BWmCAa2AAA{rp2g}kt<22vs<%k;pHp#gShdS|HDrf7YkmYEDjMnU)vVVKXSi+bVxl~l?j zJR->Qj-S`z{~gaqdFBKEciwy2aFN|rJf~X!LfoSt#ACAb9+2iVT5-`NxcW8UoD`lJ3$!w{FnquI7D@HVOpi(*{R`c2=C@{ zBMr|@4VO_vDT8^6M#xW%aG6Bt0v))8PHRhA_YJ8L29+U9mQ{qHm~jw1XIbdK_1pLFPkY<8#C_z-T6r*4;OOjmp(# zz|DF5jC^N6|IC*!>fA`E&Gk_>1!yXA5-R*p5rzdqj180%Pi@j6vCWAm6A#&!v#BDI z@@G!4t)YW*>w8-qt*HvfK)+26&QtZxmHF& zh1y!<^P|@iqswnu^|Z|-kC6nTf0QF!W^}Z0nQ?Y7v@BmQ<@IYL7P?X7XIsm&?u32= zFmX&x7z^CJ$5>~@Hr`a?0SV#m*qe}&gb_z40nCYoLyI|Ju9aXCo|S~d5B=1}AEZ`1 zy;^5-7rz^F&;6DfXFI94k6b zT99h-^vx4qbQ(yONsn)w(Y;z(I?!$_sM2qIw9;cPq2iJt=_Bc1_2UU4@7;OO$WHAPOWIROCD#tNpg*)g z@dn?lfw=kCVl$*2TcB774@yALB%c#9G?{M^F%q+C%<%HUbmR*qvKj6eHKt<&SI;cm zL>cA2qqrzCy6@rX<6#Kt$fp6pRc&0Uzt`#St@?Y9{@%y0chg5->qEkp z>n)-2_?m?mtxGW22(7gf7I^794l!iQyyWW1akp{e`Xcn2$)Pl^xOZY{HVL≠0Uf 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%0A7(R7Dc}J<$`&Rn^ibuH;GCDije8(|)@Pam^ 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 q?@f!1a^^368 z)Yp5x`+3#ma@Jf;pCm4F?^DUb4tak_#EMg;8Wz)RqPM zcE6y;8qKU`2k8ZMg<+$Gl?Yo&S2tS@&0U7oG+W_*Q4O7_%Xw?F_3r&@o3NF%q1i_F z0d>^GH9@KWtfD8e<`VBi&Fa9K8n&z139wee4tb9tzr(7%u+_3oKCC*MxObavb01c{ zbUNad@nLn;FkU4bR___ctAsjb6%qbhLcB_-Q>ljWDxpqg8rC;zqJ2b-a#(?NRLwN3 z3*!Ew?r>Ov^;fk^SS@|jtc&YqHGeYaaEQKb_O$yIb&JFHfUS4fe)p?tYYA(vAZmWp z{kmG{*DOI;+bPUyseALM5%+;?e`{$(^Vh)gD|FmdV8_)5b2OU{_Lh2Oo@Up9y`%bF zui3KZZ@W*b!wWQ9-F%Pxv~tyI_AqjIPi_abM+4smz3mlf2~s1=ydJDzEL9#>ygyN{cp9* zuzq0Qs-41WDKF_;_jl@L6L(osYxfT-YOS_X0`{ZoBdnIHlYUk|sba$xCFNK@t64^K zRZ_b97q!5!^pI0ldtjg zc34TW-*b_}I31qpg_X0P6PKM_>FMvVlH|FbfezzzIrY-zI&s;_OFTmyR+4<1C(mJ= zZbZFwBb~VH<$Gey zgPyCb_QF=uvE<{PLhG1e>~|+yTi3DXO8DeaU>B^{?Cs=Jo?`0(VJqll@)^$*>kG}~ z#B-X3<5K*`IsD+6W_1##XQykeiySu5zSbHltd{z=m}pP8Ht9I;S2!;ywO%qTr^N}d zj}05$!WA*Yy5K&}VTt$Z7Cx|nhF#lYxm9Kr8MdHB9$2+us}NUi-EG(dh%2`?8@3g3 z6;_>L&mykEddD!HJ7!wH81@p%In#=kgQ_Low^|&;)9o&Xokm=x)z2`V5vr`ohVhJ0 zWz8|{4DzeC)*AK=@~gJC8g>?OHP&AYi*K0+cFM4JEtgxfEcJlC_g;vbWi>S{7jd(# z-iD1u+-z&8VTCOZ(i|&bSZT|N_8e=DVRKv7(Om03!0k*@im57^XoiJ<@;^tXj z7`78}*I9`V68>A_-H*8ItP2c#wPkF?e5=B+4_YSDd~2~`-?eNSalLieu!vU4VDA{# ztW`?H4OZJfXq%a>I)e2wYo z3)8)Bk+n(~_sGJCMb@UUxSOo44)fbLSQvEVaJZ%=>oh(uiBEt2XI! zegbx@RUvF8MYNd{vE15X;ySij7;&4m$FK{*Zns_$c7TSqSsrnRMGvu+12mz{%7{Cy zuELghi`xu$t*|aJtfr0MUSZ`Jb~EDcvc?#;7IAl3R~Ysf;#OKy4cm*jl~#peFC%W1 zb-iJy5x2@(B21qM-fgWH#!5AJ=Qx9bE#|TSX*X8AJOcT zu&ad~q95D78gY+RshQWCQU}fJ3~MZGlVK^sb_lDbi&EY|x;rEU|V+GE(`KFj-v z75A8qt4Z;CH(S+)&GyB5w^)Y^TbR<+`>6G^VYj6udmpn3w(4~2QrdX8TJIRPF{Oj| zajVzkI=aFuQ)poaLyP~qaJFRNN>QaVypSHGW=6yY7x%DS&uVE*J9X6VuqCWp* zd7sf%{*Aa@*7|3e)e@zS@b0pD?a^^Dsmrb1)&rV(o21s!ZtE$-I;IwQcUvzyEZh5x zbwn7}e5uFjS?d?g(3hrppS2?PvP~Y1BdxtwD~Cjd?^z|nR?>@U*}nI! z4-Rph_PZZgUkh7ICw-%RA6OB84v*t-aHaZzr5V@D&+ZQ$#w)oq4&#;1=Z0|(%{>2d z;&|owrNemT_?5#r-M{Ol`__rePVVXZ-eD!lSNeW&7_V?$cC0QnaXYx}UJjeI_ZU);X zjD7OGzG%DRuUt=yyhmXr)?Ta`9fy@zd$YriQ=FaivS`w1`0F_P0b#l|W#qRUE)?_c7YOgYky>L7G3&Ys&wzu<-X-)RKY4&Er*zb0*`}|GEvES`z zA2y8rZYTTl<2sK0XS%(^F!rAr_P{rE9DBvi_M3*i-J#NTfqmeF#G&T5`MTKEZwvDd z>X>I`+Uqq#%|GMoVV@DEYqzHz{SIqtuhG-45~jyPPkXV$CfYsiyB&7G*UNs~VTBPF z+Rr)cC0`%=Wrw}yyTpFiVek3|*q=M>ecwRa^DgJk`Tf(EZ8vk+m%bdky~BR;4Y7MW z%#Ivp4{=y@*!J=cyk?4tA=BInxq z!t^QJJiAC3k8r;|&%V)UK9|1Sy3W4IuvdjGHSDyoTMhdHIb3Jou9>X5uCpHywuIhJ zelYSn`+&o?MlP^FaM;t4H`=aK(tgl`$*b5Dd%y>O= zslC}~MrOPnxy*jsu%wLRbc_8j!`fuL7kP{QtHVBuyw#3BP5AE+b;|fOa=G1HGx2A) z+iAjPF!TvUG{ik2dGa*+N>J zux8I_AGN{m>9EdG_uC_dEuv!7#Dn(bhFzP{BkDo>)A!j5xAfSkKiGRd5JvybD2#g8 z&i)58?L#)(^Mx%UtMhT%Z0{0QOYxl}qc+=xA4xiIo6b|C9<`@wMm;-Ev>&zmd@OOu zVP@20w)YG(tl5)~)8qC+VN2u*&g1q{VF%=y&Exi+n#t4u$L+^-I`6p7DG^WDPiaO| zP?jg`1Hu+jxv;kXl>BH^$2n0?*oQSk?#Jm#`xRj;y>EBEIqFF}_7m1z>HSyd+rSbH z`>FFvu-1k}TyWIdX7@5ILD(?EQiZXNg|xD5^#wj3t=!?M9%bl4=YgAQ8+cGzK?!HziWC9uCb>~pYJ9TwU3NYpWhb?W+h)Ef>P z(Dg*rTMoOd>qk*19dwj&|7gZsVexI_#xxmq#Z! z>}0pX=;jXl3YsD2>Q2!~PF&OO#nH(QOY1&0j9uJ)Ms!OjF2DQi=oE)d>VA22dxy>J zenWIehb@Mc42P|Tl?xoU8M$XV>|pnsqI)>(J;e2L*mq#P9p=hh9(|$1k~619_iM>s64$D!zv4(r?F<>;{v8`a})(FG1G>G5v#We%I& zB@!~Ti5+a2~J*c}dQ(kr{sovumZvsQcC^vY{=mus5C zMmJjNsu0F2s~l^UYk@GH5suT{uI0iGQ0HFDt-D>jgdOts750)aws~2jyIrq2?3zZa zT_=QToA(|CC3ywzUuc}7tUEdfs$UCpm23OP1*ye|7O6RIZ{5`CqdwVh7C%8rMPe6+foD)7K zl6M6^68uc?JD^2BN%*XU@ftB~ayW=_kXV!ew5gfIwh+|e{{}NUgi6~=tfh;!Za^1Z zBGv{8js#jX7HHE%po=Esu>rn2mRK$czC3c!qD2VXr0+>SH?HIST}yOvmV zx1$-9a7oS|wovB#!(t;l{+4D#`4*(I=#M~tf8Ij<{Gm11&o0!GhYkZH=oO%s-WK}_ zupF!ab0V5O&d$bL7iJzFg!wl}0@x?tt8u z`*O*Bxy^lXtfJpSwqTjw_`ecXQvRTYbyBuJh|R|&yhHFsL9QQt*XKjsM%?=Rb+Pt$K|Q{7SmSAtYj2}9e}5Ef3mX6Phz|D8|F=eQ!!c`9!*Q+qTm4?A zYwZ8dQLM}MzcNC@@6jgi)&FU<{%0NCOYt2Ltie|U@r8?6<~~_}RGvGQ|EFVz2pVm0PS zSmSsJPjb+ratYT0Em{t=>F#qR_lsn+=;+nawsUm$gh>uKVf^-iq|%nzj;o%1);wR1 zN5w*TTf8B5-W7cwtu9%ox#_)gG|x@-@i{tQiA3YM`rk<|_=q2^;{{q2E8*WS!|%m< zC=nJS#G0Zu=e4XzTVPH5cQq~2cck?>j4vXQ%JsXc{wMao3#$R0OGx69yxhN;SNLcR zh5u6tLz;?0;s38w>3Ko-`3_RUy1#|jf2d{@b%%~c-LU?*sV~A>5|r~wFDTCv%^{-0 znih?bupaLdB^=%}|4)XC`&uZE&T+bwWR8?@v4rmw49ygJPO(UrJiMH%L^E9S--Ow| zMQbE2?~5(7FXk}jBL^+IA38QY281^Ny6Jf*mDaTA(0|kkxA{K_zb1LT0kr7D2Kiza zbB;vo>+=69sq{L>zL+gE0xHrzhtZ-Gk?7d&624S0&q0euB8ui>b7XOAHl z{Jx9RZ_n4q!u!Vmw1@xaQE>s6m^j+xPE_*^3JuPy5r`jLtl^bKwZ|LxA zq8SR?^wxPLF8Wa9TAwj!M~8K)P}ny5+VYpsx9Mz{<&eZxFUN**x3QyFzYVRqsL>@n z3Yq~ulnRWX3xHm+>65gPrrm!lEvNEGst8Htl~g|J0eLVjm&!8b4~2tu)ld?wtMH!o z--osLKDV^t?GmabMIlW^ylxNnb1m2TYG0?3$=~Q}8!5D07omR`k z?S$*-v<)?b7Q!`0BX|5RjnplVKAR>%;*yh3Mbo8hyysPN&S}vM(XSHZb$D>CuKn12 zk?Y)pdpe%w_37^aUnPIPkXHiw9{(}ya|B)~cfqIe>F7#?J+wjUN9#N!I$MD* z+JRU%?Gc^Bzz8`<^~yP_k6wo)lHLYJ(P^>pkFXrW!)#fRw*QgX=NZRE|3cVJ{|4e0 z03nH>pAq(w)sOHS9ei@4_tA=ckXV#1Ycp-_T#5G5v!x90_TlzjfUwKdfSGGx$EGBp zi`oF)lnM;));r?d*fzToUE0mEmhL3_A9}eqdf*j&5Ai8+1bv>y=gIxVf-aTrOB}W- zCrqwmwau|%IdY%Zr}Qow54oGJJa25UgdzRkmz*2xqA6m3x??}6!!4r2;TRnI!O;=a z`Jc%3{puFywsuKdyQQszXJvX6|32!r?n>J)Rq@Jpjvt z`r0Pz*SERcsgv+C*!p#7>_f9bj*cW~Q`dvu``;*K`z;BN0$XY+I9`5VvJBROPXu@z zoiCLh7dprA@L1`4%jMqhL9cex{Z83}b{=jZQKV1Zx1J+s`{Dg37}hJ09ip#Kv7V8z z#)Bq|6D$0m08f%Y9VrXHEA6A6_}3f%E`qEtt^;Ty-Z!0(cVCsoPb+VbQ$ zI%{Cs$1zFvA0_UlseH-7ouw*e&)H!BXI>*39gjm@Rm>=QwS* zZ_O@_-Yuzi+Ye-~jD5l0n!PqQUSjL)!`a(n>+HW~KZCq-GoC~EboOz2)%q~|B=fc}uh+`EZY$I+ zgH9pLZ>+6Qs|T?r*Jldxx9};%U!i|#^RJq`MO#FZ-%$(5cMQFxje1eX)U$EDBvmhI zyI#~LqfvY>d=u3uz79PqHU2I7D=hyY=2>}yEYGvX0OvQ&lu~69e+`{U z{M~brD>4_qBBuBa{1wD+NTP)8mO=9jz6j5x@r_^eMk7@-PbM|XT^^B1eta9Ai7&lx zb~CPl<`M}nk?=hdzDL6R<#s0V7u%V{UutI(f1#a8{AG3~@i*9YRz~i9P3x@8+)coY z+(&_ZbGHL?fSJVKTW1n~XPtsC@Q>I57k|-^qRMg)HZ5|^L&;~lI;I|JnxZ!3zSeY^ zi@y=!dwCPFFUWm$%lI6zFXbMmTJ>gbOu`D+r@6@qwdz=MOhR9&jlRTR{`MvQ8n`d< zces7=wdx)>+sXE($oKqxrG3}B{uaGDVT+5uS=o;I+?bGs_sbto*o`n-;IERoO^?$H zkQ}Ev!B<_igPSMzLtY(#JRZ-eje~EC8ly0d62~Zb7|3~qo<xIF~-E|mosqtgbGbdwv&0i6paeXv+ec~C{4}%N5XIyH?K|1YfGUN}?&j8k0$CCHO zoOZp5x;^d68M55XceEeh!}42_b=K%1U&f@!I7(5aL$)T)biJMYRAP#nJp^U8Zt?6v z_@*KI6Y&eQ8Lgvg5nBhza>RZqWlK?ehMY`PZmtKP`^1pFme2jGVAG)-?jkr^aFSr9 zV6EU9!6yU{3ce%wrJyg5EwmQwBRB%6R7u{Ki2?ZD95j zE^^%ojCb#n@Ik>>1>X_*C%_zO@f^})mf!BqkrA3BBR3#l2L*`V-p-LR8z6q?oBQYD zW@l8yuv?lXxpOn_Y?d!}^2JU8!oJviv6C-$^2GxbP?z+-HmgPdY}~xa)q5D1a1d~r zi#>U!{IWnEm9_IX?~7g(XrAdF;wewc6U$dgf4E9|O9?F*c5_mRSiTBA>cON^x@FMK zN!4QiDk(z=tsizM=0SVYF!*Zet5?BJhr|-GmIuod?J*ifG83)eJ$Vd$F|2pQ80r6G zkYm>f?tvFU&b8`uMGqg8T;xs~-U7ePk~aLK$e9=sEqnoY&hX*MGu`usk4~QJ?wC3u zIo`!@CHq`o44ax<>*g^y)6L&3%yd6I9H`z-E>B)2xvv1`S!;naTW%2vduezfDb<&D zX8uF1w!`LQt!fo}*X{0p`G16D7_e52&;LuSXv$80r&UwIA}Vfkv%83D+WgR}h;Ekf zS_wZU;k^=mS;D6g4wzizH?WYqr_BpM_TK!(Sb+E){?pc-o`g21t!4SGfOqDnwyBeQ zS*xBN+y#;+^DhSO${*Y&-n}oM``gRFBG*a5j|IOH`B}l}5geNUjCZfZFE7TsTOu4F z{vIMg{Eb9_`0KR*@i!4~NqJ_XoYTCF_&QX|%vg!9`G=2K-R3lOHngdur$%JA{nEWF zs)cW^=*$=7RmwGOeb5}9yj$%V0ndPWwz@5^Pv*Df+4kA!`O>@Qqm_NJ^C@k3qxkvg zv3IwfFEiA9^s$X?7o(5uZo6Fi*ka;&aK7|3pNDf_C3&53eLKRN8t-w9j0J8@NdUGV z*&;Q`!>u3h={GVpHN{f|taDEv*(r6EjFI({b`^3dN!=tpIn%Rjd<=-kJWvkppOBuOa!VT+Yw=!s=cu<7uZ`bQ zJVuU6PdF;|yjI?lXPx%=F@ioB&7+P=Js*XgDQQQkHn|kYE1$Je=SK~8%P37dCar%= z>bb~s;i!AkRuF%&aoYMcE-k0LqUy z;-%yd%6sN3T&1HvOyfBhqXw~4BIb&Yk6swnA0GGBQ8^t>!|x3PKA&=VhgykU2ApVb zq0Xa!@@}CXqjRh+u$g0xQ6ooB>hPev>;9!W)b2R_pspUxI34()yuI$l-{|n%n1}vekfYazZV1>k1OY9tM2)#64bQY2u;l-k}6klz5X*s^S^3t8u6u1iO zdoQh_*1+}D4)_3d0&b!%z|GXdj-fZ{CRYr-Lz{r7=y{iy1}ZKOejyGxRB?GmE4Egk z{^&tD)t`WCL}$I|JRmxo6qjnV;*xJwT&it~bKjvj_dTM&PxKFn{!x*11)f z7g(HccZ>7wg~Jyw^|9DyKZ|V+w752MEWXpB7T;;U#bq09ab5)$=XJTY+>4sD_e<3CRMs$7_IoW(i_~~5K`6>J1sIK@n@_nl--AZFS zb)|I}XI<$!8V2l4i#l|rDmn@5N&Vux;%@416E0{yu&m{z_L~yiXOo#sbH=`o*_XJ?&F*?Nn!bQe3*4?wZ^< zPgS|516eZwop&1tp#Og3jjGD`O_MF^I@dQ%_DlGE!84Hj(&UU<1Z%d%I_(70ttywN zX`Xef>r`BxwGP(uEY``hRzk8&!dnFEtZ}Z0ggObI5%k%tnQj-mDw?O;T+Vcx%adnw zUID?4_Se1+$s6rYe2K|hM6yLvoiWIo>8|Ong~{ozMO+5gy2xe8c_v)tx;MGl^;G1X zmc_1TBbNd@+wrXeu9e6uAUca&Y=4KF_+yfk2k0d#YR$Tck^P zkY{D12U7DSoCh8J#sp%Qwg@1c-7+BZ03?5Du?&*JmdiYR7t2Jx#lt;hi>KIiwpE>k z>m+hhPU@ca4H|dXIm9VypFM79C2$L54v7JbGi_YyfS_HXTckt|;pwGO>;i{PpD(>>26P@3RKmbVq0G?x3GYf1}@ zGCWiDZfaxG2JeS$@jLf;Gdzp>#}vif6086*v+x~ zV?T)fB=+0bA7kyf#&PZ9E{q!%HzDrBxG&?}@lE1e#&?bH9lxmQ%BH)Uo^1MU(+d(V zP8gbSS;Dl0*$ImhHYDs!Xp)$jI5Kfs;vI<(CBBmQapHH0Re$rlQ-4fd)b8PSe{NTmc6-`}v}e;^OM5%*blSIRV>?9Qyse%5EviqN z=Ho8gB@6{#nJ^l-Az=gX?Sukgh5STDd@}1aPiCDq$*hx>%sO3@S?B9E9^lzF{Hxyl zcidd$!^t-Osu51)lJI-dDaffeRzH0y4Yk>cvZ)7rP)`~R=@6XI4W&Lb2CGIM zmc;)Gyv^;x8~!We`Fo&^?pWZ4c>ez9iFmgBc9XdXZ*IH*_)!zK_PwC1DTm_(>ykKp zLhv7gpC@sSzere@Dk|BF3Mp{oPvfAp9D7@BwGcaP~#zgQgFMv4DxM2MNg@T2>(%Vhq@Ayoj{A8 zR#zkZC&AsS5RzR$MbD}tgr5=IqlzKfEBL(fL;jrLJ~b8c7XuA>eZS3c5wNVc%rYI{eN#`U8H^9DPIZKKz2YqWggsZMU`qcUn&YpT_T% zqeZMg0ry(Fq4T`;EW*zT?!&K(Tl4~cIUF@_y#Q=w?+3QC52C+kU@6{w^t}-qBc6&; zu^nT-i))>j*6f*PhnmewT9EX|q)tHab?%qs zy21UqT<>>BcIEUBx;x2rqkDi{A97zN*GJsf%XN!;ja(md@09D~?jv%2(*22Cx4T{4 z*v?b#B)RT%cbDs*+=J!1+kK5(pLNfZ>t6RAa(&*tU9K;CabGOgm)-etebqfluCKdi%JpyV#d3Yay;`nsxi`!8ZTCUBzUzKZ zt|#5!$@R3`mC5%ZM^$n`t-r*i$l{i|GmayRb5`TXKelj~V`U%4vJD7o6661loPv*jA$SuR(f=K;A! zd3NCHvKo2*D%V)gdvcBU{2=j7Jot_j_7gn#f)v+go^-h;c`lV}3(pw2w(=CpwT-7t zt|^|ya&6~XE!Q;9X1R9s?38P|=crsed;TfcE}kFd+Rf9X7yb$q-a-F`Tno_wu;$`b z9$)Wj)D4K~)A>(P71l-#W$Vr((|-xCe%kq>$LZO6HI|WW7wPaS4lmZ>-5kD2hfgEi z5_48MR*k)|V(g87Su~IqsE!E>RB!wngnwi3uNePkCbV*Wna1|1--z;(no@s%8aKD9 z+CQUfPEmDH*KuR=1J(YnC8edLgM-S;X89|t&!c1%vWu$xCfGB0EgWAkIP*fv(Ur|z2?H^QBS~|I?c)F8x#*9F917SgB zQE@}XvE@2l1J(TUsSPB9%Gu&j6uHzXpw2pX7XEZ}{RqkFJaU+=Ck-=DFt@@_VLYpH zY8B~BC5iBmU77|J zU?mSLuc<66D&=|)YgZ|=w$8zkMKhdM;ck~zQdCjxR2ECd`inx%n>(l2U!hx9x@T@> zWqIWwUJ@vqT3&sKygu3 zb&kJOx&(!WO1NVE4nLu&w8k&pBWH4WH`UBEQqJU1_sp3*y0Uy$06jO@CG*DlD`y3Y z{Xsc}S{uqvQ-y`Ynki>;y(ZDMGPVYPetw3(YhD@JxV*yHhX<$(@GX`GD_?7e8K|PX zP+N>F=f7cJtb1}{2|5BBb%wG@?4MJO7SVl~3TvvT^q~g2)Rl)G6_mr{_aRi0zW{c? zbxjhB9a2yprZB9gG*DEQQ-on#Q5vX5l5F@Pe^D6^teP2R1?5unVWX3SMp{^8{7`jy zHKgbgjxsXQq>y8(%S$GQX%v)e1&9^cM$s z(h4bKvf`KuC#FG?acF}u+eW=gq(N0KERWfsRXu*gV}mhawNOy*IA6InG)vGO2jESE zHtXNNwp>_RjtOt7zq)XOzfx|8!-J+3l}%+oJgug>q!kqFN9?}v7Y}GnsTj~ z1mTHCRR*TA^AAhN4q!6YI$@#$_B>%c=$L7Uzgn#6JY?ll;x7?jjwn+vqQteL1E>=O zq(*Sfo?DHUK>&?ZDFJ8bL3F%?u zP?*+>v7zPVSX83L^!m>*S%`(!5dP}mIx?spzJTQRuBogluY@C(&c$^}G;n8@#NqQ3XlPp@`%0jcdjOeh*P)2GP&#PiH#oA2JK?I#cSPq3%GfSy( zO2G8_!kQ|-xPih7IPPG&!pXcc$J$4)`k`-@IaOJem2mb`;dt~yFqon~lbwSzW5{G) z;Ga=ptj*#Xxv-E%V%kUR6_t!CE1fHW%P{?6B+DRxM=PrImkcVx#)ESFQ;N{Yyhh0@ z$SoW+YUJR&A%)}eMh?l(Ef_jBH!G(>)QIu<1$pO<8J9aYFDpOqirjOOWaa0N8q~nf zklcb1=aY{cG&ZYX(9j0jqqBzO4$2xdG`E3#Xl~Z%2BHzUBgPeE6^tL(P(HpO_woiZ zF2s4n`J+Y+&l;DP(=fNu=PLqioL8PdY6ul_x4}|OMpSNoMAlLX5`1)H0rOCSbnhX+sYxbpCPJQDD(rSR>oFFhNCd`NaOr z+5X91HYBO)I>cYb6E@{z89FJG3af(4UKUVcCHAJ+(v(frw@@9n2$q?ShZkssEQ#>hV^)Oyt(Oc6(b5-U@sV+f_b>Q%v#dd!&Z)__lq-?4S=@b zEP}NGhjMKA+E+5DCtwZ7T9p(iEW1!0OH9~GQ!IsZomIGm%YyYzSY_v7TNx-Sh3A5= zGu^~gN49@j(X0TLnYnZP#n>p-TYno_FaSWVNhAB3AG>G z&`Sk{ab(RqFkZJfV@Tg?m>{pL3MWoM!5}0rEuWfSZZ<2NMMD{9(@++sH;$L7MZ8Z5 zQw#}Nb4*QnH8yGfDS!x_KpN0&J<^+{Ty9WNTp(wxDOQP_A5* zhB9tbXWrM5nhq_h(sXoXU`A2pT$~8-;swjhs_|t394qKp3`y*qcpK)lfT@;HzTtN! zVRIJ^%fcJIqMQJ>IdZmAI0G91e`U#JDnxgya9C&^AsvxDd$4n#M^K551p}dBpYNZA z?LuBvxn9L;irGNsY)4Fm{?I9c6f8I?R0LOL!8E~LOW|a!-z(=1sR@(>r;cDJEh;G~ zG_y%igh`-$78VvYGRFj^GE0Sy@+4g`I&Mf5OjlpZH(2ZsT9IV+B*9emgfh5-X$mVb zrSU0cP#{Jc3WIhU%CX&ZhOZh)X#`G?-mT0%H!5R@bY?dbboN zCoWVtH-!op>6P4IEH-IWS$IUYA3L*xP!A#z)SpXq_B;%D$EJ6zS*4}CTGi87c(0W{ zDUKnm=ZY}6#nP@yGoBzd=RwU`n64P4lH-V?it&|!(M8qMXk2+^wZB9bA3X?;xC*{6 zG(sdFeJm4xPgum4@E8}PdN2e#HkZ__X@eqhFF0rNR|ePABH@VvQ)UHLFI(Nc z=}RGd5u_}+3|pJ3pfI?R4NdV*ROpU*a^aI-IWCkVek^#{|2Vp`2j&9?9b14+^;9el z9nRZlhfN6hXFJ4rEr)ZiJij@Duq=B*m2^5i*O2LNhM5T{_*{TH zC$};7R7TG*jzA+}Eo$VN2s+)LmBwQ5X7eKkqvvpK$kAmv4{}GqiSx^+2Gem6|D0&) z4d)y&p3|K|O(ZjcbjSuhhEEMcy+wwXS#Zm`g^%OpMxBy#QAToem*U(UM>3@CHl$TY7XD)gxO%iqrEJM?%<(A<9L=xx~0Fv`GPkMqASHWwIyb{Wqj3I;kLx<79 zB@Ts7{)0R7u=%D6QzE-@$|@=0*%3=g*`H$NSL4UZU#{|?BREV(6wP4`ISn*V!NR*d zX5DFUA$*)yfumNGmJixO3sqSu1Z~NXLq+hD4~gI>Q9?Loe3f5zw$5oP594!$tjPu9 zS&|ikVV2{Ri|4cPc{vi*fQGfXWLFswEjS_ZA=<-;$OKtya8aN%Z_0>3RaG#<`V!X3 z$8mY_T#O@(bV*-Nz#6>LmTfqf*dZJC$JP_D zhHUGd#39CUs0KNJ4l8d15o?7#qmo++=VGP7@H3 z)Ml`8GZ5gJK(J3aedU}k5$pnC?ahs9TCsk6)oU83^0_*ty6V+rsNNb>PQp&>tq`&hj?-tR}d(kj=?i-RG$mG<9iC{^nWxT7hogq9L!e3&&ym@ zVw}ENzoCzcm%txaHY=8rAP-+?V4!Os>}*?t?lf%Ef>R;$9EfMy;3K1;f?pe!ho#}R z{3Q)dK{Bc=n2ZNeh#`vm#W-YC>}+PZXVjOlPW=rJ>(rO9j+vy)+JklKOIWA=){1rN zOTr5p45OI!3sgVr`kB->C+kFh3}?=EWE$a}s7%i1NcpIxNKOW2VS**@>?$-mY6oS& zv7*1UM2~tM=ILG^83yxljsXfw0(c7Ga!}26$`FkG}Z1 zjcfvk;4nDEbj4L*rN*Jbp<*yKhf!ftxck7Axw6-Wo!}!Y4&ua~4`;FVtmG?(l`L7L zE9c-b63?A14+X_+(A414a(GzTuRtq!#fZX-6c7YgZ=)(vh1!yN#D+*Y5Y{VO%vrc! z9nPyVb&*$X9X^>f8hBGMwZr)!s149nWpK9C{7P`Tg z1h~kdg#zCvPPeCv#91{+zJ^uNsOfrT!4AyNuP+e1(hR*2!MR`6T-<%}babkb1eJUcKI$;zs# zD~kenqJ=pa^K0=m4&YdwMvlrKJdSYoj#}1J?^u3Thy1IvxMRthj{9{EAB1DbR`YW= za{y>IC_%3l+{FYp9gbE|p!-pMb(!N=FUZp72cu-#IXqbg_Q-yi~8;}5@n_&(16AVS z#dGVqgBMbSLr{NNi5_fvd!Zvs%*c_l$iiMi#jn&(tCXsW^qx0--|Fm_ znMGaSD9<25Iaa@{AXQ+3B9-$(w!lg1+jFv!QgM8J37l;bPPjxDnoXXW=PpcDh za1`jJ1@D9Lj4CL^$nei$Ggv$zmnr4vWF-Z_DbhI+rpon#C1?+?+s-m;hoDHxE*qAh zq)jN-}gN>1TrT$kwA{+y&d)_IT9P=J@U>WRuQ zU)Pt&qP(7txO85snAPrYL`o$(woGN}^>Hu-mig!Un))So8X;8nkSMJ5Mp&;Vf--rH zFPNthvI`0oPWM?vnfLgD%0a3o>(qh<9j_3yuP=nxjo!KiYfXBf_FxTjmm*<{6;ur~ z945t4QkX_KtC45Jh12-OzMu^ZX*?&YFT<7|Tk((vf6?O5O7qC4ev*>Og&2YOUc}KW zW0xqKoS-2;-hFYRd7dr`y|fq7!8bN|(-a$7X)k_7xXMX{3SdEq^A|a+-7umQ4|~ch z3iD>*#q44{3mS_vOiaQ0S+rT@V8hL4YgpF=Lxp&|A00b%I2Sx$kms*uH5KO2T0RBH zE8|n*YQifQ7}I>T8+yP$1zS74`YAvy5GD>e)1Sa|1(jj>Gs};26W+OmlTy69EUKL5 zTIYCKI<#EgiSm1?TU_)Ekh1}kJNr)gA8b(ZtJhjvpusCX$wCDkPU zjhC-f=A4J~#F@=|b@A`K2Zg7=sSCEGeCAVDUdc!aXCe46~tBHC`vJmgi9A zWx0IXW-MTn7P7(lmrt33nT;mnRikR+NA5W4D9iVkO~oM;ZeWn(p{DRD3j+@uRFpX? zL6P}Oq%uF=yo4@{i;_56)|S~9nd7 zo$uc3Hu~H~zgy^Y3;m8K0j|!mt7tIluYnMj8{qXavR>e7*B25bBPE@CUi9j0KnOj$}QE#-INrqiStX&PUZsM zaqr>Ok`yE_V!#;cVk>JopdsQai`o#K`k+h$1`>(Um`}~xK`cR2)R(Z~a>hFvjLrav zk|t#exrL|f)e(bIumf;!f95uO)A2t_cb;6LQi;_5o)D5d z+0szA(Jr1x-!qb;8%~y`U=ck>hs-oppgJL@V+jsfkG<+vI4~kGmLJ##4pfEA^4ghe zSLPXJ#Npy+&k%k7)bCVM@^?MqA!Q!qUtQ@u&KF^l;tVsRRI%mP!WplBdCRjTZ0qpsc=&Pr9k)sj73VZ?|aj~@QnfGp6P2`5|9 zcQa>!?LNNQ_{xi2k#fYC9sov_@DZ8;r_J>V6UJ*&87p3XG5JVMtVHM1ywM3Ww==W1 zGX(`+KM^mQC2k|Rk0P0pxZBVX*03rozVI^_#2$-YD0_*l$GWP@ZVia{feE(;F8Xz0 zTxd;5ks!(p#mg}Fiq}YTD4DAiNwH$k^x;`caE@ECww^g3MHy*0%-i&e#ENoR^RGQq z^>VL0W2hBvp5DL=S%J9SN1{y-Z()>UQ^Bu3;l70VQ1z`WhM@4Vjg9h^`Q@84OIMf6 zF};Lj6yC!6l09I$HFMmaNWO-RfWq7^n_YmFn_Dy3&L~}5NGSWzoBU~rvdi0K5%W^Q zOjv(vYjcs$CC-4hqD{9%+SD}37;P|poEqQ}JvXQlh_dzRXe$Ql<5Y zg=ZN7GK7JB#Ll~gc*}!~)wwh`zr+^PP4dZ3LQ^%gRkN~i(~U!s0lE>h$32A%QTUe3 zXz<6E<}R(QZt(cz27v+d*DhTW|Hp0kG^k8wls#(=1dSjVkkapF!N% zNxxO>cO=C3?D?26E1Q1GOLb6k4mtTD9AYxWC!W5BtqpKb6FzvE-AOrht*VI08|0Yd zY?!X_{E+zt!?u*0^sEzh*Vuccah6;>Cg@kY2$Dp|j42I`L{_~uXepu4^i^1P!-p|W z+yEo)#QN%$vt!Dq$>>7$eYl5hhMNRAyEwMuhpIF-%C60Wa_P+(3|AL6(jge0T(We3 zGAOQNsH`|bXEs9S%<9zYb@2W^0-~RxbFEd(CNpFl$KSNHyz%~@96WJsWa#+7iNix< zg9C>L$NPp3k4*IS9iABIKQek^czmpXWZ*eq6rr(FjI9F)ykXFL<4CXml@9kg z%v{^Siglx8t68cbw|X6sf$pP~Qr}4i@H5kUM9F`Bi!0vedx3rvEv>7QEUJmY6H@fB#1%dUGQl- zF&3SmoRd80bZrgEyTN9Icc=vy^~`0dY9aMBZ(z`>YC^(=y?IuVT2ZdBYVo8zvGU9k zuW2w<8R*6H1bY!Bwjvd(;CzE_dby0Z=Hz&QV{{={n80DnuT)w;yLe7EODTG+{KR^> zY}|7rTE?myf!G)Z8_CQ-C9)Ymu~LG2LZUGVGlo>zb+>Nd$M94drJTLEA|{hakcg1j zkYBO&)-tk04>gt7<8ti$FVC;uQ0zmTs3GuhAJ0h<2*5Uq&Ai%_jdljpiM3g@)F!mR z>!X+g)dtV;EweUOkbn?mamR59%_3+z5W|yMVDK_yv`~994&xz3xkwGVQq-#ij$&XQ?Hz(Mx*A;9S|PX1G`S1 zC6)m;*8youJdJdbKOqKvixyjl$RkQ-p5-E|;282yT2=5$b%zL?AR%QX$Eity4x9v% zXk|Q!`ehL>0n%24i={Iln{*dZb^=TPEfNimS^)@*g0#mf%@CpRN4%X{ra^K(_GFdwYdVmR7 zTS&BGscZ~q%GW`&=%||Hp%l^5V^^@f=1S(ik>4Up)`=|MR*=|mW4R+(c>82^gQa`y zI;c*Fp^Bi4@HM8I)UbBCU4{<{M;-B2`}NgpYsYR@gY@FgL!WVqVcM1w z$FS{eMK_5zO4J=kBVg=2#fvn2_!D?%ZVcV0h9;}Y8b0x@k^NMY9Ln0mP6_YH?b2;< z)pgt!$a(xs0bUH_&_-3>esFbZ#f#@vl&|n^vffsRtdEh1iFZmw2@2Lx9FgDEZAbds=i35IWbIopwE73UV~=3OVpUr&c^_T-PB--G8B-1C=9bn8 zyi&vFsj+r-=XUT+o4{yr8cx{p>bUf#$f-JJIeXu?!_<6+x)ls^DQLnXMu`VohS#(B#Icr4kQtk~+1D^$H;EEk4t0cz}3K zPPMVBNmH{vWY*SI-CDTk96_XdxI(cbSX2@I=C!A)GFi0$s$|T_V zk#GWM5O4FG_Nptis!UehDwS24{P^-R1{^De zxKAJJ8eT8eqp%&uuD!|Wa`f^#XZI^Gs!2n8I96j?_*0yaVDiro~?p#jYkNK?_E6BSLQ!aCp{g@5D z1#y$VK0Xw=>Q*@7p5&gZhF(6Ox#|}Ax%LfGukl{v1?sq+GrSG*l)J(YjqhAreDCtg zdBE}>h;ri;w?Dr2xjnq^JNa|@o9?DN>`wDL%)6FLF11@JTT+L&OD)>ClD*frpSt(W z)l2RFLFH20j=)3Wjw9H%$CxbPVVCL-V-&Oms~W8AyQY*&d2MIna&0Hv zlsiiu-Xq^~o<7F7cbQ|fPs+~Yq>OWY+NbA_TgeIXlr}+~V^;qduPDF3xF+4h?gHtP zPBk_1N#;1oHDk|DN9|0JqCB^AoW500Go-}6G45taQ~o$96V{8B%_rNO0Rk?sk)HuF zs{NSStEN=v%9p!*nR;l1bk|a?4P2_%?bBSJw{e_=Cy(1WHCN``_Bh9BdOphx)XquD zje7_IkF)%M;m$M6MKDq;hQCwNo(`i61}*cI;zj}esmog*#zS_=03=ITrg`n$yfwi*P_vCl&(c{6D*wdr}=pt zoF{#X-!a-7=bI*OXay-XhqU75%hY(>ouk$?*AI}g0VT7KL;el!*fZs~%AabjTK+Yp z+-0s*X5KARM)lP5XlC^|tH zxLF7JqO~Jx5axuJ+TPrSGnDYD_5BHlKX?Y)wt8O}>Aba}S=Pd4l~502VbIf0@b@JA z@gU#->2=S+fe(@=`k#XWqcphNQ`$14CH{c&qRu6?&?3lQp^iH$nLA^Abc!B5hmRR& zO+)cT-h1xbyO--RIHBmCAf=C9dCxuHwiC9Nt*0e}+Y~K}ewX2U;#-XJA8_yG=i1_X z*TDU0zC%b^;bO_~yd4I`VZ5cl#(l~7QZq=_k_?-KFY8+yxAD|+%5@VtB*odDKkts9a5u19!7f_X{3@Tgz)*t75W$Engd$By!xjp~o|?c`b~;3kM1l~s zz}50?OR8Kg!AiXNK0xgF*p}RQ44#GjIMmzrV{xc%O_i_-1Dk6YaBlXj%|#3{jY^#& zPXH;R)RSe4ypB5%D?vQ~aLoW4*w=$MW+#cbE41MD1d><#33D@Z!4U2$FKk~xyqA>0 z^EN0?(O2Q;9)?pypGYYwaCr;CfbWcdvbeG&m1cFQ-9E{z4*KzI^DJR+z;mkxp z5?HQcr4Ojo;rddO%<;DTw|AO0#W|kCKEl~+H}~))BTMqoTWMDuDM=(5Eshp}$?g)g zWjCEbIvhcE5T3!hf)ZU0>V`svs$Cb8l-D?jMLDbLAHE?!C2r{6tMFvnB`BN_EV8Jsp;zAEIsP=OJ z+_&bsdrwnZeS|WSGUCjn{SU2DPV3>Zss*Ptt=33>eKpD586=*&KUjE@wz8bYDWP@M z3GUCE+|wG+WJO0P8?UJRT6v0^r+s^S)u&&P`W~w}<}=Xx`!W9LIqz4pCnFyMDSUPM z4C7Uay1MOgtCVYdgb_`+N7c%na9vkpj~~D0a*|dbqWt65t5(En&99JYVV~CXvTe^} z#!S%vqc(Hicgu*RS%k@Tvtdi*2}|gWNZw0xUE{CT08*~#?smD`;p_}JH6!T0GuEOg zY@Lztps9_)+r04_Zv%N$Uvkp;N*X6<;&p5c=|IB!4cDGNlg8B~YOn)*Ta0rb&DaCSda)#O~|S3mp@W1x2(WcVHfPcWGn zQ};13CerX@Fweb|@ulvyGWW8q^!fL?6z(^PG_jQ&4sKt}{Idv#B>TFAxS54v6KH>9ebamI3k@!pG?yb$0TXYP8hG^O&16earJ4%h*fK?$qOY7e80Yz^()bElG3nu)M0*awVn>2trw zUu~J1z9RhBmZb=J$t+-fb-rPAc8o&@e;bZ(Du;2p7Atj!XM$(27RPbeb!9 zkmR>|66+}TCKb`P^0JC-R7NX#*-=k&CttmEy8KbGmsUP0G3A{~Kf^S5WQ2ODfww*; zw>Q{bGtp?OdK*#UEivg>uSG){t!BN=dxO3u(qc@uD4shm07{ zbCw7S`y#W{I7h!?1X}10Eog4u>Wo>$G2Sg{h-K{^#KKe~V<(~Q9O>FEptt>gCP7rG z6S#Hs2as_8W`7*{R3fdsnfLCC1e9U50Kw8~f?O zmJR$h$s$O-yH>Wy8Kz}Y-100A>)Qi0Sx(n7bL#-WB18@`UM|Ck{uKPoCII8p<&V*xQt%Qz>3q5eO1M)g?T3^Mpl_c{ zO@akfumTI-LV#3bTvcTazzk-{EFgsUx|1oA_S(M-Jni-;bGHZPH~w(|Gk^|2?(_>Q ziJu9O?r_R#VX8Z?fddG&%=M}YfZr9CxwC*(7Gj+U!%mc{)aK_bKu+j<)QRlGSU^|X zN0oUYDKRZ2TNRl&AVQ8D+Y+*VyBw63YccY6D)NMCZV8)9j+tpJVZol@$0j4OIu~ud z3nmtQ4$Igte}h^Eu8^!ZDynL{`y6s$mF2!zN;2U%>={Zq9Gdakr0OtcjB?_r^*T2; z_FtUim*QUfdFx3ds2`QPS5Ew~NY+gv78a}x$xOd(9Xah;0q}(uQe}(D{d|>@m!TD< z%ke75#kAFut6WBjHsWM_D8yq4#UO{&l$E$dK6US}%@ZuVV_z-EJJf`;VYQ9y@IE9)VzBqF>7+9OSZ{*x5g>@ z5XKZLCD`fuW=uc8BPiu0B|!(QIlN0wT4v1ndz&?ktvTelt1VTtqPT1OmSTf3HtIZg zW3okcw7yhWh^m5x5r@Esvm3Z|El58BGG8W#4G4UXC09D#$vQq zti*oAI-8qV7Vm3J2%i0Mnzv=Wk26sMt6P4;us2ZMLAVWSsu~p5l(6<9UMnAwLbR}l z4T9AwVK`+AxMWGQ{IQa~uT%EEUta|)+>g=?ZCBz4x-#yHYiR|sW!2JMpI<|g?B0b@ z`P#AOcUx*EVd^GtZ{7uOzh~R9{}K!QI#X}A#t`ggofWg->iopo?Xg&>of4Ia?e9I? z?{vBS+AZU)7KqP9+voHwpV;Tzsm*UG4T%kQe|OK@mEW1XL`^9gw|8sY|vzM&n=dAq2~ zsVg#%Xut1pJuEb9L0Br#t0~P<7-a8qZ!Mh^tNV0rzZcfGj|g!?K{=nNtvEVMdrR8a zk&j+**M5Fa(u#6tCT<(k7Aa59jQji1{nZ?^E~Ro#};Y7$Ws%sXtUdmEp8>* zpH>CJx;H<9nGl!triQ3MOE2HA*62QFDOOb4S@Ww2?F##SSYb7`{O`2biaA=gzu!Nq zo5!Hr0L(NA$d5Rh%J@yg!*p!%RwzejY2!TXV8+Qqp znuFRsh`U|9@1=zG@z5AO2&Qu1i57fR%ynk!4J#j<6ePr9+VK)%o2Zya&qh#Rq)F^C<;-6@`n7RmMxIMeY?>!fSiDnk2UDEaxN@XwI=w z29HkO9usj(l1d?(!$Z`=Fvux`+d#}8lA5A9!AR0iJB39?=_5l`OEDhw{=_6_NejsV zFR^N|;bn`Yrk4mm7}txGvwowLCYKAQKh_-#pehI0OX|@`Dv=r;p!ebtYd2Ju$ zyQo5Kdm8c7aurwtozoYLF2udsOw!E!!cuZtvL&Xc?LzCk?7GY>%nrEEFC%p?E>^@> zOm8(3?gJ{R1&?foFxmj$m<|HvtDPFmKhEpSjM}CDecWjrE$JmmJ&$`ks1(T}FHHl+ ze0Zevggbk}MkO2tDi%F>O7`RMG#2U+b|uX$DC9C=zltAD?!5K~CNudrb}?}qu!xgm0g2%PJ4qiik@lG{rl-KcY$?CNhn z^`w4Oe0!{Y|1Ka%w$oz^`V}^kwgX0A1c(6!+QY!#4sh^ZF$2Ib=LO>VN`PVzev+L& zAaL;PhUazZX?w1z&fzRh_JqRcdjY=I5AM<06|nci*Y9TecxbWUwv8 zNVV3rWU;I+X^-1S^m~53O<;267lP{c!n(eLU}z^zWFOKip&=nE(!a>Fb7lYLvJ_P?Z)CB_2AildcpjYnJMX^MT}Q#9)TV-+s)kF z|7Mw+?Z3R29w7`C|I-Ja{L0z!5AB}%SNU(f=ifg2`H#8mfBeYBNA?c>=_ebSyK@cA zg(n-D^UpRFQz?!_`Zwj8iyZTFO~rJsGu!0sSWM;TaumwXwR3D&ZYr0bYc8hqbDh~{ zm+sEx8X8?H-K9gW)itCFmDjU{%EvPYeu+WQN2<%N zy12@bLw4n7C|fA!msI73uX2Oz{8BF6+yy=7_{(OCja2B$rnyNqGKXxg*hI&LLphEu zyEK)E0oR(rUh0iV(uE^;kVN_SJZ%FktrX`2pbwVUOv=5kr4e?tka#RkjR zmA|p8m`&w!xn26D_1jTwwuJ1i?5-R&+Y>FQrB>Zj$j;gBrflM-Aaa2W9QC}%K z`wIVes_87Lzi$73qlL1SuNEqw>uf1DX7iQb?abxcqO0zP?gk)~?c~r&ep73wb;fPG z(pq)Mb%NLYjZW~I>g;ZU1X7(KoFmBRn6+aoB~vP%O6xu=!hmFSEDYLl#E$Q?9o2)9L0cB*HWs z9Qj#i{TB{F$50>t8dEx?b9A9W zT^wMPL+R#LPFHB zRU&_r%fh5(zN*VZI&@oQj#T+mC7ia)zo0hN>BbcvwjvL!y`lVb88!QS{y8i5JTUE| zO#W%>;pxVMbjE?UIdnI1pjD2i?eZ^l`7nq4)4u&r?SQ2UlZDD=zVcIPkwi`h5Kr%Y zkZTI$ebT!6l!kJEjKTrvz~w7HrzSYrfL_M!n?kOZC*J34jenjF}C0nXBGPQt}5V1A!K$tIY# zv$NIs7PfBCt@=J{hznLmrF;SHj?tTjZXvQF|SC?o%U|i8`IoZu; z{0*mcI=3qV#BYgDdUbf#pjWZuXBguR5nF|eB@+OsFv$UAZ%VlR9kBMvjN|x9VSgg+ zYaYIz^rx?7L(y>YHDTuf6n8+Qe%)l=$LZub-F{uXSU3=|{qJ*^zkxo5S<^_ER8v+W zKHDmN!fiviMWZnB{9Kk!^OZkPUb|8XWnJ#@$=}d*vkq3d)vhA)N=qnosYQK_5tOL{ktcZB84)^KM2b9W;sjEgob>S#e^TB(xz)j{;3u=$l)yZ#j#Vgz_ou5PE2XnS51K{$iDT zJTEBiw{`ek_5L})kd+d)3SSh?sbX;Wq8U7Y*v2@dEuN1w$~RT*d6=2h9NfIWv@_EY?}-B|N9ra5$pgO+UO-?rnQqu;v% zW?p4Fh03coEQTIkn#fZkjUs^1mZ>ZNK;FHY6^CS+&BE4?`P; z8Q0L+iO6eq>CVnw*&VJKQJ>w_$uHaK+Ok-1`uPN`Py01GY`_lJqTH+qHL@KgIAsv- z>THGcXhFYL2j!E#H&cC{9;xcvs=4UQ>o6@ zto5CmHYG4 zV|_ARQ~a7f|1*E`$S1z~Xa8aUYu|tJ<0tPO`{W~^`RK_Hf91Yo|7Pr+-+%uveD5dM z{$%N2{^ENc{P`zdJASbJuRi~wkM}SB;&5Zfv;Qe~b?lYDefHPR9C+~8UikN)`jgRt zzy0kmfAQ371HX~$`0D=uvHxP{uMGau_?2&d=3D>er@nr<2`pGB2qb6MfBDU;UGrGW{@rcTJlV?x3pM_#ru!&)HY(yh6|<~7dk zI*ZUZZ?+@s=a6J17$_9bRT&beHEQ$`aE`G(m6e@5MmsRzzf?r@xi;rFSv;7O$!~rcv~T`qSEhv# z6v`}dyU{LM%G%uxT|vUgKdN>$Wg0rOy0k?V>pW#;TQW`A!scr&E!j+l@gq=ZJ-_+q zUHQ##1E5Z%NVZ{LW+$v7e5inmQ=&6lfB;{o6}X7Ho!zjB_EtV?9dW;zOS#I=pI%y6 zU)@+;yxQ}~beLjKcso>&PwC+W`4JTKUOWFz*F(kas>Z+=0T}##Ff8VK2Ns7GhZp<$ zN<+PK19R8HE2!4zuJhitFop}0dR18HyS7Z+YyS`1E3!Z3-X%D>r&I32rO<)ilNIJp z|6o6Ufz}Vx?eOs2(8AD>zR`ifa_`8fVMfURJ_un1l}~L4RgaJe8OP^&Ut09#lmL$H zD#fGw2Zstzs@=dtTE$RfXLk+MJe9yekN-G2?-BIxOntl2<9qePIc#k9DuP5ZKG%&9 z#Qugc3;8s>$3j*z9vhqjepQ>69B+eXZw;}q<$n{_`>j!$E8IFtX>P{2>C#=Mi6ia{ z7#8N2kmtT@mru4F%V>ssdA&-TqueY0|BhX$hIhGL?}B>Yg*PZwn99=SlzzH9rMpx5 z>F%8F&gs|0UF9W>uJV%qulyP1&**3QFI)c0_zm*1Ur zbL(NV5GpUS?AP#_)#FGg?zosqxwE`JugIIZi>r&ptC!2g4ZfFMnp-aw?RC6-cOiTM zsOVq!zHx|ROB+_@`qJ`palTySb4tAQvQ*qy<@J#`!mv}Mp>HioIm#8$ij3P`xOD|# zsnKdhs$>*fj%6P@39x;E|LBw)Iv!0WU5{h0oCAkguwQsjrVv%irL*b$v-vI-6E7AH zfbZmQN2VbvMj0E!wRCd>3Jiy`>~>)L1{zwJ#eIx2Lb(g!l}(?ynaf~n36|3OsAiV6 zx1KB9+BBj5LgAKq+Pb?;A*fh)*WDRhuvSChf8HM~K?CzTL)s!clzE3QXm^3srI|O+B1zl$?n@U zjNSQLF9PmNbZ#tS!Ms1SCmv^%v1PPbYeQC?jWsH!8vqGhvOk*1hyJ-0K&=J`o2-_l zjP3>1*q3RGiu$~RcJd92n0}nq_&wNb(C$5zzd;yp)~WicMG)k#e-m+#!gZx%0sO-o z2LG>=p{O)}>!pZ+3Tt98d833l_ajK9wZawF5B&FRP*~elba39w9@8>V+v8h2U0K5% z7Y8y;;nJE2^=nG!p&;Kw$lie|vlea;Qdz6KGv!)kta$0qhGoh%>P4j9+9}-nl9;>; zCWqm>G7?r_W={q_#OZ?E_#M&EM4{Z0X@FIKvv8}0@`YQkblC<$mvJA-lE~;HdElMf zm2z$2^U3>o+-nh^gLfZ|N_iBDHZx%R2@ zrMZQh#pn&(4vVctFCH)I?fYyZaI4S$6zz@EGGJ`e0NA@6Z%Hj$p8ukQ6QsuH_&ix$ z_z$&_;CdMTf$fHGFZ5)XW#9XTH&yy6e(<)%Kge4|`5uMls+Z#0Y+XL(c0?IPdyTrg zN+Um!Y-Fiy(OXRuUzzxOS};_8{?69oBhxb56GIBt{okA6<!k^~YkW$}8r@LM^>g z$fV(0b0&v#GhQZgGOWrup)V1+9V~vTUg!AoYZzEqSeuy0l}~PG=GNNA$0A!jh~({R z#B%u`oMG(k!Xd5i@;CA~kXC6)H&(DsTE^mL(5ms{?8M+CM>~JpXYOdX3f)bVY0kbs zbC=hNkut1K;IYNHVM90TkWO8#v-h8axC$Zm;P$|P97{lfC z{>&~)cT*@!kt{jL8ZNlY%b3jKvufl-A-UGn_UBp*fxG2t0VBKB9d27%+lRqZ`CL@W zn&mDkVYL6T{qMo@V3=t)lWv(@;e(`nor3qQrrVjs>h;rn5^RajW2G>LAvv~5@%UM{ z`N|)*8Tx%1*U*H&R?D~vE1$^R?`z2#3ze+}9caMwap2}e3-ZKmlFlsc#O!4Zf72=} z0ArJ-2kRSJ5Nqp@7)!+QT0B{nG5$9tXPV`Z%j(cdP=)K(R)!ku+MA)3Z${l&iuFvp zND8gPC%)U%;|=TTi{XPs@HPmBH}7XTR{e&_#y?hdB0|uf zQbf$Jf|e}u41LV$otZW{jm^jSYBn9pXuXuh-;47VJYru*u2@{^g#4H~f+U*c0IvLj zZrd|W#7Xh1d_!BeS~$uRoy|06wJdMIIbS#+eNs5kx+|5Ad>Qga91_VLDjaw)}K+oFc8*;E-pIa~YEbv7Wv+TV?xEOs9$!#vB+~&g8UVEmNR-R6{ zkB|2D_7B=;@CHZhH0tkqdyn+?TSAmS)IT&Z*f-EenlGU%{SD3akBpScLq|r27Y56H z^GEvoN~Oicq0-3U;Bf!&VBg5-(2>#6;l;t>q4NAl|L9=Li86BA)9qvCe*gM)kG+)Az-9OS>TI`+cADSB(Y$@6pv4X`4y3Ke^va?r&U@_JnivDz)SD zdl+D9OS;OP;_tD~rQL7)6}ytS9_09l)AOu)uikmC{A-`$=fhO)cN+iK-)i^L|EVQi zpHf7${qssbx`|H5Ij3kARpiMeuz14HEDR40to!e$o~4t2k;Ojm-*{$Y{NgsfVZE^a85*-R=t9 zuYHi9Xk*p0Ldgw$jqM^%<lq`3bH}rM^DrJU7}vH_59#gT{64EU p28Q*V*%c_)zsK~=)D>L+`QJYg2t1#53a?w^QImiE_fHQ3{}-h~*}DJ$ diff --git a/NzbDrone.Core/Libraries/TvdbLib.XML b/NzbDrone.Core/Libraries/TvdbLib.XML deleted file mode 100644 index 16fa27e4f..000000000 --- a/NzbDrone.Core/Libraries/TvdbLib.XML +++ /dev/null @@ -1,8152 +0,0 @@ - - - - TvdbLib - - - - - Huffman tree used for inflation - - - - - Literal length tree - - - - - Distance tree - - - - - Constructs a Huffman tree from the array of code lengths. - - - the array of code lengths - - - - - Reads the next symbol from input. The symbol is encoded using the - huffman tree. - - - input the input source. - - - the next symbol, or -1 if not enough input is available. - - - - - Logs internal messages - - - - - Logs the message at level Debug - - Message to log - - - - Logs the message at level Debug - - Message to log - Exception to log - - - - Logs the message at level info - - Message to log - - - - Logs the message at level info - - Message to log - Exception to log - - - - Logs the message at level Warn - - Message to log - - - - Logs the message at level Warn - - Message to log - Exception to log - - - - Logs the message at level Error - - Message to log - - - - Logs the message at level Error - - Message to log - Exception to log - - - - Logs the message at level Fatal - - Message to log - - - - Logs the message at level Fatal - - Message to log - Exception to log - - - - Logs the message at the given level - - Message to log - Level to log - - - - The loglevel that is currently used (default = warn) - - - - - Loglevel - - - - Logs debug messages - - - Logs info messages - - - Logs warn messages - - - Logs error messages - - - Logs fatal messages - - - - This class represents all fields that are available on http://thetvdb.com and - a list of episodefields. This is used for localised series information. - - These are as follows: - 73739 - |Malcolm David Kelley|Jorge Garcia|Maggie Grace|...| - Thursday - 9:00 PM - TV-14 - 2004-09-22 - |Action and Adventure|Drama|Science-Fiction| - tt0411008 - en - ABC - After Oceanic Air flight 815... - 8.9 - 60 - 24313 - Lost - Continuing - graphical/24313-g2.jpg - fanart/original/73739-1.jpg - 1205694666 - SH672362 - - - - - TvdbSeriesFields constructor - - - - - Returns a short description of the episode (e.g. 1x20 Episodename) - - short description of the episode - - - - Gets the episodes for the given season in the given order (aired or dvd). Absolute is also possible but makes no sense since - there are no seasons with absoulte ordering. Use GetEpisodesAbsoluteOrder() instead. - - For more information on episode ordering thetvdb wiki - - List of episodes - - - - Returns all episodes in the absolute order - - List of episodes - - - - Update all fields of the object with the given information - - the fields for the update - Should the episodes be replaced or kept - - - - List of episodes for this translation - - - - - Is the episode info loaded - - - - - Series Id - - - - - Series Name - - - - - Series network - - - - - The language of the series - - - - - Content-Rating of the series - - - - - Zap2it Id of the series - - - - - When was the series updated the last time - - - - - Path to the primary fanart banner - - - - - Path to primary banner - - - - - Path to the primary poster - - - - - Status of the show - - - - - Tv.com id of the series - - - - - Runtime of the show - - - - - Rating of the series - - - - - Overview of the series - - - - - Imdb Id of the series - - - - - List of the series' genres - - - - - The Date the series was first aired - - - - - At which time does the series air - - - - - At which day of the week does the series air - - - - - List of actors that appear in this series - - - - - TvdbData contains a list of series, a list of languages and a list of mirror - - - - - TvdbData constructor - - - - - TvdbData constructor - - List of available languages - - - - When was the last time thetvdb has been checked - for updates - - - - - List of all available languages - - - - - An actor poster - * Actor images must be 300px x 450px and must fill the entire image. Do not add black bars to the sides to get it to that size. - * Actor images must be smaller than 100kb - * Low quality images should not be scaled up to fit the resolution. Use only high quality art. - * Actor images should show the actor in that particular role, wearing the clothes/makeup they'd wear on the series. Unless it's a cartoon, in which case just a normal picture of the voice actor will do. - * Try to shy away from full body shots. Ideally include some upper body but don't go to far past the waist. - * No nudity, even if the actor is playing the role of a striper who is almost always nude, the images must be family safe. - - - - - Tvdb Banners are the graphical element of tvdb. There are different types of banners which are - representet by sub-classes in this library. These subclasses are: - - - TvdbEpisodeBanner - Each episode may contain a small image that should be an non-spoiler action shot from the episode (http://thetvdb.com/wiki/index.php/Episode_Images) - - - TvdbFanartBanner - Fan Art is high quality artwork that is displayed in the background of HTPC menus (http://thetvdb.com/wiki/index.php/Fan_Art) - - - TvdbSeasonBanner - Banner for each season of a series, dvd-style (400 x 578) or banner style (758 x 140) (http://thetvdb.com/wiki/index.php/Wide_Season_Banners) - - - TvdbSeriesBanner - Wide banner for each series (758 x 140), comes in graphical, text or blank style. For further information see http://thetvdb.com/wiki/index.php/Series_Banners - - - TvdbPosterBanner - Newest addition to the tvdb graphical section (680px x 1000px) and not smaller than 500k (http://thetvdb.com/wiki/index.php/Posters) - - - - - - - Loads the actual image data of the banner - - true if the banner could be loaded successfully, false otherwise - - - - Loads the actual image data of the banner - - If true will replace an old image (if one exists already) - true if the banner could be loaded successfully, false otherwise - - - - Unloads the image and saves it to cache - - true if successful, false otherwise - - - - Unloads the image - - should the image kept in cache - true if successful, false otherwise - - - - Creates the name used to store images in cache - - Path of the image - Is the image a thumbnail - Name used for caching image - - - - Loads the banner with the given image - - Image object that should be used for this banner - True if successful, false otherwise - - - - Loads the image from the given path - - Path of image that should be used for this banner - True if successful, false otherwise - - - - Used to load/save images persistent if we're using a cache provider - (should keep memory usage much lower) - - on the other hand we have a back-ref to tvdb (from a data class), which sucks - - todo: think of a better way to handle this - - - - - Language of the banner - - - - - Id of the banner - - - - - Image data of the banner - - - - - True if the image data has been already loaded, false otherwise - - - - - Is the banner currently beeing loaded - - - - - Path to the location on the tvdb server where the image is located - - - - - When was the banner updated the last time - - - - - Id of the series this banner belongs to - - - - - This class contains constants used for deflation. - - - - - Set to true to enable debugging - - - - - Written to Zip file to identify a stored block - - - - - Identifies static tree in Zip file - - - - - Identifies dynamic tree in Zip file - - - - - Header flag indicating a preset dictionary for deflation - - - - - Sets internal buffer sizes for Huffman encoding - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Fan Art is high quality artwork that is displayed in the background of - HTPC menus. Since fan art is displayed behind other content in most cases, - we place more restrictions on the formatting of the image. - - The resolution is either 1920x1080 or 1280x720... - - More information: http://thetvdb.com/wiki/index.php/Fan_Art - - - - - This class extends the regular banner class with the ability to retrieve thumbnails of the actual images. - - These thumbnails are at the moment availabe for all banner types except actors - - - - - Load the thumb from tvdb, if there isn't already a thumb loaded, - (an existing one will NOT be replaced) - - - true if the loading completed sccessfully, false otherwise - - - - Load the thumb from tvdb - - if true, an existing banner will be replaced, - if false the banner will only be loaded if there is no existing banner - true if the loading completed sccessfully, false otherwise - - - - Load thumbnail with given image - - the image to be used forthe banner - true if the loading completed sccessfully, false otherwise - - - - Unloads the image and saves it to cache - - true if successful, false otherwise - - - - Unloads the image - - should the image kept in cache - true if successful, false otherwise - - - - Is the thumbnail currently beeing loaded - - - - - Path to the fanart thumbnail - - - - - Image of the thumbnail - - - - - Is the Image of the thumb already loaded - - - - - TvdbFanartBanner constructor - - - - - TvdbFanartBanner constructor - - Id of fanart banner - Language for this banner - Path of image for this banner - - - - Load the vignette from tvdb - - True if successful, false otherwise - - - - Load the vignette from tvdb - - True if successful, false otherwise - - - - Load vignette with given image - - Image object that should be used for this banner - True if successful, false otherwise - - - - Unloads the image and saves it to cache - - true if successful, false otherwise - - - - Unloads the image - - should the image kept in cache - true if successful, false otherwise - - - - Is the vignette image already loaded - - - - - Is the vignette currently beeing loaded - - - - - Vignette Image - - - - - These are the colors selected by the artist that match the image. The format is 3 colors separated by a pipe "|". This field has leading and trailing pipes. Each color is comma separated RGB, with each color portion being an integer from 1 to 255. So the format looks like |r,g,b|r,g,b|r,g,b|. The first color is the light accent color. The second color is the dark accent color. The third color is the neutral mid-tone color. - - - - - Path to the fanart vignette - - - - - Does the image contain the series name - - - - - Color 3 (see Colors property) - - - - - Color 2 (see Colors property) - - - - - Color 1 (see Colors property) - - - - - Resolution of the fanart - - - - - A cache provider stores and loads the data that has been previously retrieved from http://thetvdb.com. - - - - - Initialises the cache, should do the following things - - initialise connections used for this cache provider (db connections, network shares,...) - - create folder structure / db tables / ... if they are not created already - - if this is the first time the cache has been initialised (built), mark last_updated with the - current date - - TvdbData object - - - - Closes the cache (e.g. close open connection, etc.) - - true if successful, false otherwise - - - - Completely refreshes the cache (all stored information is lost) - - true if the cache was cleared successfully, - false otherwise (e.g. no write rights,...) - - - - Remove a specific series from cache - - the id of the series - true if the series was removed from the cache successfully, - false otherwise (e.g. series not cached) - - - - Loads all cached series from cache -> can take a while - - The loaded TvdbData object - - - - Loads the available languages from cache - - A list of TvdbLanguage objects from cache or null - - - - Loads all series from cache - - A list of TvdbSeries objects from cache or null - - - - Load the give series from cache - - Id of the series to load - The TvdbSeries object from cache or null - - - - Load user info from cache - - Id of the user - TvdbUser object or null if the user couldn't be loaded - - - - Saves cache settings - - settings - - - - Save the language to cache - - List of languages that are available on http://thetvdb.com - - - - Saves the series to cache - - TvdbSeries object - - - - Saves the user data to cache - - TvdbUser object - - - - Save the given image to cache - - banner to save - id of series - filename (will be the same name used by LoadImageFromCache) - - - - Loads the specified image from the cache - - series id - filename of the image (same one as used by SaveToCache) - The loaded image or null if the image wasn't found - - - - Receives a list of all series that have been cached - - A list of series that have been already stored with this cache provider - - - - Check if the series is cached in the given configuration - - Id of the series - Language of the series - are episodes loaded - are banners loaded - are actors loaded - true if the series is cached, false otherwise - - - - Removes the specified image from cache (if it has been cached) - - id of series - name of image - true if image was removed successfully, false otherwise (e.g. image didn't exist) - - - - Is the cache provider initialised - - - - - Class representing an episode with all the information that can be retrieved from http://thetvdb.com.
-
- Those are:
- 332179
-
-
-
-
- |Joseph McGinty Nichol|
- Chuck Versus the World
- 1
- 2007-09-24
- |Julia Ling|Vik Sahay|Mieko Hillman|
-
- English
- Chuck Bartowski is an average computer geek...
-
- 9.0
- 1
- |Josh Schwartz|Chris Fedak|
-
-
-
-
- episodes/80348-332179.jpg
- 1201292806
- 27985
- 80348
- - ]]> - Additionally the banner image is stored -
-
- - - Default constructor for the TvdbEpisode class - - - - - Returns a short description of the episode (e.g. 1x20 Episodename) - - short description of the episode - - - - Updates all information of this episode from the given - episode... - - new episode - - - - if the episode is a special episode -> Before which season did - it air - - - - - if the episode is a special episode -> Before which episode did - it air - - - - - if the episode is a special episode -> After which season did - it air - - - - - Is the episode a special episode - - The fields airsafter_season, airsbefore_episode, and airsbefore_season will only be included when the episode is listed as a special. Specials are also listed as being in season 0, so they're easy to identify and sort. - - - - - Which DVD season is this episode - - - - - The Dvd Episode Number - - - - - The DVD Disc Id - - - - - The chapter of this episode on the dvd - - - - - unique tvdb Id of this episode - - - - - Id of series this episode belongs to - - - - - Id of season this episode belong to - - - - - When was the episode last updated - - - - - Path to the banner image on http://thetvdb.com - - - - - The absolute number of the episode - - - - - List of writers for this episode - - - - - Season number of this episode - - - - - Rating for this episode - - - - - Production code for this episode - - - - - Overview of this episode - - - - - Language of this episode - - - - - Imdb number of this episode - - - - - List of guest stars that appeared in this episode - - - - - When did the episode air first - - - - - Episode number - - - - - Name of the episode - - - - - List of directors for this episode - - - - - n/a - - - - - n/a - - - - - Formatted String of writers for this episode in the - format | writer1 | writer2 | writer3 | - - - - - Formatted String of guest stars that appeared during this episode in the - format | gueststar1 | gueststar2 | gueststar3 | - - - - - Formatted String of directors of this episode in the - format | director1 | director2 | director3 | - - - - - The episode image banner - - - - - While one would think that the episode number would be a simple affair there are several different ways that someone might choose to number the episodes on this site episodes are numbered in the order they aired on TV. That being said the site does provide two alternative numbering methods.

- 1. Absolute Episode Order
- 2. DVD Release Order
-
- More information on the topic can be found at: http://thetvdb.com/wiki/index.php/Category:Episodes -
-
- - - Default order used by thetvdb - - - - - As everyone knows series can air on tv in an order completely different than the one intended by the series creator. Firefly being the most often discussed example on this site. Therefore we have provided a method for entering this "Correct" order. See also http://thetvdb.com/wiki/index.php/DVD_Order - - - - - The standard for this site is the the primary episode number is representative of the shows aired order. But as any Anime fan will tell you Anime episodes are usually numbered without seasons and go from episode 1 to whatever the final episode is, often into the hundreds. Most western broadcasters however do break these shows into seasons, so in order to accommodate this alternate numbering scheme an additional field Absolute Number is available. While this system is primarily intended for Anime series that don't really have seasons, it will work for any program. To use this interface there is no alternate season number only the absolute episode number. Numbering continues on from season to season. So if season 1 ends with 25 then season 2 begins with 26. So for example Bleach is currently in it's "sixth season" but season 5 episode 14 Shock! The Father's True Character is actually episode 111. - - - - - Writes tvdb data to xml files - - - - - TvdbXmlWriter constructor - - - - - Create the file contents - - List of languages to store - - - - - Write the list of languages to file - - List of languages to store - Path on disk - true if the file could be stored, false otherwise - - - - Create the file content for a list of mirrors - - List of mirrors to store - xml content - - - - Write the xml file for the mirrors to file - - List of mirrors to store - Path on disk - true if the file could be stored, false otherwise - - - - Create the file content for a list of actors - - List of actors to store - xml content - - - - Write the xml file for the actors to file - - List of actors to store - Path on disk - true if the file could be stored, false otherwise - - - - Create the series content - - Series to store - xml content - - - - Write the series content to file - - Series to store - Path on disk - true if the file could be stored, false otherwise - - - - Create the series banner content - - List of banners to store - xml content - - - - Write the series banner contents to xml file - - Bannerlist to store - Path on disk - true if the file could be stored, false otherwise - - - - Create the xml content to save a TvdbUser to file - - User to store - xml content - - - - Write the user data to file - - User to store - Path on disk - true if the file could be stored, false otherwise - - - - Class for parsing the xml info from thetvdb - - - - - Base constructor for a TvdbXmlReader class - - - - - Extract a list of languages when the data has the format: - - - - Español - es - 16 - - - - ]]> - - - - - - - Extract a list of mirrors if the data has the format: - - - - 1 - http://thetvdb.com - 7 - - - ]]> - - - - - - - Extract a list of series in the format: - - - - 73739 - |Malcolm David Kelley|Jorge Garcia|Maggie Grace|...| - Thursday - 9:00 PM - TV-14 - 2004-09-22 - |Action and Adventure|Drama|Science-Fiction| - tt0411008 - en - ABC - After Oceanic Air flight 815... - 8.9 - 60 - 24313 - Lost - Continuing - graphical/24313-g2.jpg - fanart/original/73739-1.jpg - 1205694666 - SH672362 - - - ]]> - - - - - - - Extract all the series fields that are available on thetvdb - - - - 73739 - |Malcolm David Kelley|Jorge Garcia|Maggie Grace|...| - Thursday - 9:00 PM - TV-14 - 2004-09-22 - |Action and Adventure|Drama|Science-Fiction| - tt0411008 - en - ABC - After Oceanic Air flight 815... - 8.9 - 60 - 24313 - Lost - Continuing - graphical/24313-g2.jpg - fanart/original/73739-1.jpg - 1205694666 - SH672362 - - - - ]]> - - - - - - - Extract a list of episodes from the given data when the data has the following format: - - - 332179 - - - - - |Joseph McGinty Nichol| - Chuck Versus the World - 1 - 2007-09-24 - |Julia Ling|Vik Sahay|Mieko Hillman| - - English - Chuck Bartowski is an average computer geek... - - 9.0 - 1 - |Josh Schwartz|Chris Fedak| - - - - - episodes/80348-332179.jpg - 1201292806 - 27985 - 80348 - - ]]> - - - - - - - Extract list of updated series - - - - 71969 - - - - ]]> - - - - - - - Extract the results of a series search with format: - - - - 73739 - en - Lost - graphical/24313-g2.jpg - After Oceanic Air flight 815... - 2004-09-22 - tt0411008 - SH672362 - 73739 - - - ]]> - - - - - - - Exctract the series favorites - - - 73067 - 78957 - 75340 - 72218 - 73244 - 75397 - - ]]> - - - - - - - Extract a rating from the data in the format - - - - 7.5 - - - ]]> - - - - - - - Extract the updated episodes from the data in the format: - - - - - 326268 - - - - ]]> - - - - - - - Extract the data of updated banners - - - - - 1 - 79302 - standard - en - seasons/79302-1.jpg - season - - - ]]> - - - - - - - Extract the update time from data - - - - - - - Extract a list of banners from the data when the data has the format: - - - - 20106 - fanart/original/73739-1.jpg - fanart/vignette/73739-1.jpg - _cache/fanart/original/73739-1.jpg - fanart - 1920x1080 - |68,69,59|69,70,58|78,78,68| - en - - - 18953 - seasons/73739-2-2.jpg - season - season - es - 2 - - - 9529 - graphical/73739-g.jpg - series - graphical - en - - - ]]> - - - - - - - Extract a list of actors when the data has the format: - - - - 22017 - actors/22017.jpg - Zachary Levi - Chuck Bartowski - 0 - - - ]]> - - data - List of actors - - - - Extract user data from - - - - - - - Extract a list of series ratings - - The xml file is in the following format: - - - - 80344 - 7 - 8.3224 - - - 72227 - 8 - 8.3224 - - - ]]> - - The xml content - The item type for the ratings - - - - - Contains the output from the Inflation process. - We need to have a window so that we can refer backwards into the output stream - to repeat stuff.
- Author of the original java version : John Leuner -
-
- - - Write a byte to this output window - - value to write - - if window is full - - - - - Append a byte pattern already in the window itself - - length of pattern to copy - distance from end of window pattern occurs - - If the repeated data overflows the window - - - - - Copy from input manipulator to internal window - - source of data - length of data to copy - the number of bytes copied - - - - Copy dictionary to window - - source dictionary - offset of start in source dictionary - length of dictionary - - If window isnt empty - - - - - Get remaining unfilled space in window - - Number of bytes left in window - - - - Get bytes available for output in window - - Number of bytes filled - - - - Copy contents of window to output - - buffer to copy to - offset to start at - number of bytes to count - The number of bytes copied - - If a window underflow occurs - - - - - Reset by clearing window so GetAvailable returns 0 - - - - - This is the Deflater class. The deflater class compresses input - with the deflate algorithm described in RFC 1951. It has several - compression levels and three different strategies described below. - - This class is not thread safe. This is inherent in the API, due - to the split of deflate and setInput. - - author of the original java version : Jochen Hoenicke - - - - - The best and slowest compression level. This tries to find very - long and distant string repetitions. - - - - - The worst but fastest compression level. - - - - - The default compression level. - - - - - This level won't compress at all but output uncompressed blocks. - - - - - The compression method. This is the only method supported so far. - There is no need to use this constant at all. - - - - - Creates a new deflater with default compression level. - - - - - Creates a new deflater with given compression level. - - - the compression level, a value between NO_COMPRESSION - and BEST_COMPRESSION, or DEFAULT_COMPRESSION. - - if lvl is out of range. - - - - Creates a new deflater with given compression level. - - - the compression level, a value between NO_COMPRESSION - and BEST_COMPRESSION. - - - true, if we should suppress the Zlib/RFC1950 header at the - beginning and the adler checksum at the end of the output. This is - useful for the GZIP/PKZIP formats. - - if lvl is out of range. - - - - Resets the deflater. The deflater acts afterwards as if it was - just created with the same compression level and strategy as it - had before. - - - - - Flushes the current input block. Further calls to deflate() will - produce enough output to inflate everything in the current input - block. This is not part of Sun's JDK so I have made it package - private. It is used by DeflaterOutputStream to implement - flush(). - - - - - Finishes the deflater with the current input block. It is an error - to give more input after this method was called. This method must - be called to force all bytes to be flushed. - - - - - Sets the data which should be compressed next. This should be only - called when needsInput indicates that more input is needed. - If you call setInput when needsInput() returns false, the - previous input that is still pending will be thrown away. - The given byte array should not be changed, before needsInput() returns - true again. - This call is equivalent to setInput(input, 0, input.length). - - - the buffer containing the input data. - - - if the buffer was finished() or ended(). - - - - - Sets the data which should be compressed next. This should be - only called when needsInput indicates that more input is needed. - The given byte array should not be changed, before needsInput() returns - true again. - - - the buffer containing the input data. - - - the start of the data. - - - the number of data bytes of input. - - - if the buffer was Finish()ed or if previous input is still pending. - - - - - Sets the compression level. There is no guarantee of the exact - position of the change, but if you call this when needsInput is - true the change of compression level will occur somewhere near - before the end of the so far given input. - - - the new compression level. - - - - - Get current compression level - - Returns the current compression level - - - - Sets the compression strategy. Strategy is one of - DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact - position where the strategy is changed, the same as for - SetLevel() applies. - - - The new compression strategy. - - - - - Deflates the current input block with to the given array. - - - The buffer where compressed data is stored - - - The number of compressed bytes added to the output, or 0 if either - IsNeedingInput() or IsFinished returns true or length is zero. - - - - - Deflates the current input block to the given array. - - - Buffer to store the compressed data. - - - Offset into the output array. - - - The maximum number of bytes that may be stored. - - - The number of compressed bytes added to the output, or 0 if either - needsInput() or finished() returns true or length is zero. - - - If Finish() was previously called. - - - If offset or length don't match the array length. - - - - - Sets the dictionary which should be used in the deflate process. - This call is equivalent to setDictionary(dict, 0, dict.Length). - - - the dictionary. - - - if SetInput () or Deflate () were already called or another dictionary was already set. - - - - - Sets the dictionary which should be used in the deflate process. - The dictionary is a byte array containing strings that are - likely to occur in the data which should be compressed. The - dictionary is not stored in the compressed output, only a - checksum. To decompress the output you need to supply the same - dictionary again. - - - The dictionary data - - - The index where dictionary information commences. - - - The number of bytes in the dictionary. - - - If SetInput () or Deflate() were already called or another dictionary was already set. - - - - - Compression level. - - - - - If true no Zlib/RFC1950 headers or footers are generated - - - - - The current state. - - - - - The total bytes of output written. - - - - - The pending output. - - - - - The deflater engine. - - - - - Gets the current adler checksum of the data that was processed so far. - - - - - Gets the number of input bytes processed so far. - - - - - Gets the number of output bytes so far. - - - - - Returns true if the stream was finished and no more output bytes - are available. - - - - - Returns true, if the input buffer is empty. - You should then call setInput(). - NOTE: This method can also return true when the stream - was finished. - - - - - Graphical representation of a series, tpyes are text, graphical or blank - - Graphical Banners are defined as having a graphical/logo version of the series name - - Text Banners generally use Arial Bold font, 27pt as the text - - The main requirement for blank banners is they should be blank on the left side of the banner as - that is where the auto-generated text will be placed - - More information on http://thetvdb.com/wiki/index.php/Series_Banners - - - - - TvdbSeriesBanner constructor - - - - - TvdbSeriesBanner constructor - - Id of banner - Path of banner image - Language of this banner - Banner type (text, graphical, blank, none) - - - - Banner type of the series banner - - - - - Type of the series banner - - - - - Banners contains a text of the seriesname - - - - - Banner containing a graphical representation of the seriesname - - - - - Banner containing a free space on the left side to place your own series description - - - - - Nothing specified - - - - - This is an InflaterInputStream that reads the files baseInputStream an zip archive - one after another. It has a special method to get the zip entry of - the next file. The zip entry contains information about the file name - size, compressed size, Crc, etc. - It includes support for Stored and Deflated entries. -
-
Author of the original java version : Jochen Hoenicke -
- - This sample shows how to read a zip file - - using System; - using System.Text; - using System.IO; - - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - public static void Main(string[] args) - { - using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) { - - ZipEntry theEntry; - while ((theEntry = s.GetNextEntry()) != null) { - int size = 2048; - byte[] data = new byte[2048]; - - Console.Write("Show contents (y/n) ?"); - if (Console.ReadLine() == "y") { - while (true) { - size = s.Read(data, 0, data.Length); - if (size > 0) { - Console.Write(new ASCIIEncoding().GetString(data, 0, size)); - } else { - break; - } - } - } - } - } - } - } - - -
- - - This filter stream is used to decompress data compressed using the "deflate" - format. The "deflate" format is described in RFC 1951. - - This stream may form the basis for other decompression filters, such - as the GZipInputStream. - - Author of the original java version : John Leuner. - - - - - Create an InflaterInputStream with the default decompressor - and a default buffer size of 4KB. - - - The InputStream to read bytes from - - - - - Create an InflaterInputStream with the specified decompressor - and a default buffer size of 4KB. - - - The source of input data - - - The decompressor used to decompress data read from baseInputStream - - - - - Create an InflaterInputStream with the specified decompressor - and the specified buffer size. - - - The InputStream to read bytes from - - - The decompressor to use - - - Size of the buffer to use - - - - - Skip specified number of bytes of uncompressed data - - - Number of bytes to skip - - - The number of bytes skipped, zero if the end of - stream has been reached - - - The number of bytes to skip is less than or equal to zero. - - - - - Clear any cryptographic state. - - - - - Fills the buffer with more data to decompress. - - - Stream ends early - - - - - Flushes the baseInputStream - - - - - Sets the position within the current stream - Always throws a NotSupportedException - - The relative offset to seek to. - The defining where to seek from. - The new position in the stream. - Any access - - - - Set the length of the current stream - Always throws a NotSupportedException - - The new length value for the stream. - Any access - - - - Writes a sequence of bytes to stream and advances the current position - This method always throws a NotSupportedException - - Thew buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - Any access - - - - Writes one byte to the current stream and advances the current position - Always throws a NotSupportedException - - The byte to write. - Any access - - - - Entry point to begin an asynchronous write. Always throws a NotSupportedException. - - The buffer to write data from - Offset of first byte to write - The maximum number of bytes to write - The method to be called when the asynchronous write operation is completed - A user-provided object that distinguishes this particular asynchronous write request from other requests - An IAsyncResult that references the asynchronous write - Any access - - - - Closes the input stream. When - is true the underlying stream is also closed. - - - - - Reads decompressed data into the provided buffer byte array - - - The array to read and decompress data into - - - The offset indicating where the data should be placed - - - The number of bytes to decompress - - The number of bytes read. Zero signals the end of stream - - Inflater needs a dictionary - - - - - Decompressor for this stream - - - - - Input buffer for this stream. - - - - - Base stream the inflater reads from. - - - - - The compressed size - - - - - Flag indicating wether this instance has been closed or not. - - - - - Flag indicating wether this instance is designated the stream owner. - When closing if this flag is true the underlying stream is closed. - - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - The default value is true. - - - - - Returns 0 once the end of the stream (EOF) has been reached. - Otherwise returns 1. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value of false indicating seeking is not supported for this stream. - - - - - Gets a value of false indicating that this stream is not writeable. - - - - - A value representing the length of the stream in bytes. - - - - - The current position within the stream. - Throws a NotSupportedException when attempting to set the position - - Attempting to set the position - - - - The current reader this instance. - - - - - Creates a new Zip input stream, for reading a zip archive. - - The underlying providing data. - - - - Advances to the next entry in the archive - - - The next entry in the archive or null if there are no more entries. - - - If the previous entry is still open CloseEntry is called. - - - Input stream is closed - - - Password is not set, password is invalid, compression method is invalid, - version required to extract is not supported - - - - - Read data descriptor at the end of compressed data. - - - - - Complete cleanup as the final part of closing. - - True if the crc value should be tested - - - - Closes the current zip entry and moves to the next one. - - - The stream is closed - - - The Zip stream ends early - - - - - Reads a byte from the current zip entry. - - - The byte or -1 if end of stream is reached. - - - - - Handle attempts to read by throwing an . - - The destination array to store data in. - The offset at which data read should be stored. - The maximum number of bytes to read. - Returns the number of bytes actually read. - - - - Handle attempts to read from this entry by throwing an exception - - - - - Perform the initial read on an entry which may include - reading encryption headers and setting up inflation. - - The destination to fill with data read. - The offset to start reading at. - The maximum number of bytes to read. - The actual number of bytes read. - - - - Read a block of bytes from the stream. - - The destination for the bytes. - The index to start storing data. - The number of bytes to attempt to read. - Returns the number of bytes read. - Zero bytes read means end of stream. - - - - Reads a block of bytes from the current zip entry. - - - The number of bytes read (this may be less than the length requested, even before the end of stream), or 0 on end of stream. - - - An i/o error occured. - - - The deflated stream is corrupted. - - - The stream is not open. - - - - - Closes the zip input stream - - - - - Optional password used for encryption when non-null - - A password for all encrypted entries in this - - - - Gets a value indicating if there is a current entry and it can be decompressed - - - The entry can only be decompressed if the library supports the zip features required to extract it. - See the ZipEntry Version property for more details. - - - - - Returns 1 if there is an entry available - Otherwise returns 0. - - - - - Returns the current size that can be read from the current entry if available - - Thrown if the entry size is not known. - Thrown if no entry is currently available. - - - - Delegate for reading bytes from a stream. - - - - - An input buffer customised for use by - - - The buffer supports decryption of incoming data. - - - - - Initialise a new instance of with a default buffer size - - The stream to buffer. - - - - Initialise a new instance of - - The stream to buffer. - The size to use for the buffer - A minimum buffer size of 1KB is permitted. Lower sizes are treated as 1KB. - - - - Call passing the current clear text buffer contents. - - The inflater to set input for. - - - - Fill the buffer from the underlying input stream. - - - - - Read a buffer directly from the input stream - - The buffer to fill - Returns the number of bytes read. - - - - Read a buffer directly from the input stream - - The buffer to read into - The offset to start reading data into. - The number of bytes to read. - Returns the number of bytes read. - - - - Read clear text data from the input stream. - - The buffer to add data to. - The offset to start adding data at. - The number of bytes to read. - Returns the number of bytes actually read. - - - - Read a from the input stream. - - Returns the byte read. - - - - Read an in little endian byte order. - - The short value read case to an int. - - - - Read an in little endian byte order. - - The int value read. - - - - Read a in little endian byte order. - - The long value read. - - - - Get the length of bytes bytes in the - - - - - Get the contents of the raw data buffer. - - This may contain encrypted data. - - - - Get the number of useable bytes in - - - - - Get the contents of the clear text buffer. - - - - - Get/set the number of bytes available - - - - - Get/set the to apply to any data. - - Set this value to null to have no transform applied. - - - - Inflater is used to decompress data that has been compressed according - to the "deflate" standard described in rfc1951. - - By default Zlib (rfc1950) headers and footers are expected in the input. - You can use constructor public Inflater(bool noHeader) passing true - if there is no Zlib header information - - The usage is as following. First you have to set some input with - SetInput(), then Inflate() it. If inflate doesn't - inflate any bytes there may be three reasons: -
    -
  • IsNeedingInput() returns true because the input buffer is empty. - You have to provide more input with SetInput(). - NOTE: IsNeedingInput() also returns true when, the stream is finished. -
  • -
  • IsNeedingDictionary() returns true, you have to provide a preset - dictionary with SetDictionary().
  • -
  • IsFinished returns true, the inflater has finished.
  • -
- Once the first output byte is produced, a dictionary will not be - needed at a later stage. - - author of the original java version : John Leuner, Jochen Hoenicke -
-
- - - These are the possible states for an inflater - - - - - Copy lengths for literal codes 257..285 - - - - - Extra bits for literal codes 257..285 - - - - - Copy offsets for distance codes 0..29 - - - - - Extra bits for distance codes - - - - - This variable contains the current state. - - - - - The adler checksum of the dictionary or of the decompressed - stream, as it is written in the header resp. footer of the - compressed stream. - Only valid if mode is DECODE_DICT or DECODE_CHKSUM. - - - - - The number of bits needed to complete the current state. This - is valid, if mode is DECODE_DICT, DECODE_CHKSUM, - DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS. - - - - - True, if the last block flag was set in the last block of the - inflated stream. This means that the stream ends after the - current block. - - - - - The total number of inflated bytes. - - - - - The total number of bytes set with setInput(). This is not the - value returned by the TotalIn property, since this also includes the - unprocessed input. - - - - - This variable stores the noHeader flag that was given to the constructor. - True means, that the inflated stream doesn't contain a Zlib header or - footer. - - - - - Creates a new inflater or RFC1951 decompressor - RFC1950/Zlib headers and footers will be expected in the input data - - - - - Creates a new inflater. - - - True if no RFC1950/Zlib header and footer fields are expected in the input data - - This is used for GZIPed/Zipped input. - - For compatibility with - Sun JDK you should provide one byte of input more than needed in - this case. - - - - - Resets the inflater so that a new stream can be decompressed. All - pending input and output will be discarded. - - - - - Decodes a zlib/RFC1950 header. - - - False if more input is needed. - - - The header is invalid. - - - - - Decodes the dictionary checksum after the deflate header. - - - False if more input is needed. - - - - - Decodes the huffman encoded symbols in the input stream. - - - false if more input is needed, true if output window is - full or the current block ends. - - - if deflated stream is invalid. - - - - - Decodes the adler checksum after the deflate stream. - - - false if more input is needed. - - - If checksum doesn't match. - - - - - Decodes the deflated stream. - - - false if more input is needed, or if finished. - - - if deflated stream is invalid. - - - - - Sets the preset dictionary. This should only be called, if - needsDictionary() returns true and it should set the same - dictionary, that was used for deflating. The getAdler() - function returns the checksum of the dictionary needed. - - - The dictionary. - - - - - Sets the preset dictionary. This should only be called, if - needsDictionary() returns true and it should set the same - dictionary, that was used for deflating. The getAdler() - function returns the checksum of the dictionary needed. - - - The dictionary. - - - The index into buffer where the dictionary starts. - - - The number of bytes in the dictionary. - - - No dictionary is needed. - - - The adler checksum for the buffer is invalid - - - - - Sets the input. This should only be called, if needsInput() - returns true. - - - the input. - - - - - Sets the input. This should only be called, if needsInput() - returns true. - - - The source of input data - - - The index into buffer where the input starts. - - - The number of bytes of input to use. - - - No input is needed. - - - The index and/or count are wrong. - - - - - Inflates the compressed stream to the output buffer. If this - returns 0, you should check, whether IsNeedingDictionary(), - IsNeedingInput() or IsFinished() returns true, to determine why no - further output is produced. - - - the output buffer. - - - The number of bytes written to the buffer, 0 if no further - output can be produced. - - - if buffer has length 0. - - - if deflated stream is invalid. - - - - - Inflates the compressed stream to the output buffer. If this - returns 0, you should check, whether needsDictionary(), - needsInput() or finished() returns true, to determine why no - further output is produced. - - - the output buffer. - - - the offset in buffer where storing starts. - - - the maximum number of bytes to output. - - - the number of bytes written to the buffer, 0 if no further output can be produced. - - - if count is less than 0. - - - if the index and / or count are wrong. - - - if deflated stream is invalid. - - - - - Returns true, if the input buffer is empty. - You should then call setInput(). - NOTE: This method also returns true when the stream is finished. - - - - - Returns true, if a preset dictionary is needed to inflate the input. - - - - - Returns true, if the inflater has finished. This means, that no - input is needed and no output can be produced. - - - - - Gets the adler checksum. This is either the checksum of all - uncompressed bytes returned by inflate(), or if needsDictionary() - returns true (and thus no output was yet produced) this is the - adler checksum of the expected dictionary. - - - the adler checksum. - - - - - Gets the total number of output bytes returned by Inflate(). - - - the total number of output bytes. - - - - - Gets the total number of processed compressed input bytes. - - - The total number of bytes of processed input bytes. - - - - - Gets the number of unprocessed input bytes. Useful, if the end of the - stream is reached and you want to further process the bytes after - the deflate stream. - - - The number of bytes of the input which have not been processed. - - - - - Interface to compute a data checksum used by checked input/output streams. - A data checksum can be updated by one byte or with a byte array. After each - update the value of the current checksum can be returned by calling - getValue. The complete checksum object can also be reset - so it can be used again with new data. - - - - - Resets the data checksum as if no update was ever called. - - - - - Adds one byte to the data checksum. - - - the data value to add. The high byte of the int is ignored. - - - - - Updates the data checksum with the bytes taken from the array. - - - buffer an array of bytes - - - - - Adds the byte array to the data checksum. - - - The buffer which contains the data - - - The offset in the buffer where the data starts - - - the number of data bytes to add. - - - - - Returns the data checksum computed so far. - - - - - TvdbDownloader allows simple downloading of all informations stored - on http://thetvdb.com. Unlike the class Tvdb TvdbDownloader doesn't - include any logic like caching. - - - - - TvdbDownloader constructor - - The api key used for downloading data from thetvdb -> see http://thetvdb.com/wiki/index.php/Programmers_API - - - - Download the episodes for the given series - - the id of the series - the language in which the episodes should be downloaded - An episode object or null if no episodes could be found - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - The tvdb database is unavailable - - - - Download all available banners (only a list of available banners, not the actual images!)for the specified series. - You can load the actual images by calling LoadBanner() (or LoadThumb(), LoadVignette()) on the banner object - - Id of series - List of all banners for the given series - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - The tvdb database is unavailable - - - - Download series from tvdb (specified by series id and language) - - id of series - language of series - load episodes - load actors - load banners - The series object or null if the series couldn't be found - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - The tvdb database is unavailable - - - - Download the series in the given language - - id of series - language of series - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - The tvdb database is unavailable - the series object - - - - Download a series search for the id of an external site - - The site that provides the external id - The id that identifies the series on the external site - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - The tvdb database is unavailable - the series object that corresponds to the given site and id - - - - Download the given episode from tvdb - - Id of episode - Language in which the episode should be downloaded - The episode object - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The episode/series/banner couldn't be located on the tvdb server. - Exception is thrown when thetvdb isn't available. - - - - Download the episode (specified by series id, season number, episode number, language and episode order) from http://thetvdb.com. - It is possible to retrieve episodes by aired order (aka default order), DVD order and absolute order. For a detailled description of these - options see: http://thetvdb.com/wiki/index.php/Category:Episodes - - series id - season nr - episode nr - language - order - The episode object or null if the episode could't be found - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The episode/series/banner couldn't be located on the tvdb server. - Exception is thrown when thetvdb isn't available. - - - - Download the episode specified from http://thetvdb.com - - series id - when did the episode air - language - Episode - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The episode/series/banner couldn't be located on the tvdb server. - Exception is thrown when thetvdb isn't available. - - - - Download the preferred language of the user. - - Id of user - The preferred language for this user as set on http://thetvdb.com - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - The tvdb database is unavailable - - - - Download the user favorite list - - Id of user (register at http://thetvdb.com to get a user id) - Favorite list for specified user - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - The tvdb database is unavailable - - - - Download the user favorite list - - Id of user - Type of action - id of series - List of user favorites - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - The tvdb database is unavailable - - - - Download an Update - - updated series to return - updated episodes to return - updated banners to return - interval to download (0=day, 1=week, 2=month) - use zip - Time of the update - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - Exception is thrown when thetvdb isn't available. - - - - Download an Update - - updated series to return - updated episodes to return - updated banners to return - interval to download - use zip - Time of the update - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - Exception is thrown when thetvdb isn't available. - - - - Download list available languages. - - A list of TvdbLanguage objects - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The episode/series/banner couldn't be located on the tvdb server. - Exception is thrown when thetvdb isn't available. - - - - Download search results for a series search in the default language (english) - - name of the series - List of possible matches for the search - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - Exception is thrown when thetvdb isn't available. - - - - Download search results for a series search - - name of the series - language of the search - List of possible matches for the search - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - Exception is thrown when thetvdb isn't available. - - - - Make the request for rating a series - - The id of the user - The id of the series - The rating for this series - A double value with the current rating for this series - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - Exception is thrown when thetvdb isn't available. - - - - Make the request for rating an episode - - The id of the user - The id of the episode - The rating for this series - A double value with the current rating for this series - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - Exception is thrown when thetvdb isn't available. - - - - Download the series rating without rating the item. - - id of user - id of series - Current rating for the series - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - Exception is thrown when thetvdb isn't available. - - - - Download the episode rating without rating - - id of the user - id of the episode - Current rating of this episode - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - Exception is thrown when thetvdb isn't available. - - - - Download the list of actors - - Id of series - List of actors for the given series - - - - Gets all series this user has already ratet - - All series ratings the user has made so far - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - Exception is thrown when thetvdb isn't available. - - - - Download the user rating for the given series (episodes and series itself) - - Id of user - Id of series - Dictionary of all ratings - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - Exception is thrown when thetvdb isn't available. - - - - A function has been called that needs an initialised cache but the InitCache function - hasn't been called yet - - - - - Base excpetion for tvdblib - - - - - TvdbException constructor - - Message - - - - TvdbException constructor - - Message - Inner Exception - - - - TvdbException constructor - - - - - TvdbCacheNotInitialisedException constructor - - Message - - - - TvdbCacheNotInitialisedException constructor - - - - - Binary cache provider saves all the cached info into - - broken at the moment -> use CacheProvider - - - - - BinaryCacheProvider constructor - - The root folder where the cached data should be stored - - - - Load the cached data - - TvdbData object - - - - Initialises the cache, should do the following things - - initialise connections used for this cache provider (db connections, network shares,...) - - create folder structure / db tables / ... if they are not created already - - if this is the first time the cache has been initialised (built), mark last_updated with the - current date - - Tvdb Data object - - - - Closes the cache (e.g. close open connection, etc.) - - true if successful, false otherwise - - - - Saves cache settings - - settings - - - - Saves the time of the last update to cache - - time of last update - - - - Save the language to cache - - List of languages - - - - Save the mirror info to cache - - list of mirrors - - - - Loads the available languages from cache - - List of available languages - - - - Load the available mirrors from cache - - List of available mirrors - - - - Load the give series from cache - - id of series to load - loaded series, or null if not successful - - - - Saves the series to cache - - Tvdb series - - - - Saves the user data to cache - - TvdbUser - - - - Loads all series from cache - - List that contains all series object that had been previously cached - - - - Load the userinfo from the cache - - Id of user - TvdbUser object - - - - Receives a list of all series that have been cached - - Ids of series that are already cached - - - - Check if the series is cached in the given configuration - - Id of the series - Language of the series - are episodes loaded - are banners loaded - are actors loaded - true if the series is cached, false otherwise - - - - Completely refreshes the cached (all stored information is lost). - - true if the cache was cleared successfully, - false otherwise (e.g. no write rights,...) - - - - Remove a specific series from cache - - the id of the series - true if the series was removed from the cache successfully, - false otherwise (e.g. series not cached) - - - - Save the given image to cache - - banner to save - id of series - filename (will be the same name used by LoadImageFromCache) - - - - Loads the specified image from the cache - - series id - filename of the image (same one as used by SaveToCache) - The loaded image or null if the image wasn't found - - - - Removes the specified image from cache (if it has been cached) - - id of series - name of image - true if image was removed successfully, false otherwise (e.g. image didn't exist) - - - - Load the time when the cache was updated last - - DateTime of lsat update - - - - Is the cache provider initialised - - - - - Class to store what parts of the cached series has been loaded - - - - - constructor - - Id of series - Are episodes loaded - Are banners loaded - Are actors loaded - - - - Are actors loaded - - - - - Are banners loaded - - - - - Are episodes loaded - - - - - Id of series - - - - - Bzip2 checksum algorithm - - - - - Initialise a default instance of - - - - - Reset the state of Crc. - - - - - Update the Crc value. - - data update is based on - - - - Update Crc based on a block of data - - The buffer containing data to update the crc with. - - - - Update Crc based on a portion of a block of data - - block of data - index of first byte to use - number of bytes to use - - - - Get the current Crc value. - - - - - Newest addition to the graphical section. Like the name says it has poster - format (680px x 1000px) and is not smaller than 500 kb - - More information at http://thetvdb.com/wiki/index.php/Posters - - - - - TvdbPosterBanner constructor - - Id of fanart banner - Language for this banner - Path of image for this banner - - - - TvdbPosterBanner constructor - - - - - Resolution of the Poster banner - - - - - Represents the episode banner, which is currently only one image - per episode (no language differentiation either) limited to a maximum - size of 400 x 300 - - further information on http://thetvdb.com/wiki/index.php/Episode_Images - - - - - TvdbEpisodeBanner constructor - - - - - TvdbEpisodeBanner constructor - - Path of banner - Id of episode banner - - - - Represents an tvdb actor -> for more information see http://thetvdb.com/wiki/index.php/API:actors.xml - - - - - This matches the First, Second, Third, and Don't Care options on the site, which determine if the actor is shown on the series page or not. First (SortOrder=0), Second (SortOrder=1), and Third (SortOrder=2) generally mean the actor plays a primary role in the series. Don't Care (SortOrder=3) generally means the actor plays a lesser role. In some series there are no primary actors, so all actors will have a SortOrder of 3. The actors are also listed in the report in SortOrder, followed by those with images, and then finally by Name. So using the order they show up in the file is a valid method. - - - - - The name of the actor's character in the series. This may include multiple roles in comma-separated format. - - - - - The actual name of the actor. - - - - - The image for the actor in this role. - - - - - A unique id per actor. At some point actors will be globally unique but for now they're just unique per series. - - - - - Exception that is thrown if http://thetvdb.com seems to be unavailable - - - - - TvdbNotAvailableException constructor - - Message - - - - TvdbNotAvailableException constructor - - - - - Defines known values for the property. - - - - - Host system = MSDOS - - - - - Host system = Amiga - - - - - Host system = Open VMS - - - - - Host system = Unix - - - - - Host system = VMCms - - - - - Host system = Atari ST - - - - - Host system = OS2 - - - - - Host system = Macintosh - - - - - Host system = ZSystem - - - - - Host system = Cpm - - - - - Host system = Windows NT - - - - - Host system = MVS - - - - - Host system = VSE - - - - - Host system = Acorn RISC - - - - - Host system = VFAT - - - - - Host system = Alternate MVS - - - - - Host system = BEOS - - - - - Host system = Tandem - - - - - Host system = OS400 - - - - - Host system = OSX - - - - - Host system = WinZIP AES - - - - - This class represents an entry in a zip archive. This can be a file - or a directory - ZipFile and ZipInputStream will give you instances of this class as - information about the members in an archive. ZipOutputStream - uses an instance of this class when creating an entry in a Zip file. -
-
Author of the original java version : Jochen Hoenicke -
-
- - - Creates a zip entry with the given name. - - - The name for this entry. Can include directory components. - The convention for names is 'unix' style paths with relative names only. - There are with no device names and path elements are separated by '/' characters. - - - The name passed is null - - - - - Creates a zip entry with the given name and version required to extract - - - The name for this entry. Can include directory components. - The convention for names is 'unix' style paths with no device names and - path elements separated by '/' characters. This is not enforced see CleanName - on how to ensure names are valid if this is desired. - - - The minimum 'feature version' required this entry - - - The name passed is null - - - - - Initializes an entry with the given name and made by information - - Name for this entry - Version and HostSystem Information - Minimum required zip feature version required to extract this entry - Compression method for this entry. - - The name passed is null - - - versionRequiredToExtract should be 0 (auto-calculate) or > 10 - - - This constructor is used by the ZipFile class when reading from the central header - It is not generally useful, use the constructor specifying the name only. - - - - - Creates a deep copy of the given zip entry. - - - The entry to copy. - - - - - Test the external attributes for this to - see if the external attributes are Dos based (including WINNT and variants) - and match the values - - The attributes to test. - Returns true if the external attributes are known to be DOS/Windows - based and have the same attributes set as the value passed. - - - - Force this entry to be recorded using Zip64 extensions. - - - - - Get a value indicating wether Zip64 extensions were forced. - - A value of true if Zip64 extensions have been forced on; false if not. - - - - Process extra data fields updating the entry based on the contents. - - True if the extra data fields should be handled - for a local header, rather than for a central header. - - - - - Test entry to see if data can be extracted. - - Returns true if data can be extracted for this entry; false otherwise. - - - - Creates a copy of this zip entry. - - An that is a copy of the current instance. - - - - Gets a string representation of this ZipEntry. - - A readable textual representation of this - - - - Test a compression method to see if this library - supports extracting data compressed with that method - - The compression method to test. - Returns true if the compression method is supported; false otherwise - - - - Cleans a name making it conform to Zip file conventions. - Devices names ('c:\') and UNC share names ('\\server\share') are removed - and forward slashes ('\') are converted to back slashes ('/'). - Names are made relative by trimming leading slashes which is compatible - with the ZIP naming convention. - - The name to clean - The 'cleaned' name. - - The Zip name transform class is more flexible. - - - - - Get a value indicating wether the entry has a CRC value available. - - - - - Get/Set flag indicating if entry is encrypted. - A simple helper routine to aid interpretation of flags - - This is an assistant that interprets the flags property. - - -
- This is an assistant that interprets the flags property. - - - - Value used during password checking for PKZIP 2.0 / 'classic' encryption. - - - - - Get/Set general purpose bit flag for entry - - - General purpose bit flag
-
- Bit 0: If set, indicates the file is encrypted
- Bit 1-2 Only used for compression type 6 Imploding, and 8, 9 deflating
- Imploding:
- Bit 1 if set indicates an 8K sliding dictionary was used. If clear a 4k dictionary was used
- Bit 2 if set indicates 3 Shannon-Fanno trees were used to encode the sliding dictionary, 2 otherwise
-
- Deflating:
- Bit 2 Bit 1
- 0 0 Normal compression was used
- 0 1 Maximum compression was used
- 1 0 Fast compression was used
- 1 1 Super fast compression was used
-
- Bit 3: If set, the fields crc-32, compressed size - and uncompressed size are were not able to be written during zip file creation - The correct values are held in a data descriptor immediately following the compressed data.
- Bit 4: Reserved for use by PKZIP for enhanced deflating
- Bit 5: If set indicates the file contains compressed patch data
- Bit 6: If set indicates strong encryption was used.
- Bit 7-10: Unused or reserved
- Bit 11: If set the name and comments for this entry are in unicode.
- Bit 12-15: Unused or reserved
-
- - -
- - - Get/Set index of this entry in Zip file - - This is only valid when the entry is part of a - - - - Get/set offset for use in central header - - - - - Get/Set external file attributes as an integer. - The values of this are operating system dependant see - HostSystem for details - - - - - Get the version made by for this entry or zero if unknown. - The value / 10 indicates the major version number, and - the value mod 10 is the minor version number - - - - - Get a value indicating this entry is for a DOS/Windows system. - - - - - Gets the compatability information for the external file attribute - If the external file attributes are compatible with MS-DOS and can be read - by PKZIP for DOS version 2.04g then this value will be zero. Otherwise the value - will be non-zero and identify the host system on which the attributes are compatible. - - - - The values for this as defined in the Zip File format and by others are shown below. The values are somewhat - misleading in some cases as they are not all used as shown. You should consult the relevant documentation - to obtain up to date and correct information. The modified appnote by the infozip group is - particularly helpful as it documents a lot of peculiarities. The document is however a little dated. - - 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems) - 1 - Amiga - 2 - OpenVMS - 3 - Unix - 4 - VM/CMS - 5 - Atari ST - 6 - OS/2 HPFS - 7 - Macintosh - 8 - Z-System - 9 - CP/M - 10 - Windows NTFS - 11 - MVS (OS/390 - Z/OS) - 12 - VSE - 13 - Acorn Risc - 14 - VFAT - 15 - Alternate MVS - 16 - BeOS - 17 - Tandem - 18 - OS/400 - 19 - OS/X (Darwin) - 99 - WinZip AES - remainder - unused - - - - - - Get minimum Zip feature version required to extract this entry - - - Minimum features are defined as:
- 1.0 - Default value
- 1.1 - File is a volume label
- 2.0 - File is a folder/directory
- 2.0 - File is compressed using Deflate compression
- 2.0 - File is encrypted using traditional encryption
- 2.1 - File is compressed using Deflate64
- 2.5 - File is compressed using PKWARE DCL Implode
- 2.7 - File is a patch data set
- 4.5 - File uses Zip64 format extensions
- 4.6 - File is compressed using BZIP2 compression
- 5.0 - File is encrypted using DES
- 5.0 - File is encrypted using 3DES
- 5.0 - File is encrypted using original RC2 encryption
- 5.0 - File is encrypted using RC4 encryption
- 5.1 - File is encrypted using AES encryption
- 5.1 - File is encrypted using corrected RC2 encryption
- 5.1 - File is encrypted using corrected RC2-64 encryption
- 6.1 - File is encrypted using non-OAEP key wrapping
- 6.2 - Central directory encryption (not confirmed yet)
- 6.3 - File is compressed using LZMA
- 6.3 - File is compressed using PPMD+
- 6.3 - File is encrypted using Blowfish
- 6.3 - File is encrypted using Twofish
-
- -
- - - Get a value indicating wether this entry can be decompressed by the library. - - This is based on the and - wether the compression method is supported. - - - - Gets a value indicating if the entry requires Zip64 extensions - to store the full entry values. - - A value of true if a local header requires Zip64 extensions; false if not. - - - - Get a value indicating wether the central directory entry requires Zip64 extensions to be stored. - - - - - Get/Set DosTime value. - - - The MS-DOS date format can only represent dates between 1/1/1980 and 12/31/2107. - - - - - Gets/Sets the time of last modification of the entry. - - - The property is updated to match this as far as possible. - - - - - Returns the entry name. - - - The unix naming convention is followed. - Path components in the entry should always separated by forward slashes ('/'). - Dos device names like C: should also be removed. - See the class, or - - - - - Gets/Sets the size of the uncompressed data. - - - The size or -1 if unknown. - - Setting the size before adding an entry to an archive can help - avoid compatability problems with some archivers which dont understand Zip64 extensions. - - - - Gets/Sets the size of the compressed data. - - - The compressed entry size or -1 if unknown. - - - - - Gets/Sets the crc of the uncompressed data. - - - Crc is not in the range 0..0xffffffffL - - - The crc value or -1 if unknown. - - - - - Gets/Sets the compression method. Only Deflated and Stored are supported. - - - The compression method for this entry - - - - - Gets/Sets the extra data. - - - Extra data is longer than 64KB (0xffff) bytes. - - - Extra data or null if not set. - - - - - Gets/Sets the entry comment. - - - If comment is longer than 0xffff. - - - The comment or null if not set. - - - A comment is only available for entries when read via the ZipFile class. - The class doesnt have the comment data available. - - - - - Gets a value indicating if the entry is a directory. - however. - - - A directory is determined by an entry name with a trailing slash '/'. - The external file attributes can also indicate an entry is for a directory. - Currently only dos/windows attributes are tested in this manner. - The trailing slash convention should always be followed. - - - - - Get a value of true if the entry appears to be a file; false otherwise - - - This only takes account of DOS/Windows attributes. Other operating systems are ignored. - For linux and others the result may be incorrect. - - - - - Tvdb Handler for handling all features that are available on http://thetvdb.com/ - - http://thetvdb.com/ is an open database that can be modified by anybody. All content and images on the site have been contributed by our users. The database schema and website are open source under the GPL, and are available at Sourceforge. - The site also has a full XML API that allows other software and websites to use this information. The API is currently being used by the myTV add-in for Windows Media Center, XBMC (formerly XBox Media Center); the meeTVshows and TVNight plugins for Meedio; the MP-TVSeries plugin for MediaPortal; Boxee; and many more. - - - - - Creates a new Tvdb handler - The tvdb handler is used not only for downloading data from thetvdb but also to cache the downloaded data to a persistent storage, - handle user specific tasks and keep the downloaded data consistent with the online data (via the updates api) - - The api key used for downloading data from thetvdb -> see http://thetvdb.com/wiki/index.php/Programmers_API - - - - Creates a new Tvdb handler - - The cache provider used to store the information - Api key to use for this project - - - - Load previously stored information on (except series information) from cache - - true if cache could be loaded successfully, false otherwise - - - - Completely refreshes the cache (all stored information is lost) -> cache - must be initialised to call this method - - true if the cache was cleared successfully, - false otherwise (e.g. no write rights,...) - - - - Search for a seris on tvdb using the name of the series using the default language (english) - - Name of series - List of possible hits (containing only very basic information (id, name,....) - - - - Search for a seris on tvdb using the name of the series - - Name of series - Language to search in - List of possible hits (containing only very basic information (id, name,....) - - - - Searches for a series by the id of an external provider - - external provider - id of the series - The tvdb series that corresponds to the external id - - - - Gets the series with the given id either from cache (if it has already been loaded) or from - the selected tvdb mirror. - - To check if this series has already been cached, use the Method IsCached(TvdbSeries _series) - - Tvdb is not available - The given api key is not valid - id of series - language that should be retrieved - if true, the full series record will be loaded (series + all episodes), otherwise only the base record will be loaded which contains only series information - if true also loads the extended actor information - if true also loads the paths to the banners - Instance of TvdbSeries containing all gained information - - - - Gets the series with the given id either from cache (if it has already been loaded) or from - the selected tvdb mirror. If this series is not already cached and the series has to be - downloaded, the zipped version will be downloaded - - To check if this series has already been cached, use the Method IsCached(TvdbSeries _series) - - Tvdb is not available - The given api key is not valid - id of series - language that should be retrieved - Instance of TvdbSeries containing all gained information - - - - Gets the series with the given id either from cache (if it has already been loaded) or from - the selected tvdb mirror. If you use zip the request automatically downloads the episodes, the actors and the banners, so you should also select those features. - - To check if this series has already been cached, use the Method IsCached(TvdbSeries _series) - - Tvdb is not available - The given api key is not valid - id of series - language abbriviation of the series that should be retrieved - if true, the full series record will be loaded (series + all episodes), otherwise only the base record will be loaded which contains only series information - if true also loads the paths to the banners - if true also loads the extended actor information - If this series is not already cached and the series has to be downloaded, the zipped version will be downloaded - Instance of TvdbSeries containing all gained information - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - The tvdb database is unavailable - - - - Gets the full series (including episode information and actors) with the given id either from cache - (if it has already been loaded) or from the selected tvdb mirror. - - To check if this series has already been cached, pleas use the Method IsCached(TvdbSeries _series) - - Tvdb is not available - The given api key is not valid - id of series - language that should be retrieved - if true also loads the paths to the banners - Instance of TvdbSeries containing all gained information - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - The tvdb database is unavailable - - - - Gets the basic series (without episode information and actors) with the given id either from cache - (if it has already been loaded) or from the selected tvdb mirror. - - To check if this series has already been cached, please use the Method IsCached(TvdbSeries _series) - - Tvdb is not available - The given api key is not valid - id of series - language that should be retrieved - if true also loads the paths to the banners - Instance of TvdbSeries containing all gained information - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - The tvdb database is unavailable - - - - Returns if the series is locally cached - - Id of the series - Language - Load Episodes - Load Actors - Load Banners - True if the series is cached in the given configuration - - - - Retrieve the episode with the given id in the given language. - - Note that the episode is always downloaded from thetvdb since it would - be practical to load each and every cached series to look for the - episode id - - id of the episode - languageof the episode - The retrieved episode - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The episode/series/banner couldn't be located on the tvdb server. - Exception is thrown when thetvdb isn't available. - - - - Retrieve the episode with the given parameters. This function will find - episodes that are already cached. - - id of the series - season number of the episode - number of the episode - language of the episode - The sorting order that should be user when downloading the episode - The retrieved episode - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The episode/series/banner couldn't be located on the tvdb server. - Exception is thrown when thetvdb isn't available. - - - - Retrieve the episode with the given parameters. - - id of the series - When did the episode air - language of the episode - The given api key is not valid - The retrieved episode - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The episode/series/banner couldn't be located on the tvdb server. - Exception is thrown when thetvdb isn't available. - - - - Get the series from cache - - Id of series - - - - - Update all the series (not using zip) with the updated information - - true if the update was successful, false otherwise - - - - Update all the series with the updated information - - download zipped file? - In order to update, the cache has to be initialised - true if the update was successful, false otherwise - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - Exception is thrown when thetvdb isn't available. - - - - Update all the series with the updated information - - download zipped file? - Specifies the interval of the update (day, week, month) - true if the update was successful, false otherwise - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - Exception is thrown when thetvdb isn't available. - In order to update, the cache has to be initialised - - - - Update all the series with the updated information - - download zipped file? - Specifies the interval of the update (day, week, month) - If yes, will reload all series that haven't been updated longer than the update period (which means - that only a reload can guarantee that the data is up to date. Should only be used when the data hasn't - been updated for over a month (otherwise use monthly updates) - true if the update was successful, false otherwise - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The stored api key is invalid - Exception is thrown when thetvdb isn't available. - In order to update, the cache has to be initialised - - - - Gets the date of the last (successfull) update from thetvdb - - Date of last update or null if no previous update or cache not initialised - - - - Aborts the currently running Update - - if true, all changes that have already been - made will be saved to cache, if not they will be discarded - - - - Make the update - - interval of update - zipped downloading yes/no - true if successful, false otherwise - - - - Update the series with the banner - - - - true, if the banner was updated successfully, false otherwise - - - - Update the series with the episode (Add it to the series if it doesn't already exist or update the episode if the current episode is older than the updated one) - - Series of the updating episode - Episode that is updated - Progress of the update run - Description of the current update - true if episode has been updated, false if not (e.g. timestamp of updated episode older than - timestamp of existing episode - - - - Download the new series and update the information - - Series to update - When was the last update made - The progress done until now - true if the series has been upated false if not - - - - Reloads all language definitions from tvdb - - true if successful, false otherwise - - - - Closes the cache provider (should be called before exiting the application) - - - - - Returns all series id's that are already cached in memory or locally via the cacheprovider - - List of loaded series - - - - Forces a complete reload of the series. All information that has already been loaded (including loaded images!) will be deleted and reloaded from tvdb -> if you only want to update the series, use the "MakeUpdate" method - - Series to reload - The new TvdbSeries object - - - - Forces a complete reload of the series. All information that has already been loaded will be deleted and reloaded from tvdb -> if you only want to update the series, use the "MakeUpdate" method - - Series to reload - If yes, also deletes previously loaded images - The new TvdbSeries object - - - - Forces a complete reload of the series. All information that has already been loaded (including loaded images!) will be deleted and reloaded from tvdb -> if you only want to update the series, use the "MakeUpdate" method - - Series to update - Should episodes be loaded as well - Should actors be loaded as well - Should banners be loaded as well - The new TvdbSeries object - - - - Forces a complete reload of the series. All information that has already been loaded will be deleted and reloaded from tvdb -> if you only want to update the series, use the "MakeUpdate" method - - Series to update - Should episodes be loaded as well - Should actors be loaded as well - Should banners be loaded as well - If yes, also deletes previously loaded images - The new TvdbSeries object - - - - Gets the preferred language of the user - - user information has to be set, otherwise TvdbUserNotFoundException is thrown - - preferred language of user - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - The tvdb database is unavailable - - - - Check if series is in the list of favorites - - - - - - - - Gets a list of IDs of the favorite series of the user - - id list of favorite series - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - The tvdb database is unavailable - - - - Get the favorite series of the user (only basic series information will be loaded) - - Which language should be used - List of favorite series - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - The tvdb database is unavailable - - - - Adds the series id to the users list of favorites and returns the new list of - favorites - - series to add to the favorites - new list with all favorites - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - The tvdb database is unavailable - - - - Adds the series to the users list of favorites and returns the new list of - favorites - - series to add to the favorites - new list with all favorites - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - The tvdb database is unavailable - - - - Removes the series id from the users list of favorites and returns the new list of - favorites - - series to remove from the favorites - new list with all favorites - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - The tvdb database is unavailable - - - - Removes the series from the users list of favorites and returns the new list of - favorites - - series to remove from the favorites - new list with all favorites - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - The tvdb database is unavailable - - - - Rate the given series - - series id - The rating we want to give for this series - Current rating of the series - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - Exception is thrown when thetvdb isn't available. - - - - Rate the given episode - - Episode Id - Rating we want to give for episode - Current rating of episode - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - Exception is thrown when thetvdb isn't available. - - - - Gets all series this user has already ratet - - Thrown when no user is set - A list of all rated series - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - Exception is thrown when thetvdb isn't available. - - - - Gets all series this user has already ratet - - Id of series - Thrown when no user is set - A list of all ratings for the series - Exception is thrown when there was an error parsing the xml files. - Feel free to post a detailed description of this issue on http://code.google.com/p/tvdblib - or http://forums.thetvdb.com/ - The user doesn't exist - Exception is thrown when thetvdb isn't available. - - - - Called whenever an running update makes any progress - - - - - Called when a running update finishes, UpdateFinishedEventArgs gives an overview - of the update - - - - - UserInfo for this tvdb handler - - - - - Unique id for every project that is using thetvdb - - More information on: http://thetvdb.com/wiki/index.php/Programmers_API - - - - - Is the handler using caching and is the cache initialised - - - - - Returns list of all available Languages on tvdb - - list of available languages - - - - Are the language definitions already cached - - - - - EventArgs used when a running update progresses, contains information on the - current stage and progress - - - - - Constructor for UpdateProgressEventArgs - - The current state of the updating progress - Description of the current update stage - Progress of the current stage - Overall progress of the update - - - - Current state of update progress - - - - - Description of the current update stage - - - - - Progress of the current stage - - - - - Overall progress of the update - - - - - The current state of the updating progress - - - - - we're currently downloading the update files from http://thetvdb.com - - - - - we're currently processing the updated series - - - - - we're currently processing the updated episodes - - - - - we're currently processing the updated banner - - - - - the updating itself has finished, do cleanup work - - - - - EventArgs used when an update has finished, contains start date, end date and - an overview of all updated content - - - - - Constructor for UpdateFinishedEventArgs - - When did the update start - When did the update finish - List of all series (ids) that were updated - List of all episode (ids)that were updated - List of all banners (ids) that were updated - - - - When did the update start - - - - - When did the update finish - - - - - List of all series (ids) that were updated - - - - - List of all episode (ids)that were updated - - - - - List of all banners (ids) that were updated - - - - - Delegate for UpdateProgressed Event - - EventArgs - - - - Delegate for UpdateFinished event - - EventArgs - - - - Baseclass for a tvdb language - - - - - The default language (which is English) - Id: 7 - Abbriviation: en - Name: English - - - - - - language valid for all available languages - Id: 7 - Abbriviation: en - Name: English - - - - - - TvdbLanguage constructor - - - - - TvdbLanguage constructor - - Id of language - Name of language (e.g. English) - Abbriviation of language (e.g. en) - - - - Returns String that describes the language in the format "Name (Abbriviation)" - - String representing this object (e.g. "English (en)") - - - - Overrides the equals Method to ensure a valid comparison of two language objects. The - comparison currently matches abbriviation only. - - object to compare with - True if the two language objects are the same, false otherwise - - - - Returns a hash code of the object - - Hash code - - - - Overrides the equality operator to ensure a valid comparison of two language objects. The - comparison currently matches abbriviation only. - - First language object - Second language object - True if the two language objects are the same, false otherwise - - - - Overrides the inequality operator to ensure a valid comparison of two language objects. The - comparison currently matches abbriviation only. - - First language object - Second language object - True if the two language objects are the same, false otherwise - - - - Id of the language - - - - - Abbriviation of the series - - - - - Name of the series - - - - - Holds data pertinent to a data descriptor. - - - - - Get /set the compressed size of data. - - - - - Get / set the uncompressed size of data - - - - - Get /set the crc value. - - - - - This class assists with writing/reading from Zip files. - - - - - Initialise an instance of this class. - - The name of the file to open. - - - - Initialise a new instance of . - - The stream to use. - - - - Close the stream. - - - The underlying stream is closed only if is true. - - - - - Locates a block with the desired . - - The signature to find. - Location, marking the end of block. - Minimum size of the block. - The maximum variable data. - Eeturns the offset of the first byte after the signature; -1 if not found - - - - Write Zip64 end of central directory records (File header and locator). - - The number of entries in the central directory. - The size of entries in the central directory. - The offset of the dentral directory. - - - - Write the required records to end the central directory. - - The number of entries in the directory. - The size of the entries in the directory. - The start of the central directory. - The archive comment. (This can be null). - - - - Read an unsigned short in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Read an int in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Read a long in little endian byte order. - - The value read. - - - - Write an unsigned short in little endian byte order. - - The value to write. - - - - Write a ushort in little endian byte order. - - The value to write. - - - - Write an int in little endian byte order. - - The value to write. - - - - Write a uint in little endian byte order. - - The value to write. - - - - Write a long in little endian byte order. - - The value to write. - - - - Write a ulong in little endian byte order. - - The value to write. - - - - Write a data descriptor. - - The entry to write a descriptor for. - Returns the number of descriptor bytes written. - - - - Read data descriptor at the end of compressed data. - - if set to true [zip64]. - The data to fill in. - Returns the number of bytes read in the descriptor. - - - - Get / set a value indicating wether the the underlying stream is owned or not. - - If the stream is owned it is closed when this instance is closed. - - - - Exception that is thrown when a nonexistent content is requested - - - - - TvdbInvalidAPIKeyException constructor - - Message - - - - TvdbInvalidAPIKeyException constructor - - - - - XmlCacheProvider stores all the information that have been retrieved from http://thetvdb.com as human-readable xml files on the hard disk - - - - - Constructor for XmlCacheProvider - - This is the folder on the disk where all the information are stored - - - - Properly describe the CacheProvider for neat-reasons - - String describing the cache provider - - - - Initialises the cache, should do the following things - - initialise connections used for this cache provider (db connections, network shares,...) - - create folder structure / db tables / ... if they are not created already - - if this is the first time the cache has been initialised (built), mark last_updated with the - current date - - TvdbData object - - - - Closes the cache (e.g. close open connection, etc.) - - true if successful, false otherwise - - - - Saves cache settings - - settings - - - - Save the language to cache - - List of languages that are available on http://thetvdb.com - - - - Save the mirror info to cache - - Mirrors - - - - Saves the series to cache - - The series to save - - - - Loads the settings data from cache - - The loaded TvdbData object - - - - Loads the available languages from cache - - List of available languages - - - - Load the available mirrors from cache - - List of mirrors - - - - Loads all series from cache - - A list of TvdbSeries objects from cache or null - - - - Load the give series from cache - - Id of the series to load - Series that has been loaded or null if series doesn't exist - - - - Load user info from cache - - Id of the user - TvdbUser object or null if the user couldn't be loaded - - - - Saves the user data to cache - - TvdbUser object - - - - Receives a list of all series that have been cached - - A list of series that have been already stored with this cache provider - - - - Check if the series is cached in the given configuration - - Id of the series - Language of the series - are episodes loaded - are banners loaded - are actors loaded - true if the series is cached, false otherwise - - - - Completely refreshes the cache (all stored information is lost) - - true if the cache was cleared successfully, - false otherwise (e.g. no write rights,...) - - - - Remove a specific series from cache - - the id of the series - true if the series was removed from the cache successfully, - false otherwise (e.g. series not cached) - - - - Save the given image to cache - - banner to save - id of series - filename (will be the same name used by LoadImageFromCache) - - - - Loads the specified image from the cache - - series id - filename of the image (same one as used by SaveToCache) - The loaded image or null if the image wasn't found - - - - Removes the specified image from cache (if it has been cached) - - id of series - name of image - true if image was removed successfully, false otherwise (e.g. image didn't exist) - - - - Is the cache provider initialised - - - - - Baseclass for a tvdb mirror. A mirror is defined in the tvdb xml by: - - - - 1 - http://thetvdb.com - 7 - - - ]]> - - - - - TvdbMirror constructor - - - - - TvdbMirror constructor - - Id of the mirror - Url to the mirror - Typemask of the mirror, see property "TypeMask" - - - - Id of the mirror - - - - - The value of typemask is the sum of whichever file types that mirror holds: - 1 xml files - 2 banner files - 4 zip files - So, a mirror that has a typemask of 5 would hold XML and ZIP files, but no banner files. - - - - - Returns true if the mirror offers images for downloading, false otherwise - - - - - Returns true if the mirror offers xml files for downloading, false otherwise - - - - - Returns true if the mirror offers zipped downloads, false otherwise - - - - - Path to the mirror - - - - - ID's of external sites - - - - - Id for the popular movie/tv site www.imdb.com - - - - - Update interval - - - - - updated content since the last day - - - - - updated content since the last week - - - - - updated content since the last month - - - - - the interval is determined automatically - - - - - Parses an integer string and returns the number or -99 if the format - is invalid - - - - - - - Parses an double string and returns the number or -99 if the format - is invalid - - - - - - - Splits a tvdb string (having the format | item1 | item2 | item3 |) - - - - - - - Parse the short description of a tvdb language and returns the proper - object. If no such language exists yet (maybe the list of available - languages hasn't been downloaded yet), a placeholder is created - - - - - - - Converts a unix timestamp (used on tvdb) into a .net datetime object - - Timestamp to convert - .net DateTime object - - - - Converts a .net datetime object into a unix timestamp (used on tvdb) - - Date to convert - Unix timestamp - - - - returns a day of the week object parsed from the string - - String representation of this day of the week - .net DayOfWeek enum - - - - Returns a List of colors parsed from the _text - - - - - - - Returns a point objects parsed from _text - - - - - - - Parse a boolean value from thetvdb xml files - - Boolean value to parse - - - - - - - - - - - - Returns the fitting SeriesBanner type from parameter - - - - - - - Add the episode to the series - - - - - - - Parse a datetime value from thetvdb - - The date string that needs parsing - DateTime object of the parsed date - - - - Tries to find an episode by a given id from a list of episodes - - Id of the episode we're looking for - List of episodes - The first found TvdbEpisode object or null if nothing was found - - - - Tries to find a series by a given id from a list of series - - Id of the series we're looking for - List of series objects - The first found TvdbSeries object or null if nothing was found - - - - List of available languages -> needed for some methods - - - - - Type when handling user favorites - - - - - SharpZipBaseException is the base exception class for the SharpZipLibrary. - All library exceptions are derived from this. - - NOTE: Not all exceptions thrown will be derived from this class. - A variety of other exceptions are possible for example - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initializes a new instance of the SharpZipBaseException class. - - - - - Initializes a new instance of the SharpZipBaseException class with a specified error message. - - A message describing the exception. - - - - Initializes a new instance of the SharpZipBaseException class with a specified - error message and a reference to the inner exception that is the cause of this exception. - - A message describing the exception. - The inner exception - - - - Computes Adler32 checksum for a stream of data. An Adler32 - checksum is not as reliable as a CRC32 checksum, but a lot faster to - compute. - - The specification for Adler32 may be found in RFC 1950. - ZLIB Compressed Data Format Specification version 3.3) - - - From that document: - - "ADLER32 (Adler-32 checksum) - This contains a checksum value of the uncompressed data - (excluding any dictionary data) computed according to Adler-32 - algorithm. This algorithm is a 32-bit extension and improvement - of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 - standard. - - Adler-32 is composed of two sums accumulated per byte: s1 is - the sum of all bytes, s2 is the sum of all s1 values. Both sums - are done modulo 65521. s1 is initialized to 1, s2 to zero. The - Adler-32 checksum is stored as s2*65536 + s1 in most- - significant-byte first (network) order." - - "8.2. The Adler-32 algorithm - - The Adler-32 algorithm is much faster than the CRC32 algorithm yet - still provides an extremely low probability of undetected errors. - - The modulo on unsigned long accumulators can be delayed for 5552 - bytes, so the modulo operation time is negligible. If the bytes - are a, b, c, the second sum is 3a + 2b + c + 3, and so is position - and order sensitive, unlike the first sum, which is just a - checksum. That 65521 is prime is important to avoid a possible - large class of two-byte errors that leave the check unchanged. - (The Fletcher checksum uses 255, which is not prime and which also - makes the Fletcher check insensitive to single byte changes 0 - - 255.) - - The sum s1 is initialized to 1 instead of zero to make the length - of the sequence part of s2, so that the length does not have to be - checked separately. (Any sequence of zeroes has a Fletcher - checksum of zero.)" - - - - - largest prime smaller than 65536 - - - - - Creates a new instance of the Adler32 class. - The checksum starts off with a value of 1. - - - - - Resets the Adler32 checksum to the initial value. - - - - - Updates the checksum with a byte value. - - - The data value to add. The high byte of the int is ignored. - - - - - Updates the checksum with an array of bytes. - - - The source of the data to update with. - - - - - Updates the checksum with the bytes taken from the array. - - - an array of bytes - - - the start of the data used for this update - - - the number of bytes to use for this update - - - - - Returns the Adler32 data checksum computed so far. - - - - - Season bannners for each season of a series come in poster format (400 x 578) and wide format(758 x 140) - - Wide format: http://thetvdb.com/wiki/index.php/Wide_Season_Banners - - Poster format: http://thetvdb.com/wiki/index.php/Season_Banners - - - - - Season of the banner - - - - - Type of the banner - - - - - Type of the season banner - - - - - Season banner (poster format) - - - - - Wide season banner (banner format) - - - - - no format specified - - - - - ExtraData tagged value interface. - - - - - Set the contents of this instance from the data passed. - - The data to extract contents from. - The offset to begin extracting data from. - The number of bytes to extract. - - - - Get the data representing this instance. - - Returns the data for this instance. - - - - Get the ID for this tagged data value. - - - - - A raw binary tagged value - - - - - Initialise a new instance. - - The tag ID. - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - The tag ID for this instance. - - - - - Get the ID for this tagged data value. - - - - - Get /set the binary data representing this instance. - - The raw binary data representing this instance. - - - - Class representing extended unix date time values. - - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - Test a value to see if is valid and can be represented here. - - The value to test. - Returns true if the value is valid and can be represented; false if not. - The standard Unix time is a signed integer data type, directly encoding the Unix time number, - which is the number of seconds since 1970-01-01. - Being 32 bits means the values here cover a range of about 136 years. - The minimum representable time is 1901-12-13 20:45:52, - and the maximum representable time is 2038-01-19 03:14:07. - - - - - Get the ID - - - - - Get /set the Modification Time - - - - - - - Get / set the Access Time - - - - - - - Get / Set the Create Time - - - - - - - Get/set the values to include. - - - - - Flags indicate which values are included in this instance. - - - - - The modification time is included - - - - - The access time is included - - - - - The create time is included. - - - - - Class handling NT date time values. - - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - Test a valuie to see if is valid and can be represented here. - - The value to test. - Returns true if the value is valid and can be represented; false if not. - - NTFS filetimes are 64-bit unsigned integers, stored in Intel - (least significant byte first) byte order. They determine the - number of 1.0E-07 seconds (1/10th microseconds!) past WinNT "epoch", - which is "01-Jan-1601 00:00:00 UTC". 28 May 60056 is the upper limit - - - - - Get the ID for this tagged data value. - - - - - Get/set the last modification time. - - - - - Get /set the create time - - - - - Get /set the last access time. - - - - - A factory that creates tagged data instances. - - - - - Get data for a specific tag value. - - The tag ID to find. - The data to search. - The offset to begin extracting data from. - The number of bytes to extract. - The located value found, or null if not found. - - - - - A class to handle the extra data field for Zip entries - - - Extra data contains 0 or more values each prefixed by a header tag and length. - They contain zero or more bytes of actual data. - The data is held internally using a copy on write strategy. This is more efficient but - means that for extra data created by passing in data can have the values modified by the caller - in some circumstances. - - - - - Initialise a default instance. - - - - - Initialise with known extra data. - - The extra data. - - - - Get the raw extra data value - - Returns the raw byte[] extra data this instance represents. - - - - Clear the stored data. - - - - - Get a read-only for the associated tag. - - The tag to locate data for. - Returns a containing tag data or null if no tag was found. - - - - Get the tagged data for a tag. - - The tag to search for. - Returns a tagged value or null if none found. - - - - Find an extra data value - - The identifier for the value to find. - Returns true if the value was found; false otherwise. - - - - Add a new entry to extra data. - - The value to add. - - - - Add a new entry to extra data - - The ID for this entry. - The data to add. - If the ID already exists its contents are replaced. - - - - Start adding a new entry. - - Add data using , , , or . - The new entry is completed and actually added by calling - - - - - Add entry data added since using the ID passed. - - The identifier to use for this entry. - - - - Add a byte of data to the pending new entry. - - The byte to add. - - - - - Add data to a pending new entry. - - The data to add. - - - - - Add a short value in little endian order to the pending new entry. - - The data to add. - - - - - Add an integer value in little endian order to the pending new entry. - - The data to add. - - - - - Add a long value in little endian order to the pending new entry. - - The data to add. - - - - - Delete an extra data field. - - The identifier of the field to delete. - Returns true if the field was found and deleted. - - - - Read a long in little endian form from the last found data value - - Returns the long value read. - - - - Read an integer in little endian form from the last found data value. - - Returns the integer read. - - - - Read a short value in little endian form from the last found data value. - - Returns the short value read. - - - - Read a byte from an extra data - - The byte value read or -1 if the end of data has been reached. - - - - Skip data during reading. - - The number of bytes to skip. - - - - Internal form of that reads data at any location. - - Returns the short value read. - - - - Dispose of this instance. - - - - - Gets the current extra data length. - - - - - Get the length of the last value found by - - This is only valid if has previously returned true. - - - - Get the index for the current read value. - - This is only valid if has previously returned true. - Initially the result will be the index of the first byte of actual data. The value is updated after calls to - , and . - - - - Get the number of bytes remaining to be read for the current value; - - - - - A special stream deflating or compressing the bytes that are - written to it. It uses a Deflater to perform actual deflating.
- Authors of the original java version : Tom Tromey, Jochen Hoenicke -
-
- - - Creates a new DeflaterOutputStream with a default Deflater and default buffer size. - - - the output stream where deflated output should be written. - - - - - Creates a new DeflaterOutputStream with the given Deflater and - default buffer size. - - - the output stream where deflated output should be written. - - - the underlying deflater. - - - - - Creates a new DeflaterOutputStream with the given Deflater and - buffer size. - - - The output stream where deflated output is written. - - - The underlying deflater to use - - - The buffer size to use when deflating - - - bufsize is less than or equal to zero. - - - baseOutputStream does not support writing - - - deflater instance is null - - - - - Finishes the stream by calling finish() on the deflater. - - - Not all input is deflated - - - - - Encrypt a block of data - - - Data to encrypt. NOTE the original contents of the buffer are lost - - - Offset of first byte in buffer to encrypt - - - Number of bytes in buffer to encrypt - - - - - Initializes encryption keys based on given . - - The password. - - - - Deflates everything in the input buffers. This will call - def.deflate() until all bytes from the input buffers - are processed. - - - - - Sets the current position of this stream to the given value. Not supported by this class! - - The offset relative to the to seek. - The to seek from. - The new position in the stream. - Any access - - - - Sets the length of this stream to the given value. Not supported by this class! - - The new stream length. - Any access - - - - Read a byte from stream advancing position by one - - The byte read cast to an int. THe value is -1 if at the end of the stream. - Any access - - - - Read a block of bytes from stream - - The buffer to store read data in. - The offset to start storing at. - The maximum number of bytes to read. - The actual number of bytes read. Zero if end of stream is detected. - Any access - - - - Asynchronous reads are not supported a NotSupportedException is always thrown - - The buffer to read into. - The offset to start storing data at. - The number of bytes to read - The async callback to use. - The state to use. - Returns an - Any access - - - - Asynchronous writes arent supported, a NotSupportedException is always thrown - - The buffer to write. - The offset to begin writing at. - The number of bytes to write. - The to use. - The state object. - Returns an IAsyncResult. - Any access - - - - Flushes the stream by calling Flush on the deflater and then - on the underlying stream. This ensures that all bytes are flushed. - - - - - Calls and closes the underlying - stream when is true. - - - - - Writes a single byte to the compressed output stream. - - - The byte value. - - - - - Writes bytes from an array to the compressed stream. - - - The byte array - - - The offset into the byte array where to start. - - - The number of bytes to write. - - - - - This buffer is used temporarily to retrieve the bytes from the - deflater and write them to the underlying output stream. - - - - - The deflater which is used to deflate the stream. - - - - - Base stream the deflater depends on. - - - - - Get/set flag indicating ownership of the underlying stream. - When the flag is true will close the underlying stream also. - - - - - Allows client to determine if an entry can be patched after its added - - - - - Get/set the password used for encryption. - - When set to null or if the password is empty no encryption is performed - - - - Gets value indicating stream can be read from - - - - - Gets a value indicating if seeking is supported for this stream - This property always returns false - - - - - Get value indicating if this stream supports writing - - - - - Get current length of stream - - - - - Gets the current position within the stream. - - Any attempt to set position - - - - This class stores the pending output of the Deflater. - - author of the original java version : Jochen Hoenicke - - - - - This class is general purpose class for writing data to a buffer. - - It allows you to write bits as well as bytes - Based on DeflaterPending.java - - author of the original java version : Jochen Hoenicke - - - - - Internal work buffer - - - - - construct instance using default buffer size of 4096 - - - - - construct instance using specified buffer size - - - size to use for internal buffer - - - - - Clear internal state/buffers - - - - - Write a byte to buffer - - - The value to write - - - - - Write a short value to buffer LSB first - - - The value to write. - - - - - write an integer LSB first - - The value to write. - - - - Write a block of data to buffer - - data to write - offset of first byte to write - number of bytes to write - - - - Align internal buffer on a byte boundary - - - - - Write bits to internal buffer - - source of bits - number of bits to write - - - - Write a short value to internal buffer most significant byte first - - value to write - - - - Flushes the pending buffer into the given output array. If the - output array is to small, only a partial flush is done. - - The output array. - The offset into output array. - The maximum number of bytes to store. - The number of bytes flushed. - - - - Convert internal buffer to byte array. - Buffer is empty on completion - - - The internal buffer contents converted to a byte array. - - - - - The number of bits written to the buffer - - - - - Indicates if buffer has been flushed - - - - - Construct instance with default buffer size - - - - - Exception thrown when a request is made which requires a valid - api key but none is set - - - - - TvdbInvalidAPIKeyException constructor - - Message - - - - TvdbInvalidAPIKeyException constructor - - - - - PkzipClassic embodies the classic or original encryption facilities used in Pkzip archives. - While it has been superceded by more recent and more powerful algorithms, its still in use and - is viable for preventing casual snooping - - - - - Generates new encryption keys based on given seed - - The seed value to initialise keys with. - A new key value. - - - - PkzipClassicCryptoBase provides the low level facilities for encryption - and decryption using the PkzipClassic algorithm. - - - - - Transform a single byte - - - The transformed value - - - - - Set the key schedule for encryption/decryption. - - The data use to set the keys from. - - - - Update encryption keys - - - - - Reset the internal state. - - - - - PkzipClassic CryptoTransform for encryption. - - - - - Initialise a new instance of - - The key block to use. - - - - Transforms the specified region of the specified byte array. - - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - - Transforms the specified region of the input byte array and copies - the resulting transform to the specified region of the output byte array. - - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - - Cleanup internal state. - - - - - Gets a value indicating whether the current transform can be reused. - - - - - Gets the size of the input data blocks in bytes. - - - - - Gets the size of the output data blocks in bytes. - - - - - Gets a value indicating whether multiple blocks can be transformed. - - - - - PkzipClassic CryptoTransform for decryption. - - - - - Initialise a new instance of . - - The key block to decrypt with. - - - - Transforms the specified region of the specified byte array. - - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - - Transforms the specified region of the input byte array and copies - the resulting transform to the specified region of the output byte array. - - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - - Cleanup internal state. - - - - - Gets a value indicating whether the current transform can be reused. - - - - - Gets the size of the input data blocks in bytes. - - - - - Gets the size of the output data blocks in bytes. - - - - - Gets a value indicating whether multiple blocks can be transformed. - - - - - Defines a wrapper object to access the Pkzip algorithm. - This class cannot be inherited. - - - - - Generate an initial vector. - - - - - Generate a new random key. - - - - - Create an encryptor. - - The key to use for this encryptor. - Initialisation vector for the new encryptor. - Returns a new PkzipClassic encryptor - - - - Create a decryptor. - - Keys to use for this new decryptor. - Initialisation vector for the new decryptor. - Returns a new decryptor. - - - - Get / set the applicable block size in bits. - - The only valid block size is 8. - - - - Get an array of legal key sizes. - - - - - Get an array of legal block sizes. - - - - - Get / set the key value applicable. - - - - - This class allows us to retrieve a specified number of bits from - the input buffer, as well as copy big byte blocks. - - It uses an int buffer to store up to 31 bits for direct - manipulation. This guarantees that we can get at least 16 bits, - but we only need at most 15, so this is all safe. - - There are some optimizations in this class, for example, you must - never peek more than 8 bits more than needed, and you must first - peek bits before you may drop them. This is not a general purpose - class but optimized for the behaviour of the Inflater. - - authors of the original java version : John Leuner, Jochen Hoenicke - - - - - Constructs a default StreamManipulator with all buffers empty - - - - - Get the next sequence of bits but don't increase input pointer. bitCount must be - less or equal 16 and if this call succeeds, you must drop - at least n - 8 bits in the next call. - - The number of bits to peek. - - the value of the bits, or -1 if not enough bits available. */ - - - - - Drops the next n bits from the input. You should have called PeekBits - with a bigger or equal n before, to make sure that enough bits are in - the bit buffer. - - The number of bits to drop. - - - - Gets the next n bits and increases input pointer. This is equivalent - to followed by , except for correct error handling. - - The number of bits to retrieve. - - the value of the bits, or -1 if not enough bits available. - - - - - Skips to the next byte boundary. - - - - - Copies bytes from input buffer to output buffer starting - at output[offset]. You have to make sure, that the buffer is - byte aligned. If not enough bytes are available, copies fewer - bytes. - - - The buffer to copy bytes to. - - - The offset in the buffer at which copying starts - - - The length to copy, 0 is allowed. - - - The number of bytes copied, 0 if no bytes were available. - - - Length is less than zero - - - Bit buffer isnt byte aligned - - - - - Resets state and empties internal buffers - - - - - Add more input for consumption. - Only call when IsNeedingInput returns true - - data to be input - offset of first byte of input - number of bytes of input to add. - - - - Gets the number of bits available in the bit buffer. This must be - only called when a previous PeekBits() returned -1. - - - the number of bits available. - - - - - Gets the number of bytes available. - - - The number of bytes available. - - - - - Returns true when SetInput can be called - - - - - Class that holds all user information - - - - - TvdbUser constructor - - Name of the user, can be choosen freely - User identifier from http://thetvdb.com - - - - TvdbUser constructor - - - - - Preferred language of the user - - - - - This is the unique identifier assigned to every user. They can access this value by visiting the account settings page on the site. This is a 16 character alphanumeric string, but you should program your applications to handle id strings up to 32 characters in length. - - - - - Username - - - - - List of user favorites - - - - - Description of TvdbInvalidXmlException. - - - - - TvdbInvalidXmlException constructor - - Message - - - - TvdbInvalidXmlException constructor - - Message - Inner Exception - - - - TvdbInvalidXmlException constructor - - - - - Series class holds all the info that can be retrieved from http://thetvdb.com.
-
- Those are as follows:
-
- - Base information:
- - - 73739 - |Malcolm David Kelley|Jorge Garcia|Maggie Grace|...| - Thursday - 9:00 PM - TV-14 - 2004-09-22 - |Action and Adventure|Drama|Science-Fiction| - tt0411008 - en - ABC - After Oceanic Air flight 815... - 8.9 - 60 - 24313 - Lost - Continuing - graphical/24313-g2.jpg - fanart/original/73739-1.jpg - 1205694666 - SH672362 - - - - Banner information
- - Episode information
- - Extended actor information
-
- Each of those can be downloaded seperately. If the information is downloaded as - zipped file, everything is downloaded at once -
-
- - - Basic constructor for the TvdbSeries class - - - - - Create a series object with all the information contained in the TvdbSeriesFields object - - - - - - Add a new language to the series - - - - - - Set the language of the series to one of the languages that have - already been loaded - - The new language for this series - true if success, false otherwise - - - - Set the language of the series to one of the languages that have - already been loaded - - The new language abbriviation for this series - true if success, false otherwise - - - - Get all languages that have already been loaded for this series - - List of all translations that are loaded for this series - - - - Return a list of episodes for the given season - - Season for which episodes should be returned - List of episodes for the given season - - - - returns SeriesName (SeriesId) - - String representing this series - - - - Uptdate the info of the current series with the updated one - - TvdbSeries object - - - - Get all available Translations - - - - - Is the series a favorite - - - - - Returns the genre string in the format | genre1 | genre2 | genre3 | - - - - - Formatted String of actors that appear during this episode in the - format | actor1 | actor2 | actor3 | - - - - - returns a list of all banners for this series - - - - - Is the banner info loaded - - - - - returns a list of all series banners for this series - - - - - Returns a list of all season banners for this series - - - - - Returns a list of all season banners for this series - - - - - Returns a list of all fanart banners for this series - - - - - How many Season does the series have - - - - - List of loaded tvdb actors - - - - - Is the actor info loaded - - - - - Represents exception conditions specific to Zip archive handling - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initializes a new instance of the ZipException class. - - - - - Initializes a new instance of the ZipException class with a specified error message. - - The error message that explains the reason for the exception. - - - - Initialise a new instance of ZipException. - - A message describing the error. - The exception that is the cause of the current exception. - - - - Strategies for deflater - - - - - The default strategy - - - - - This strategy will only allow longer string repetitions. It is - useful for random data with a small character set. - - - - - This strategy will not look for string repetitions at all. It - only encodes with Huffman trees (which means, that more common - characters get a smaller encoding. - - - - - Low level compression engine for deflate algorithm which uses a 32K sliding window - with secondary compression from Huffman/Shannon-Fano codes. - - - - - Construct instance with pending buffer - - - Pending buffer to use - > - - - - Deflate drives actual compression of data - - True to flush input buffers - Finish deflation with the current input. - Returns true if progress has been made. - - - - Sets input data to be deflated. Should only be called when NeedsInput() - returns true - - The buffer containing input data. - The offset of the first byte of data. - The number of bytes of data to use as input. - - - - Determines if more input is needed. - - Return true if input is needed via SetInput - - - - Set compression dictionary - - The buffer containing the dictionary data - The offset in the buffer for the first byte of data - The length of the dictionary data. - - - - Reset internal state - - - - - Reset Adler checksum - - - - - Set the deflate level (0-9) - - The value to set the level to. - - - - Fill the window - - - - - Inserts the current string in the head hash and returns the previous - value for this hash. - - The previous hash value - - - - Find the best (longest) string in the window matching the - string starting at strstart. - - Preconditions: - - strstart + MAX_MATCH <= window.length. - - - True if a match greater than the minimum length is found - - - - Hashtable, hashing three characters to an index for window, so - that window[index]..window[index+2] have this hash code. - Note that the array should really be unsigned short, so you need - to and the values with 0xffff. - - - - - prev[index & WMASK] points to the previous index that has the - same hash code as the string starting at index. This way - entries with the same hash code are in a linked list. - Note that the array should really be unsigned short, so you need - to and the values with 0xffff. - - - - - Points to the current character in the window. - - - - - lookahead is the number of characters starting at strstart in - window that are valid. - So window[strstart] until window[strstart+lookahead-1] are valid - characters. - - - - - This array contains the part of the uncompressed stream that - is of relevance. The current character is indexed by strstart. - - - - - The current compression function. - - - - - The input data for compression. - - - - - The total bytes of input read. - - - - - The offset into inputBuf, where input data starts. - - - - - The end offset of the input data. - - - - - The adler checksum - - - - - Get current value of Adler checksum - - - - - Total data processed - - - - - Get/set the deflate strategy - - - - - Exception thrown when no user has been found - - - - - TvdbUserNotFoundException constructor - - Message - - - - Information on server structure and mirrors of tvdb - - /api// - |---- mirrors.xml - |---- languages.xml - | - |---- series/ - | |---- / - | |---- .xml (Base Series Record) - | |---- banners.xml (All banners related to this series) - | | - | |---- all/ - | | |---- .xml (Full Series Record) - | | |---- .zip (Zipped version of Full Series Record and banners.xml) - | | - | |---- default/ (sorts using the default ordering method) - | | |---- // - | | |---- .xml (Base Episode Record) - | | - | |---- dvd/ (sorts using the dvd ordering method) - | | |---- // - | | |---- .xml (Base Episode Record) - | | - | |---- absolute/ (sorts using the absolute ordering method) - | |---- / - | |---- .xml (Base Episode Record) - | - |---- episodes - | |---- / (will return en.xml by default) - | |---- .xml (Base Episode Record) - | - |---- (updates) - |---- s.xml - |---- updates_.zip - ]]> - - - - - Base server where all operations start - - - - - Path of file where we get the available languages - - - - - Creates link which (depending on params) gets user favorites, adds a series to user - favorites or removes a series from the favorite lis - - - - - Link - - - - Creates link which only retrieves the user favourites - - - Link - - - - Create link to get actor info - - series id - api key - Link - - - - create a link to all series rated by the user - - api key - user identifier - Link - - - - create a link to all items rated by the user for this series - - api key - user identifier - id of the series - Link - - - - - Class representing the result of a tvdb name query -> for further information - visit http://thetvdb.com/wiki/index.php/API:GetSeries - - - - - TvdbSearchResult constructor - - - - - TvdbSearchResult constructor - - Id of series - - - - Id of the returned series - - - - - Name of the returned series - - - - - When was the returned series aired first - - - - - Language of the returned series - - - - - Overview of the returned series - - - - - Banner of the returned series - - - - - Imdb id of the returned series - - - - - Represents a rating entry from thetvdb - - - - - Which item type is this rating for - - - - - Community Rating is a double value from 0 to 10 and is the mean value of all user ratings for this item - - - - - The rating from this user - - - - - Enum with all items on thetvdb that can be rated - - - - - Item is a series - - - - - Item is an episode - - - - - Determines how entries are tested to see if they should use Zip64 extensions or not. - - - - - Zip64 will not be forced on entries during processing. - - An entry can have this overridden if required - - - - Zip64 should always be used. - - - - - #ZipLib will determine use based on entry values when added to archive. - - - - - The kind of compression used for an entry in an archive - - - - - A direct copy of the file contents is held in the archive - - - - - Common Zip compression method using a sliding dictionary - of up to 32KB and secondary compression from Huffman/Shannon-Fano trees - - - - - An extension to deflate with a 64KB window. Not supported by #Zip currently - - - - - BZip2 compression. Not supported by #Zip. - - - - - WinZip special for AES encryption, Not supported by #Zip. - - - - - Identifies the encryption algorithm used for an entry - - - - - No encryption has been used. - - - - - Encrypted using PKZIP 2.0 or 'classic' encryption. - - - - - DES encryption has been used. - - - - - RCS encryption has been used for encryption. - - - - - Triple DES encryption with 168 bit keys has been used for this entry. - - - - - Triple DES with 112 bit keys has been used for this entry. - - - - - AES 128 has been used for encryption. - - - - - AES 192 has been used for encryption. - - - - - AES 256 has been used for encryption. - - - - - RC2 corrected has been used for encryption. - - - - - Blowfish has been used for encryption. - - - - - Twofish has been used for encryption. - - - - - RC4 has been used for encryption. - - - - - An unknown algorithm has been used for encryption. - - - - - Defines the contents of the general bit flags field for an archive entry. - - - - - Bit 0 if set indicates that the file is encrypted - - - - - Bits 1 and 2 - Two bits defining the compression method (only for Method 6 Imploding and 8,9 Deflating) - - - - - Bit 3 if set indicates a trailing data desciptor is appended to the entry data - - - - - Bit 4 is reserved for use with method 8 for enhanced deflation - - - - - Bit 5 if set indicates the file contains Pkzip compressed patched data. - Requires version 2.7 or greater. - - - - - Bit 6 if set strong encryption has been used for this entry. - - - - - Bit 7 is currently unused - - - - - Bit 8 is currently unused - - - - - Bit 9 is currently unused - - - - - Bit 10 is currently unused - - - - - Bit 11 if set indicates the filename and - comment fields for this file must be encoded using UTF-8. - - - - - Bit 12 is documented as being reserved by PKware for enhanced compression. - - - - - Bit 13 if set indicates that values in the local header are masked to hide - their actual values, and the central directory is encrypted. - - - Used when encrypting the central directory contents. - - - - - Bit 14 is documented as being reserved for use by PKware - - - - - Bit 15 is documented as being reserved for use by PKware - - - - - This class contains constants used for Zip format files - - - - - The version made by field for entries in the central header when created by this library - - - This is also the Zip version for the library when comparing against the version required to extract - for an entry. - - - - - The version made by field for entries in the central header when created by this library - - - This is also the Zip version for the library when comparing against the version required to extract - for an entry. See ZipInputStream.CanDecompressEntry. - - - - - The minimum version required to support strong encryption - - - - - The minimum version required to support strong encryption - - - - - The version required for Zip64 extensions - - - - - Size of local entry header (excluding variable length fields at end) - - - - - Size of local entry header (excluding variable length fields at end) - - - - - Size of Zip64 data descriptor - - - - - Size of data descriptor - - - - - Size of data descriptor - - - - - Size of central header entry (excluding variable fields) - - - - - Size of central header entry - - - - - Size of end of central record (excluding variable fields) - - - - - Size of end of central record (excluding variable fields) - - - - - Size of 'classic' cryptographic header stored before any entry data - - - - - Size of cryptographic header stored before entry data - - - - - Signature for local entry header - - - - - Signature for local entry header - - - - - Signature for spanning entry - - - - - Signature for spanning entry - - - - - Signature for temporary spanning entry - - - - - Signature for temporary spanning entry - - - - - Signature for data descriptor - - - This is only used where the length, Crc, or compressed size isnt known when the - entry is created and the output stream doesnt support seeking. - The local entry cannot be 'patched' with the correct values in this case - so the values are recorded after the data prefixed by this header, as well as in the central directory. - - - - - Signature for data descriptor - - - This is only used where the length, Crc, or compressed size isnt known when the - entry is created and the output stream doesnt support seeking. - The local entry cannot be 'patched' with the correct values in this case - so the values are recorded after the data prefixed by this header, as well as in the central directory. - - - - - Signature for central header - - - - - Signature for central header - - - - - Signature for Zip64 central file header - - - - - Signature for Zip64 central file header - - - - - Signature for Zip64 central directory locator - - - - - Signature for archive extra data signature (were headers are encrypted). - - - - - Central header digitial signature - - - - - Central header digitial signature - - - - - End of central directory record signature - - - - - End of central directory record signature - - - - - Convert a portion of a byte array to a string. - - - Data to convert to string - - - Number of bytes to convert starting from index 0 - - - data[0]..data[length - 1] converted to a string - - - - - Convert a byte array to string - - - Byte array to convert - - - dataconverted to a string - - - - - Convert a byte array to string - - The applicable general purpose bits flags - - Byte array to convert - - The number of bytes to convert. - - dataconverted to a string - - - - - Convert a byte array to string - - - Byte array to convert - - The applicable general purpose bits flags - - dataconverted to a string - - - - - Convert a string to a byte array - - - String to convert to an array - - Converted array - - - - Convert a string to a byte array - - The applicable general purpose bits flags - - String to convert to an array - - Converted array - - - - Initialise default instance of ZipConstants - - - Private to prevent instances being created. - - - - - Default encoding used for string conversion. 0 gives the default system OEM code page. - Dont use unicode encodings if you want to be Zip compatible! - Using the default code page isnt the full solution neccessarily - there are many variable factors, codepage 850 is often a good choice for - European users, however be careful about compatability. - - - - - This is the DeflaterHuffman class. - - This class is not thread safe. This is inherent in the API, due - to the split of Deflate and SetInput. - - author of the original java version : Jochen Hoenicke - - - - - Pending buffer to use - - - - - Construct instance with pending buffer - - Pending buffer to use - - - - Reset internal state - - - - - Write all trees to pending buffer - - The number/rank of treecodes to send. - - - - Compress current buffer writing data to pending buffer - - - - - Flush block to output with no compression - - Data to write - Index of first byte to write - Count of bytes to write - True if this is the last block - - - - Flush block to output with compression - - Data to flush - Index of first byte to flush - Count of bytes to flush - True if this is the last block - - - - Get value indicating if internal buffer is full - - true if buffer is full - - - - Add literal to buffer - - Literal value to add to buffer. - Value indicating internal buffer is full - - - - Add distance code and length to literal and distance trees - - Distance code - Length - Value indicating if internal buffer is full - - - - Reverse the bits of a 16 bit value. - - Value to reverse bits - Value with bits reversed - - - - Resets the internal state of the tree - - - - - Check that all frequencies are zero - - - At least one frequency is non-zero - - - - - Set static codes and length - - new codes - length for new codes - - - - Build dynamic codes and lengths - - - - - Get encoded length - - Encoded length, the sum of frequencies * lengths - - - - Scan a literal or distance tree to determine the frequencies of the codes - in the bit length tree. - - - - - Write tree values - - Tree to write - - - - Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: - x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. - - Polynomials over GF(2) are represented in binary, one bit per coefficient, - with the lowest powers in the most significant bit. Then adding polynomials - is just exclusive-or, and multiplying a polynomial by x is a right shift by - one. If we call the above polynomial p, and represent a byte as the - polynomial q, also with the lowest power in the most significant bit (so the - byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, - where a mod b means the remainder after dividing a by b. - - This calculation is done using the shift-register method of multiplying and - taking the remainder. The register is initialized to zero, and for each - incoming bit, x^32 is added mod p to the register if the bit is a one (where - x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by - x (which is shifting right by one and adding x^32 mod p if the bit shifted - out is a one). We start with the highest power (least significant bit) of - q and repeat for all eight bits of q. - - The table is simply the CRC of all possible eight bit values. This is all - the information needed to generate CRC's on data a byte at a time for all - combinations of CRC register values and incoming bytes. - - - - - The crc data checksum so far. - - - - - Resets the CRC32 data checksum as if no update was ever called. - - - - - Updates the checksum with the int bval. - - - the byte is taken as the lower 8 bits of value - - - - - Updates the checksum with the bytes taken from the array. - - - buffer an array of bytes - - - - - Adds the byte array to the data checksum. - - - The buffer which contains the data - - - The offset in the buffer where the data starts - - - The number of data bytes to update the CRC with. - - - - - Returns the CRC32 data checksum computed so far. - - - - - Compare episodes according to their default episode numbers (aired) - - - - - Compare episodes according to their dvd episode number - - - - - Compare episodes according to their absolute episode number - - - - diff --git a/NzbDrone.Core/Libraries/TvdbLib.dll b/NzbDrone.Core/Libraries/TvdbLib.dll deleted file mode 100644 index 06cdeceee4009bc83aa29fc81de472edb8d4c938..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206848 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 diff --git a/NzbDrone.Core/Libraries/nlog.xsd b/NzbDrone.Core/Libraries/nlog.xsd deleted file mode 100644 index c2b8bfc44..000000000 --- a/NzbDrone.Core/Libraries/nlog.xsd +++ /dev/null @@ -1,1868 +0,0 @@ - - - - - - - - - - - - - - - Watch config file for changes and reload automatically. - - - - - Print internal NLog messages to the console. Default value is: false - - - - - Print internal NLog messages to the console error output. Default value is: false - - - - - Write internal NLog messages to the specified file. - - - - - Log level threshold for internal log messages. Default value is: Info. - - - - - Global log level threshold for application log messages. Messages below this level won't be logged.. - - - - - Pass NLog internal exceptions to the application. Default value is: false. - - - - - - - - - - - - - - Make all targets within this section asynchronous (creates additional threads but the calling thread isn't blocked by any target writes). - - - - - - - - - - - - - - - - - Prefix for targets/layout renderers/filters/conditions loaded from this assembly. - - - - - Load NLog extensions from the specified file (*.dll) - - - - - Load NLog extensions from the specified assembly. Assembly name should be fully qualified. - - - - - - - - - - Name of the logger. May include '*' character which acts like a wildcard. Allowed forms are: *, Name, *Name, Name* and *Name* - - - - - Comma separated list of levels that this rule matches. - - - - - Minimum level that this rule matches. - - - - - Maximum level that this rule matches. - - - - - Level that this rule matches. - - - - - Comma separated list of target names. - - - - - Ignore further rules if this one matches. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the file to be included. The name is relative to the name of the current config file. - - - - - Ignore any errors in the include file. - - - - - - - Variable name. - - - - - Variable value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The text to be rendered. Default value is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Header - - - - - Footer - - - - - - - - - - - - - - - - - - - - - - - - - - Default filter to be applied when no specific rule matches. - - - - - - - - - - - - - - - - - - - - - - - - Condition to be tested. - - - - - Resulting filter to be applied when the condition matches. - - - - - - - - - - - - - - - - Machine name on which Event Log service is running. Default value is: . - - - - - Layout that renders event ID. - - - - - Layout that renders event Category. - - - - - The value to be used as the event Source. - - - - - Name of the Event Log to write to. This can be System, Application or any user-defined name. Default value is: Application - - - - - - - - - - - - - - - - - Web service URL. - - - - - Web service method name. - - - - - Web service namespace. - - - - - The protocol to be used when calling web service. Default value is: Soap11 - - - - - - - - - - - - - - - - - - - - - - - - The name of the parameter. - - - - - The type of the parameter. - - - - - The layout that should be use to calcuate the value for the parameter. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sender's email address (e.g. joe@domain.com) - - - - - Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com) - - - - - CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com) - - - - - BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com) - - - - - Whether to add new lines between log entries. - - - - - Mail subject. Default value is: Message from NLog on ${machinename} - - - - - Mail message body (repeated for each log message send in one mail) Default value is: ${message} - - - - - Encoding to be used for sending e-mail. Default value is: UTF8 - - - - - Send message as HTML instead of plain text. Default value is: false - - - - - SMTP Server to be used for sending. - - - - - SMTP Authentication mode. Default value is: None - - - - - The username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). - - - - - The password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). - - - - - The port that SMTP Server is listening on. Default value is: 25 - - - - - - - - - - - - - - - - - - - - - - - - - Whether performance counter should be automatically created. - - - - - Performance counter category. - - - - - Name of the performance counter. - - - - - Instance name. - - - - - Performance counter type. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The class name. - - - - - The method name. The method must be public and static. - - - - - - - - - - - - - - - - - - Name of RichTextBox to which Nlog will log - - - - - Name of the Form on which the control is located. If there is no open form of a specified name than NLog will create a new one. - - - - - Use default coloring rules Default value is: false - - - - - - - - - - - - - - - The condition that must be met in order to set the specified font color. - - - - - The font color. Names are identical with KnownColor enum extended with Empty value which means that background color won't be changed Default value is: Empty - - - - - The background color. Names are identical with KnownColor enum extended with Empty value which means that background color won't be changed Background color will be set only in .net 2.0 Default value is: Empty - - - - - Font style of matched text. Possible values are the same as in FontStyle enum in System.Drawing - - - - - - - - - - - - - - - - - - - - - - - - - The regular expression to be matched. You must specify either text or regex. - - - - - The text to be matched. You must specify either text or regex. - - - - - Font style of matched text. Possible values are the same as in FontStyle enum in System.Drawing - - - - - Match whole words only. Default value is: false - - - - - Ignore case when comparing texts. Default value is: false - - - - - The font color. Names are identical with KnownColor enum extended with Empty value which means that font color won't be changed Default value is: Empty - - - - - The background color. Names are identical with KnownColor enum extended with Empty value which means that background color won't be changed Background color will be set only in .net 2.0 Default value is: Empty - - - - - - - - - - - - - - - - - - - - Number of log events to be buffered. Default value is: 100 - - - - - Flush the contents of buffer if there's no write in the specified period of time (milliseconds). Use -1 to disable timed flushes. Default value is: -1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Include NLog-specific extensions to log4j schema. - - - - - The AppInfo field. By default it's the friendly name of the current AppDomain. - - - - - Include call site (class and method name) in the information sent over the network. - - - - - Include source info (file name and line number) in the information sent over the network. - - - - - Include MDC dictionary in the information sent over the network. - - - - - Include NDC stack. - - - - - - - - - - - - - - - - - - - - The network address. Can be tcp://host:port or udp://host:port - - - - - Keep connection open whenever possible. Default value is: true - - - - - Append newline at the end of log message. Default value is: false - - - - - Maximum message size in bytes. Default value is: 65000 - - - - - Action that should be taken if the message is larger than maxMessageSize - - - - - Encoding Default value is: utf-8 - - - - - - - - - - - - - - - - - - - - - Viewer parameter name. - - - - - The layout that should be use to calcuate the value for the parameter. - - - - - - - - - - - - - - - - - - - - Number of retries that should be attempted on the wrapped target in case of a failure. Default value is: 3 - - - - - The time to wait between retries in milliseconds. Default value is: 100 - - - - - - - - - - - - - - Send the logging messages to the standard error instead of the standard output. Default value is: false - - - - - - - - - - - - - - - - - - - - Username to change context to - - - - - Password - - - - - Windows domain name to change context to. Default value is: . - - - - - Logon Type. - - - - - Logon Provider. - - - - - Impersonation level. - - - - - Revert to the credentials of the process instead of impersonating another user. Default value is: false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The name of the file to write to. - - - - - Create directories if they don't exist. Default value is: true - - - - - The number of files to be kept open. Setting this to a higher value may improve performance in a situation where a single File target is writing to many files (such as splitting by level or by logger). Default value is: 5 - - - - - Maximum number of seconds that files are kept open. If this number is negative. Default value is: -1 - - - - - Delete old log file on startup. Default value is: false - - - - - Replace file contents on each write instead of appending log message at the end. Default value is: false - - - - - Keep log file open instead of opening and closing it on each logging event. Default value is: false - - - - - Enable log file(s) to be deleted. Default value is: true - - - - - File attributes (Windows only). - - - - - Line ending mode. - - - - - Automatically flush the file buffers after each log message. Default value is: true - - - - - Log file buffer size in bytes. Default value is: 32768 - - - - - File encoding. - - - - - Enables concurrent writes to the log file by multiple processes on the same host. Default value is: true - - - - - Disables open-fi Default value is: false - - - - - The number of times the write is appended on the file before NLog discards the log message. Default value is: 10 - - - - - Automatically archive log files that exceed the specified size in bytes. - - - - - Automatically archive log files every time the specified time passes. Possible options are: year, month, day, hour, minute. Files are moved to the archive as part of the write operation if the current period of time changes. For example if the current hour changes from 10 to 11, the first write that will occur on or after 11:00 will trigger the archiving. - - - - - The name of the file to be used for an archive. It may contain a special placeholder {#####} that will be replaced with a sequence of numbers depending on the archiving strategy. The number of hash characters used determines the number of numerical digits to be used for numbering files. - - - - - The delay in milliseconds to wait before attempting to write to the file again. Default value is: 1 - - - - - Maximum number of archive files that should be kept. Default value is: 9 - - - - - Determines the way file archives are numbered. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the queue to write to. - - - - - The label to associate with each message. Default value is: NLog - - - - - Create the queue if it doesn't exists. Default value is: false - - - - - Encoding to be used when writing text to the queue. - - - - - Use the XML format when serializing message. Default value is: false - - - - - Use recoverable messages (with guaranteed delivery). Default value is: false - - - - - - - - - - - - - - - - - Determines whether the error stream (stderr) should be used instead of the output stream (stdout). Default value is: false - - - - - Use default row highlighting rules. Default value is: true - - - - - - - - - - - - - - The condition that must be met in order to set the specified foreground and background color. - - - - - The foreground color. Default value is: NoChange - - - - - The background color. Default value is: NoChange - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The regular expression to be matched. You must specify either text or regex. - - - - - The text to be matched. You must specify either text or regex. - - - - - Match whole words only. Default value is: false - - - - - Ignore case when comparing texts. Default value is: false - - - - - The foreground color. Default value is: NoChange - - - - - The background color. Default value is: NoChange - - - - - - - - - - - - The number of times to repeat each log message. Default value is: 3 - - - - - - - - - - - - - - - - - - - - - Perform layout calculation. Default value is: false - - - - - - - - - - - - - - Whether to return to the first target after any successful write. - - - - - - - - - - - - - - Condition expression. Log events who meet this condition will be forwarded to the wrapped target. - - - - - - - - - - - - - - - - - - - - - - - - - - - - The name of the database provider. It can be: sqlserver, mssql, microsoft, msde (all for MSSQL database), oledb, odbc or other name in which case it's treated as a fully qualified type name of the data provider *Connection class. Default value is: sqlserver - - - - - The connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase. - - - - - Keep the database connection open between the log events. Default value is: true - - - - - Use database transactions. Some data providers require this. Default value is: false - - - - - The database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string. - - - - - The database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string. - - - - - The database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string. - - - - - The database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string. - - - - - The text of the SQL command to be run on each log level. - - - - - - - - - - - - - - - - - Database parameter name. - - - - - The layout that should be use to calcuate the value for the parameter. - - - - - Database parameter size. Default value is: 0 - - - - - Database parameter precision. Default value is: 0 - - - - - Database parameter scale. Default value is: 0 - - - - - - - - - - - - Add <!-- --> comments around all written texts. - - - - - - - - - - - - - - - - Name of control to which Nlog will log - - - - - Setting to tell to append or overwrite the Text property of control - - - - - Name of the Form on which the control is located. - - - - - - - - - - - - - - - - - - - - - - - The number of log events to be buffered. Default value is: 4000 - - - - - Grow the buffer when it gets full. Default value is: false - - - - - The maximum number of log events that the buffer can keep. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The number of log events that should be processed in a batch by the lazy writer thread. Default value is: 100 - - - - - The time in milliseconds to sleep between batches. Default value is: 50 - - - - - The action to be taken when the lazy writer thread request queue count exceeds the set limit. Default value is: Discard - - - - - The limit on the number of requests in the lazy writer thread request queue. Default value is: 10000 - - - - - - - - - - - - - - - - - - - - - Message box title. - - - - - - - - - - - - - - - - - - - - - - String to compare the layout to. - - - - - Ignore case when comparing strings. Default value is: false - - - - - - - - - - - - - - The layout text; - - - - - - - - - - - - User-requested action to be taken when filter matches. - - - - - - - - - - - - - - - - - - - - - - Ignore case when comparing strings. Default value is: false - - - - - String to compare the layout to. - - - - - - - - - - - - - - - Substring to be matched. - - - - - Ignore case when comparing strings. Default value is: false - - - - - - - - - - - - - - - Ignore case when comparing strings. Default value is: false - - - - - Substring to be matched. - - - - - - - - - - - - - - The condition expression. - - - - - - - - - - - - - - - - - - - - - - Whether CVS should include header. - - - - - Column delimiter. Default value is: Auto - - - - - Quoting mode. - - - - - Quote Character Default value is: " - - - - - Custom column delimiter value (valid when ColumnDelimiter is set to 'Custom') - - - - - - - - - - - - - - The name of the column. - - - - - The layout that should be written in the column. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The layout text - - - - - - \ No newline at end of file diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 6bdc956a9..45c335654 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -121,12 +121,13 @@ - - Libraries\Castle.Core.dll + + False + ..\Libraries\Castle.Core.dll - + False - Libraries\Exceptioneer.WindowsFormsClient.dll + ..\Libraries\Exceptioneer.WindowsFormsClient.dll False @@ -144,9 +145,9 @@ - + False - Libraries\System.Data.SQLite.dll + ..\Libraries\System.Data.SQLite.dll @@ -154,8 +155,9 @@ - - Libraries\TvdbLib.dll + + False + ..\Libraries\TvdbLib.dll diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 15fc6797d..92abe0e24 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -44,8 +44,9 @@ false - - ..\NzbDrone.Core\Libraries\Castle.Core.dll + + False + ..\Libraries\Castle.Core.dll ..\packages\Glimpse.0.81\lib\net40\Glimpse.Net.dll @@ -112,8 +113,9 @@ True - - ..\NzbDrone.Core\Libraries\TvdbLib.dll + + False + ..\Libraries\TvdbLib.dll ..\packages\WebActivator.1.4.1\lib\net40\WebActivator.dll diff --git a/NzbDrone/NzbDrone.csproj b/NzbDrone/NzbDrone.csproj index 0582bac62..b06d8b11a 100644 --- a/NzbDrone/NzbDrone.csproj +++ b/NzbDrone/NzbDrone.csproj @@ -63,13 +63,13 @@ True - + False - ..\NzbDrone.Core\Libraries\Exceptioneer.WindowsFormsClient.dll + ..\Libraries\Exceptioneer.WindowsFormsClient.dll False - ..\NzbDrone.Core\Libraries\NLog.dll + ..\Libraries\NLog.dll
- Get / set a flag indicating wether entry name and comment text are - encoded in unicode UTF8. -

- To set up the target in the configuration file, - use the following syntax: -