Files
2025-09-29 00:52:08 +02:00

21124 lines
935 KiB
XML
Executable File

<?xml version="1.0"?>
<doc>
<assembly>
<name>RSG.Base</name>
</assembly>
<members>
<member name="T:RSG.Base.ArrayComparer">
<summary>
Array Comparer class providing generic (template) methods for comparing
different types of arrays.
</summary>
</member>
<member name="M:RSG.Base.ArrayComparer.Equals``1(``0[],``0[])">
<summary>
Determine whether two arrays of T are equal (element-by-element)
</summary>
<param name="a">First array of T.</param>
<param name="b">Second array of T.</param>
<typeparam name="T">
Type contained within the arrays being compared.
</typeparam>
<returns>true if arrays a and b are equal, false otherwise</returns>
</member>
<member name="M:RSG.Base.ArrayComparer.Equals``1(``0[],``0[],System.Int32,System.Int32)">
<summary>
Determine whether two arrays of T are equal (element-by-element);
starting at an index for a certain number of elements.
</summary>
<param name="a">First array of T.</param>
<param name="b">Second array of T.</param>
<param name="startIndex">
Starting element index.
</param>
<param name="count">
Number of elements to compare.
</param>
<typeparam name="T">
Type contained within the arrays being compared.
</typeparam>
<returns>true if arrays a and b are equal, false otherwise</returns>
</member>
<member name="T:RSG.Base.Attributes.AssemblyHelpLinkAttribute">
<summary>
Supplies an explicit GUID when an automatic GUID is undesirable.
</summary>
</member>
<member name="F:RSG.Base.Attributes.AssemblyHelpLinkAttribute._helpLink">
<summary>
The private field used for the <see cref="P:RSG.Base.Attributes.AssemblyHelpLinkAttribute.HelpLink"/> property.
</summary>
</member>
<member name="M:RSG.Base.Attributes.AssemblyHelpLinkAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.AssemblyHelpLinkAttribute"/> class
with the specified help link.
</summary>
<param name="helpLink">
The string containing the help link to be assigned.
</param>
</member>
<member name="P:RSG.Base.Attributes.AssemblyHelpLinkAttribute.HelpLink">
<summary>
Gets the help link of the taret.
</summary>
</member>
<member name="T:RSG.Base.Attributes.AttributeNotFoundException">
<summary>
Custom exception which can be thrown if a particular attribute is not found.
</summary>
</member>
<member name="M:RSG.Base.Attributes.AttributeNotFoundException.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.AttributeNotFoundException"/> class.
</summary>
</member>
<member name="M:RSG.Base.Attributes.AttributeNotFoundException.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.AttributeNotFoundException"/> class
using the specified error message.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
</member>
<member name="M:RSG.Base.Attributes.AttributeNotFoundException.#ctor(System.String,System.Exception)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.AttributeNotFoundException"/> class
using the specified error message and inner exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="inner">
The exception that is the cause of the current exception. If the innerException
parameter is not a null reference, the current exception is raised in a catch
block that handles the inner exception.
</param>
</member>
<member name="M:RSG.Base.Attributes.AttributeNotFoundException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.AttributeNotFoundException"/> class
using the specified serialisation data.
</summary>
<param name="info">
The object that holds the serialized object data.
</param>
<param name="context">
The contextual information about the source or destination.
</param>
</member>
<member name="T:RSG.Base.Attributes.DisplayColorAttribute">
<summary>
Attribute that assigns a value a default color.
</summary>
</member>
<member name="M:RSG.Base.Attributes.DisplayColorAttribute.#ctor(System.Byte,System.Byte,System.Byte,System.Byte)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.DisplayColorAttribute"/> class.
</summary>
<param name="a">Alpha</param>
<param name="r">Red</param>
<param name="g">Green</param>
<param name="b">Blue</param>
</member>
<member name="P:RSG.Base.Attributes.DisplayColorAttribute.A">
<summary>
Gets the alpha-component.
</summary>
</member>
<member name="P:RSG.Base.Attributes.DisplayColorAttribute.R">
<summary>
Gets the red-component.
</summary>
</member>
<member name="P:RSG.Base.Attributes.DisplayColorAttribute.G">
<summary>
Gets the green-component.
</summary>
</member>
<member name="P:RSG.Base.Attributes.DisplayColorAttribute.B">
<summary>
Gets the blue component.
</summary>
</member>
<member name="T:RSG.Base.Attributes.DisplayIconAttribute">
<summary>
Specifies the color in which to display an object in the UI.
</summary>
</member>
<member name="F:RSG.Base.Attributes.DisplayIconAttribute._uriSource">
<summary>
Source of the icon.
</summary>
</member>
<member name="M:RSG.Base.Attributes.DisplayIconAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.DisplayIconAttribute"/> class
using the specified icon uri.
</summary>
<param name="uriSource">
Bitmap image URI for icon.
</param>
</member>
<member name="M:RSG.Base.Attributes.DisplayIconAttribute.#ctor(System.String,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.DisplayIconAttribute"/> class
using the specified resource and assembly names.
</summary>
<param name="assemblyName">
Name of the assembly in which the resource lives.
If this isn't provided it uses the "current" assembly.
</param>
<param name="resourceName">
Name of the resource to use.
</param>
</member>
<member name="P:RSG.Base.Attributes.DisplayIconAttribute.IconSource">
<summary>
Gets the icon source.
</summary>
</member>
<member name="T:RSG.Base.Attributes.FieldDisplayNameAttribute">
<summary>
Specifies the display name for a field.
</summary>
</member>
<member name="M:RSG.Base.Attributes.FieldDisplayNameAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.FieldDisplayNameAttribute"/> class
using the specified display name.
</summary>
<param name="displayName">
The display name.
</param>
</member>
<member name="T:RSG.Base.Attributes.FieldGuidAttribute">
<summary>
Supplies an explicit GUID when an automatic GUID is undesirable.
</summary>
</member>
<member name="F:RSG.Base.Attributes.FieldGuidAttribute._value">
<summary>
The private field used for the <see cref="P:RSG.Base.Attributes.FieldGuidAttribute.Value"/> property.
</summary>
</member>
<member name="M:RSG.Base.Attributes.FieldGuidAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.FieldGuidAttribute"/> class with the
specified GUID.
</summary>
<param name="guid">
The GUID to be assigned.
</param>
</member>
<member name="P:RSG.Base.Attributes.FieldGuidAttribute.Value">
<summary>
Gets the GUID of the target.
</summary>
</member>
<member name="T:RSG.Base.Attributes.FileExtensionAttribute">
<summary>
Specifies the file extension for the applied target.
</summary>
</member>
<member name="F:RSG.Base.Attributes.FileExtensionAttribute._extension">
<summary>
Private field for the <see cref="P:RSG.Base.Attributes.FileExtensionAttribute.Extension"/> property.
</summary>
</member>
<member name="M:RSG.Base.Attributes.FileExtensionAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.FileExtensionAttribute"/> class
using the specified extension.
</summary>
<param name="extension">
Extension string (including "." as per <see cref="M:System.IO.Path.GetExtension(System.String)"/>).
</param>
</member>
<member name="P:RSG.Base.Attributes.FileExtensionAttribute.Extension">
<summary>
Gets the extension for the applied target.
</summary>
</member>
<member name="T:RSG.Base.Attributes.ForceAssemblyReferenceAttribute">
<summary>
Attribute to force a reference of an assembly
</summary>
<remarks>This is especially useful in WPF views, where the only reference to an assembly is in XAML.</remarks>
</member>
<member name="M:RSG.Base.Attributes.ForceAssemblyReferenceAttribute.#ctor(System.Type)">
<summary>
Creates a new instance of <see cref="T:RSG.Base.Attributes.ForceAssemblyReferenceAttribute"/>
</summary>
<param name="typeToReference">Type to force reference.</param>
</member>
<member name="T:RSG.Base.Attributes.FriendlyNameAttribute">
<summary>
Attribute for specifying the friendly-name for a field.
</summary>
</member>
<member name="M:RSG.Base.Attributes.FriendlyNameAttribute.#ctor(System.String)">
<summary>
Constructor; taking friendly name string.
</summary>
<param name="friendlyName">
Friendly-name to assign to this field.
</param>
</member>
<member name="P:RSG.Base.Attributes.FriendlyNameAttribute.FriendlyName">
<summary>
Gets the Friendly name for the field.
</summary>
</member>
<member name="T:RSG.Base.Attributes.ImageMonikerAttribute">
<summary>
Specifies and image moniker GUID for the field.
</summary>
</member>
<member name="M:RSG.Base.Attributes.ImageMonikerAttribute.#ctor(System.String)">
<summary>
Creates a new instance of the <see cref="T:RSG.Base.Attributes.ImageMonikerAttribute" /> attribute.
</summary>
<param name="imageMonikerGuidString">
GUID as string, preferable in the format of XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.
Should be parsable by <see cref="T:System.Guid" />.
</param>
</member>
<member name="P:RSG.Base.Attributes.ImageMonikerAttribute.ImageMonikerGuid">
<summary>
Gets the image moniker <see cref="T:System.Guid"/> identifier.
</summary>
</member>
<member name="T:RSG.Base.Attributes.ImageMonikerWithIdAttribute">
<summary>
Specifies and image moniker GUID and ID for the field.
</summary>
</member>
<member name="M:RSG.Base.Attributes.ImageMonikerWithIdAttribute.#ctor(System.String,System.Int32)">
<summary>
Creates a new instance of the <see cref="T:RSG.Base.Attributes.ImageMonikerAttribute" /> attribute.
</summary>
<param name="imageMonikerGuidString">
GUID as string, preferable in the format of XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.
Should be parsable by <see cref="T:System.Guid" />.
</param>
<param name="id">ID to supply to be used by a moniker as an additional identifier.</param>
</member>
<member name="P:RSG.Base.Attributes.ImageMonikerWithIdAttribute.Id">
<summary>
Gets the image moniker identifier.
</summary>
</member>
<member name="T:RSG.Base.Attributes.MimeContentTypeAttribute">
<summary>
Attribute for MIME content types.
</summary>
</member>
<member name="M:RSG.Base.Attributes.MimeContentTypeAttribute.#ctor(System.String,RSG.Base.Net.MimeType)">
<summary>
Creates an instance of <see cref="T:RSG.Base.Attributes.MimeContentTypeAttribute"/>.
</summary>
<param name="fullType">Full content type definition.</param>
<param name="type">MIME category.</param>
</member>
<member name="P:RSG.Base.Attributes.MimeContentTypeAttribute.FullType">
<summary>
Gets the content type definition.
</summary>
</member>
<member name="P:RSG.Base.Attributes.MimeContentTypeAttribute.Type">
<summary>
Gets the MIME category.
</summary>
</member>
<member name="P:RSG.Base.Attributes.MimeContentTypeAttribute.Description">
<summary>
Gets or sets the description for the Mime contenttype.
</summary>
</member>
<member name="T:RSG.Base.Attributes.MimeContentTypeAttributeExtensions">
<summary>
Extension methods for MIME content type attribute.
</summary>
</member>
<member name="M:RSG.Base.Attributes.MimeContentTypeAttributeExtensions.GetMimeFullContentType(System.Enum)">
<summary>
Return MIME full content type attribute value for an enum.
</summary>
<param name="value">
The enum value for which to retrieve the MIME full content type data for.
</param>
<returns>
The MIME full content type associated with the specified enum value.
</returns>
</member>
<member name="M:RSG.Base.Attributes.MimeContentTypeAttributeExtensions.GetMimeContentType(System.Enum)">
<summary>
Return MIME content type attribute value for an enum.
</summary>
<param name="value">
The enum value for which to retrieve the MIME content type data for.
</param>
<returns>
The MIME content type associated with the specified enum value.
</returns>
</member>
<member name="M:RSG.Base.Attributes.MimeContentTypeAttributeExtensions.GetMimeContentTypeEnumFromString``1(System.String)">
<summary>
Return enum value for String.
</summary>
<typeparam name="T">
The type of enum to search.
</typeparam>
<param name="value">
The MIME content type we are searching for.
</param>
<returns>
The enum value that has the specified value applied to it as an attribute.
</returns>
<exception cref="T:System.ArgumentOutOfRangeException">
Thrown if the value is not found.
</exception>
</member>
<member name="M:RSG.Base.Attributes.MimeContentTypeAttributeExtensions.TryGetBugstarEnumFromString``1(System.String,``0@)">
<summary>
Tries to get the enum value which has a MIME content type attribute that matches the
specified value.
</summary>
<typeparam name="T">
The type of enum to search.
</typeparam>
<param name="value">
The content type value we are searching for.
</param>
<param name="result">
The resulting enum value if it is found otherwise the default value.
</param>
<returns>
<c>true</c> if the string value is valid; otherwise <c>false</c>.
</returns>
</member>
<member name="T:RSG.Base.Attributes.MissingAttributeException">
<summary>
Exception that can be thrown when an expected attribute is missing from a class member.
</summary>
</member>
<member name="M:RSG.Base.Attributes.MissingAttributeException.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.MissingAttributeException"/> class.
</summary>
</member>
<member name="M:RSG.Base.Attributes.MissingAttributeException.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.MissingAttributeException"/> class with a specified error message.
</summary>
<param name="message">The message that describes the error.</param>
</member>
<member name="M:RSG.Base.Attributes.MissingAttributeException.#ctor(System.String,System.Type)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.MissingAttributeException"/> class with the member name that it
is missing from and the attribute type that is missing.
</summary>
<param name="attributeType">Type of the attribute that is missing.</param>
<param name="memberName">Name of the member that the attribute is missing from.</param>
</member>
<member name="T:RSG.Base.Attributes.RegexAttribute">
<summary>
Attribute for associating a regex to something.
</summary>
</member>
<member name="M:RSG.Base.Attributes.RegexAttribute.#ctor(System.Text.RegularExpressions.Regex)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.RegexAttribute"/> class with the
specified regular expression for the field.
</summary>
<param name="regex">
Regular expression to assign to the field.
</param>
</member>
<member name="M:RSG.Base.Attributes.RegexAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.RegexAttribute"/> class with the
specified regular expression for the field.
</summary>
<param name="regexString">
Regular expression to assign to the field.
</param>
</member>
<member name="P:RSG.Base.Attributes.RegexAttribute.Regex">
<summary>
Gets the regular expression assigned to the field.
</summary>
</member>
<member name="T:RSG.Base.Attributes.RegistryKeyAttribute">
<summary>
Attribute for associating a Registry key to something
</summary>
</member>
<member name="M:RSG.Base.Attributes.RegistryKeyAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.RegistryKeyAttribute"/> class specifying
the registry key as a string.
</summary>
<param name="key">
Registry key.
</param>
</member>
<member name="M:RSG.Base.Attributes.RegistryKeyAttribute.#ctor(System.String,System.Boolean)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.RegistryKeyAttribute"/> class specifying
the registry key as a string.
</summary>
<param name="key">
Registry key.
</param>
<param name="is64Bit">
Whether the key is in the 64-bit registry (default: based on application architecture).
</param>
</member>
<member name="P:RSG.Base.Attributes.RegistryKeyAttribute.Key">
<summary>
Gets the associated registry key with the field.
</summary>
</member>
<member name="P:RSG.Base.Attributes.RegistryKeyAttribute.Is64Bit">
<summary>
Gets a value indicating whether this key is in the 64-bit registry.
</summary>
</member>
<member name="T:RSG.Base.Attributes.RuntimeNameAttribute">
<summary>
Assigns a Game runtime name with an associated field.
</summary>
</member>
<member name="M:RSG.Base.Attributes.RuntimeNameAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.RuntimeNameAttribute"/> class
specifying the runtime name associated with the field.
</summary>
<param name="name">
Name associated with this field.
</param>
</member>
<member name="P:RSG.Base.Attributes.RuntimeNameAttribute.Name">
<summary>
Gets the name string assigned to a field.
</summary>
</member>
<member name="T:RSG.Base.Attributes.ToolPathAttribute">
<summary>
Attribute for marking the tools install path.
</summary>
</member>
<member name="M:RSG.Base.Attributes.ToolPathAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.ToolPathAttribute"/> with the
tool file path string for the associated field.
</summary>
<param name="path">
Tool file path string for the associated field
</param>
</member>
<member name="P:RSG.Base.Attributes.ToolPathAttribute.Path">
<summary>
Gets the tools path string associated with this field.
</summary>
</member>
<member name="T:RSG.Base.Attributes.TypeScriptEnumAttribute">
<summary>
Tag an interface with this attribute to auto generate a TypeScript representation with TypeWriter (Visual Studio extension).
</summary>
</member>
<member name="T:RSG.Base.Attributes.TypeScriptIgnoreAttribute">
<summary>
Used by Typewriter. Fields or properties tagged with this attribute will not be included in the generated TypeScript file.
</summary>
</member>
<member name="T:RSG.Base.Attributes.TypeScriptInterfaceAttribute">
<summary>
Tag an interface with this attribute to auto generate a TypeScript representation with TypeWriter (Visual Studio extension).
</summary>
</member>
<member name="T:RSG.Base.Attributes.TypeScriptModelAttribute">
<summary>
Tag an interface with this attribute to auto generate a TypeScript representation with TypeWriter (Visual Studio extension).
</summary>
</member>
<member name="M:RSG.Base.Attributes.TypeScriptModelAttribute.#ctor(System.Type[])">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.TypeScriptModelAttribute"/> class.
</summary>
<param name="ignoreTypes">
Types to ignore.
</param>
</member>
<member name="P:RSG.Base.Attributes.TypeScriptModelAttribute.IgnoreTypes">
<summary>
Gets the list of base types that should not be considered. Useful if you don't want to include the fields from a base class
or interface.
</summary>
</member>
<member name="T:RSG.Base.Attributes.TypeScriptMutableAttribute">
<summary>
Tag a class or interface with this attribute so that it is generated as mutable (not Readonly{T})
when nested in a parent model.
Otherwise, properties of non-primitive classes will be Readonly{T}.
</summary>
</member>
<member name="T:RSG.Base.Attributes.TypeScriptRestServiceAttribute">
<summary>
Tag an interface with this attribute to auto generate a TypeScript representation with TypeWriter (Visual Studio extension).
</summary>
</member>
<member name="T:RSG.Base.Attributes.UserConfigPathAttribute">
<summary>
Attribute for marking the user profile config data path.
</summary>
</member>
<member name="M:RSG.Base.Attributes.UserConfigPathAttribute.#ctor(System.Environment.SpecialFolder,System.String,System.Boolean)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.UserConfigPathAttribute"/> class specifying
the necessary folder, path and whether the path is 64-bit.
</summary>
<param name="folder">
Windows <see cref="T:System.Environment.SpecialFolder"/> for the user configuration files.
</param>
<param name="path">
User configuration directory path.
</param>
<param name="is64Bit">
Indicates whether this is for a 64-bit tool.
</param>
</member>
<member name="P:RSG.Base.Attributes.UserConfigPathAttribute.Folder">
<summary>
Gets the Windows <see cref="T:System.Environment.SpecialFolder"/> for the user configuration files.
</summary>
</member>
<member name="P:RSG.Base.Attributes.UserConfigPathAttribute.Path">
<summary>
Gets the user configuration directory path.
</summary>
</member>
<member name="P:RSG.Base.Attributes.UserConfigPathAttribute.Is64Bit">
<summary>
Gets a value indicating whether the configuration file path is for a 64-bit tool.
</summary>
</member>
<member name="M:RSG.Base.Attributes.UserConfigPathAttribute.GetFullPath">
<summary>
Gets an absolute path for the user configuration directory.
</summary>
<returns>
Absolute path for the user configuration directory
</returns>
</member>
<member name="T:RSG.Base.Attributes.XmlAttributeNameAttribute">
<summary>
Specifies the name of the xml attribute for a property, or field.
</summary>
</member>
<member name="F:RSG.Base.Attributes.XmlAttributeNameAttribute._xmlAttributeName">
<summary>
The private field used for the <see cref="P:RSG.Base.Attributes.XmlAttributeNameAttribute.XmlAttributeName"/> property.
</summary>
</member>
<member name="M:RSG.Base.Attributes.XmlAttributeNameAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.XmlAttributeNameAttribute" /> class.
</summary>
<param name="xmlAttributeName">
The xml attribute name.
</param>
</member>
<member name="P:RSG.Base.Attributes.XmlAttributeNameAttribute.XmlAttributeName">
<summary>
Gets the xml name for the property, or field stored in this attribute.
</summary>
</member>
<member name="T:RSG.Base.Attributes.XmlConstantAttribute">
<summary>
Attribute for marking classes/enums as having an XML string constant.
</summary>
</member>
<member name="M:RSG.Base.Attributes.XmlConstantAttribute.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Attributes.XmlConstantAttribute"/> for
the field.
</summary>
<param name="value">
Specifies the string constant for this field.
</param>
</member>
<member name="P:RSG.Base.Attributes.XmlConstantAttribute.Constant">
<summary>
Gets the XML constant string defined for this field.
</summary>
</member>
<member name="T:RSG.Base.Collections.BinaryTreeNode`1">
<summary>
Binary Tree Node data structure.
</summary>
<typeparam name="T">
Object type at each node.
</typeparam>
</member>
<member name="M:RSG.Base.Collections.BinaryTreeNode`1.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.BinaryTree`1"/>.
</summary>
</member>
<member name="M:RSG.Base.Collections.BinaryTreeNode`1.#ctor(`0)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.BinaryTree`1"/> specifying node data.
</summary>
<param name="data">Node data</param>
</member>
<member name="M:RSG.Base.Collections.BinaryTreeNode`1.#ctor(`0,RSG.Base.Collections.BinaryTreeNode{`0},RSG.Base.Collections.BinaryTreeNode{`0})">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.BinaryTree`1"/> specifying node data
and left and right children.
</summary>
<param name="data">Node data</param>
<param name="left">Left BinaryTreeNode</param>
<param name="right">Right BinaryTreeNode</param>
</member>
<member name="P:RSG.Base.Collections.BinaryTreeNode`1.Left">
<summary>
Gets or sets the left child of this <see cref="T:RSG.Base.Collections.BinaryTreeNode`1"/>.
</summary>
</member>
<member name="P:RSG.Base.Collections.BinaryTreeNode`1.Right">
<summary>
Gets or sets the right child of this <see cref="T:RSG.Base.Collections.BinaryTreeNode`1"/>.
</summary>
</member>
<member name="M:RSG.Base.Collections.BinaryTreeNode`1.Walk(RSG.Base.Collections.BinaryTree{`0}.WalkMode)">
<summary>
Walk this <see cref="T:RSG.Base.Collections.BinaryTreeNode`1"/>.
</summary>
<param name="mode">
<see cref="T:RSG.Base.Collections.BinaryTree`1.WalkMode"/> method to walk.
</param>
<returns>
Enumerable of nodes walked.
</returns>
</member>
<member name="T:RSG.Base.Collections.BinaryTree`1">
<summary>
Binary Tree data structure.
</summary>
<typeparam name="T">
Object type at each node.
</typeparam>
</member>
<member name="M:RSG.Base.Collections.BinaryTree`1.#ctor">
<summary>
Default constructor.
</summary>
</member>
<member name="T:RSG.Base.Collections.BinaryTree`1.WalkMode">
<summary>
BinaryTree node-walking mode.
</summary>
</member>
<member name="F:RSG.Base.Collections.BinaryTree`1.WalkMode.DepthFirst">
<summary>
Depth-first walk mode.
</summary>
</member>
<member name="F:RSG.Base.Collections.BinaryTree`1.WalkMode.BreadthFirst">
<summary>
Breadth-first walk mode.
</summary>
</member>
<member name="P:RSG.Base.Collections.BinaryTree`1.Root">
<summary>
Gets or sets the Binary Tree root node.
</summary>
</member>
<member name="M:RSG.Base.Collections.BinaryTree`1.Clear">
<summary>
Clear the Binary Tree.
</summary>
</member>
<member name="M:RSG.Base.Collections.BinaryTree`1.Walk(RSG.Base.Collections.BinaryTree{`0}.WalkMode)">
<summary>
Walk this <see cref="T:RSG.Base.Collections.BinaryTree`1"/>.
</summary>
<param name="mode">
<see cref="T:RSG.Base.Collections.BinaryTree`1.WalkMode"/> method to walk.
</param>
<returns>
Enumerable of nodes walked.
</returns>
</member>
<member name="T:RSG.Base.Collections.ConcurrentSet`1">
<summary>
Represents a thread-safe, set of objects.
</summary>
<typeparam name="T">
The type of the elements to be stored in the collection.
</typeparam>
</member>
<member name="F:RSG.Base.Collections.ConcurrentSet`1._concurrentDictionary">
<summary>
Root storage field for this concurrent set.
</summary>
</member>
<member name="P:RSG.Base.Collections.ConcurrentSet`1.Count">
<summary>
Gets the number of elements in the set.
</summary>
</member>
<member name="P:RSG.Base.Collections.ConcurrentSet`1.IsReadOnly">
<summary>
Gets a value indicating whether the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.
</summary>
<returns>
true if the <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only; otherwise, false.
</returns>
</member>
<member name="P:RSG.Base.Collections.ConcurrentSet`1.IsEmpty">
<summary>
Gets a value indicating whether the set is empty.
</summary>
</member>
<member name="P:RSG.Base.Collections.ConcurrentSet`1.Values">
<summary>
Gets a collection containing the values in the <see cref="T:RSG.Base.Collections.ConcurrentSet`1"/>.
</summary>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
</returns>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
</returns>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.Remove(`0)">
<summary>
Removes the first occurrence of a specific object from the <see cref="T:System.Collections.Generic.ICollection`1"/>.
</summary>
<returns>
true if <paramref name="item"/> was successfully removed from the <see cref="T:System.Collections.Generic.ICollection`1"/>; otherwise, false. This method also returns false if <paramref name="item"/> is not found in the original <see cref="T:System.Collections.Generic.ICollection`1"/>.
</returns>
<param name="item">The object to remove from the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.System#Collections#Generic#ICollection{T}#Add(`0)">
<summary>
Adds an item to the <see cref="T:System.Collections.Generic.ICollection`1"/>.
</summary>
<param name="item">The object to add to the <see cref="T:System.Collections.Generic.ICollection`1"/>.</param><exception cref="T:System.NotSupportedException">The <see cref="T:System.Collections.Generic.ICollection`1"/> is read-only.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.UnionWith(System.Collections.Generic.IEnumerable{`0})">
<summary>
Modifies the current set so that it contains all elements that are present in both the current set and in the specified collection.
</summary>
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.IntersectWith(System.Collections.Generic.IEnumerable{`0})">
<summary>
Modifies the current set so that it contains only elements that are also in a specified collection.
</summary>
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.ExceptWith(System.Collections.Generic.IEnumerable{`0})">
<summary>
Removes all elements in the specified collection from the current set.
</summary>
<param name="other">The collection of items to remove from the set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.SymmetricExceptWith(System.Collections.Generic.IEnumerable{`0})">
<summary>
Modifies the current set so that it contains only elements that are present either in the current set or in the specified collection, but not both.
</summary>
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.IsSubsetOf(System.Collections.Generic.IEnumerable{`0})">
<summary>
Determines whether a set is a subset of a specified collection.
</summary>
<returns>
true if the current set is a subset of <paramref name="other"/>; otherwise, false.
</returns>
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.IsSupersetOf(System.Collections.Generic.IEnumerable{`0})">
<summary>
Determines whether the current set is a superset of a specified collection.
</summary>
<returns>
true if the current set is a superset of <paramref name="other"/>; otherwise, false.
</returns>
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.IsProperSupersetOf(System.Collections.Generic.IEnumerable{`0})">
<summary>
Determines whether the current set is a correct superset of a specified collection.
</summary>
<returns>
true if the <see cref="T:System.Collections.Generic.ISet`1"/> object is a correct superset of <paramref name="other"/>; otherwise, false.
</returns>
<param name="other">The collection to compare to the current set. </param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.IsProperSubsetOf(System.Collections.Generic.IEnumerable{`0})">
<summary>
Determines whether the current set is a property (strict) subset of a specified collection.
</summary>
<returns>
true if the current set is a correct subset of <paramref name="other"/>; otherwise, false.
</returns>
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.Overlaps(System.Collections.Generic.IEnumerable{`0})">
<summary>
Determines whether the current set overlaps with the specified collection.
</summary>
<returns>
true if the current set and <paramref name="other"/> share at least one common element; otherwise, false.
</returns>
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.SetEquals(System.Collections.Generic.IEnumerable{`0})">
<summary>
Determines whether the current set and the specified collection contain the same elements.
</summary>
<returns>
true if the current set is equal to <paramref name="other"/>; otherwise, false.
</returns>
<param name="other">The collection to compare to the current set.</param><exception cref="T:System.ArgumentNullException"><paramref name="other"/> is null.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.Add(`0)">
<summary>
Adds an element to the current set and returns a value to indicate if the element was successfully added.
</summary>
<returns>
true if the element is added to the set; false if the element is already in the set.
</returns>
<param name="item">
The element to add to the set.
</param>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.Clear">
<summary>
Removes all items from the collection.
</summary>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.Contains(`0)">
<summary>
Determines whether a sequence contains a specified element by using the default equality comparer.
</summary>
<param name="item">
The value to locate in the sequence.
</param>
<returns>
true if the source sequence contains an element that has the specified value; otherwise, false.
</returns>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.CopyTo(`0[],System.Int32)">
<summary>
Copies the elements of the <see cref="T:System.Collections.Generic.ICollection`1"/> to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
</summary>
<param name="array">The one-dimensional <see cref="T:System.Array"/> that is the destination of the elements copied from <see cref="T:System.Collections.Generic.ICollection`1"/>.
The <see cref="T:System.Array"/> must have zero-based indexing.</param>
<param name="arrayIndex">The zero-based index in <paramref name="array"/> at which copying begins.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="array"/> is null.</exception>
<exception cref="T:System.ArgumentOutOfRangeException"><paramref name="arrayIndex"/> is less than 0.</exception>
<exception cref="T:System.ArgumentException"><paramref name="array"/> is multidimensional.-or-The number of elements in the source <see cref="T:System.Collections.Generic.ICollection`1"/> is greater than the available space from <paramref name="arrayIndex"/> to the end of the destination <paramref name="array"/>.-or-Type <typeparamref name="T"/> cannot be cast automatically to the type of the destination <paramref name="array"/>.</exception>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.ToArray">
<summary>
Create an array from this set of items.
</summary>
<returns>
An array that contains the elements from the input sequence.
</returns>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.TryAdd(`0)">
<summary>
Attempts to add the specified key and value to the <see cref="T:RSG.Base.Collections.ConcurrentSet`1"/>.
</summary>
<param name="item">
The element to attempt to add to the collection.
</param>
<returns>
true if the item was added to the <see cref="T:RSG.Base.Collections.ConcurrentSet`1"/> successfully; false if the key already exists.
</returns>
</member>
<member name="M:RSG.Base.Collections.ConcurrentSet`1.TryRemove(`0)">
<summary>
Attempts to remove and return the value that has the specified key from the <see cref="T:RSG.Base.Collections.ConcurrentSet`1"/>.
</summary>
<param name="item">
The element to attempt to remove from the collection.
</param>
<returns>
true if the object was removed successfully; otherwise, false.
</returns>
</member>
<member name="T:RSG.Base.Collections.DataContractSerialisableDictionary`2">
<summary>
Generic dictionary
It is required to mark a dictionary with the DataContractAttribute in order to serialise over WCF.
- this was discovered when serialising a dictionary of dictionaries.
- the higher level dictionary serialised without this!
</summary>
</member>
<member name="M:RSG.Base.Collections.DataContractSerialisableDictionary`2.#ctor">
<summary>
We need a parameterless constructor for serialization
</summary>
</member>
<member name="M:RSG.Base.Collections.DataContractSerialisableDictionary`2.#ctor(System.Collections.Generic.IDictionary{`0,`1})">
<summary>
Parameterised constructor
</summary>
<param name="dict"></param>
</member>
<member name="T:RSG.Base.Collections.IWeakCache`2">
<summary>
A cache that contains items of type <typeparamref name="TValue"/> keyed by <typeparamref name="TKey"/>.
Items in the cache are stored as <see cref="T:System.WeakReference`1"/>, so they are automatically removed when
they are garbage collected. Thus, this cache can be used when you want to cache objects by a given key
and not create multiple copies of objects with the same key, but want to allow these objects to be garbage
collected.
</summary>
<typeparam name="TKey">The type of key to use for storage in the cache.</typeparam>
<typeparam name="TValue">The type of object to store in the cache.</typeparam>
<remarks>
This collection is thread safe. Items can be safely added and accessed in multiple threads.
However, only one thread can write to the collection at a time.
</remarks>
</member>
<member name="P:RSG.Base.Collections.IWeakCache`2.Count">
<summary>
Gets the number of non-garbage collected items in the cache.
</summary>
</member>
<member name="P:RSG.Base.Collections.IWeakCache`2.Keys">
<summary>
Gets the keys of the cache. This ignores keys whose values are garbage collected.
</summary>
</member>
<member name="P:RSG.Base.Collections.IWeakCache`2.Values">
<summary>
Gets the values of the cache. Does not return values that are garbage collected.
</summary>
</member>
<member name="P:RSG.Base.Collections.IWeakCache`2.Comparer">
<summary>
Gets the <see cref="T:System.Collections.Generic.EqualityComparer`1"/> for the cache.
</summary>
</member>
<member name="M:RSG.Base.Collections.IWeakCache`2.TryGetValue(`0,`1@)">
<summary>
Attempt to retrieve the item from the cache.
</summary>
<param name="key">The key to fetch the item by.</param>
<param name="value">Out parameter containing the item, or the default of the type.</param>
<returns>True if the item is in the cache.</returns>
</member>
<member name="M:RSG.Base.Collections.IWeakCache`2.TryRemove(`0,`1@)">
<summary>
Attempt to remove the value with the given key.
</summary>
<param name="key">The key.</param>
<param name="value">The value, if it was successfully removed.</param>
<returns>True if an existing item was removed.</returns>
</member>
<member name="M:RSG.Base.Collections.IWeakCache`2.ContainsKey(`0)">
<summary>
Determine whether the specified key is in the cache and not garbage collected.
</summary>
<param name="key">The key.</param>
<returns>True if the key is in the cache and not garbage collected.</returns>
</member>
<member name="M:RSG.Base.Collections.IWeakCache`2.GetOrAdd(`0,`1)">
<summary>
Lookup the item by key, and add the specified item if not found.
</summary>
<param name="key">The key.</param>
<param name="value">The item to add if the key is not present in the cache.</param>
<returns>The new or pre-existing item.</returns>
</member>
<member name="M:RSG.Base.Collections.IWeakCache`2.GetOrAdd(`0,System.Func{`1})">
<summary>
Lookup the item by key, and add a new item if it is not found using the factory method.
</summary>
<param name="key">The key.</param>
<param name="factory">The factory method to construct a new item.</param>
<returns>The new or pre-existing item.</returns>
</member>
<member name="M:RSG.Base.Collections.IWeakCache`2.Prune">
<summary>
Iterate through the cache and remove any items that have been garbage collected.
</summary>
<remarks>
It's not necessary to manually prune, because this method is called periodically during insertion.
</remarks>
<returns>The number of non-garbage collected items remaining in the cache.</returns>
</member>
<member name="M:RSG.Base.Collections.IWeakCache`2.Clear">
<summary>
Clear all items from the cache.
</summary>
</member>
<member name="T:RSG.Base.Collections.NodeList`1">
<summary>
Collection of <see cref="T:RSG.Base.Collections.Node`1"/>.
</summary>
<typeparam name="T">
The type of the elements to be stored in the collection.
</typeparam>
</member>
<member name="M:RSG.Base.Collections.NodeList`1.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.NodeList`1"/> class.
</summary>
</member>
<member name="M:RSG.Base.Collections.NodeList`1.#ctor(System.Int32)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.NodeList`1"/> class.
</summary>
<param name="size">
Size of the <see cref="T:RSG.Base.Collections.NodeList`1"/>.
</param>
</member>
<member name="M:RSG.Base.Collections.NodeList`1.FindByValue(`0)">
<summary>
Find a <see cref="T:RSG.Base.Collections.Node`1"/> within the list by value.
</summary>
<param name="value">
Value to find.
</param>
<returns>
<see cref="T:RSG.Base.Collections.Node`1"/> if one exists with the value; otherwise null.
</returns>
</member>
<member name="T:RSG.Base.Collections.Node`1">
<summary>
Node containing a value.
</summary>
<typeparam name="T">
The type of the value to be stored in the node.
</typeparam>
</member>
<member name="M:RSG.Base.Collections.Node`1.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.Node`1"/> class.
</summary>
</member>
<member name="M:RSG.Base.Collections.Node`1.#ctor(`0)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.Node`1"/> class.
</summary>
<param name="value">
Node value.
</param>
</member>
<member name="M:RSG.Base.Collections.Node`1.#ctor(`0,RSG.Base.Collections.NodeList{`0})">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.Node`1"/> class.
</summary>
<param name="value">
Node value.
</param>
<param name="neighbours">
Neighbouring nodes.
</param>
</member>
<member name="P:RSG.Base.Collections.Node`1.Value">
<summary>
Gets or sets the value of this <see cref="T:RSG.Base.Collections.Node`1"/>.
</summary>
</member>
<member name="P:RSG.Base.Collections.Node`1.Neighbours">
<summary>
Gets or sets this <see cref="T:RSG.Base.Collections.Node`1"/>'s neighbours.
</summary>
</member>
<member name="P:RSG.Base.Collections.Node`1.InOrder">
<summary>
Gets an enumerable of nodes in list order (including self).
</summary>
</member>
<member name="M:RSG.Base.Collections.Node`1.ScanInOrder(RSG.Base.Collections.Node{`0})">
<summary>
Gets an enumerable of nodes in list order (including root).
</summary>
<param name="root">
Root object to recurse.
</param>
<returns>
Enumerable of <see cref="T:RSG.Base.Collections.Node`1"/>.
</returns>
</member>
<member name="T:RSG.Base.Collections.Pair`2">
<summary>
Represents a pair of values (can be of different types)
</summary>
<typeparam name="T1">
First element type.
</typeparam>
<typeparam name="T2">
Second element type.
</typeparam>
</member>
<member name="M:RSG.Base.Collections.Pair`2.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.Pair`2"/> class.
</summary>
</member>
<member name="M:RSG.Base.Collections.Pair`2.#ctor(`0,`1)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.Pair`2"/> class.
</summary>
<param name="first">
First element.
</param>
<param name="second">
Second element.
</param>
</member>
<member name="P:RSG.Base.Collections.Pair`2.First">
<summary>
Gets or sets first value in pair
</summary>
</member>
<member name="P:RSG.Base.Collections.Pair`2.Second">
<summary>
Gets or sets second value in pair
</summary>
</member>
<member name="M:RSG.Base.Collections.Pair`2.op_Equality(RSG.Base.Collections.Pair{`0,`1},RSG.Base.Collections.Pair{`0,`1})">
<summary>
Equality operator.
</summary>
<param name="lhs">
Left-hand side.
</param>
<param name="rhs">
Right-hand side.
</param>
<returns>
<b>true</b> if pairs are equal; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.Collections.Pair`2.op_Inequality(RSG.Base.Collections.Pair{`0,`1},RSG.Base.Collections.Pair{`0,`1})">
<summary>
Inequality operator.
</summary>
<param name="lhs">
Left-hand side.
</param>
<param name="rhs">
Right-hand side.
</param>
<returns>
<b>true</b> if pairs are equal; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.Collections.Pair`2.Equals(System.Object)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Collections.Pair`2.Equals(RSG.Base.Collections.Pair{`0,`1})">
<inheritdoc />
</member>
<member name="M:RSG.Base.Collections.Pair`2.ToString">
<inheritdoc />
</member>
<member name="M:RSG.Base.Collections.Pair`2.GetHashCode">
<inheritdoc />
</member>
<member name="T:RSG.Base.Collections.PriorityQueue`2">
<summary>
Represents a queue of items that are sorted based on individual priorities.
</summary>
<typeparam name="T">
Specifies the type of elements in the queue.
</typeparam>
<typeparam name="TPriority">
Specifies the type of object representing the priority.
</typeparam>
</member>
<member name="F:RSG.Base.Collections.PriorityQueue`2.DefaultCapacity">
<summary>
The default capacity for this queue.
</summary>
</member>
<member name="F:RSG.Base.Collections.PriorityQueue`2.GrowFactor">
<summary>
The factor by which the queue grows in size.
</summary>
</member>
<member name="F:RSG.Base.Collections.PriorityQueue`2.MinimumGrow">
<summary>
The minimum size the queue can grow by.
</summary>
</member>
<member name="F:RSG.Base.Collections.PriorityQueue`2.EmptyArray">
<summary>
Empty array.
</summary>
</member>
<member name="F:RSG.Base.Collections.PriorityQueue`2._array">
<summary>
The backing store for the contents of the queue.
</summary>
</member>
<member name="F:RSG.Base.Collections.PriorityQueue`2._comparer">
<summary>
The object used to compare the priority of items.
</summary>
</member>
<member name="F:RSG.Base.Collections.PriorityQueue`2._head">
<summary>
Index to the first valid item in the queue.
</summary>
</member>
<member name="F:RSG.Base.Collections.PriorityQueue`2._size">
<summary>
The number of elements in the queue.
</summary>
</member>
<member name="F:RSG.Base.Collections.PriorityQueue`2._tail">
<summary>
Index to the last valid item in the queue.
</summary>
</member>
<member name="F:RSG.Base.Collections.PriorityQueue`2._version">
<summary>
The current version of the queue. Used to make sure the contents of haven't changed
while enumerating the queue.
</summary>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.#ctor">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.Collections.PriorityQueue`2"/> class.
</summary>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.#ctor(System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.Collections.PriorityQueue`2"/> class
using the specified initial capacity.
</summary>
<param name="capacity">
The initial capacity of the queue.
</param>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.#ctor(System.Collections.Generic.IComparer{`1},System.Int32)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.Collections.PriorityQueue`2"/> class
using the specified initial capacity.
</summary>
<param name="comparer">
The object used to compare items.
</param>
<param name="capacity">
The initial capacity of the queue.
</param>
</member>
<member name="P:RSG.Base.Collections.PriorityQueue`2.Count">
<summary>
Gets the number of elements contained in the queue.
</summary>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.Clear">
<summary>
Removes all objects from the queue.
</summary>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.Contains(`0)">
<summary>
Determines whether an element is part of the queue.
</summary>
<param name="item">
The item to locate in the queue.
</param>
<returns>
true if the item is found; otherwise false.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.Dequeue">
<summary>
Removes the object at the head of the queue and returns it. If the queue is empty,
this method throws an InvalidOperationException.
</summary>
<returns>
The object at the head of the queue.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.DequeueItem">
<summary>
Removes the item at the head of the queue and returns it. If the queue is empty,
this method throws an InvalidOperationException.
</summary>
<returns>
The item at the head of the queue.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.Enqueue(`0,`1)">
<summary>
Adds an item into the queue at the correct location based on the items priority.
</summary>
<param name="item">
The item to place into the queue.
</param>
<param name="priority">
The priority of the item.
</param>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An System.Collections.IEnumerator object that can be used to iterate through the
collection.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.System#Collections#Generic#IEnumerable{System#Tuple{T,TPriority}}#GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
An enumerator that can be used to iterate through the collection.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An System.Collections.IEnumerator object that can be used to iterate through the
collection.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.Peek">
<summary>
Returns the object at the head of the queue. The object remains in the queue. If
the queue is empty, this method throws an InvalidOperationException.
</summary>
<returns>
The object at the head of the queue.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.PeekItem">
<summary>
Returns the item at the head of the queue. The item remains in the queue. If
the queue is empty, this method throws an InvalidOperationException.
</summary>
<returns>
The item at the head of the queue.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.RemoveItem(`0)">
<summary>
Removes an item from the queue.
</summary>
<param name="item">
The item to remove.
</param>
<returns>
true if the queue contained the item; otherwise false.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.TrimExcess">
<summary>
Sets the capacity to the actual number of elements in the
<see cref="T:RSG.Base.Collections.PriorityQueue`2"/>, if that number is less than 90 percent
of current capacity.
</summary>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.GetArrayIndex(System.Int32)">
<summary>
Gets the index into the array of the element at the specified position of the
queue.
</summary>
<param name="i">
The position of the item in the queue.
</param>
<returns>
The internal array index of that item.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.GetElement(System.Int32)">
<summary>
Gets the element at the specified logical index.
</summary>
<param name="i">
The index of the item in the queue.
</param>
<returns>
The item at the specified position.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.IsPrior(System.Tuple{`0,`1},System.Tuple{`0,`1})">
<summary>
Checks whether an element should appear prior to another one.
</summary>
<param name="element1">
The element we are comparing for.
</param>
<param name="element2">
The element we are comparing against.
</param>
<returns>
A value indicating whether <paramref cref="!:element1"/> should appear before
<paramref cref="!:element2"/>.
</returns>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.MoveUp(System.Tuple{`0,`1})">
<summary>
Moves an item up the queue based on it's priority.
</summary>
<param name="element">
The element to move up the queue.
</param>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.SetCapacity(System.Int32)">
<summary>
Resizes the underlying array to the new capacity, copying items from the original
optimizing the layout in the process.
</summary>
<param name="capacity">
The new capacity to size the array to.
</param>
</member>
<member name="T:RSG.Base.Collections.PriorityQueue`2.Enumerator">
<summary>
Implements an enumerator for a Queue. The enumerator uses the internal version
number of the list to ensure that no modifications are made to the list while an
enumeration is in progress.
</summary>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.Enumerator.#ctor(RSG.Base.Collections.PriorityQueue{`0,`1})">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.PriorityQueue`2.Enumerator"/> class using the
specified queue.
</summary>
<param name="queue">
The queue this class will enumerate over.
</param>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.Enumerator.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or
resetting unmanaged resources.
</summary>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.Enumerator.MoveNext">
<summary>
Advances the enumerator to the next element of the collection.
</summary>
<returns>
true if the enumerator was successfully advanced to the next element; false if
the enumerator has passed the end of the collection.
</returns>
</member>
<member name="P:RSG.Base.Collections.PriorityQueue`2.Enumerator.Current">
<summary>
Gets the element in the collection at the current position of the enumerator.
</summary>
</member>
<member name="P:RSG.Base.Collections.PriorityQueue`2.Enumerator.System#Collections#IEnumerator#Current">
<summary>
Gets the current element in the collection.
</summary>
</member>
<member name="M:RSG.Base.Collections.PriorityQueue`2.Enumerator.System#Collections#IEnumerator#Reset">
<summary>
Sets the enumerator to its initial position, which is before the first element
in the collection.
</summary>
</member>
<member name="T:RSG.Base.Collections.QuadTreeNode`1">
<summary>
The QuadTreeNode
</summary>
<typeparam name="T">
Type stored in node.
</typeparam>
</member>
<member name="F:RSG.Base.Collections.QuadTreeNode`1._splitCallback">
<summary>
QuadTreeNode split callback.
</summary>
</member>
<member name="F:RSG.Base.Collections.QuadTreeNode`1._contents">
<summary>
The contents of this node.
Note that the contents have no limit: this is not the standard way to impement a QuadTree
</summary>
</member>
<member name="F:RSG.Base.Collections.QuadTreeNode`1._nodes">
<summary>
The child nodes of the QuadTree
</summary>
</member>
<member name="M:RSG.Base.Collections.QuadTreeNode`1.#ctor(RSG.Base.Math.BoundingBox2f,System.Single)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.QuadTreeNode`1"/> class;
specifying minimum area.
</summary>
<param name="rect">
Initial bound.
</param>
<param name="minimumArea">
Minimum area for node.
</param>
</member>
<member name="M:RSG.Base.Collections.QuadTreeNode`1.#ctor(RSG.Base.Math.BoundingBox2f,RSG.Base.Collections.QuadTree{`0}.SplitNode)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Collections.QuadTreeNode`1"/> class;
specifying a splitting callback.
</summary>
<param name="rect">
Initial bound.
</param>
<param name="splitCallback">
Callback to determine split.
</param>
</member>
<member name="P:RSG.Base.Collections.QuadTreeNode`1.IsEmpty">
<summary>
Gets a value indicating whether the node is empty.
</summary>
</member>
<member name="P:RSG.Base.Collections.QuadTreeNode`1.Bounds">
<summary>
Gets the area of the quadtree node
</summary>
</member>
<member name="P:RSG.Base.Collections.QuadTreeNode`1.MinimumArea">
<summary>
Gets the minimum area to stop recursion; set in constructor by parameter.
</summary>
</member>
<member name="P:RSG.Base.Collections.QuadTreeNode`1.Count">
<summary>
Gets the total number of nodes in the this node and all SubNodes
</summary>
</member>
<member name="P:RSG.Base.Collections.QuadTreeNode`1.Depth">
<summary>
Gets the maximum depth of the QuadTree node.
</summary>
</member>
<member name="P:RSG.Base.Collections.QuadTreeNode`1.SubTreeContents">
<summary>
Gets the contents of this node and all subnodes in the true below this one.
</summary>
</member>
<member name="P:RSG.Base.Collections.QuadTreeNode`1.Contents">
<summary>
Gets the node content.
</summary>
</member>
<member name="M:RSG.Base.Collections.QuadTreeNode`1.Insert(`0,RSG.Base.Collections.QuadTree{`0}.SplitBehaviour)">
<summary>
Insert an item to this node
</summary>
<param name="item"></param>
</member>
<member name="M:RSG.Base.Collections.QuadTreeNode`1.ForEach(RSG.Base.Collections.QuadTree{`0}.Action)">
<summary>
</summary>
<param name="action"></param>
</member>
<member name="M:RSG.Base.Collections.QuadTreeNode`1.MergeLowValueSubNodes(RSG.Base.Collections.QuadTree{`0}.ValuationNode,System.Int32,System.Int32)">
<summary>
Merges any nodes of low value (as defined by valuationCallback) into adjacent sibling nodes
</summary>
<param name="valuationCallback"></param>
<param name="minimumSize"></param>
<param name="maximumSize"></param>
</member>
<member name="M:RSG.Base.Collections.QuadTreeNode`1.TryMerge(RSG.Base.Collections.QuadTreeNode{`0},RSG.Base.Collections.QuadTreeNode{`0},RSG.Base.Collections.QuadTreeNode{`0},RSG.Base.Collections.QuadTree{`0}.ValuationNode,System.Int32,System.Int32)">
<summary>
Attempts to move the contents of a source node into that of two potential target nodes
</summary>
<param name="source"></param>
<param name="target0"></param>
<param name="target1"></param>
<param name="valuationCallback"></param>
<param name="minimumSize"></param>
<param name="maximumSize"></param>
</member>
<member name="M:RSG.Base.Collections.QuadTreeNode`1.CreateSubNodes">
<summary>
Internal method to create the subnodes (partitions space)
</summary>
<returns>Returns true if the sub nodes were created</returns>
</member>
<member name="M:RSG.Base.Collections.QuadTreeNode`1.MoveContentsIntoChildren">
<summary>
Distributes the contents of a node into its child nodes
</summary>
</member>
<member name="M:RSG.Base.Collections.QuadTreeNode`1.InsertIntoClosestSubNode(`0,RSG.Base.Collections.QuadTree{`0}.SplitBehaviour)">
<summary>
Insert an item into the closest child node
</summary>
<param name="item">
Item to insert.
</param>
<param name="splitBehaviour">
Flags to determine whether to split or not.
</param>
</member>
<member name="T:RSG.Base.Collections.QuadTree`1">
<summary>
QuadTree structure.
</summary>
<remark>
References:
http://en.wikipedia.org/wiki/Quadtree
This QuadTree contains items that have an area (BoundingBox2f)
it will store a reference to the item in the quad
that is just big enough to hold it. Each quad has a bucket that
contain multiple items.
The QuadTree has an optional split delegate to fully define when
subnodes are created in a callback function. Otherwise you can
initialise with a minimum area.
</remark>
</member>
<member name="P:RSG.Base.Collections.QuadTree`1.Count">
<summary>
Get the count of items in the QuadTree
</summary>
</member>
<member name="P:RSG.Base.Collections.QuadTree`1.Depth">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Collections.QuadTree`1.MinimumArea">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Collections.QuadTree`1.Bounds">
<summary>
Bounds of this QuadTree.
</summary>
</member>
<member name="T:RSG.Base.Collections.QuadTree`1.Operation">
<summary>
Enumeration to show QuadTree subnode behaviour.
</summary>
</member>
<member name="T:RSG.Base.Collections.QuadTree`1.Action">
<summary>
Delegate that performs an action on a QuadTreeNode.
</summary>
<param name="obj"></param>
</member>
<member name="T:RSG.Base.Collections.QuadTree`1.SplitNode">
<summary>
Delegate that determines whether the node should split.
</summary>
<returns></returns>
</member>
<member name="F:RSG.Base.Collections.QuadTree`1.m_root">
<summary>
Root QuadTreeNode object.
</summary>
</member>
<member name="F:RSG.Base.Collections.QuadTree`1.m_splitCallback">
<summary>
QuadTreeNode split callback.
</summary>
</member>
<member name="M:RSG.Base.Collections.QuadTree`1.#ctor(RSG.Base.Math.BoundingBox2f,System.Single)">
<summary>
Constructor, specifying minimum area.
</summary>
<param name="rect"></param>
<param name="minimumArea"></param>
</member>
<member name="M:RSG.Base.Collections.QuadTree`1.#ctor(RSG.Base.Math.BoundingBox2f,RSG.Base.Collections.QuadTree{`0}.SplitNode)">
<summary>
Constructor, specifying node split callback.
</summary>
<param name="rect"></param>
<param name="splitCallback"></param>
</member>
<member name="M:RSG.Base.Collections.QuadTree`1.Insert(`0,RSG.Base.Collections.QuadTree{`0}.SplitBehaviour)">
<summary>
Insert the feature into the QuadTree
</summary>
<param name="item"></param>
</member>
<member name="M:RSG.Base.Collections.QuadTree`1.ForEach(RSG.Base.Collections.QuadTree{`0}.Action)">
<summary>
Do the specified action for each item in the quadtree
</summary>
<param name="action"></param>
</member>
<member name="T:RSG.Base.Collections.IHasBoundingBox2f">
<summary>
An interface that defines and object with a rectangle
</summary>
</member>
<member name="T:RSG.Base.Collections.Range`1">
<summary>
Mutable version of Range.
</summary>
<typeparam name="T">Type described by the Range.</typeparam>
</member>
<member name="F:RSG.Base.Collections.Range`1._start">
<summary>
Private field for the <see cref="P:RSG.Base.Collections.Range`1.Start"/> property.
</summary>
</member>
<member name="F:RSG.Base.Collections.Range`1._end">
<summary>
Private field for the <see cref="P:RSG.Base.Collections.Range`1.End"/> property.
</summary>
</member>
<member name="F:RSG.Base.Collections.Range`1._startInclusive">
<summary>
Private field for the <see cref="P:RSG.Base.Collections.Range`1.StartInclusive"/> property.
</summary>
</member>
<member name="F:RSG.Base.Collections.Range`1._endInclusive">
<summary>
Private field for the <see cref="P:RSG.Base.Collections.Range`1.EndInclusive"/> property.
</summary>
</member>
<member name="M:RSG.Base.Collections.Range`1.#ctor">
<summary>
Default constructor (for serialisation purposes).
</summary>
</member>
<member name="M:RSG.Base.Collections.Range`1.#ctor(`0,`0,System.Boolean,System.Boolean)">
<summary>
Constructs a new range with optional inclusive flags.
</summary>
<param name="start"></param>
<param name="end"></param>
<param name="startInclusive"></param>
<param name="endInclusive"></param>
</member>
<member name="P:RSG.Base.Collections.Range`1.Start">
<summary>
Gets or sets start of the range.
</summary>
</member>
<member name="P:RSG.Base.Collections.Range`1.End">
<summary>
Gets or sets end of the range.
</summary>
</member>
<member name="P:RSG.Base.Collections.Range`1.StartInclusive">
<summary>
Gets or sets a value indicating whether or not the start value is inclusive.
</summary>
</member>
<member name="P:RSG.Base.Collections.Range`1.EndInclusive">
<summary>
Gets or sets a value indicating whether or not the end value is inclusive.
</summary>
</member>
<member name="M:RSG.Base.Collections.Range`1.Contains(`0)">
<summary>
Indicates whether a value is included in this range.
</summary>
<param name="value">
Value.
</param>
<returns>
<b>true</b> if the value is within range; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.Collections.Range`1.ToString">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Collections.Range`1.CompareTo(RSG.Base.Collections.Range{`0})">
<summary>
Compare this weapon to another.
</summary>
<param name="other"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Collections.Tree`1">
<summary>
Generic tree structure.
</summary>
<typeparam name="T"></typeparam>
</member>
<member name="T:RSG.Base.Collections.Tree`1.WalkMode">
<summary>
Tree node-walking mode.
</summary>
</member>
<member name="P:RSG.Base.Collections.Tree`1.Root">
<summary>
Tree root node.
</summary>
</member>
<member name="P:RSG.Base.Collections.Tree`1.DepthFirstSearch">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Collections.Tree`1.#ctor">
<summary>
Default constructor.
</summary>
</member>
<member name="M:RSG.Base.Collections.Tree`1.#ctor(RSG.Base.Collections.TreeNode{`0})">
<summary>
Constructor.
</summary>
<param name="root"></param>
</member>
<member name="M:RSG.Base.Collections.Tree`1.Clear">
<summary>
Clear all children.
</summary>
</member>
<member name="T:RSG.Base.Collections.TreeNode`1">
<summary>
Binary Tree Node data structure.
</summary>
</member>
<member name="P:RSG.Base.Collections.TreeNode`1.DepthFirstSearch">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Collections.TreeNode`1.#ctor">
<summary>
Default constructor.
</summary>
</member>
<member name="M:RSG.Base.Collections.TreeNode`1.#ctor(`0)">
<summary>
Constructor, specifying node data.
</summary>
<param name="data">Node data</param>
</member>
<member name="P:RSG.Base.Collections.TreeNode`1.Item(System.Int32)">
<summary>
</summary>
<param name="index"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Collections.TreeNode`1.ScanDepthFirst(RSG.Base.Collections.TreeNode{`0})">
<summary>
</summary>
<param name="root"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Collections.UserData">
<summary>
Class that represents user data that can be attached
to models or view models and bound to
</summary>
</member>
<member name="E:RSG.Base.Collections.UserData.PropertyChanged">
<summary>
Property changed event fired when the name changes so that the
binding can be dynamic.
</summary>
</member>
<member name="M:RSG.Base.Collections.UserData.OnPropertyChanged(System.String)">
<summary>
Create the OnPropertyChanged method to raise the event
</summary>
<param name="name"></param>
</member>
<member name="M:RSG.Base.Collections.UserData.ContainsType(System.Type)">
<summary>
Returns true iff this user data contains the given type
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Collections.WeakCache`2">
<summary>
A cache that contains items of type <typeparamref name="TValue"/> keyed by <typeparamref name="TKey"/>.
Items in the cache are stored as <see cref="T:System.WeakReference`1"/>, so they are automatically removed when
they are garbage collected. Thus, this cache can be used when you want to cache objects by a given key
and not create multiple copies of objects with the same key, but want to allow these objects to be garbage
collected.
</summary>
<typeparam name="TKey">The type of key to use for storage in the cache.</typeparam>
<typeparam name="TValue">The type of object to store in the cache.</typeparam>
<remarks>
This collection is thread safe. Items can be safely added and accessed in multiple threads.
However, only one thread can write to the collection at a time.
</remarks>
</member>
<member name="F:RSG.Base.Collections.WeakCache`2.DefaultPruneThreshold">
<summary>
The starting threshold for pruning.
</summary>
</member>
<member name="F:RSG.Base.Collections.WeakCache`2.MaxPruneThresholdVelocity">
<summary>
The max velocity the pruning threshold can increase by (pretty arbitrary).
</summary>
</member>
<member name="F:RSG.Base.Collections.WeakCache`2._dict">
<summary>
Internal dictionary which maps the keys to their weak referenced values.
</summary>
</member>
<member name="F:RSG.Base.Collections.WeakCache`2._lock">
<summary>
<see cref="T:System.Threading.ReaderWriterLockSlim"/> facilitating locking for thread safety.
</summary>
</member>
<member name="F:RSG.Base.Collections.WeakCache`2._pruneThreshold">
<summary>
The point at which pruning should occur.
</summary>
</member>
<member name="F:RSG.Base.Collections.WeakCache`2._pruneThresholdVelocity">
<summary>
The chunk size the pruning threshold should currently increase by
</summary>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.#ctor">
<summary>
Construct a new empty <see cref="T:RSG.Base.Collections.WeakCache`2"/>.
</summary>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.#ctor(RSG.Base.Collections.WeakCache{`0,`1})">
<summary>
Construct a copy <see cref="T:RSG.Base.Collections.WeakCache`2"/> from <paramref name="other"/>.
</summary>
<param name="other">The other <see cref="T:RSG.Base.Collections.WeakCache`2"/> to copy from.</param>
<remarks>This uses the other cache's equality comparer.</remarks>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.#ctor(RSG.Base.Collections.WeakCache{`0,`1},System.Collections.Generic.IEqualityComparer{`0})">
<summary>
Construct a copy <see cref="T:RSG.Base.Collections.WeakCache`2"/> from <paramref name="other"/> and equality comparer.
</summary>
<param name="other">The other <see cref="T:RSG.Base.Collections.WeakCache`2"/> to copy from.</param>
<param name="comparer">Equality comparer</param>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.#ctor(System.Collections.Generic.IEqualityComparer{`0})">
<summary>
Construct a new empty <see cref="T:RSG.Base.Collections.WeakCache`2"/> with a given <see cref="T:System.Collections.Generic.IEqualityComparer`1"/>.
</summary>
<param name="comparer">Equality comparer</param>
<exception cref="T:System.ArgumentNullException">Thrown if any argument is null.</exception>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}})">
<summary>
Construct a new <see cref="T:RSG.Base.Collections.WeakCache`2"/> with a given source collection.
</summary>
<param name="collection">Input collection with which to initially populate the cache.</param>
<exception cref="T:System.ArgumentNullException">Thrown if any argument is null.</exception>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.#ctor(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,`1}},System.Collections.Generic.IEqualityComparer{`0})">
<summary>
Construct a new <see cref="T:RSG.Base.Collections.WeakCache`2"/> with a given source collection and <see cref="T:System.Collections.Generic.IEqualityComparer`1"/>.
</summary>
<param name="collection">Input collection with which to initially populate the cache.</param>
<param name="comparer">Equality comparer.</param>
<exception cref="T:System.ArgumentNullException">Thrown if any argument is null.</exception>
</member>
<member name="P:RSG.Base.Collections.WeakCache`2.Count">
<summary>
Gets the number of non-garbage collected items in the cache.
</summary>
</member>
<member name="P:RSG.Base.Collections.WeakCache`2.Keys">
<summary>
Gets the keys of the cache. This ignores keys whose values are garbage collected.
</summary>
</member>
<member name="P:RSG.Base.Collections.WeakCache`2.Values">
<summary>
Gets the values of the cache. Does not return values that are garbage collected.
</summary>
</member>
<member name="P:RSG.Base.Collections.WeakCache`2.Comparer">
<summary>
Gets the <see cref="T:System.Collections.Generic.EqualityComparer`1"/> for the cache.
</summary>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.TryGetValue(`0,`1@)">
<summary>
Attempt to retrieve the item from the cache.
</summary>
<param name="key">The key to fetch the item by.</param>
<param name="value">Out parameter containing the item, or the default of the type.</param>
<returns>True if the item is in the cache.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if argument is null.</exception>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.TryRemove(`0,`1@)">
<summary>
Attempt to remove the value with the given key.
</summary>
<param name="key">The key.</param>
<param name="value">The value, if it was successfully removed.</param>
<returns>True if an existing item was removed.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if any argument is null.</exception>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.ContainsKey(`0)">
<summary>
Determine whether the specified key is in the cache and not garbage collected.
</summary>
<param name="key">The key.</param>
<returns>True if the key is in the cache and not garbage collected.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if the argument is null.</exception>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.GetOrAdd(`0,`1)">
<summary>
Lookup the item by key, and add the specified item if not found.
</summary>
<param name="key">The key.</param>
<param name="value">The item to add if the key is not present in the cache.</param>
<returns>The new or pre-existing item.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if any argument is null.</exception>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.GetOrAdd(`0,System.Func{`1})">
<summary>
Lookup the item by key, and add a new item if it is not found using the factory method.
</summary>
<param name="key">The key.</param>
<param name="factory">The factory method to construct a new item.</param>
<returns>The new or pre-existing item.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if any argument is null.</exception>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.Prune">
<summary>
Iterate through the cache and remove any items that have been garbage collected.
</summary>
<remarks>
It's not necessary to manually prune, because this method is called periodically during insertion.
</remarks>
<returns>The number of non-garbage collected items remaining in the cache.</returns>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.Clear">
<summary>
Clear all items from the cache.
</summary>
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.Dispose">
<inheritdoc />
</member>
<member name="M:RSG.Base.Collections.WeakCache`2.ExpandPruneThreshold">
<summary>
Expand the pruning threshold to fit within the specified value.
</summary>
</member>
<member name="T:RSG.Base.Command.CommandLineTask">
<summary>
Task implementation; allowing for system specific parameters.
</summary>
</member>
<member name="M:RSG.Base.Command.CommandLineTask.#ctor(System.String,System.String,System.String,System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.String},System.String,RSG.Base.Command.ICommandLineTool,System.Collections.Generic.IEnumerable{RSG.Base.Command.ICommandLineTask},System.Boolean,System.Boolean,System.String)">
<summary>
Initialise a new instance of the <see cref="T:RSG.Base.Command.CommandLineTask"/> class.
</summary>
<param name="name"></param>
<param name="friendlyName"></param>
<param name="parameters"></param>
<param name="sourceFile"></param>
<param name="inputFiles"></param>
<param name="outputFiles"></param>
<param name="tool"></param>
<param name="dependencies"></param>
<param name="skipIfProjectFailed"></param>
<param name="workingDirectory"></param>
<param name="stopOnErrors"></param>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.Dependencies">
<summary>
Gets the task dependencies (links to other task names).
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.FriendlyName">
<summary>
Gets the task's friendly name (e.g. used for display in UI/TTY output).
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.InputFiles">
<summary>
Gets the input files for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.Name">
<summary>
Task name.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.OutputFiles">
<summary>
Gets the output files for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.Parameters">
<summary>
Gets the task parameters.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.SkipIfProjectFailed">
<summary>
Gets or sets a value indicating whether task is skipped if a failure occurred (default: false).
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.SourceFile">
<summary>
Gets the source file for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.StopOnErrors">
<summary>
Gets or sets a value indicating whether we immediately stop on errors (default: false).
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.Tool">
<summary>
Command-line Tool to use for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTask.WorkingDirectory">
<summary>
Working directory for this task.
</summary>
</member>
<member name="T:RSG.Base.Command.CommandLineTaskBuilder">
<summary>
Builder class for creating <see cref="T:RSG.Base.Command.ICommandLineTask"/> objects.
</summary>
</member>
<member name="F:RSG.Base.Command.CommandLineTaskBuilder._inputFiles">
<summary>
Input files.
</summary>
</member>
<member name="F:RSG.Base.Command.CommandLineTaskBuilder._outputFiles">
<summary>
Output files.
</summary>
</member>
<member name="F:RSG.Base.Command.CommandLineTaskBuilder._dependencies">
<summary>
Dependencies.
</summary>
</member>
<member name="M:RSG.Base.Command.CommandLineTaskBuilder.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Command.CommandLineTaskBuilder"/> class.
</summary>
</member>
<member name="M:RSG.Base.Command.CommandLineTaskBuilder.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Command.CommandLineTaskBuilder"/> class.
</summary>
<param name="taskName">
Task name.
</param>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.Dependencies">
<summary>
Gets the task dependencies (links to other task names).
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.FriendlyName">
<summary>
Gets the task's friendly name (e.g. used for display in UI/TTY output).
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.InputFiles">
<summary>
Gets the input files for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.Name">
<summary>
Gets or sets the task name.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.OutputFiles">
<summary>
Gets the output files for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.Parameters">
<summary>
Gets the task parameters.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.SkipIfProjectFailed">
<summary>
Gets or sets a value indicating whether task is skipped if a failure occurred (default: true).
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.SourceFile">
<summary>
Gets the source file for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.StopOnErrors">
<summary>
Gets or sets a value indicating whether we immediately stop on errors (default: false).
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.Tool">
<summary>
Gets or sets the <see cref="T:RSG.Base.Command.ICommandLineTool"/> to execute for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.CommandLineTaskBuilder.WorkingDirectory">
<summary>
Working directory for this task.
</summary>
</member>
<member name="M:RSG.Base.Command.CommandLineTaskBuilder.ToTask">
<summary>
Generate a <see cref="T:RSG.Base.Command.ICommandLineTask"/> object.
</summary>
<returns>
A new <see cref="T:RSG.Base.Command.ICommandLineTask"/> object.
</returns>
</member>
<member name="T:RSG.Base.Command.CommandLineTaskComparer">
<summary>
Class implementing <see cref="T:System.Collections.Generic.IComparer`1"/> for <see cref="T:RSG.Base.Command.ICommandLineTask"/>
objects returning the correct order they should be executed in.
</summary>
</member>
<member name="M:RSG.Base.Command.CommandLineTaskComparer.Compare(RSG.Base.Command.ICommandLineTask,RSG.Base.Command.ICommandLineTask)">
<inheritdoc />
</member>
<member name="T:RSG.Base.Command.CommandLineTool">
<summary>
Command implementation; allowing for system specific parameters.
</summary>
</member>
<member name="M:RSG.Base.Command.CommandLineTool.#ctor(System.String,System.String,System.String,RSG.Base.Command.CommandLineToolExecutionMode)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Command.CommandLineTool"/> class.
</summary>
<param name="name"></param>
<param name="path"></param>
<param name="parameters"></param>
<param name="executionMode"></param>
</member>
<member name="M:RSG.Base.Command.CommandLineTool.#ctor(System.String,System.String,System.String,RSG.Base.Command.CommandLineToolExecutionMode,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Command.CommandLineTool"/> class.
</summary>
<param name="name"></param>
<param name="path"></param>
<param name="parameters"></param>
<param name="executionMode"></param>
<param name="autoRecover"></param>
</member>
<member name="M:RSG.Base.Command.CommandLineTool.#ctor(System.String,System.String,System.String,RSG.Base.Command.CommandLineToolExecutionMode,System.UInt32,System.Boolean)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Command.CommandLineTool"/> class.
</summary>
<param name="name"></param>
<param name="path"></param>
<param name="parameters"></param>
<param name="executionMode"></param>
<param name="timeLimit"></param>
<param name="singleInstancePerMachine"></param>
</member>
<member name="M:RSG.Base.Command.CommandLineTool.#ctor(System.String,System.String,System.String,RSG.Base.Command.CommandLineToolExecutionMode,System.UInt32,System.Boolean,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Command.CommandLineTool"/> class.
</summary>
<param name="name"></param>
<param name="path"></param>
<param name="parameters"></param>
<param name="executionMode"></param>
<param name="timeLimit"></param>
<param name="singleInstancePerMachine"></param>
<param name="autoRecover"></param>
</member>
<member name="P:RSG.Base.Command.CommandLineTool.Name">
<inheritdoc />
</member>
<member name="P:RSG.Base.Command.CommandLineTool.Path">
<inheritdoc />
</member>
<member name="P:RSG.Base.Command.CommandLineTool.Parameters">
<inheritdoc />
</member>
<member name="P:RSG.Base.Command.CommandLineTool.ExecutionMode">
<inheritdoc />
</member>
<member name="P:RSG.Base.Command.CommandLineTool.TimeLimit">
<inheritdoc />
</member>
<member name="P:RSG.Base.Command.CommandLineTool.SingleInstancePerMachine">
<inheritdoc />
</member>
<member name="P:RSG.Base.Command.CommandLineTool.AutoRecover">
<inheritdoc />
</member>
<member name="T:RSG.Base.Command.CommandLineToolExecutionMode">
<summary>
Enumeration for whether to allow tool execution remotely.
</summary>
</member>
<member name="F:RSG.Base.Command.CommandLineToolExecutionMode.Local">
<summary>
Local execution only.
</summary>
</member>
<member name="F:RSG.Base.Command.CommandLineToolExecutionMode.Remote">
<summary>
Permit remote execution; with local fallback if the system
does not support it (for example).
</summary>
</member>
<member name="T:RSG.Base.Command.ICommandLineTask">
<summary>
Command-line tool task interface.
</summary>
This was originally created for the Incredibuild and GNU make interoperability
with tools; so the core pipeline can share the interface.
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.Dependencies">
<summary>
Gets the task dependencies (links to other task names).
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.FriendlyName">
<summary>
Gets the task's friendly name (e.g. used for display in UI/TTY output).
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.InputFiles">
<summary>
Gets the input files for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.Name">
<summary>
Task name.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.OutputFiles">
<summary>
Gets the output files for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.Parameters">
<remarks>
</remarks>
<summary>
Gets the task parameters.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.SkipIfProjectFailed">
<summary>
Gets or sets a value indicating whether task is skipped if a failure occurred (default: false).
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.SourceFile">
<summary>
Gets the source file for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.StopOnErrors">
<summary>
Gets or sets a value indicating whether we immediately stop on errors (default: false).
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.Tool">
<summary>
Command-line Tool to use for this task.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTask.WorkingDirectory">
<summary>
Gets the working directory for this task.
</summary>
</member>
<member name="T:RSG.Base.Command.ICommandLineTool">
<summary>
Command-line tool interface.
</summary>
<remarks>
This was originally created for the Incredibuild and GNU make interoperability
with tools; so the core pipeline can share the interface.
</remarks>
</member>
<member name="P:RSG.Base.Command.ICommandLineTool.Name">
<summary>
Tool name.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTool.Path">
<summary>
Absolute path to tool (executable, script).
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTool.Parameters">
<summary>
Command-line parameters.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTool.ExecutionMode">
<summary>
Tool <see cref="T:RSG.Base.Command.CommandLineToolExecutionMode"/> specifying how the
tool can execute.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTool.TimeLimit">
<summary>
Tool execution time limit in seconds.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTool.SingleInstancePerMachine">
<summary>
Value to indicating we limit the number of instances on a given machine.
</summary>
</member>
<member name="P:RSG.Base.Command.ICommandLineTool.AutoRecover">
<summary>
Comma separated list of strings when found in output, can cause the build system
to retry the task on another machine (if used in a distributed build environment).
</summary>
</member>
<member name="T:RSG.Base.Command.TaskExecution.ConcurrentTaskScheduler">
<summary>
Concurrent task scheduler implementation; executes as many concurrent tasks
as possible based on maximum number and task dependencies.
</summary>
</member>
<member name="F:RSG.Base.Command.TaskExecution.ConcurrentTaskScheduler.LogContext">
<summary>
Log context.
</summary>
</member>
<member name="F:RSG.Base.Command.TaskExecution.ConcurrentTaskScheduler.TimeSlice">
<summary>
Timeslice; used for thread sleeping.
</summary>
</member>
<member name="F:RSG.Base.Command.TaskExecution.ConcurrentTaskScheduler._maxConcurrentTasks">
<summary>
Maximum number of concurrent tasks.
</summary>
</member>
<member name="M:RSG.Base.Command.TaskExecution.ConcurrentTaskScheduler.#ctor(System.UInt32)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Command.TaskExecution.ConcurrentTaskScheduler"/> class.
</summary>
<param name="maxConcurrentTasks">
Maximum number of concurrent <see cref="T:RSG.Base.Command.ICommandLineTask"/>.
</param>
</member>
<member name="M:RSG.Base.Command.TaskExecution.ConcurrentTaskScheduler.Execute(RSG.Base.Logging.ILog,System.Collections.Generic.IEnumerable{RSG.Base.Command.ICommandLineTask},System.TimeSpan@)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Command.TaskExecution.ConcurrentTaskScheduler.Execute(RSG.Base.Logging.ILog,System.Collections.Generic.IEnumerable{RSG.Base.Command.ICommandLineTask},RSG.Base.Command.TaskExecution.ITaskExecutionProgressCallbacks,System.TimeSpan@)">
<inheritdoc />
</member>
<member name="T:RSG.Base.Command.TaskExecution.ITaskExecutionProgressCallbacks">
<summary>
Interface to define the callback methods for the <see cref="T:RSG.Base.Command.TaskExecution.ITaskExecutionScheduler"/>.
This allows applications to determine progress for any task batch.
</summary>
</member>
<member name="M:RSG.Base.Command.TaskExecution.ITaskExecutionProgressCallbacks.TaskStarted(RSG.Base.Command.ICommandLineTask)">
<summary>
Task started callback method.
</summary>
<param name="task"></param>
</member>
<member name="M:RSG.Base.Command.TaskExecution.ITaskExecutionProgressCallbacks.TaskCompleted(RSG.Base.Command.ICommandLineTask,System.Int32,System.IO.StreamReader,System.IO.StreamReader,System.TimeSpan)">
<summary>
Task completed callback method.
</summary>
<param name="task">
Task.
</param>
<param name="exitCode">
Task process exit code.
</param>
<param name="stdoutStream">
Standard output <see cref="T:System.IO.StreamReader"/>.
</param>
<param name="stderrStream">
Standard error <see cref="T:System.IO.StreamReader"/>.
</param>
<param name="ellapsedTime">
Process ellapsed real time.
</param>
</member>
<member name="T:RSG.Base.Command.TaskExecution.ITaskExecutionScheduler">
<summary>
Task Execution Scheduler interface.
</summary>
</member>
<member name="M:RSG.Base.Command.TaskExecution.ITaskExecutionScheduler.Execute(RSG.Base.Logging.ILog,System.Collections.Generic.IEnumerable{RSG.Base.Command.ICommandLineTask},System.TimeSpan@)">
<summary>
Execute and schedule a batch of tasks.
</summary>
<param name="log">
Log object.
</param>
<param name="taskBatch">
Task batch.
</param>
<param name="ellapsedTime">
Ellapsed time.
</param>
<returns>
true on successful execution; false on failure of any task.
</returns>
</member>
<member name="M:RSG.Base.Command.TaskExecution.ITaskExecutionScheduler.Execute(RSG.Base.Logging.ILog,System.Collections.Generic.IEnumerable{RSG.Base.Command.ICommandLineTask},RSG.Base.Command.TaskExecution.ITaskExecutionProgressCallbacks,System.TimeSpan@)">
<summary>
Execute and schedule a batch of tasks providing progress support
to the caller through the <see cref="T:RSG.Base.Command.TaskExecution.ITaskExecutionProgressCallbacks"/>
interface.
</summary>
<param name="log">
Log object.
</param>
<param name="taskBatch">
Task batch.
</param>
<param name="callbacks">
Callback object.
</param>
<param name="ellapsedTime">
Ellapsed time.
</param>
<returns>
true on successful execution; false on failure of any task.
</returns>
</member>
<member name="T:RSG.Base.Command.TaskExecution.SequentialTaskScheduler">
<summary>
Naive task scheduler implementation that simply schedules each task sequentially.
</summary>
</member>
<member name="F:RSG.Base.Command.TaskExecution.SequentialTaskScheduler.LogContext">
<summary>
Log context.
</summary>
</member>
<member name="M:RSG.Base.Command.TaskExecution.SequentialTaskScheduler.Execute(RSG.Base.Logging.ILog,System.Collections.Generic.IEnumerable{RSG.Base.Command.ICommandLineTask},System.TimeSpan@)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Command.TaskExecution.SequentialTaskScheduler.Execute(RSG.Base.Logging.ILog,System.Collections.Generic.IEnumerable{RSG.Base.Command.ICommandLineTask},RSG.Base.Command.TaskExecution.ITaskExecutionProgressCallbacks,System.TimeSpan@)">
<inheritdoc />
</member>
<member name="T:RSG.Base.Command.TaskExecution.TaskExecutionBlob">
<summary>
Class that stores a <see cref="T:RSG.Base.Command.ICommandLineTask"/> with an associated
<see cref="P:RSG.Base.Command.TaskExecution.TaskExecutionBlob.Process"/> object.
</summary>
</member>
<member name="F:RSG.Base.Command.TaskExecution.TaskExecutionBlob._task">
<summary>
Task.
</summary>
</member>
<member name="F:RSG.Base.Command.TaskExecution.TaskExecutionBlob._process">
<summary>
Process executing the task.
</summary>
</member>
<member name="M:RSG.Base.Command.TaskExecution.TaskExecutionBlob.#ctor(RSG.Base.Command.ICommandLineTask,System.Diagnostics.Process)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Command.TaskExecution.TaskExecutionBlob"/> class.
</summary>
<param name="task">
Task.
</param>
<param name="process">
Process executing the task.
</param>
</member>
<member name="P:RSG.Base.Command.TaskExecution.TaskExecutionBlob.Task">
<summary>
Gets the associated task.
</summary>
</member>
<member name="P:RSG.Base.Command.TaskExecution.TaskExecutionBlob.Process">
<summary>
Gets the associated process object executing the task.
</summary>
</member>
<member name="P:RSG.Base.Command.TaskExecution.TaskExecutionBlob.IsDisposed">
<summary>
Gets or sets a value indicating whether this instance is disposed.
</summary>
<value>
<c>true</c> if this instance is disposed; otherwise, <c>false</c>.
</value>
<remarks>Default initialization for a bool is 'false'</remarks>
</member>
<member name="M:RSG.Base.Command.TaskExecution.TaskExecutionBlob.Dispose">
<inheritdoc />
<remarks>
https://msdn.microsoft.com/en-us/library/fs2xkftw(v=vs.110).aspx
</remarks>
</member>
<member name="M:RSG.Base.Command.TaskExecution.TaskExecutionBlob.Dispose(System.Boolean)">
<summary>
Overloaded Implementation of Dispose.
</summary>
<param name="isDisposing">
<c>true</c> to release both managed and unmanaged resources;
<c>false</c> to release only unmanaged resources.
</param>
<remarks>
<list type="bulleted">Dispose(bool isDisposing) executes in two distinct scenarios.
<item>
If <paramref name="isDisposing"/> equals true, the method has been called directly
or indirectly by a user's code. Managed and unmanaged resources
can be disposed.</item>
<item>If <paramref name="isDisposing"/> equals <c>false</c>, the method has been called
by the runtime from inside the finalizer and you should not reference
other objects. Only unmanaged resources can be disposed.
</item>
</list>
</remarks>
</member>
<member name="T:RSG.Base.Command.TaskExecution.TaskSchedulerBase">
<summary>
Abstract base class for task schedulers; provides some protected virtual methods
to ease implementation of <see cref="T:RSG.Base.Command.TaskExecution.ITaskExecutionScheduler"/> classes.
</summary>
</member>
<member name="M:RSG.Base.Command.TaskExecution.TaskSchedulerBase.RunNewTask(RSG.Base.Logging.ILog,System.String,RSG.Base.Command.ICommandLineTask,RSG.Base.Command.TaskExecution.ITaskExecutionProgressCallbacks)">
<summary>
Start a new task.
</summary>
<param name="log">
Log object.
</param>
<param name="logContext">
Log context.
</param>
<param name="task">
Task.
</param>
<param name="callbacks">
Execution callbacks.
</param>
<returns>
Associated <see cref="T:RSG.Base.Command.TaskExecution.TaskExecutionBlob"/>.
</returns>
</member>
<member name="M:RSG.Base.Command.TaskExecution.TaskSchedulerBase.DisposeBlobs(System.Collections.Generic.IEnumerable{RSG.Base.Command.TaskExecution.TaskExecutionBlob})">
<summary>
Dispose all of our <see cref="T:RSG.Base.Command.TaskExecution.TaskExecutionBlob"/> objects.
</summary>
</member>
<member name="M:RSG.Base.Command.TaskExecution.TaskSchedulerBase.NotifyStarted(RSG.Base.Command.TaskExecution.ITaskExecutionProgressCallbacks,RSG.Base.Command.TaskExecution.TaskExecutionBlob)">
<summary>
Callback invocation helper method for notifying a <see cref="T:RSG.Base.Command.TaskExecution.TaskExecutionBlob"/>
has started.
</summary>
<param name="callbacks"></param>
<param name="blob"></param>
</member>
<member name="M:RSG.Base.Command.TaskExecution.TaskSchedulerBase.NotifyCompleted(RSG.Base.Command.TaskExecution.ITaskExecutionProgressCallbacks,RSG.Base.Command.TaskExecution.TaskExecutionBlob)">
<summary>
Callback invocation helper method for notifying a <see cref="T:RSG.Base.Command.TaskExecution.TaskExecutionBlob"/>
has completed.
</summary>
<param name="callbacks"></param>
<param name="blob"></param>
</member>
<member name="T:RSG.Base.Editor.Comparers.DateTimeComparer">
<summary>
Generic comparer to create sorted collections on the fly
</summary>
</member>
<member name="M:RSG.Base.Editor.Comparers.DateTimeComparer.Compare(System.DateTime,System.DateTime)">
<summary>
Interface override
</summary>
<param name="left">First value to compare</param>
<param name="right">Second value to compare</param>
<returns></returns>
</member>
<member name="T:RSG.Base.Comparer.FuncEqualityComparer`1">
<summary>
This class allows us to specify an equality comparer in line for LINQ purpose
Be aware that not passing a hash function will default all hashes to 0.
</summary>
<typeparam name="T"></typeparam>
</member>
<member name="M:RSG.Base.Comparer.FuncEqualityComparer`1.#ctor(System.Func{`0,`0,System.Boolean})">
<summary>
Creates a new instance of FuncEqualityComparer
</summary>
<param name="comparer">a delegate that will determine the equality between two objects</param>
</member>
<member name="M:RSG.Base.Comparer.FuncEqualityComparer`1.#ctor(System.Func{`0,`0,System.Boolean},System.Func{`0,System.Int32})">
<summary>
Creates a new instance of FuncEqualityComparer
</summary>
<param name="comparer">a delegate that will determine the equality between two objects; equivalent to .Equals()</param>
<param name="hash">a delegate that is the equivalent of GetHashCode.</param>
</member>
<member name="T:RSG.Base.Comparer.TopologicalComparer`1">
<summary>
Implements IComparer for two objects; returning the correct
order they should be built in (after dependency analysis).
</summary>
</member>
<member name="F:RSG.Base.Comparer.TopologicalComparer`1.m_recursiveDependenciesCache">
<summary>
Recursive T dependency cache.
</summary>
</member>
<member name="F:RSG.Base.Comparer.TopologicalComparer`1.m_getDependenciesFunc">
<summary>
This is a Func for getting the children
</summary>
</member>
<member name="M:RSG.Base.Comparer.TopologicalComparer`1.#ctor(System.Func{`0,System.Collections.Generic.IEnumerable{`0}})">
<summary>
Default constructor; no dependency cache.
</summary>
</member>
<member name="M:RSG.Base.Comparer.TopologicalComparer`1.#ctor(System.Func{`0,System.Collections.Generic.IEnumerable{`0}},System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{`0,System.Collections.Generic.IEnumerable{`0}}})">
<summary>
Constructor; taking a T (recursive) dependency cache.
</summary>
<param name="recursive"></param>
</member>
<member name="M:RSG.Base.Comparer.TopologicalComparer`1.#ctor(System.Func{`0,System.Collections.Generic.IEnumerable{`0}},System.Collections.Generic.IDictionary{`0,System.Collections.Generic.IEnumerable{`0}})">
<summary>
Constructor; taking a T (recursive) dependency cache.
</summary>
<param name="recursive"></param>
</member>
<member name="M:RSG.Base.Comparer.TopologicalComparer`1.Compare(`0,`0)">
<summary>
Compare two T objects; returning which one should be built
first depending on their dependencies.
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Comparer.TopologicalComparer`1.GetDependencies(`0)">
<summary>
Return element recursive dependencies; either from our cache or
by recalculating it.
</summary>
<param name="element"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.DataSize">
<summary>
Class representing data sizes; typically used for pretty formatting File Size strings.
</summary>
<remarks>
https://en.wikipedia.org/wiki/Gibibyte
http://msdn.microsoft.com/en-us/library/26etazsy.aspx#IFormattable
</remarks>
</member>
<member name="M:RSG.Base.DataSize.#ctor(System.Int64)">
<summary>
Constructor.
</summary>
<param name="bytes">
Number of bytes.
</param>
</member>
<member name="M:RSG.Base.DataSize.#ctor(System.UInt64)">
<summary>
Constructor.
</summary>
<param name="bytes">
Number of bytes.
</param>
</member>
<member name="M:RSG.Base.DataSize.#ctor(System.Decimal,RSG.Base.DataSizeUnits)">
<summary>
Creates a data size with the given unit.
</summary>
<param name="value">Value</param>
<param name="unit">Unit</param>
</member>
<member name="P:RSG.Base.DataSize.Bytes">
<summary>
Gets the number of bytes.
</summary>
</member>
<member name="P:RSG.Base.DataSize.KibiBytes">
<summary>
Gets the number of kibibytes (KiB).
</summary>
</member>
<member name="P:RSG.Base.DataSize.KiloBytes">
<summary>
Gets the number of kilobytes (kB).
</summary>
</member>
<member name="P:RSG.Base.DataSize.MebiBytes">
<summary>
Gets the number of mebibytes (MiB).
</summary>
</member>
<member name="P:RSG.Base.DataSize.MegaBytes">
<summary>
Gets the number of megabytes (MB).
</summary>
</member>
<member name="P:RSG.Base.DataSize.GibiBytes">
<summary>
Gets the number of gibibytes (GiB).
</summary>
</member>
<member name="P:RSG.Base.DataSize.GigaBytes">
<summary>
Gets the number of gigabytes (GB).
</summary>
</member>
<member name="P:RSG.Base.DataSize.TebiBytes">
<summary>
Gets the number of Tebibytes (TiB).
</summary>
</member>
<member name="P:RSG.Base.DataSize.TeraBytes">
<summary>
Gets the number of terabytes.
</summary>
</member>
<member name="M:RSG.Base.DataSize.op_Explicit(System.Int64)~RSG.Base.DataSize">
<summary>
Explicit constructor.
</summary>
<param name="bytes">
Number of bytes.
</param>
<returns>
A new instance of a <see cref="T:RSG.Base.DataSize"/> class.
</returns>
</member>
<member name="M:RSG.Base.DataSize.op_Explicit(System.UInt64)~RSG.Base.DataSize">
<summary>
Explicit constructor.
</summary>
<param name="bytes">
Number of bytes.
</param>
<returns>
A new instance of a <see cref="T:RSG.Base.DataSize"/> class.
</returns>
</member>
<member name="M:RSG.Base.DataSize.op_Addition(RSG.Base.DataSize,RSG.Base.DataSize)">
<summary>
Adds the two given data sizes and returns a new one.
</summary>
<param name="left">Left data size.</param>
<param name="right">Right data size.</param>
<returns>Sum of both data sizes.</returns>
</member>
<member name="M:RSG.Base.DataSize.op_Subtraction(RSG.Base.DataSize,RSG.Base.DataSize)">
<summary>
Subtracts the left datasize from the right datasize.
</summary>
<param name="left">Left data size.</param>
<param name="right">Right data size.</param>
<returns>Absolute value of left datasize - right datasize.</returns>
</member>
<member name="M:RSG.Base.DataSize.op_Equality(RSG.Base.DataSize,RSG.Base.DataSize)">
<summary>
Equality operator.
</summary>
<param name="left">
Left-hand side.
</param>
<param name="right">
Right-hand side.
</param>
<returns>
<b>true</b> if they are equal; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.DataSize.op_Inequality(RSG.Base.DataSize,RSG.Base.DataSize)">
<summary>
Inequality operator.
</summary>
<param name="left">
Left-hand side.
</param>
<param name="right">
Right-hand side.
</param>
<returns>
<b>true</b> if they are not equal; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.DataSize.op_LessThan(RSG.Base.DataSize,RSG.Base.DataSize)">
<summary>
Compares if left is smaller then right instance.
</summary>
<param name="left">Instance on the left side of the operator</param>
<param name="right">Instance on the right side of the operator</param>
<returns>
<b>true</b> if left is less than right; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.DataSize.op_GreaterThan(RSG.Base.DataSize,RSG.Base.DataSize)">
<summary>
Compares if left is larger then right instance.
</summary>
<param name="left">Instance on the left side of the operator</param>
<param name="right">Instance on the right side of the operator</param>
<returns>
<b>true</b> if left is greater than right; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.DataSize.op_LessThanOrEqual(RSG.Base.DataSize,RSG.Base.DataSize)">
<summary>
Compares if left is smaller or equal then to instance.
</summary>
<param name="left">Instance on the left side of the operator</param>
<param name="right">Instance on the right side of the operator</param>
<returns>
<b>true</b> if left is less than or equal to right; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.DataSize.op_GreaterThanOrEqual(RSG.Base.DataSize,RSG.Base.DataSize)">
<summary>
Compares if left is larger or equal to right instance.
</summary>
<param name="left">Instance on the left side of the operator</param>
<param name="right">Instance on the right side of the operator</param>
<returns>
<b>true</b> if left is greater than or equal to right; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.DataSize.ToString">
<inheritdoc />
</member>
<member name="M:RSG.Base.DataSize.ToString(System.String)">
<summary>
Return formatted string.
</summary>
<param name="format">
Format specifier.
</param>
<returns>
Formatted <see cref="T:System.String"/> representation.
</returns>
</member>
<member name="M:RSG.Base.DataSize.ToString(RSG.Base.DataSizeUnits)">
<summary>
Return string representation.
</summary>
<param name="units">
Explicit units.
</param>
<returns>
String representation.
</returns>
</member>
<member name="M:RSG.Base.DataSize.ToString(System.String,System.IFormatProvider)">
<summary>
Return string representation.
</summary>
<param name="format"></param>
<param name="provider"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.DataSize.FormatSignificantDigits(System.Int32)">
<summary>
Formats a data size to the given significant numbers
</summary>
<param name="significantNumbers">Significant numbers to limit to.</param>
<returns>Formatted value</returns>
</member>
<member name="M:RSG.Base.DataSize.GetBestFittingDataSizeUnit">
<summary>
Get the best unit datasize.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.DataSize.CompareTo(RSG.Base.DataSize)">
<inheritdoc />
</member>
<member name="M:RSG.Base.DataSize.CompareTo(System.Object)">
<inheritdoc />
</member>
<member name="M:RSG.Base.DataSize.Equals(RSG.Base.DataSize)">
<inheritdoc />
</member>
<member name="M:RSG.Base.DataSize.Equals(System.Object)">
<inheritdoc />
</member>
<member name="M:RSG.Base.DataSize.GetHashCode">
<inheritdoc />
</member>
<member name="M:RSG.Base.DataSize.GetHumanReadableString(System.Int32)">
<summary>
Return human readable string.
</summary>
<param name="precision"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.DataSizeUnits">
<summary>
Enumeration to define how data sizes are displayed; supporting both
SI units (1000 base) and IEC (1024 base) units.
</summary>
</member>
<member name="F:RSG.Base.DataSizeUnits.Bytes">
<summary>
Display in bytes.
</summary>
</member>
<member name="F:RSG.Base.DataSizeUnits.KibiBytes">
<summary>
Display in kibibytes (IEC units, 1024 bytes).
</summary>
</member>
<member name="F:RSG.Base.DataSizeUnits.KiloBytes">
<summary>
Display in kilobytes (SI units, 1000 bytes).
</summary>
</member>
<member name="F:RSG.Base.DataSizeUnits.MebiBytes">
<summary>
Display in mebibytes (IEC units, 1024 kibibytes).
</summary>
</member>
<member name="F:RSG.Base.DataSizeUnits.MegaBytes">
<summary>
Display in megabytes (SI units, 1000 kilobytes).
</summary>
</member>
<member name="F:RSG.Base.DataSizeUnits.GibiBytes">
<summary>
Display in gibibytes (IEC units, 1024 mebibytes).
</summary>
</member>
<member name="F:RSG.Base.DataSizeUnits.GigaBytes">
<summary>
Display in gigabytes (SI units, 1000 megabytes).
</summary>
</member>
<member name="F:RSG.Base.DataSizeUnits.TebiBytes">
<summary>
Display in tebibytes (IEC units, 1024 gibibytes).
</summary>
</member>
<member name="F:RSG.Base.DataSizeUnits.TeraBytes">
<summary>
Display in terabytes (SI units, 1000 gigabytes).
</summary>
</member>
<member name="T:RSG.Base.Drawing.HSLColor">
<summary>
</summary>
</member>
<member name="F:RSG.Base.Drawing.HSLColor._hue">
<summary>
The private field used for the <see cref="P:RSG.Base.Drawing.HSLColor.Hue"/> property.
</summary>
</member>
<member name="F:RSG.Base.Drawing.HSLColor._saturation">
<summary>
The private field used for the <see cref="P:RSG.Base.Drawing.HSLColor.Saturation"/> property.
</summary>
</member>
<member name="F:RSG.Base.Drawing.HSLColor._lightness">
<summary>
The private field used for the <see cref="P:RSG.Base.Drawing.HSLColor.Lightness"/> property.
</summary>
</member>
<member name="M:RSG.Base.Drawing.HSLColor.#ctor">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Drawing.HSLColor.#ctor(System.Double,System.Double,System.Double)">
<summary>
</summary>
<param name="hue"></param>
<param name="saturation"></param>
<param name="lightness"></param>
</member>
<member name="P:RSG.Base.Drawing.HSLColor.Hue">
<summary>
Hue component of the color with a value in the range of [0, 1).
</summary>
</member>
<member name="P:RSG.Base.Drawing.HSLColor.Saturation">
<summary>
Saturation component of the color with a value in the range of [0, 1).
</summary>
</member>
<member name="P:RSG.Base.Drawing.HSLColor.Lightness">
<summary>
Lightness (or Luminosity) component of the color with a value in the range of [0, 1).
</summary>
</member>
<member name="M:RSG.Base.Drawing.HSLColor.ToString">
<summary>
String conversion
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Drawing.HSLColor.FromRGB(RSG.Base.Drawing.RGBColor)">
<summary>
Based off of pseudocode from:
</summary>
<param name="rgb"></param>
<returns></returns>
See http://easyrgb.com/index.php?X=MATH&amp;H=18#text18.
</member>
<member name="M:RSG.Base.Drawing.HSLColor.op_Explicit(RSG.Base.Drawing.RGBColor)~RSG.Base.Drawing.HSLColor">
<summary>
Explicit conversion from RGBColor.
</summary>
<param name="rgb"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Drawing.HSVColor">
<summary>
Color represented as HSV values.
</summary>
</member>
<member name="F:RSG.Base.Drawing.HSVColor._hue">
<summary>
The private field used for the <see cref="P:RSG.Base.Drawing.HSVColor.Hue"/> property.
</summary>
</member>
<member name="F:RSG.Base.Drawing.HSVColor._saturation">
<summary>
The private field used for the <see cref="P:RSG.Base.Drawing.HSVColor.Saturation"/> property.
</summary>
</member>
<member name="F:RSG.Base.Drawing.HSVColor._value">
<summary>
The private field used for the <see cref="P:RSG.Base.Drawing.HSVColor.Value"/> property.
</summary>
</member>
<member name="M:RSG.Base.Drawing.HSVColor.#ctor">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Drawing.HSVColor.#ctor(System.Double,System.Double,System.Double)">
<summary>
</summary>
<param name="hue"></param>
<param name="saturation"></param>
<param name="value"></param>
</member>
<member name="P:RSG.Base.Drawing.HSVColor.Hue">
<summary>
Hue component of the color with a value in the range of [0, 1).
</summary>
</member>
<member name="P:RSG.Base.Drawing.HSVColor.Saturation">
<summary>
Saturation component of the color with a value in the range of [0, 1).
</summary>
</member>
<member name="P:RSG.Base.Drawing.HSVColor.Value">
<summary>
Value (Brightness) component of the color with a value in the range of [0, 1).
</summary>
</member>
<member name="M:RSG.Base.Drawing.HSVColor.ToString">
<summary>
String conversion
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Drawing.HSVColor.FromRGB(RSG.Base.Drawing.RGBColor)">
<summary>
Based on C code from:
http://www.cs.rit.edu/~ncs/color/t_convert.html
</summary>
<param name="rgb"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Drawing.HSVColor.op_Explicit(RSG.Base.Drawing.RGBColor)~RSG.Base.Drawing.HSVColor">
<summary>
Explicit conversion from RGBColor.
</summary>
<param name="rgb"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Drawing.RGBColor">
<summary>
Color represented as RGB values.
</summary>
</member>
<member name="F:RSG.Base.Drawing.RGBColor._red">
<summary>
The private field used for the <see cref="P:RSG.Base.Drawing.RGBColor.Red"/> property.
</summary>
</member>
<member name="F:RSG.Base.Drawing.RGBColor._green">
<summary>
The private field used for the <see cref="P:RSG.Base.Drawing.RGBColor.Green"/> property.
</summary>
</member>
<member name="F:RSG.Base.Drawing.RGBColor._blue">
<summary>
The private field used for the <see cref="P:RSG.Base.Drawing.RGBColor.Blue"/> property.
</summary>
</member>
<member name="M:RSG.Base.Drawing.RGBColor.#ctor">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Drawing.RGBColor.#ctor(System.Byte,System.Byte,System.Byte)">
<summary>
</summary>
<param name="red"></param>
<param name="green"></param>
<param name="blue"></param>
</member>
<member name="P:RSG.Base.Drawing.RGBColor.Red">
<summary>
Red component of the color with a value in the range of [0, 255].
</summary>
</member>
<member name="P:RSG.Base.Drawing.RGBColor.Green">
<summary>
Green component of the color with a value in the range of [0, 255].
</summary>
</member>
<member name="P:RSG.Base.Drawing.RGBColor.Blue">
<summary>
Blue component of the color with a value in the range of [0, 255].
</summary>
</member>
<member name="M:RSG.Base.Drawing.RGBColor.ToString">
<summary>
String conversion
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Drawing.RGBColor.FromHSV(RSG.Base.Drawing.HSVColor)">
<summary>
Based on C code from here:
http://www.cs.rit.edu/~ncs/color/t_convert.html
</summary>
<param name="hsv"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Drawing.RGBColor.FromHSL(RSG.Base.Drawing.HSLColor)">
<summary>
</summary>
<param name="hsl"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Drawing.RGBColor.ColorCalc(System.Double,System.Double,System.Double)">
<summary>
</summary>
<param name="t1"></param>
<param name="t2"></param>
<param name="th"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Drawing.RGBColor.op_Explicit(RSG.Base.Drawing.HSVColor)~RSG.Base.Drawing.RGBColor">
<summary>
Explicit conversion from HSVColor.
</summary>
<param name="hsv"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Drawing.RGBColor.op_Explicit(RSG.Base.Drawing.HSLColor)~RSG.Base.Drawing.RGBColor">
<summary>
Explicit conversion from HSLColor.
</summary>
<param name="hsl"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.EnvironmentBracketType">
<summary>
Bracket-type used for variable additions.
</summary>
<remarks>
Note: please use $(var) for substitions; want to migrate the texture
pipeline to that at some point.
</remarks>
</member>
<member name="F:RSG.Base.EnvironmentBracketType.Default">
<summary>
$(var)-style; default as per Ruby environment.
</summary>
</member>
<member name="F:RSG.Base.EnvironmentBracketType.AlternateCurly">
<summary>
${var}-style.
</summary>
</member>
<member name="T:RSG.Base.Exceptions.MessageCodeException">
<summary>
Exception which contains a message code.
</summary>
</member>
<member name="M:RSG.Base.Exceptions.MessageCodeException.#ctor(System.String)">
<summary>
Default constructor.
</summary>
<param name="message">Message for the exception.</param>
</member>
<member name="P:RSG.Base.Exceptions.MessageCodeException.MessageCode">
<summary>
Gets or sets the message code, if applicable for this exception.
</summary>
</member>
<member name="P:RSG.Base.Exceptions.MessageCodeException.MessageCodeParameters">
<summary>
Gets or sets the message code parameters for formatting the message.
</summary>
</member>
<member name="T:RSG.Base.Extensions.ArrayExtensions">
<summary>
Extension methods for arrays of elements.
</summary>
</member>
<member name="M:RSG.Base.Extensions.ArrayExtensions.ToHex(System.Byte[])">
<summary>
Converts the byte array to hex.
</summary>
<param name="byteArray">The calling byte array.</param>
<returns>A lowercase string hex representation of the byte array.</returns>
</member>
<member name="M:RSG.Base.Extensions.ArrayExtensions.FastEquals(System.Byte[],System.Byte[])">
<summary>
Using native memcmp, determines if the provided array is equal to the calling array.
</summary>
<param name="firstArray">The calling array.</param>
<param name="secondArray">The array to compare against.</param>
<returns>Whether or not the arrays are equal.</returns>
</member>
<member name="M:RSG.Base.Extensions.ArrayExtensions.AsChunks``1(``0[],System.Int32)">
<summary>
Groups the provided array into specified chunk sizes.
</summary>
<typeparam name="T">Generic type for array contents.</typeparam>
<param name="source">Source array.</param>
<param name="chunkMaxSize">Max size per chunk.</param>
<returns>An enumerable of array chunks.</returns>
</member>
<member name="M:RSG.Base.Extensions.ArrayExtensions.memcmp(System.Byte[],System.Byte[],System.Int64)">
<summary>
Extern to get native memcmp
</summary>
<param name="b1">First byte array.</param>
<param name="b2">Second byte array.</param>
<param name="count">The length of the first array.</param>
<returns>An integer indicating whether or not they are the same.</returns>
</member>
<member name="T:RSG.Base.Extensions.BigIntegerExtensions">
<summary>
Extension methods for the <see cref="T:System.Numerics.BigInteger"/> struct.
</summary>
</member>
<member name="M:RSG.Base.Extensions.BigIntegerExtensions.ToByteArray(System.Numerics.BigInteger,System.Int32)">
<summary>
Converts a <see cref="T:System.Numerics.BigInteger"/> value to a byte array with a specified
number of bytes. Useful for hashing comparisons to ensure we hit the correct
width.
</summary>
<param name="bi">
<see cref="T:System.Numerics.BigInteger"/> value.
</param>
<param name="minimumPadToBytes">
Number of bytes to pad to; array will be padded to this or left alone.
</param>
<returns>
The value of the current BigInteger object converted to an array of bytes.
</returns>
</member>
<member name="T:RSG.Base.Extensions.BitArrayExtensions">
<summary>
Extension methods for <see cref="T:System.Collections.BitArray"/>.
</summary>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.HasOnlyFlag(System.Collections.BitArray,System.Enum)">
<summary>
check if a bitArray contains the integer value from the enum provided
</summary>
<param name="bitArray"></param>
<param name="enumValue"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.HasFlag(System.Collections.BitArray,System.Enum)">
<summary>
check if a bitArray contains the integer value from the enum provided
</summary>
<param name="bitArray"></param>
<param name="enumValue"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.HasFlag(System.Collections.BitArray,System.Int32)">
<summary>
check if a bitArray contains the integer flag provided
</summary>
<param name="bitArray"></param>
<param name="flag"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.HasFlags``1(System.Collections.BitArray,System.Collections.Generic.IEnumerable{``0})">
<summary>
check if a bitArray contains the integer values from the enum enumerable provided
</summary>
<param name="bitArray"></param>
<param name="enumList"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.HasFlags(System.Collections.BitArray,System.Collections.BitArray)">
<summary>
check if a bitArray contains the integer values from the enum enumerable provided
</summary>
<param name="bitArray"></param>
<param name="otherBitArray"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.HasFlags(System.Collections.BitArray,System.Collections.Generic.IEnumerable{System.Int32})">
<summary>
check if a bitArray contains the integer values from the enum enumerable provided
</summary>
<param name="bitArray"></param>
<param name="intList"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Set(System.Collections.BitArray,System.Object)">
<summary>
Set the flag from an enum value
</summary>
<param name="bitArray"></param>
<param name="enumValue"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Unset(System.Collections.BitArray,System.Object)">
<summary>
Unset the flag from an enum value
</summary>
<param name="bitArray"></param>
<param name="enumValue"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Set(System.Collections.BitArray,System.Int32)">
<summary>
Set the flag from an integer value (as a power of 2)
</summary>
<param name="bitArray"></param>
<param name="flag"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Unset(System.Collections.BitArray,System.Int32)">
<summary>
Unset the flag from an integer value (as a power of 2)
</summary>
<param name="bitArray"></param>
<param name="flag"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Set``1(System.Collections.BitArray,System.Collections.Generic.IEnumerable{``0},System.Boolean)">
<summary>
Set multiple bits at once
</summary>
<param name="bitArray"></param>
<param name="enumValues"></param>
<param name="value"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Set(System.Collections.BitArray,System.Collections.Generic.IEnumerable{System.Int32},System.Boolean)">
<summary>
Set multiple bits at once
</summary>
<param name="bitArray"></param>
<param name="intValues"></param>
<param name="value"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Set(System.Collections.BitArray,System.Collections.Generic.IEnumerable{System.Int16},System.Boolean)">
<summary>
Set multiple bits at once
</summary>
<param name="bitArray"></param>
<param name="intValues"></param>
<param name="value"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Set(System.Collections.BitArray,System.Collections.Generic.IEnumerable{System.Int64},System.Boolean)">
<summary>
Set multiple bits at once
</summary>
<param name="bitArray"></param>
<param name="intValues"></param>
<param name="value"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Set(System.Collections.BitArray,System.Collections.Generic.IEnumerable{System.SByte},System.Boolean)">
<summary>
Set multiple bits at once
</summary>
<param name="bitArray"></param>
<param name="intValues"></param>
<param name="value"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.ResetAsEnumFlag``1(System.Collections.BitArray,``0)">
<summary>
Reset the bitarray from an enum Flag
</summary>
<typeparam name="T"></typeparam>
<param name="bitArray"></param>
<param name="flags"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.SetAsEnumFlag``1(System.Collections.BitArray,``0)">
<summary>
Set the bitarray from an enum Flag
</summary>
<typeparam name="T"></typeparam>
<param name="bitArray"></param>
<param name="flags"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.GetAsEnumFlag``1(System.Collections.BitArray)">
<summary>
GetBitArray as Enum (if the enum has the flag attribute)
</summary>
<param name="bitArray"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.GetAsInt(System.Collections.BitArray)">
<summary>
GetBitArray as Integer
</summary>
<param name="bitArray"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.SetFromInt(System.Collections.BitArray,System.Int32)">
<summary>
Set 32 bits in the bit array from an int.
</summary>
<param name="bitArray"></param>
<param name="bits">The bit values</param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Reset(System.Collections.BitArray,System.Enum[])">
<summary>
Reset the BitArray
</summary>
<param name="bitArray"></param>
<param name="flags"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Reset(System.Collections.BitArray,System.Enum)">
<summary>
Reset the BitArray
</summary>
<param name="bitArray"></param>
<param name="flags"></param>
</member>
<member name="M:RSG.Base.Extensions.BitArrayExtensions.Reset(System.Collections.BitArray,System.Collections.BitArray)">
<summary>
Reset the BitArray
</summary>
<param name="bitArray"></param>
<param name="otherBitArray"></param>
</member>
<member name="T:RSG.Base.Extensions.CollectionExtensions">
<summary>
<see cref="T:System.Collections.Generic.ICollection`1"/> extension methods.
</summary>
</member>
<member name="M:RSG.Base.Extensions.CollectionExtensions.AddRange``1(System.Collections.Generic.ICollection{``0},System.Collections.Generic.IEnumerable{``0})">
<summary>
Adds the elements of the specified collection to the end of the
<see cref="T:System.Collections.Generic.ICollection`1"/>.
</summary>
<param name="collection">
<see cref="T:System.Collections.Generic.ICollection`1"/> to add elements to.
</param>
<param name="items">
Items to add to the collection.
</param>
<typeparam name="T">
Type of elements in collection.
</typeparam>
</member>
<member name="M:RSG.Base.Extensions.CollectionExtensions.RemoveRange``1(System.Collections.Generic.ICollection{``0},System.Collections.Generic.IEnumerable{``0})">
<summary>
Remove a range of elements from an existing collection.
</summary>
<param name="collection">
<see cref="T:System.Collections.Generic.ICollection`1"/> to add elements to.
</param>
<param name="items">
Items to add to the collection.
</param>
<typeparam name="T">
Type of elements in collection.
</typeparam>
</member>
<member name="T:RSG.Base.Extensions.DateTimeExtensions">
<summary>
DateTime struct extension methods.
</summary>
</member>
<member name="M:RSG.Base.Extensions.DateTimeExtensions.IsEarlierThan(System.DateTime,System.DateTime)">
<summary>
Compares two instances of <see cref="T:System.DateTime"/> and tells you whether
the first is earlier than t2.
</summary>
<param name="t1">
First <see cref="T:System.DateTime"/> object to compare.
</param>
<param name="t2">
Second <see cref="T:System.DateTime"/> object to compare.
</param>
<returns>
Returns whether the first is earlier than t2.
</returns>
</member>
<member name="M:RSG.Base.Extensions.DateTimeExtensions.IsEarlierThanOrEqual(System.DateTime,System.DateTime)">
<summary>
Compares two instances of <see cref="T:System.DateTime"/> and tells you whether
the first is earlier than or equal to t2.
</summary>
<param name="t1">
First <see cref="T:System.DateTime"/> object to compare.
</param>
<param name="t2">
Second <see cref="T:System.DateTime"/> object to compare.
</param>
<returns>
Returns whether the first is earlier than or equal to t2.
</returns>
</member>
<member name="M:RSG.Base.Extensions.DateTimeExtensions.IsLaterThan(System.DateTime,System.DateTime)">
<summary>
Compares two instances of <see cref="T:System.DateTime"/> and tells you whether
the first is later than t2.
</summary>
<param name="t1">
First <see cref="T:System.DateTime"/> object to compare.
</param>
<param name="t2">
Second <see cref="T:System.DateTime"/> object to compare.
</param>
<returns>
Returns whether the first is later than t2.
</returns>
</member>
<member name="M:RSG.Base.Extensions.DateTimeExtensions.IsLaterThanOrEqual(System.DateTime,System.DateTime)">
<summary>
Compares two instances of <see cref="T:System.DateTime"/> and tells you whether
the first is later than or equal to t2.
</summary>
<param name="t1">
First <see cref="T:System.DateTime"/> object to compare.
</param>
<param name="t2">
Second <see cref="T:System.DateTime"/> object to compare.
</param>
<returns>
Returns whether the first is later than or equal to t2.
</returns>
</member>
<member name="M:RSG.Base.Extensions.DateTimeExtensions.StartOfWeek(System.DateTime,System.DayOfWeek)">
<summary>
Computes the start of the week starting on a particular day.
</summary>
<param name="dt">
<see cref="T:System.DateTime"/> to compute start of week from.
</param>
<param name="startOfWeek">
Specify the start day of the week.
</param>
<returns>
Returns the <see cref="T:System.DateTime"/> object that specifies the
start of the week from the current <see cref="T:System.DateTime"/>
(where the week starts on the day specified).
</returns>
</member>
<member name="T:RSG.Base.Extensions.DictionaryExtensions">
<summary>
IDictionary extension methods.
</summary>
</member>
<member name="M:RSG.Base.Extensions.DictionaryExtensions.Merge``2(System.Collections.Generic.IDictionary{``0,``1},System.Collections.Generic.IDictionary{``0,``1},System.Boolean)">
<summary>
Merge dictionary objects; optionally ignoring duplicate keys (where source
value would be kept).
</summary>
<typeparam name="K"></typeparam>
<typeparam name="V"></typeparam>
<param name="source"></param>
<param name="other"></param>
<param name="ignoreDupeKeys"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.DictionaryExtensions.ToDictionary``2(System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{``0,``1}})">
<summary>
Simpler version of <see cref="M:System.Linq.Enumerable.ToDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2})"/> for things that already are <see cref="T:System.Collections.Generic.KeyValuePair`2"/> <see cref="T:System.Collections.Generic.IEnumerable`1"/>s.
</summary>
<typeparam name="K">The <see cref="P:System.Collections.Generic.KeyValuePair`2.Key"/> type.</typeparam>
<typeparam name="V">The <see cref="P:System.Collections.Generic.KeyValuePair`2.Value"/> type.</typeparam>
<param name="collection">The <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Collections.Generic.KeyValuePair`2"/>s to convert to a dictionary.</param>
<returns>A new <see cref="T:System.Collections.Generic.Dictionary`2"/> from <paramref name="collection"/>.</returns>
</member>
<member name="T:RSG.Base.Extensions.EnumerableExtensions">
<summary>
IEnumerable extension methods.
</summary>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.None``1(System.Collections.Generic.IEnumerable{``0})">
<summary>
Determines whether no elements of a sequence satisfies a condition.
</summary>
<typeparam name="TSource">
Type of element.
</typeparam>
<param name="source">
Source enumerable.
</param>
<returns>
true if there are no elements in the enumerable; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.None``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean})">
<summary>
Determines whether no elements of a sequence satisfies a condition.
</summary>
<typeparam name="TSource">
Type of element.
</typeparam>
<param name="source">
Source enumerable.
</param>
<param name="predicate">
Predecate for testing for no objects.
</param>
<returns>
true if there are no elements in the enumerable that match the predecate; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.HasAtLeast``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
<summary>
Does the enumerable have at least a count of elements?
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="items">
Source enumerable.
</param>
<param name="num">
Minimum number of items.
</param>
<returns>
true if the source enumerable has at least num items; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.HasAtMost``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
<summary>
Does the enumerable have at most a count of elements?
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="items">
Source enumerable.
</param>
<param name="num">
Maximum number of items.
</param>
<returns>
true if the source enumerable has at most num items; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.Distinct``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
<summary>
Distinct Extension - allows for lambda delegate to be used
- eg. myEnumerable.Distinct(my => my.UniqueId);
- originally I was doing this changelists.GroupBy(cl => cl.Number).Select(grp => grp.First());
- but extension method opens it up to all.
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<typeparam name="TDistinction">
Type of distinction.
</typeparam>
<param name="items">
Source enumerable.
</param>
<param name="func">
Lambda delegate.
</param>
<returns>
Distinct set of elements.
</returns>
</member>
<member name="T:RSG.Base.Extensions.EnumerableExtensions.LamdaComparer`2">
<summary>
LamdaComparer to support the IEnumerableExtensions Distinct Extension
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<typeparam name="TDistinction"></typeparam>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})">
<summary>
Enumerate through each element in the source enumerable.
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="items">
Source enumerable.
</param>
<param name="myAction">
Predecate.
</param>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.FirstN``1(System.Collections.Generic.IEnumerable{``0},System.Int32,System.Int32)">
<summary>
Return an enumerable of the first N elements from a start position.
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="values">
Set of values.
</param>
<param name="start">
Starting index.
</param>
<param name="n">
Element count.
</param>
<returns>
New <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the first N elements.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.LastN``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
<summary>
Return an enumerable of the last N elements.
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="values">
Set of values.
</param>
<param name="n">
Element count.
</param>
<returns>
New <see cref="T:System.Collections.Generic.IEnumerable`1"/> containing the first N elements.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.Chunk``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
<summary>
Break a list of items into chunks of a specific size.
</summary>
<returns>
A set of chunks.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.Lookup``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Boolean},System.Collections.Generic.IEnumerable{``0}@,System.Collections.Generic.IEnumerable{``0}@)">
<summary>
Partition enumerable with lookup on a boolean criteria.
- note that ToLookup is not-deferred and will be executed immediately.
</summary>
<typeparam name="T">type of enumerable</typeparam>
<param name="source">source of enumerable</param>
<param name="predicate">boolean predicate</param>
<param name="trueList">an enumerable of {T} where the predicate evaluates to true</param>
<param name="falseList">an enumerable of {T} where the predicate evaluates to false</param>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.CalculateStdDev(System.Collections.Generic.IEnumerable{System.Double})">
<summary>
Compute the standard deviation of a list of doubles.
</summary>
<param name="values">
Input list of values.
</param>
<returns>
Standard deviation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.CalculateStdDev(System.Collections.Generic.IEnumerable{System.Single})">
<summary>
Compute the standard deviation of a list of doubles.
</summary>
<param name="values">
Input list of values.
</param>
<returns>
Standard deviation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.ToSet``1(System.Collections.Generic.IEnumerable{``0})">
<summary>
Converts the passed in IEnumerable to a set.
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="values">
Input values.
</param>
<returns>
Set of values.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.ToSet``2(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1})">
<summary>
Converts the supplied enumeration to a set using the supplied value selector.
</summary>
<typeparam name="TSource">
The type of elements in the source.
</typeparam>
<typeparam name="TValue">
The type of the resulting items to select.
</typeparam>
<param name="source">
The enumeration containing the source values to create the set from.
</param>
<param name="valueSelector">
A function to extract a value from each element.
</param>
<returns>
A <see cref="T:System.Collections.Generic.HashSet`1"/> that contains values.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.ToSortedDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2})">
<summary>
Converts the passed in IEnumerable to a sorted dictionary.
</summary>
<typeparam name="TSource"></typeparam>
<typeparam name="TKey"></typeparam>
<typeparam name="TElement"></typeparam>
<param name="values"></param>
<param name="keySelector"></param>
<param name="elementSelector"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.ToSortedDictionary``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IComparer{``1})">
<summary>
Converts the passed in IEnumerable to a sorted dictionary.
</summary>
<typeparam name="TSource"></typeparam>
<typeparam name="TKey"></typeparam>
<typeparam name="TElement"></typeparam>
<param name="values"></param>
<param name="keySelector"></param>
<param name="elementSelector"></param>
<param name="keyComparer"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.GetDuplicateItems``1(System.Collections.Generic.IEnumerable{``0})">
<summary>
Get duplicate items
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="that"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.GetDuplicateItems``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0})">
<summary>
Get Duplicate items with a predicate allowing to filter what we want to consider
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="that"></param>
<param name="predicate"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.HasDuplicates``1(System.Collections.Generic.IEnumerable{``0})">
<summary>
Check if we have a duplicates - Note: it call GetDuplicates so if you want to treat the list
of duplicates it's faster to use GetDuplicateItems(), storing the result and checking the
Count.
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="that"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.HasDuplicates``1(System.Collections.Generic.IEnumerable{``0},System.Predicate{``0})">
<summary>
Check if we have a duplicates with a predicate allowing to filter what we want to consider
- Note: it call GetDuplicates so if you want to treat the list of duplicates it's faster to
use GetDuplicateItems(), storing the result and checking the Count.
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="that"></param>
<param name="predicate"></param>
predicate function for filtering what we want to treat
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.Flatten``1(System.Collections.Generic.IEnumerable{``0},System.Func{``0,System.Collections.Generic.IEnumerable{``0}})">
<summary>
Flatten a tree hierarchy with a Func given as parameter for the access to the children
</summary>
<typeparam name="T">
Type of element.
</typeparam>
<param name="that"></param>
<param name="getChildrenFunc"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.GroupBySequence``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})">
<summary>
Groups items provided they appear in sequence e.g. 1,1,2,3,3,1 would return 4
groups containing 1,1 2 3,3 and 1. This differs from the standard LINQ GroupBy
method which would place all the 1's in a single group.
</summary>
<typeparam name="TSource"></typeparam>
<typeparam name="TKey"></typeparam>
<typeparam name="TElement"></typeparam>
<param name="source"></param>
<param name="keySelector"></param>
<param name="elementSelector"></param>
<param name="comparer"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.ForEachWithIndex``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0,System.Int32})">
<summary>
Executes an action for each item and a sequence, passing in the
index of that item to the action procedure.
</summary>
<typeparam name="T">The type of the sequence.</typeparam>
<param name="that">The sequence.</param>
<param name="action">
A function that accepts a sequence item and its index in the sequence.
</param>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.ContainsReference``1(System.Collections.Generic.IEnumerable{``0},``0)">
<summary>
Check if the given parameter is contained as a reference in the IEnumerable
</summary>
<typeparam name="T"></typeparam>
<param name="enumerable"></param>
<param name="referencedT"></param>
<returns>True if the reference is found; False otherwise</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.Batch``1(System.Collections.Generic.IEnumerable{``0},System.Int32)">
<summary>
Returns a group of items in the given batch size till all items are iterated.
</summary>
<typeparam name="T">Type of the Enumerable</typeparam>
<param name="sourceCollection">Source collection</param>
<param name="batchSize">Size of the batches.</param>
<returns>Collection of batched items.</returns>
</member>
<member name="T:RSG.Base.Extensions.EnumerableExtensions.Grouping`2">
<summary>
Simple class that implements the <see cref="T:System.Linq.IGrouping`2"/> interface
for use with the <see cref="M:RSG.Base.Extensions.EnumerableExtensions.GroupBySequence``3(System.Collections.Generic.IEnumerable{``0},System.Func{``0,``1},System.Func{``0,``2},System.Collections.Generic.IEqualityComparer{``1})"/>
method.
</summary>
<typeparam name="TKey"></typeparam>
<typeparam name="TElement"></typeparam>
</member>
<member name="F:RSG.Base.Extensions.EnumerableExtensions.Grouping`2._key">
<summary>
The private field for the <see cref="P:RSG.Base.Extensions.EnumerableExtensions.Grouping`2.Key"/> property.
</summary>
</member>
<member name="F:RSG.Base.Extensions.EnumerableExtensions.Grouping`2._elements">
<summary>
The elements that this grouping contains.
</summary>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.Grouping`2.#ctor(`0,System.Collections.Generic.IEnumerable{`1})">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Extensions.EnumerableExtensions.Grouping`2"/> class
using the specified key and list of elements.
</summary>
<param name="key"></param>
<param name="elements"></param>
</member>
<member name="P:RSG.Base.Extensions.EnumerableExtensions.Grouping`2.Key">
<summary>
Gets the key this grouping is for.
</summary>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.Grouping`2.GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
An enumerator that can be used to iterate through the collection.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerableExtensions.Grouping`2.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the
collection.
</returns>
</member>
<member name="T:RSG.Base.Extensions.EnumerationExtentions">
<summary>
Enumeration convenience extensions
</summary>
</member>
<member name="M:RSG.Base.Extensions.EnumerationExtentions.AddFlag(System.Enum,System.Enum)">
<summary>
Adds the flag.
</summary>
<param name="value">The enum's current value.</param>
<param name="toAdd">The flag to add.</param>
<returns>A new enum value with the flag added.</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumerationExtentions.RemoveFlag(System.Enum,System.Enum)">
<summary>
Removes the flag.
</summary>
<param name="value">The enum's current value.</param>
<param name="toRemove">The flag to remove.</param>
<returns>A new enum value with the flag removed.</returns>
</member>
<member name="T:RSG.Base.Extensions.EnumExtensions">
<summary>
<see cref="T:System.Enum"/> extension methods.
</summary>
</member>
<member name="F:RSG.Base.Extensions.EnumExtensions.EnumToRegexLookup">
<summary>
Contains an enum to regex lookup.
</summary>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetAttributeOfType``1(System.Enum)">
<summary>
Gets an attribute on an enum field value; rather than adding method
for each attribute type.
</summary>
<typeparam name="T">The type of the attribute you want to retrieve</typeparam>
<param name="value">The enum value</param>
<returns>Attribute of type T that exists on the enum value</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetAttributesOfType``1(System.Enum)">
<summary>
Gets an attribute on an enum field value; rather than adding method
for each attribute type.
</summary>
<typeparam name="T">The type of the attribute you want to retrieve</typeparam>
<param name="value">The enum value</param>
<returns>Attribute of type T that exists on the enum value</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetRegexValue(System.Enum)">
<summary>
Retrieves the first regular expression associated with an enum value
</summary>
<param name="value">
The enum value.
</param>
<returns>
<see cref="T:RSG.Base.Attributes.RegexAttribute"/> that exists on the enum value.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.TryGetRegexValue(System.Enum,System.Text.RegularExpressions.Regex@)">
<summary>
Tries to get the regular expression associated with the specified enum value.
</summary>
<param name="value">
The enum value.
</param>
<param name="regex">
<see cref="T:System.Text.RegularExpressions.Regex"/> that exists on the enum value.
</param>
<returns>
true if the method was successful; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetFileExtension(System.Enum)">
<summary>
Retrieves the first file extension associated with an enum value.
</summary>
<param name="value">
The enum value.
</param>
<returns>
<see cref="T:RSG.Base.Attributes.FileExtensionAttribute"/> filename that exists on the enum value.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.TryGetFileExtension(System.Enum,System.String@)">
<summary>
Tries to get the file extension associated with the specified enum value.
</summary>
<param name="value">
The enum value.
</param>
<param name="extension">
<see cref="T:System.String"/> file extension that exists on the enum value.
</param>
<returns>
true if the method was successful; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetFriendlyNameValue(System.Enum)">
<summary>
Retrieves the first regular expression associated with an enum value
</summary>
<param name="value">
The enum value.
</param>
<returns>
<see cref="T:RSG.Base.Attributes.FriendlyNameAttribute"/> name that exists on the enum value.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetDisplayName(System.Enum)">
<summary>
Retrieves the display name on a <see cref="T:System.Enum"/> entry.
</summary>
<param name="value">
The enum value.
</param>
<returns>
<see cref="T:System.ComponentModel.DisplayNameAttribute"/> string that exists on the field.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.TryGetDisplayName(System.Enum,System.String@)">
<summary>
Tries to get the display name associated with the specified enum value.
</summary>
<param name="value">
The enum value.
</param>
<param name="displayName">
<see cref="T:System.String"/> display name extension that exists on the enum value.
</param>
<returns>
true if the method was successful; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetValByDisplayName``1(System.String)">
<summary>
Retrieves the enum value for the display name.
</summary>
<remarks>
Have to return an Enum instead of T, as Enum is nullable so we can check for
failure return case.
</remarks>
<typeparam name="T">Enum type name</typeparam>
<param name="displayName">
<see cref="T:System.String"/> display name extension that exists on the enum value.
</param>
<returns>
<see cref="T:System.Enum"/> value that has the specified display name.
</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetValByDisplayNameOrDefault``1(System.String,``0)">
<summary>
Retrieves the enum value for the display name.
</summary>
<remarks>
Have to return an Enum instead of T, as Enum is nullable so we can check for
failure return case.
</remarks>
<typeparam name="T">Enum type name</typeparam>
<param name="displayName">Display name to find</param>
<param name="defaultValue">Default value to use if display value not found in enum.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetDescriptionValue(System.Enum)">
<summary>
Retrieves the first description string associated with an enum value.
</summary>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.TryGetDescription(System.Enum,System.String@)">
<summary>
Tries to get the description associated with the specified enum value.
</summary>
<param name="value"></param>
<param name="description"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetCategory(System.Enum)">
<summary>
Retrieves the first category string associated with an enum value.
</summary>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.TryGetCategory(System.Enum,System.String@)">
<summary>
Tries to get the category associated with the specified enum value.
</summary>
<param name="value"></param>
<param name="category"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetImageMonikerGuid(System.Enum)">
<summary>
Retrieves the first ImageMoniker GUID associated with an enum value.
</summary>
<param name="value">Enum field to find GUID for.</param>
<returns>ImageMoniker GUID.</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.TryGetImageMonikerGuid(System.Enum,System.Guid@)">
<summary>
Tries to get the ImageMoniker GUID.
</summary>
<param name="value">Enum field to find the guid for.</param>
<param name="guid">ImageMoniker GUID if found, otherwise <see cref="F:System.Guid.Empty"/>.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetImageMonikerGuidAndId(System.Enum)">
<summary>
Retrieves the first ImageMoniker GUID and ID associated with an enum value.
</summary>
<param name="value">Enum field to find GUID for.</param>
<returns>ImageMoniker GUID and ID.</returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.TryGetImageMonikerGuidAndId(System.Enum,System.Guid@,System.Int32@)">
<summary>
Tries to get the ImageMoniker GUID and ID.
</summary>
<param name="value">Enum field to find the guid for.</param>
<param name="guid">ImageMoniker GUID if found, otherwise <see cref="F:System.Guid.Empty"/>.</param>
<param name="id">ImageMoniker ID if found, otherwise 0.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.IsRequired(System.Enum)">
<summary>
Retrieves the first category string associated with an enum value.
</summary>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetDefaultValue(System.Enum)">
<summary>
Retrieves the first default value associated with an enum value.
</summary>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.TryGetDefaultValue(System.Enum,System.Object@)">
<summary>
Tries to get the default value associated with the specified enum value.
</summary>
<param name="value"></param>
<param name="defaultValue"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetRuntimeName(System.Enum)">
<summary>
Retrieves the first runtime name string associated with an enum value
</summary>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.GetValueByRuntimeName``1(System.String,System.Boolean)">
<summary>
Retrieves the enum value for the display name.
</summary>
<remarks>
Have to return an Enum instead of T, as Enum is nullable so we can check for
failure return case.
</remarks>
<typeparam name="T">Enum type.</typeparam>
<param name="runtimeName"></param>
<param name="ignoreCase"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.TryGetRuntimeName(System.Enum,System.String@)">
<summary>
Tries to get the runtime name associated with the specified enum value.
</summary>
<param name="value"></param>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.EnumerateAllFlags``1">
<summary>
Enumerates all possible combinations of bit flags relating to an enum.
Original code from: http://stackoverflow.com/a/6117125
Modified to include flags attribute check
</summary>
<typeparam name="T">
Can't restrict to enums, but this is the next closest thing...
</typeparam>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.IndexToPowerOfTwo``1(System.Enum)">
<summary>
Convert an individual valued enum from an index value to a power of 2
</summary>
<param name="valueEnum"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.EnumExtensions.FromPowerOfTwoToIndex``1(System.Enum)">
<summary>
Convert an individual value enum from a power of 2 to an index
</summary>
<param name="valueEnum"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Extensions.EventHandlerExtensions">
<summary>
EventHandler extension methods.
</summary>
Some of this modeled after the event raising patterns here:
http://geekswithblogs.net/HouseOfBilz/archive/2009/02/15/re-thinking-c-events.aspx
</member>
<member name="M:RSG.Base.Extensions.EventHandlerExtensions.Raise``1(System.EventHandler{``0},System.Object,``0)">
<summary>
Raise (trigger) an event safely (if there are listeners).
</summary>
<param name="handler">
<see cref="T:System.EventHandler"/> object.
</param>
<param name="sender">
Event sender object.
</param>
<param name="e">
Event arguments.
</param>
<typeparam name="T">
Type this Event Handler expects.
</typeparam>
This extension method to an EventHandler allows you to safely raise
events without having to check there are listeners every time.
E.g. for the event PropertyChanged, previously:
if (null != PropertyChanged)
PropertyChanged(this, new PropertyChangedEventArgs(...));
Using this extension method:
PropertyChanged.Raise(this, new PropertyChangedEventArgs(...));
</member>
<member name="M:RSG.Base.Extensions.EventHandlerExtensions.Raise``1(System.EventHandler{RSG.Base.SimpleEventArgs{``0}},System.Object,``0)">
<summary>
Raise (trigger) an event safely (if there are listeners).
</summary>
<param name="handler">
<see cref="T:System.EventHandler"/> object.
</param>
<param name="sender">
Event sender object.
</param>
<param name="payload">
Event arguments.
</param>
<typeparam name="T">
Event argument type.
</typeparam>
Same as Raise (above), but it allows you to pass in any object type, and wraps it in a SimpleEventArgs{T}
container. E.g.:
printStringCallback.Raise(this, "print this string");
</member>
<member name="M:RSG.Base.Extensions.EventHandlerExtensions.Raise(System.EventHandler{System.EventArgs},System.Object)">
<summary>
Raise (trigger) the event safely.
</summary>
<param name="handler">
<see cref="T:System.EventHandler"/> object.
</param>
<param name="sender">
Event sender object.
</param>
</member>
<member name="M:RSG.Base.Extensions.EventHandlerExtensions.RaiseAndReturn``1(System.EventHandler{RSG.Base.SimpleEventArgs{``0}},System.Object,``0)">
<summary>
Raise (trigger) an event and return the possibly-modified event argument
</summary>
<param name="handler">
<see cref="T:System.EventHandler"/> object.
</param>
<param name="sender">
Event sender object.
</param>
<param name="payload">
Event argument.
</param>
<typeparam name="T">
Event argument type.
</typeparam>
<returns>Returns <see cref="T:RSG.Base.SimpleEventArgs`1"/></returns>
This is the same as the Raise() extention method above, but it returns the SimpleEventArgs{T} object wrapping
the original payload. This object may have been modified by the delegates that were called.
</member>
<member name="T:RSG.Base.Extensions.GuidExtensions">
<summary>
Guid extensions
</summary>
DHM TODO: move these extensions that are Automation-specific into the Automation source.
</member>
<member name="M:RSG.Base.Extensions.GuidExtensions.FromSeedDeterministic(System.Guid,System.String)">
<summary>
Generates a deterministic guid from a string.
Adapted from http://geekswithblogs.net/EltonStoneman/archive/2008/06/26/generating-deterministic-guids.aspx
Use like this;
Guid myGuid = Guid().FromSeedDeterminsitic(seed);
</summary>
<param name="guid">
<see cref="T:System.Guid"/>.
</param>
<param name="seed">
Seed to create hash.
</param>
<returns>
New <see cref="T:System.Guid"/>.
</returns>
</member>
<member name="M:RSG.Base.Extensions.GuidExtensions.FromJobId(System.Guid,System.String)">
<summary>
Parses a GUID from a string with the following format:
Job ID #GUID
Use like this;
Guid myGuid = Guid().FromJobId(jobId);
</summary>
<param name="guid">
<see cref="T:System.Guid"/>.
</param>
<param name="jobId">
Err Automation Job ID.
</param>
<returns>Default guid on failure.</returns>
</member>
<member name="M:RSG.Base.Extensions.GuidExtensions.HexGuidToUInt64(System.String)">
<summary>
Parses a Guid in a "hex string" form (usually serialised from the game) and returns it in a ulong form
</summary>
<param name="guid"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.GuidExtensions.TruncateToUInt64(System.Guid)">
<summary>
Parses a Guid in canonical form and returns it in a truncated ulong form (for game serialised guid matching)
</summary>
<param name="guid"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Extensions.IOExceptionExtensions">
<summary>
Extensions to the System.IO.IOException class.
</summary>
</member>
<member name="M:RSG.Base.Extensions.IOExceptionExtensions.IsFileLocked(System.IO.IOException)">
<summary>
Determine whether this IOException was raised because of a
file locking error.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Extensions.IPAddressExtensions">
<summary>
IPAddress class extension methods.
</summary>
References:
http://blogs.msdn.com/b/knom/archive/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks.aspx
</member>
<member name="M:RSG.Base.Extensions.IPAddressExtensions.GetLocalIPAddress">
<summary>
Retrieves the IP address of the local machine.
</summary>
<returns>
Local machine <see cref="T:System.Net.IPAddress"/> address.
</returns>
</member>
<member name="M:RSG.Base.Extensions.IPAddressExtensions.GetAllDomainIPAddresses">
<summary>
Gets all the IP Addresses used on the domain.
</summary>
<returns>List of Domain IP if found, otherwise null</returns>
</member>
<member name="M:RSG.Base.Extensions.IPAddressExtensions.GetDomainIPAddress">
<summary>
Gets the IP Address used on the domain.
</summary>
<returns>Domain IP if found, otherwise null</returns>
</member>
<member name="M:RSG.Base.Extensions.IPAddressExtensions.GetBroadcastAddress(System.Net.IPAddress,System.Net.IPAddress)">
<summary>
Return broadcast address for any given IP Address.
</summary>
<param name="address">
<see cref="T:System.Net.IPAddress"/>
</param>
<param name="subnetMask">
Subnet mask <see cref="T:System.Net.IPAddress"/>.
</param>
<returns>
Broadcast <see cref="T:System.Net.IPAddress"/>.
</returns>
</member>
<member name="M:RSG.Base.Extensions.IPAddressExtensions.GetNetworkAddress(System.Net.IPAddress,System.Net.IPAddress)">
<summary>
Return network address of an IP Address.
</summary>
<param name="address">
<see cref="T:System.Net.IPAddress"/>
</param>
<param name="subnetMask">
Subnet mask <see cref="T:System.Net.IPAddress"/>.
</param>
<returns>
Network address <see cref="T:System.Net.IPAddress"/>.
</returns>
</member>
<member name="M:RSG.Base.Extensions.IPAddressExtensions.IsInSameSubnet(System.Net.IPAddress,System.Net.IPAddress,System.Net.IPAddress)">
<summary>
Return whether two IP addresses are in the same subnet.
</summary>
<param name="address2">
<see cref="T:System.Net.IPAddress"/> one.
</param>
<param name="address">
<see cref="T:System.Net.IPAddress"/> two.
</param>
<param name="subnetMask">
Subnet mask <see cref="T:System.Net.IPAddress"/>.
</param>
<returns>
true if the addresses are in the same subnet; otherwise false.
</returns>
</member>
<member name="T:RSG.Base.Extensions.IUniversalLogExtensions">
<summary>
Extensions of IUniversalLog
</summary>
</member>
<member name="M:RSG.Base.Extensions.IUniversalLogExtensions.FatMessageCtx(RSG.Base.Logging.ILog,System.String,System.String,System.Object[])">
<summary>
Displays a very pronounced log message
- consisting of 5 lines of log output.
************
*** blah ***
************
</summary>
<param name="log"></param>
<param name="logCtx"></param>
<param name="msg"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Extensions.IUniversalLogExtensions.GetLogFiles(RSG.Base.Logging.ILog)">
<summary>
Obtains all the log filepaths that the log may be targeting.
</summary>
<param name="log">Log to search.</param>
<returns>All log filepaths if any are found.</returns>
</member>
<member name="M:RSG.Base.Extensions.IUniversalLogExtensions.GetLogFile(RSG.Base.Logging.ILogTarget)">
<summary>
Obtains a any log files if there is a file target involved.
Also recursively checks for any wrappers.
</summary>
<param name="target">Log target.</param>
<returns>Filename of the log file if found, otherwise null.</returns>
</member>
<member name="T:RSG.Base.Extensions.LongExtensions">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Extensions.LongExtensions.ToFileSize(System.Int64)">
<summary>
Converts a long to a filesize representation.
</summary>
<param name="l"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Extensions.FileSizeFormatProvider">
<summary>
Converts a value in bytes into a human readable format.
</summary>
</member>
<member name="F:RSG.Base.Extensions.FileSizeFormatProvider.c_fileSizeFormat">
<summary>
</summary>
</member>
<member name="F:RSG.Base.Extensions.FileSizeFormatProvider.c_oneKiloByte">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Extensions.FileSizeFormatProvider.GetFormat(System.Type)">
<summary>
Returns an object that provides formatting services for the specified type.
</summary>
<param name="formatType">An object that specifies the type of format object to return.</param>
<returns>An instance of the object specified by formatType, if the System.IFormatProvider
implementation can supply that type of object; otherwise, null.</returns>
</member>
<member name="M:RSG.Base.Extensions.FileSizeFormatProvider.Format(System.String,System.Object,System.IFormatProvider)">
<summary>
</summary>
<param name="format"></param>
<param name="arg"></param>
<param name="formatProvider"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.FileSizeFormatProvider.defaultFormat(System.String,System.Object,System.IFormatProvider)">
<summary>
</summary>
<param name="format"></param>
<param name="arg"></param>
<param name="formatProvider"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Extensions.MathExtensions">
<summary>
Extension class for math operations.
</summary>
</member>
<member name="M:RSG.Base.Extensions.MathExtensions.Clamp``1(``0,``0,``0)">
<summary>
Clamps the first arg between the min and max arguments passed
</summary>
<param name="value">current value</param>
<param name="min">min value</param>
<param name="max">max value</param>
<returns>value argument clamped between min and max.</returns>
</member>
<member name="M:RSG.Base.Extensions.MathExtensions.RoundTo125(System.Double)">
<summary>
Rounds the number to the closest value in the ... 1 2 5 10 20 50 100 ... sequence.
</summary>
<param name="value">
The value to round.
</param>
<returns>
The rounded value.
</returns>
</member>
<member name="T:RSG.Base.Extensions.ProcessExtensions">
<summary>
Processor class extension methods.
</summary>
<remarks>
References:
http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/d60f0793-cc92-48fb-b867-dd113dabcd5c/
TODO: I reckon the way we are determining parent process ids isn't particularly efficient.
It would be worth investigating using a pinvoked native method instead.
</remarks>
</member>
<member name="F:RSG.Base.Extensions.ProcessExtensions.MaximumIterations">
<summary>
Maximum number of iterations to find parent process.
</summary>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.FindParentProcessId(System.Int32)">
<summary>
Find a processes parent id
</summary>
<param name="pid">
Process ID.
</param>
<returns>
Parent process ID.
</returns>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.Parent(System.Diagnostics.Process)">
<summary>
Extension method for retrieving a processes parent.
</summary>
<param name="process">
<see cref="T:System.Diagnostics.Process"/> object.
</param>
<returns>
Parent of the passed in <see cref="T:System.Diagnostics.Process"/>.
</returns>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.IsBootstrapped(System.Diagnostics.Process)">
<summary>
Extension method which tells whether the passed in process is running
through the bootstrapper.
</summary>
<param name="process">
<see cref="T:System.Diagnostics.Process"/> object.
</param>
<returns>
true if the process is bootstrapped; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.FindIndexedProcessName(System.Int32)">
<summary>
Gets the Process object from a given process id
</summary>
<param name="pid">
Process ID.
</param>
<returns>
<see cref="T:System.Diagnostics.Process"/> object.
</returns>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.GetProcessesByNameRegex(System.String)">
<summary>
Retrieves all processes that match the specified regex pattern.
</summary>
<param name="pattern">
Pattern to match process names.
</param>
<returns>
Array of <see cref="T:System.Diagnostics.Process"/> objects matching pattern.
</returns>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.IsTopLevelProcess(System.Diagnostics.Process)">
<summary>
Returns whether the process is a top-level process
</summary>
<param name="process">
<see cref="T:System.Diagnostics.Process"/> object.
</param>
<returns>
true if the process is a top-level process; otherwise false;
</returns>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.TopMostParent(System.Diagnostics.Process)">
<summary>
Returns the top-most parent process from a given process.
</summary>
<param name="process">
<see cref="T:System.Diagnostics.Process"/> object.
</param>
<returns>
Top-most <see cref="T:System.Diagnostics.Process"/> object.
</returns>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.GetCommandLine(System.Diagnostics.Process)">
<summary>
Attempts to retrieve the command line for a given <paramref name="process"/>.
</summary>
<param name="process">The <see cref="T:System.Diagnostics.Process"/> to retrieve the command line for.</param>
<returns>The <paramref name="process"/>' command line <see cref="T:System.String"/> on success, <see langword="null"/> on failure.</returns>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.GetCommandLineForProcessId(System.Int32)">
<summary>
Attempts to retrieve the command line for a given <paramref name="processId"/>.
</summary>
<param name="processId">The <see cref="P:System.Diagnostics.Process.Id"/> to get the command line for.</param>
<returns>The <paramref name="process"/>' command line <see cref="T:System.String"/> on success, <see langword="null"/> on failure.</returns>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.GetChildProcessIds(System.Diagnostics.Process)">
<summary>
Gets the child <see cref="P:System.Diagnostics.Process.Id"/>s for a given <paramref name="process"/>.
</summary>
<param name="process">The <see cref="T:System.Diagnostics.Process"/> to retrieve the command line for.</param>
<returns>An <see cref="T:System.Collections.Generic.ICollection`1"/> of <see cref="P:System.Diagnostics.Process.Id"/>s that are children of the given <paramref name="process"/>.</returns>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.WaitForExitAsync(System.Diagnostics.Process,System.Threading.CancellationToken)">
<summary>
Generates a <see cref="T:System.Threading.Tasks.Task"/> that will complete when a given <paramref name="process"/> exits.
</summary>
<param name="process">The <see cref="T:System.Diagnostics.Process"/> to monitor. Must be started.</param>
<param name="cancellationToken">The optional <see cref="T:System.Threading.CancellationToken"/> for the operation.</param>
<returns>A <see cref="T:System.Threading.Tasks.Task"/> reprenting the lifetime of the <paramref name="process"/>.</returns>
<remarks>The <see cref="P:System.Diagnostics.Process.EnableRaisingEvents"/> of <paramref name="process"/> must not be set to <see langword="false"/> after calling this method.</remarks>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.KillProcessTree(System.Diagnostics.Process)">
<summary>
Kills a process and all its descendant processes.
</summary>
<param name="process">
<see cref="T:System.Diagnostics.Process"/> process object.
</param>
<remarks>
This is windows specific since we use the windows command 'taskkill'
https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/taskkill
</remarks>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.GetProcessAndChildren(System.Diagnostics.Process,System.Collections.Generic.IList{System.Diagnostics.Process})">
<summary>
Gets a list of all descendant processes for the specified parent.
</summary>
<param name="parent">
<see cref="T:System.Diagnostics.Process"/> object to use as root.
</param>
<param name="output">
Output list of child processes.
</param>
</member>
<member name="M:RSG.Base.Extensions.ProcessExtensions.KillChildProcesses(System.Int32,System.Boolean)">
<summary>
Kills the children processes of the process ID passed in.
</summary>
<param name="parentPid">The Process ID to check its children and kill processes of.</param>
<param name="isParentProcess">Whether this is being called with the parent process ID or not.</param>
</member>
<member name="T:RSG.Base.Extensions.StreamExtensions">
<summary>
<see cref="T:System.IO.Stream"/> extension methods.
</summary>
</member>
<member name="M:RSG.Base.Extensions.StreamExtensions.CopyTo(System.IO.Stream,System.IO.Stream)">
<summary>
Copies a stream to another stream
</summary>
<param name="src">
Source <see cref="T:System.IO.Stream"/>
</param>
<param name="dest">
Destination <see cref="T:System.IO.Stream"/>
</param>
</member>
<member name="M:RSG.Base.Extensions.StreamExtensions.GetTemporaryStreamContext(System.IO.Stream)">
<summary>
Returns a temporary stream context which will go back to the position it entered in after disposing.
</summary>
<param name="stream">Seekable stream to use in the context.</param>
<returns>Disposable context.</returns>
</member>
<member name="T:RSG.Base.Extensions.StringExtensions">
<summary>
String class extension methods.
</summary>
</member>
<member name="F:RSG.Base.Extensions.StringExtensions.EllipsisStringDefaultDelimeter">
<summary>
Default ellipsis string delimiters.
</summary>
</member>
<member name="F:RSG.Base.Extensions.StringExtensions.EllipsisStringDefaultReplacement">
<summary>
Default ellipsis string replacement string.
</summary>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.EllipsisString(System.String,System.Int32,System.Char[],System.String)">
<summary>
Shorten a string for display. Typically used when displaying filenames in TTY or
in menu items to avoid altering the UI control too much; e.g. MRU lists.
</summary>
<param name="rawString">
Input string.
</param>
<param name="maxLength">
Maximum number of characters string should be.
</param>
<param name="delimiters">
Delimeters that should be split on (e.g. '\' and '/').
</param>
<param name="replacementString">
Replacement string (e.g. "...").
</param>
<returns>
Shortened string for display.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.Truncate(System.String,System.Int32)">
<summary>
Truncate string to a max length.
</summary>
<param name="value"></param>
<param name="maxLength"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToSystemString(System.Collections.Generic.IEnumerable{System.Char})">
<summary>
Constructs a string from enumerable of chars
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.PadBoth(System.String,System.Int32)">
<summary>
Pad a string with spaces left and right
- so that it is centralised and surrounded by space
eg. ' I am a string '
</summary>
<param name="str"></param>
<param name="length"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.SafeSplit(System.String,System.Char[],System.Boolean)">
<summary>
Returns a string array that contains the substrings in this instance that are
delimited by the elements in the specified character array.
</summary>
<param name="s">
The string to split.
</param>
<param name="separator">
An array of Unicode characters that delimit the substrings in this string, an empty
array that contains no delimiters, or null.
</param>
<param name="removeEmpty">
A value indicating whether empty entries will be returned or not.
</param>
<returns>
An array whose elements contain the substrings in this string that are delimited by
one or more characters in separator.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.SafeSplit(System.String,System.Char,System.Boolean)">
<summary>
Returns a string array that contains the substrings in this instance that are
delimited by the specified character.
</summary>
<param name="s">
The string to split.
</param>
<param name="separator">
A character that delimits the substrings in this string.
</param>
<param name="removeEmpty">
A value indicating whether empty entries will be returned or not.
</param>
<returns>
An array whose elements contain the substrings in this string that are delimited by
the specified separator.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.SplitPath(System.String)">
<summary>
Split a pathname by system directory separator characters.
</summary>
<param name="pathname"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToLines(System.String)">
<summary>
Enumerates the text lines from the string, handling mixed CR-LF scenarios correctly.
</summary>
<remarks>This will preserve empty lines</remarks>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.Format(System.String,System.IFormatProvider,System.Object[])">
<summary>
Replaces the format item in a specified string with the string representation of a
corresponding object in a specified array. A specified parameter supplies
culture-specific formatting information.
</summary>
<param name="format">
A composite format string.
</param>
<param name="provider">
An object that supplies culture-specific formatting information.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
<returns>
A copy of format in which the format items have been replaced by the string
representation of the corresponding objects in args.
</returns>
<exception cref="T:System.ArgumentNullException">
The <paramref name="format"/> or <paramref name="args"/> parameters are null.
</exception>
<exception cref="T:System.FormatException">
The <paramref name="format"/> parameter is invalid.-or- The index of a format item
is less than zero, or greater than or equal to the length of the args array.
</exception>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.FormatCurrent(System.String,System.Object[])">
<summary>
Replaces the format item in a specified string with the string representation of a
corresponding object in a specified array using the current culture for formatting
information.
</summary>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
<returns>
A copy of format in which the format items have been replaced by the string
representation of the corresponding objects in args.
</returns>
<exception cref="T:System.ArgumentNullException">
The <paramref name="format"/> or <paramref name="args"/> parameters are null.
</exception>
<exception cref="T:System.FormatException">
The <paramref name="format"/> parameter is invalid.-or- The index of a format item
is less than zero, or greater than or equal to the length of the args array.
</exception>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.FormatCurrentUI(System.String,System.Object[])">
<summary>
Replaces the format item in a specified string with the string representation of a
corresponding object in a specified array using the current user interface culture
for formatting information.
</summary>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
<returns>
A copy of format in which the format items have been replaced by the string
representation of the corresponding objects in args.
</returns>
<exception cref="T:System.ArgumentNullException">
The <paramref name="format"/> or <paramref name="args"/> parameters are null.
</exception>
<exception cref="T:System.FormatException">
The <paramref name="format"/> parameter is invalid.-or- The index of a format item
is less than zero, or greater than or equal to the length of the args array.
</exception>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.FormatInvariant(System.String,System.Object[])">
<summary>
Replaces the format item in a specified string with the string representation of a
corresponding object in a specified array using the invariant culture for
formatting information.
</summary>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
<returns>
A copy of format in which the format items have been replaced by the string
representation of the corresponding objects in args.
</returns>
<exception cref="T:System.ArgumentNullException">
The <paramref name="format"/> or <paramref name="args"/> parameters are null.
</exception>
<exception cref="T:System.FormatException">
The <paramref name="format"/> parameter is invalid.-or- The index of a format item
is less than zero, or greater than or equal to the length of the args array.
</exception>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.Int32)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.Int64)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.Nullable{System.Int64})">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.UInt64)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.UInt64,System.String)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<param name="format">
A numeric format string.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.Int16)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.Byte)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.SByte)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToNumericalChar(System.Boolean)">
<summary>
Converts the boolean value of this instance to either a '0' or a '1'.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
'0' for a false value; otherwise, '1'.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.Int32,System.String)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<param name="format">
A standard or custom numeric format string.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.UInt32)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.UInt16)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.Double)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.Single)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.Single,System.String)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<param name="format">
A standard or custom numeric format string.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.ToStringInvariant(System.Double,System.String)">
<summary>
Converts the numeric value of this instance to its equivalent string representation
using the invariant culture for formatting information.
</summary>
<param name="value">
The value to convert.
</param>
<param name="format">
A standard or custom numeric format string.
</param>
<returns>
The numeric value of this instance in its equivalent string representation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.Replace(System.String,System.String,System.String,System.StringComparison)">
<summary>
Replace extension; allowing StringComparison operator.
</summary>
<param name="source"></param>
<param name="from"></param>
<param name="to"></param>
<param name="comp"> </param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.Contains(System.String,System.String,System.StringComparison)">
<summary>
Checks if the source string contains the compare one
</summary>
<param name="source"></param>
<param name="compare"></param>
<param name="stringComparison"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.GetNthIndexOf(System.String,System.Char,System.Int32)">
<summary>
Gets the character index of the nth occurrence of a particular character in the passed
in string value.
</summary>
<param name="source">
Search <see cref="T:System.String"/>
</param>
<param name="character">
Character to check nth occurence of.
</param>
<param name="n">
Specify nth occurrence to check for.
</param>
<returns>
Character index into source string of the nth occurence if found; -1 otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.StartsWithAtIndex(System.String,System.String,System.Int32)">
<summary>
Returns true if this string starts with the subString at the provided index.
</summary>
<param name="sourceString">
Search <see cref="T:System.String"/>.
</param>
<param name="subString">
Substring.
</param>
<param name="startIndex">
Start index to check.
</param>
<returns>True if sourceString starts with the subString at the given index.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if either sourceString or subString is null.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Thrown if the startIndex is not a valid index of this string.</exception>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.NormalizedStartsWith(System.String,System.String,System.StringComparison)">
<summary>
Normalises and returns true if this string starts with the subString
url:bugstar:5400734 - No props are loading in the Sisika multiplayer interiors
</summary>
<param name="sourceString">
Search <see cref="T:System.String"/>.
</param>
<param name="subString">
Substring.
</param>
<param name="stringComparison">
String comparison type.
</param>
<returns>True if sourceString starts with the subString at the given index.</returns>
<exception cref="T:System.ArgumentNullException">Thrown if either sourceString or subString is null.</exception>
<exception cref="T:System.ArgumentOutOfRangeException">Thrown if the startIndex is not a valid index of this string.</exception>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.GetCommonPrefix(System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
<summary>
Gets the common prefix for all given strings
</summary>
<param name="strings">
The string for which we want to retrieve the common prefix
</param>
<param name="ignoreCase">The Value indicating whether we ignore the case</param>
<returns>the common prefix for all given strings</returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.CreateVaultPath(System.String,RSG.Base.IO.VaultPathType)">
<summary>
Converts a string to a vault path with correct prefix.
Intended to be called as early as possible so we can rely on the explicit prefixes always being in place.
</summary>
<param name="path"></param>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.StringExtensions.RemoveWhitespace(System.String)">
<summary>
Returns a string where any whitespace characters have been removed.
</summary>
<param name="input">The string to remove whitespace from.</param>
<returns>String without whitespace</returns>
</member>
<member name="T:RSG.Base.Extensions.TimeSpanExtensions">
<summary>
<see cref="T:System.TimeSpan"/> class extension methods.
</summary>
</member>
<member name="M:RSG.Base.Extensions.TimeSpanExtensions.ToHumanReadableString(System.TimeSpan)">
<summary>
Pretty-print TimeSpan object (if required).
</summary>
<param name="elapsed">
<see cref="T:System.TimeSpan"/> to convert into readable form.
</param>
<returns>
Human readable string.
</returns>
</member>
<member name="M:RSG.Base.Extensions.TimeSpanExtensions.ToSimpleDurationString(System.TimeSpan)">
<summary>
Show the given timespan as a simplified duration. Will always show minutes and seconds, but omit days and hours if it's smaller then a day and hour respectively.
</summary>
<param name="duration">Duration to format.</param>
<returns>Formatted simplified duration.</returns>
</member>
<member name="T:RSG.Base.Extensions.TypeExtensions">
<summary>
<see cref="T:System.Type"/> extension methods.
</summary>
</member>
<member name="M:RSG.Base.Extensions.TypeExtensions.GetDerivedTypesInLoadedAssemblies(System.Type,System.Boolean)">
<summary>
Return <see cref="T:System.Collections.Generic.IEnumerable`1"/> of the derived types
in all loaded assemblies.
</summary>
<param name="type">
<see cref="T:System.Type"/> of derived types to return.
</param>
<param name="includeAbstract">
Whether to include abstract types or not.
</param>
<returns>
<see cref="T:System.Collections.Generic.IEnumerable`1"/> of the derived types
in specified assembly.
</returns>
</member>
<member name="M:RSG.Base.Extensions.TypeExtensions.GetDerivedTypeInAssembly(System.Type,System.Reflection.Assembly,System.Boolean)">
<summary>
Return <see cref="T:System.Collections.Generic.IEnumerable`1"/> of the derived types
in specified assembly.
</summary>
<param name="type">
<see cref="T:System.Type"/> of derived types to return.
</param>
<param name="assembly">
<see cref="T:System.Reflection.Assembly"/> to search for types.
</param>
<param name="includeAbstract">
Whether to include abstract types or not.
</param>
<returns>
<see cref="T:System.Collections.Generic.IEnumerable`1"/> of the derived types
in specified assembly.
</returns>
</member>
<member name="M:RSG.Base.Extensions.TypeExtensions.IsBuiltInType(System.Type)">
<summary>
Returns a value indicating whether the specified type is a built-in type or not.
</summary>
<remarks>
The following page describes the list of built-in types:
https://msdn.microsoft.com/en-us/library/ya5y69ds.aspx
</remarks>
<param name="type">
The type to determine whether it's a built-in type or not.
</param>
<returns>
A value indicating whether the specified type is a built-in type or not.
</returns>
</member>
<member name="M:RSG.Base.Extensions.TypeExtensions.GetCompilerType``1(``0)">
<summary>
Returns the compiler type of a given object of runtime type <see cref="T:System.Type"/>
</summary>
<remarks>
This is useful when the object is a boxed object and can potentially lose it's original type
</remarks>
<example>
int? x = 5;
Console.WriteLine($"compile-time type : {x.GetCompilerType()}");
Console.WriteLine($"runtime type : {x.GetType()}");
prints:
compile-time type : System.Nullable`1[System.Int32];
runtime type : System.Int32;
</example>
<typeparam name="T">
The <see cref="T:System.Type"/> of the object we want to get the compiler type of
</typeparam>
<param name="object">The instance we want to get the compiler type of</param>
<returns>The compiler type of this instance</returns>
</member>
<member name="M:RSG.Base.Extensions.TypeExtensions.IsEnumerableType(System.Type)">
<summary>
Checks if a given type is a collection we can iterate over (IEnumerable)
</summary>
<param name="type">The type we want to test</param>
<returns>true if type is a collection/enumerable ; False otherwise</returns>
</member>
<member name="M:RSG.Base.Extensions.TypeExtensions.IsDictionaryType(System.Type)">
<summary>
Checks if a given type is a map we can iterate over (Dictionary)
</summary>
<param name="type">The type we want to test</param>
<returns>true if type is a map/dictionary ; False otherwise</returns>
</member>
<member name="M:RSG.Base.Extensions.TypeExtensions.GetEnumerableParameterType(System.Type)">
<summary>
Gets the single parameter type of the given enumerable type
</summary>
<param name="enumerableType">The type of the enumerable we want the parameter type from</param>
<returns>the parameter type of the given enumerable type</returns>
</member>
<member name="M:RSG.Base.Extensions.TypeExtensions.GetDictionaryParametersType(System.Type,System.Type@,System.Type@)">
<summary>
Gets both key/value parameter types of the given dictionary type
</summary>
<param name="dictionaryType">The dictionary type we want the key/value parameter types from</param>
<param name="keyType">(out) the key parameter type of the given dictionary</param>
<param name="valueType">(out) the value parameter type of the given dictionary</param>
</member>
<member name="T:RSG.Base.Extensions.VaultPathExtensions">
<summary>
Extensions for the <see cref="T:RSG.Base.IO.VaultPath"/> class.
</summary>
</member>
<member name="M:RSG.Base.Extensions.VaultPathExtensions.AncestorPaths(RSG.Base.IO.VaultPath)">
<summary>
Creates a list of path containing an entry for each level of the specified path.
</summary>
<param name="path">
The path to retrieve the list of ancestors from.
</param>
<returns>
A list of ancestor paths.
</returns>
</member>
<member name="M:RSG.Base.Extensions.VaultPathExtensions.ParentPath(RSG.Base.IO.VaultPath)">
<summary>
Creates a path which is the parent of the provided one.
</summary>
<param name="path">
The path whose parent we wish to retrieve.
</param>
<returns>
The parent path of the provided path.
</returns>
<remarks><see cref="P:RSG.Base.IO.VaultPath.ParentPath"/> can be used directly instead</remarks>
</member>
<member name="M:RSG.Base.Extensions.VaultPathExtensions.GetParentName(RSG.Base.IO.VaultPath)">
<summary>
Gets the name of the parent of the given vault path.
</summary>
<param name="path">Vault path to find the parent for.</param>
<returns>Parent vaultpath name.</returns>
</member>
<member name="M:RSG.Base.Extensions.VaultPathExtensions.StartsWith(RSG.Base.IO.VaultPath,RSG.Base.IO.VaultPath)">
<summary>
Determines whether the beginning of this vault path matches the specified vault path.
</summary>
<param name="path">
The current vault path.
</param>
<param name="other">
The vault path to compare the beginning with.
</param>
<returns>
True if the beginning of the vault path matches and false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.VaultPathExtensions.StartsWithWholeSegments(RSG.Base.IO.VaultPath,RSG.Base.IO.VaultPath,System.StringComparison)">
<summary>
Determines whether the beginning of this vault path matches the specified vault path comparing whole chunks of directory segments
so we avoid cases like "tools_test_vault" matching "tools_test"
</summary>
<param name="path">
The current vault path.
</param>
<param name="other">
The vault path to compare the beginning with.
</param>
<param name="comparisonMode">
String comparison mode for the segments
</param>
<returns>
True if the beginning of the vault path matches and false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.VaultPathExtensions.MatchesDescendents(RSG.Base.IO.VaultPath)">
<summary>
Determines whether this vault path matches descendents
</summary>
<param name="path">
The current vault path.
</param>
<returns>
True if recursive and false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.VaultPathExtensions.MatchesChildren(RSG.Base.IO.VaultPath)">
<summary>
Determines whether this vault path matches its children
</summary>
<param name="path">
The current vault path.
</param>
<returns>
True if children are included and false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.VaultPathExtensions.IsWildcard(RSG.Base.IO.VaultPath)">
<summary>
Determines whether this vault path has a wildcard
</summary>
<param name="path">
The current vault path.
</param>
<returns>
True if a wildcard path and false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.VaultPathExtensions.Matches(RSG.Base.IO.VaultPath,RSG.Base.IO.VaultPath)">
<summary>
Determines whether this vault path matches the other vault path by equality or wildcards.
</summary>
<param name="path">
The current vault path.
</param>
<param name="other">
The vault path to test.
</param>
<returns>
True if it matches and false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Extensions.VaultPathExtensions.AddQueryOption(RSG.Base.IO.VaultPath,System.String,System.String[])">
<summary>
Add query option with one or more values.
</summary>
<param name="path">Base vault path.</param>
<param name="key">Key to add</param>
<param name="values">Values to add.</param>
<returns></returns>
</member>
<member name="T:RSG.Base.Extensions.XElementExtensions">
<summary>
Extension methods for th <see cref="T:System.Xml.Linq.XElement"/> class.
</summary>
</member>
<member name="M:RSG.Base.Extensions.XElementExtensions.ElementChecked(System.Xml.Linq.XElement,System.String)">
<summary>
Attempts to retrieve the specified sub-element from another XElement.
</summary>
<param name="element">
The element from which to retrieve the sub-element.
</param>
<param name="subElementName">
The name of the sub-element to retrieve.
</param>
<returns></returns>
<exception cref="T:System.Xml.XmlException">
Thrown if the sub-element is not found.
</exception>
</member>
<member name="M:RSG.Base.Extensions.XElementExtensions.GetSubElementValue``1(System.Xml.Linq.XElement,System.String)">
<summary>
Attempts to retrieve the specified sub element.
</summary>
<typeparam name="T"></typeparam>
<param name="element"></param>
<param name="subElementName"></param>
<returns></returns>
<exception cref="T:System.Configuration.ConfigurationErrorsException">Thrown if the sub-element is not found.</exception>
</member>
<member name="M:RSG.Base.Extensions.XElementExtensions.GetSubElementValue``1(System.Xml.Linq.XElement,System.String,``0)">
<summary>
Attempts to retrieve the specified sub element; returns the default value if not found.
</summary>
<typeparam name="T"></typeparam>
<param name="element"></param>
<param name="subElementName"></param>
<param name="defaultValue"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.XElementExtensions.ParseEnum``1(System.String)">
<summary>
Parse the given string value as an enum, either as a number (if the given text can be parsed as such) or as text.
</summary>
<typeparam name="T">Enum type.</typeparam>
<param name="value">String value to parse the enum value from.</param>
<returns>Parsed Enum value.</returns>
</member>
<member name="M:RSG.Base.Extensions.XElementExtensions.GetAttributeValue``1(System.Xml.Linq.XElement,System.String)">
<summary>
Read attribute of a particular type.
</summary>
<typeparam name="T"></typeparam>
<param name="element"></param>
<param name="attributeName"></param>
<returns></returns>
<exception cref="T:System.Configuration.ConfigurationErrorsException">Thrown if the attribute is not found</exception>
</member>
<member name="M:RSG.Base.Extensions.XElementExtensions.GetAttributeValue``1(System.Xml.Linq.XElement,System.String,``0)">
<summary>
Read attribute of a particular type.
</summary>
<typeparam name="T"></typeparam>
<param name="elem"></param>
<param name="attributeName">Name of the attribute to get the value from.</param>
<param name="defaultValue">Default value to use if the attribute isn't required and not present.</param>
<returns>The requested attributed casted to the right type, or the default value of T if the attribute isn't present and not required.</returns>
</member>
<member name="M:RSG.Base.Extensions.XElementExtensions.GetAttributeValue``1(System.Xml.Linq.XElement,System.String,System.Boolean,``0)">
<summary>
Read attribute of a particular type. (Deprecated)
</summary>
<typeparam name="T"></typeparam>
<param name="elem"></param>
<param name="attributeName">Name of the attribute to get the value from.</param>
<param name="required">Flag indicating whether the attribute needs to be present. If true this method throws an exception if it doesn't find it.</param>
<param name="defaultValue">Default value to use if the attribute isn't required and not present.</param>
<returns>The requested attributed casted to the right type, or the default value of T if the attribute isn't present and not required.</returns>
</member>
<member name="M:RSG.Base.Extensions.XElementExtensions.GetXElementOrXAttributeValuesFromXPath(System.Xml.Linq.XNode,System.String)">
<summary>
Given a source node and an XPath, resolve to a list of either XElement or XAttribute values, depending on the XPath specified.
</summary>
<param name="searchNode">The XNode to examine</param>
<param name="xPath">The XPath to apply to the node</param>
<returns>List of found node values.</returns>
</member>
<member name="T:RSG.Base.Extensions.XmlReaderExtensions">
<summary>
Contains static helper methods onto the System.Xml.XmlReader class.
</summary>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.MoveToElementOrComment(System.Xml.XmlReader)">
<summary>
Checks whether the current node is a content (non-whitespace text, CDATA, Element,
EndElement, EntityReference or EndEntity) node. If the node is not a content node,
then the method skips ahead to the next content node or end of file. Skips over
nodes of type ProcessingInstruction, DocumentType, Whitespace and
SignificantWhitespace.
</summary>
<param name="reader">
The reader to move forward.
</param>
<returns>
A value indicating whether the reader is on a element or Comment.
</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.MoveToNextNonWhitespace(System.Xml.XmlReader)">
<summary>
Checks whether the current node is a content (non-whitespace text, CDATA, Element,
EndElement, EntityReference or EndEntity) node. If the node is not a content node,
then the method skips ahead to the next content node or end of file.
</summary>
<param name="reader">
The reader to move forward.
</param>
<returns>
A value indicating whether the reader is on a content or the end element.
</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsStringAsync(System.Xml.XmlReader,System.String,System.String)">
<summary>
</summary>
<param name="reader"></param>
<param name="localName"></param>
<param name="ns"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsStringAsync(System.Xml.XmlReader,System.String)">
<summary>
</summary>
<param name="reader"></param>
<param name="localName"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsLongAsync(System.Xml.XmlReader,System.String)">
<summary>
Gets a long value from a reader
</summary>
<param name="reader">XML reader</param>
<param name="localName">Name of element</param>
<returns>A task to perform the operation: Returns the long value if found.</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsIntAsync(System.Xml.XmlReader,System.String)">
<summary>
Gets a int value from a reader
</summary>
<param name="reader">XML reader</param>
<param name="localName">Name of element</param>
<returns>A task to perform the operation: Returns the int value if found.</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsUnsignedIntAsync(System.Xml.XmlReader,System.String)">
<summary>
Gets an unsigned int value from a reader
</summary>
<param name="reader">XML reader</param>
<param name="localName">Name of element</param>
<returns>A task to perform the operation: Returns the int value if found, otherwise the default value.</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsBoolAsync(System.Xml.XmlReader,System.String)">
<summary>
Read element content with given local name as boolean
</summary>
<param name="reader">XML reader instance.</param>
<param name="localName">Local name of boolean to look for.</param>
<returns>A task to perform the operation: Returns the boolean value if found.</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsDoubleAsync(System.Xml.XmlReader,System.String)">
<summary>
Read element content with given local name as double value
</summary>
<param name="reader">XML reader instance.</param>
<param name="localName">Local name of double value to look for.</param>
<returns>A task to perform the operation: Returns the double value if found.</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsFloatAsync(System.Xml.XmlReader,System.String)">
<summary>
Read element content with given local name as float value
</summary>
<param name="reader">XML reader instance.</param>
<param name="localName">Local name of float value to look for.</param>
<returns>A task to perform the operation: Returns the float value if found.</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsDateTimeAsync(System.Xml.XmlReader,System.String)">
<summary>
Read element content with given local name as Datetime value
</summary>
<param name="reader">XML reader instance.</param>
<param name="localName">Local name of Datetime value to look for.</param>
<returns>A task to perform the operation: Returns the datetime value if found</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadEndElementAsync(System.Xml.XmlReader)">
<summary>
Asynchronously checks that the current content node is an end tag and advances the
reader to the next node.
</summary>
<param name="reader">
The reader to read from.
</param>
<returns>
The task object representing the asynchronous operation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadStartElementAsync(System.Xml.XmlReader,System.String)">
<summary>
Asynchronously checks that the current content node is an element with the given
<paramref name="localname"/> and <paramref name="ns"/> and advances the reader to
the next node.
</summary>
<param name="reader">
The reader to read from.
</param>
<param name="localname">
The local name of the element.
</param>
<returns>
The task object representing the asynchronous operation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadStartElementAsync(System.Xml.XmlReader,System.String,System.String)">
<summary>
Asynchronously checks that the current content node is an element with the given
<paramref name="localname"/> and <paramref name="ns"/> and advances the reader to
the next node.
</summary>
<param name="reader">
The reader to read from.
</param>
<param name="localname">
The local name of the element.
</param>
<param name="ns">
The namespace URI of the element.
</param>
<returns>
The task object representing the asynchronous operation.
</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ValidateStartPosition(System.Xml.XmlReader,System.String)">
<summary>
Validates that the specified reader is positioned at the start of a element whose
name if equal to the specified name.
</summary>
<param name="reader">
The reader to validate.
</param>
<param name="name">
The name of the element that
</param>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsEnumAsync``1(System.Xml.XmlReader,System.String)">
<summary>
Read in an enum from an XML reader.
</summary>
<param name="reader">XML reader to read colour from.</param>
<param name="localName">Name of the colour element.</param>
<typeparam name="TEnum"></typeparam>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsGuidAsync(System.Xml.XmlReader,System.String)">
<summary>
Read in a guid from an XML reader.
</summary>
<param name="reader">XML reader to read guid from.</param>
<param name="elementName">Name of the element to read.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadElementContentAsGuid(System.Xml.XmlReader,System.String)">
<summary>
Read in a guid from an XML reader.
</summary>
<param name="reader">XML reader to read guid from.</param>
<param name="elementName">Name of the element to read.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.XmlReaderExtensions.ReadToDescendantAsync(System.Xml.XmlReader,System.String)">
<summary>
Async version of ReadToDescendant
</summary>
<param name="reader">XML Reader</param>
<param name="localName">Local name</param>
<returns></returns>
</member>
<member name="T:RSG.Base.Extensions.XmlWriterExtensions">
<summary>
Class that holds extensions for <see cref="T:System.Xml.XmlWriter" />
</summary>
</member>
<member name="M:RSG.Base.Extensions.XmlWriterExtensions.WriteDoubleValueAsync(System.Xml.XmlWriter,System.String,System.Double)">
<summary>
Write a given double to a given XML writer.
</summary>
<param name="writer">XML writer to write to.</param>
<param name="elementName">Element name to write.</param>
<param name="value">Value to write.</param>
<returns>Task to perform the operation</returns>
<remarks>Formatted using "round-trip" format, so you will always get the same numerical value back</remarks>
</member>
<member name="M:RSG.Base.Extensions.XmlWriterExtensions.WriteDatetimeValueAsync(System.Xml.XmlWriter,System.String,System.DateTime)">
<summary>
Write a given Datetime to a given XML writer.
</summary>
<param name="writer">XML writer to write to.</param>
<param name="elementName">Element name to write.</param>
<param name="value">Value to write.</param>
<returns>Task to perform the operation</returns>
</member>
<member name="M:RSG.Base.Extensions.XmlWriterExtensions.WriteBoolValueAsync(System.Xml.XmlWriter,System.String,System.Boolean)">
<summary>
Write a given Boolean to a given XML writer.
</summary>
<param name="writer">XML writer to write to.</param>
<param name="elementName">Element name to write.</param>
<param name="value">Value to write.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.XmlWriterExtensions.WriteElementContentAsGuidAsync(System.Xml.XmlWriter,System.String,System.Guid)">
<summary>
Write a given Guid to a given XML writer.
</summary>
<param name="writer">XML writer to write to.</param>
<param name="elementName">Element name to write.</param>
<param name="value">Value to write.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.XmlWriterExtensions.WriteIntValueAsync(System.Xml.XmlWriter,System.String,System.Int32)">
<summary>
Write a given Int to a given XML writer.
</summary>
<param name="writer">XML writer to write to.</param>
<param name="elementName">Element name to write.</param>
<param name="value">Value to write.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Extensions.XmlWriterExtensions.WriteUnsignedIntValueAsync(System.Xml.XmlWriter,System.String,System.UInt32)">
<summary>
Write a given Unsigned Int to a given XML writer.
</summary>
<param name="writer">XML writer to write to.</param>
<param name="elementName">Element name to write.</param>
<param name="value">Value to write.</param>
<returns></returns>
</member>
<member name="T:RSG.Base.Extensions.ZipArchiveEntryExtensions">
<summary>
<see cref="T:System.IO.Compression.ZipArchiveEntry"/> extension methods.
</summary>
</member>
<member name="M:RSG.Base.Extensions.ZipArchiveEntryExtensions.ExtractToMemoryStream(System.IO.Compression.ZipArchiveEntry)">
<summary>
Extract the entry into a MemoryStream.
</summary>
<param name="entry">
<see cref="T:System.IO.Compression.ZipArchiveEntry"/> entry to extract.
</param>
<returns>
<see cref="T:System.IO.MemoryStream"/> for the zip file entry.
</returns>
</member>
<member name="T:RSG.Base.Formatters.SignificantDigitFormatter">
<summary>
Formats numbers to a significant number, but only applies to the fractional part. The integer part will always be shown in full.
</summary>
<remarks> For example, 123.456 with format {S2} will return 123, where as {S4} will return 123.4.
</remarks>
</member>
<member name="M:RSG.Base.Formatters.SignificantDigitFormatter.Format(System.String,System.Object,System.IFormatProvider)">
<inheritdoc />
</member>
<member name="T:RSG.Base.IEnvironment">
<summary>
Environment interface to allow variable string substitution.
</summary>
</member>
<member name="P:RSG.Base.IEnvironment.Depth">
<summary>
Gets the current depth of environment stack (minimum 1).
</summary>
</member>
<member name="P:RSG.Base.IEnvironment.Item(System.String)">
<summary>
Indexer based on environment variable name.
</summary>
<param name="key">
Variable name/key.
</param>
<returns>
Variable value.
</returns>
</member>
<member name="M:RSG.Base.IEnvironment.Add(System.String,System.String)">
<summary>
Add a new value into the environment.
</summary>
<param name="variable">
Variable name.
</param>
<param name="value">
Variable value.
</param>
</member>
<member name="M:RSG.Base.IEnvironment.Add(System.String,System.String,RSG.Base.EnvironmentBracketType)">
<summary>
Add a new value into the environment; using specified bracket type.
</summary>
<param name="variable">
Variable name.
</param>
<param name="value">
Variable value.
</param>
<param name="bracket">
Bracket type.
</param>
</member>
<member name="M:RSG.Base.IEnvironment.Lookup(System.String)">
<summary>
Lookup a value in the environment.
</summary>
<param name="variable">
Variable name.
</param>
<returns>
Variable value.
</returns>
</member>
<member name="M:RSG.Base.IEnvironment.Subst(System.String)">
<summary>
Substitute a string with any environment variables.
</summary>
<param name="value">
Value to be substituted.
</param>
<returns>
Subtituted string.
</returns>
</member>
<member name="M:RSG.Base.IEnvironment.ReverseSubst(System.String)">
<summary>
Reverse substitution; absolute path to environment variables. Attempts
to match longest path first.
</summary>
<param name="value">
Value to be substituted.
</param>
<returns>
Subtituted string.
</returns>
</member>
<member name="M:RSG.Base.IEnvironment.RequiresSubst(System.String)">
<summary>
Determines whether there are substitutions required.
</summary>
<param name="value">
Value to be substituted.
</param>
<returns>
True if value has variables defined.
</returns>
</member>
<member name="M:RSG.Base.IEnvironment.Reset">
<summary>
Resets the entire environment.
</summary>
</member>
<member name="M:RSG.Base.IEnvironment.Clear">
<summary>
Clear the top-level environment of settings.
</summary>
</member>
<member name="M:RSG.Base.IEnvironment.Push">
<summary>
Push a new context.
</summary>
</member>
<member name="M:RSG.Base.IEnvironment.Pop">
<summary>
Pop last context.
</summary>
<returns>
<b>true</b> if pop was successful; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.IEnvironment.CloneAndSubst">
<summary>
Clones itself, but substitutes all the environment entries.
</summary>
<returns>
A newly constructed environement with substituted variables.
</returns>
</member>
<member name="T:RSG.Base.IO.AssetPathBuilder">
<summary>
Class which can be used to build an asset <see cref="T:RSG.Base.IO.VaultPath"/>.
</summary>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.#ctor(System.String,System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.IO.AssetPathBuilder"/> class.
</summary>
<param name="projectName">
The project name.
</param>
<param name="branchName">
The branch name.
</param>
<param name="levelName">
The level name.
</param>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreatePath(System.String,System.String,System.String)">
<summary>
Creates the path for the specified project, branch and level.
</summary>
<param name="projectName">
The project name.
</param>
<param name="branchName">
The branch name.
</param>
<param name="levelName">
The level name.
</param>
<returns>
The vault path for the specified values.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreateEntityPath(System.Guid)">
<summary>
Creates the path for the specified entity.
</summary>
<param name="entityGuid">
The guid of the entity we wish to create the path for.
</param>
<returns>
The vault path for the specified entity.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreateBlueprintInstancePath(System.Guid)">
<summary>
Creates the path for the specified blueprint instance.
</summary>
<param name="blueprintInstanceGuid">
The guid of the blueprint instance we wish to create the path for.
</param>
<returns>
The vault path for the specified blueprint instance.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreateSpatialArchetypePath(RSG.Base.IO.VaultPath,System.String)">
<summary>
Creates the path for the specified archetype.
</summary>
<param name="areaCodePath">
The vault path of the area code that the archetype fell in
</param>
<param name="archetypeName">
The name of the archetype we wish to create the path for.
</param>
<returns>
The vault path for the specified archetype.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreateMiloArchetypePath(System.String,System.String)">
<summary>
Creates the path for the specified milo archetype.
</summary>
<param name="relativeScenePath">
The relative scene path for the milo archetype
</param>
<param name="miloArchetypeName">
The milo archetype name
</param>
<returns>
The vault path for the specified milo archetype.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreateMiloRoomPath(RSG.Base.IO.VaultPath,System.String)">
<summary>
Creates the path for the specified milo room.
</summary>
<param name="miloArchetypePath">
The path to the miloArchetype
</param>
<param name="miloRoomName">
The milo room name
</param>
<returns>
The vault path for the specified milo room.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreateMiloPortalPath(RSG.Base.IO.VaultPath,System.String,System.Guid)">
<summary>
Creates the path for the specified milo portal.
</summary>
<param name="miloArchetypePath">
The path to the miloArchetype
</param>
<param name="miloPortalName">
The milo portal name
</param>
<param name="miloPortalGuid">
The milo portal <see cref="T:System.Guid"/>.
</param>
<returns>
The vault path for the specified milo portal.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreateInteriorEntityPath(RSG.Base.IO.VaultPath,System.Guid)">
<summary>
Creates the path for the specified interior entity.
</summary>
<param name="miloArchetypePath">
Archetype path.
</param>
<param name="entityGuid">
The guid of the interior entity we wish to create the path for.
</param>
<returns>
The vault path for the specified interior entity.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreateInteriorArchetypePath(RSG.Base.IO.VaultPath,System.String)">
<summary>
Creates the path for the specified interior archetype.
</summary>
<param name="miloArchetypePath">
The path to the miloArchetype
</param>
<param name="interiorArchetypeName">
The interior archetype name
</param>
<returns>
The vault path for the specified interior archetype.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreateAreaCodeAssetPath(System.String)">
<summary>
Creates the path for the specified area code.
</summary>
<param name="areaCodePath">
Area Code Path
</param>
<returns>
The vault path for the specified area code.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathBuilder.CreateScenarioPath(System.Guid)">
<summary>
Creates the path for the specified scenario.
</summary>
<param name="scenarioGuid">
The guid of the scenario we wish to create the path for.
</param>
<returns>
The vault path for the specified scenario.
</returns>
</member>
<member name="T:RSG.Base.IO.AssetPathParser">
<summary>
Class which can be used to extract various elements out of an asset <see cref="T:RSG.Base.IO.VaultPath"/>.
</summary>
</member>
<member name="M:RSG.Base.IO.AssetPathParser.#ctor(RSG.Base.IO.VaultPath)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.IO.AssetPathParser"/> class.
</summary>
<param name="path">
The path to extract data from.
</param>
</member>
<member name="P:RSG.Base.IO.AssetPathParser.Branch">
<summary>
Gets the branch the asset is a part of.
</summary>
</member>
<member name="P:RSG.Base.IO.AssetPathParser.BranchPath">
<summary>
Gets the vault path for the branch this asset is a part of.
</summary>
</member>
<member name="P:RSG.Base.IO.AssetPathParser.Level">
<summary>
Gets the level the asset is a part of.
</summary>
</member>
<member name="P:RSG.Base.IO.AssetPathParser.LevelPath">
<summary>
Gets the vault path for the level this asset is a part of.
</summary>
</member>
<member name="P:RSG.Base.IO.AssetPathParser.Project">
<summary>
Gets the project the asset is a part of.
</summary>
</member>
<member name="P:RSG.Base.IO.AssetPathParser.ProjectPath">
<summary>
Gets the vault path for the project this asset is a part of.
</summary>
</member>
<member name="M:RSG.Base.IO.AssetPathParser.GetBranch(RSG.Base.IO.VaultPath)">
<summary>
Get branch for path
</summary>
<param name="path">Asset Path</param>
<returns>
Branch key.
</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathParser.GetProject(RSG.Base.IO.VaultPath)">
<summary>
Get project from path
</summary>
<param name="path">Asset Path</param>
<returns>Project path if found</returns>
</member>
<member name="M:RSG.Base.IO.AssetPathParser.GetLevel(RSG.Base.IO.VaultPath)">
<summary>
Get level from path
</summary>
<param name="path">Asset path</param>
<returns>Level path if found.</returns>
</member>
<member name="T:RSG.Base.IO.AsyncXDocument">
<summary>
Contains helper method for <see cref="T:System.Xml.Linq.XDocument"/>
</summary>
</member>
<member name="M:RSG.Base.IO.AsyncXDocument.LoadAsync(System.String)">
<summary>
Load an XDocument async
</summary>
<param name="filePath">
Filepath to the file to load with XDocument.
</param>
<returns>
A new <see cref="T:System.Xml.Linq.XDocument"/> instance.
</returns>
</member>
<member name="M:RSG.Base.IO.AsyncXDocument.LoadAsync(System.String,System.Xml.Linq.LoadOptions)">
<summary>
Load an XDocument async
</summary>
<param name="filePath">Filepath to the file to load with XDocument.</param>
<param name="loadOptions">
<see cref="T:System.Xml.Linq.LoadOptions"/> that specifies white space behavior, and whether to load base URI and line information.
</param>
<returns>
A new <see cref="T:System.Xml.Linq.XDocument"/> instance.
</returns>
</member>
<member name="M:RSG.Base.IO.AsyncXDocument.LoadAsync(System.IO.Stream)">
<summary>
Asynchronously load a <see cref="T:System.Xml.Linq.XDocument"/>.
</summary>
<param name="stream">
Stream to load <see cref="T:System.Xml.Linq.XDocument"/> from.
</param>
<returns>
A new <see cref="T:System.Xml.Linq.XDocument"/> instance.
</returns>
<remarks>
Note: this will close the <see cref="T:System.IO.Stream"/>; see override to ensure that the
stream is not closed.
</remarks>
</member>
<member name="M:RSG.Base.IO.AsyncXDocument.LoadAsync(System.IO.Stream,System.Xml.Linq.LoadOptions,System.Text.Encoding,System.Int32,System.Boolean)">
<summary>
Asynchronously load a <see cref="T:System.Xml.Linq.XDocument"/>.
</summary>
<param name="stream">
Stream to load <see cref="T:System.Xml.Linq.XDocument"/> from.
</param>
<param name="loadOptions">
<see cref="T:System.Xml.Linq.LoadOptions"/> that specifies white space behavior, and whether to load base URI and line information.
</param>
<param name="encoding">
The character encoding to use.
</param>
<param name="bufferSize">
The minimum buffer size, in number of 16-bit characters.
</param>
<param name="leaveStreamOpen">
<b>true</b> to leave the stream open after the StreamReader object is disposed; otherwise, <b>false</b>.
</param>
<returns>
A new <see cref="T:System.Xml.Linq.XDocument"/> instance.
</returns>
</member>
<member name="T:RSG.Base.IO.Base64EncodeDecode">
<summary>
Base64 encoding utility functions.
</summary>
</member>
<member name="M:RSG.Base.IO.Base64EncodeDecode.Encode(System.IO.Stream,System.Int64)">
<summary>
Base64 encode an input stream to an output stream.
</summary>
<param name="input"></param>
<param name="bufferChunkSize"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Base64EncodeDecode.Decode(System.IO.Stream,System.IO.Stream,System.Int64)">
<summary>
Base64 decode an input stream to an output stream.
</summary>
<param name="output"></param>
<param name="input"></param>
<param name="bufferChunkSize"></param>
</member>
<member name="T:RSG.Base.IO.cFileUtil">
<summary>
File utilities class
</summary>
</member>
<member name="M:RSG.Base.IO.cFileUtil.IsFileReadOnly(System.String)">
<summary>
Returns whether the file has read-only attributes set.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.cFileUtil.SetFileAttributes(System.String,System.String,System.Boolean,System.IO.FileAttributes)">
<summary>
Set all files matching filter in path with a set of attributes
</summary>
<param name="sPath"></param>
<param name="sFilter"></param>
<param name="bRecursive"></param>
<param name="attrs"></param>
</member>
<member name="M:RSG.Base.IO.cFileUtil.ClearFileAttributes(System.String,System.String,System.Boolean,System.IO.FileAttributes)">
<summary>
Clear specified file attributes from all files matching filter in path
</summary>
<param name="sPath"></param>
<param name="sFilter"></param>
<param name="bRecursive"></param>
<param name="attrToClear"></param>
</member>
<member name="M:RSG.Base.IO.cFileUtil.ShortenPathname(System.String,System.Int32)">
<summary>
Shortens a pathname by either removing consecutive components of a path
and/or by removing characters from the end of the filename and replacing
then with three elipses (...)
In all cases, the root of the passed path will be preserved in it's entirety.
If a UNC path is used or the sPath and nMaxLength are particularly short,
the resulting path may be longer than maxLength.
This method expects fully resolved pathnames to be passed to it.
(Use Path.GetFullPath() to obtain this.) /// </summary>
<param name="sPath"></param>
<param name="nMaxLength"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.CommonDirectoryRootFinder.GetCommonRootPathFromFilePaths(System.Collections.Generic.IList{System.String})">
<summary>
Gets common root for given file paths.
</summary>
<param name="filepaths">File paths to get common root for.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.CommonDirectoryRootFinder.GetCommonRootPathFromDirectoryPaths(System.Collections.Generic.IList{System.String})">
<summary>
Gets common root for given directory paths.
</summary>
<param name="paths"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.CommonDirectoryRootFinder.GetCommonRootPathInternal(System.Collections.Generic.IList{System.Collections.Generic.IList{System.String}})">
<summary>
Gets common root for given file paths. Internal usage abstracted for file/directory paths.
</summary>
<param name="allDirectoryComponents"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.CommonDirectoryRootFinder.GetDirectoryComponentsFromFilePath(System.String)">
<summary>
Get directory components for a given file path.
</summary>
<param name="filepath"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.CommonDirectoryRootFinder.GetDirectoryComponentsFromDirectoryPath(System.String)">
<summary>
Get directory components for a given directory path.
</summary>
<param name="path"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.IO.CSVWriter">
<summary>
CSV Writer Class
</summary>
</member>
<member name="M:RSG.Base.IO.CSVWriter.#ctor(RSG.Base.IO.CSVWriterParameters)">
<summary>
Default Constructor.
</summary>
<param name="parameters">Custom CSV Parameters.</param>
</member>
<member name="M:RSG.Base.IO.CSVWriter.CreateCsv``1(System.Collections.Generic.IEnumerable{``0},RSG.Base.Logging.ILog)">
<summary>
Create a CSV report to the given directory of this csv writer.
</summary>
<typeparam name="T">
Type.
</typeparam>
/// <param name="items">
Items.
</param>
<param name="log">
Log Object.
</param>
<returns>
Was the csv successfully created?
</returns>
</member>
<member name="M:RSG.Base.IO.CSVWriter.CreateCsvAsync``1(System.Collections.Generic.IEnumerable{``0},RSG.Base.Logging.ILog)">
<summary>
Create a CSV report to the given directory of this csv writer. Uses multithreaded feeds for one stream writer.
</summary>
<typeparam name="T">
Type.
</typeparam>
<param name="items"
>Items.
</param>
<param name="log">
Log Object.
</param>
<returns>
<see cref="T:System.Threading.Tasks.Task"/>
A flag for the successful creation of the .csv using async.
</returns>
</member>
<member name="M:RSG.Base.IO.CSVWriter.GetResultFilePath(System.String@)">
<summary>
Creates a file path given the configuration of the csv writer
</summary>
<param name="resultPath">
The resultant path for the csv file.
</param>
<returns>
Was the path successfully created?
</returns>
</member>
<member name="M:RSG.Base.IO.CSVWriter.SaveStreamToFile(System.IO.Stream,System.String)">
<summary>
Copies one stream to another with a given filename.
</summary>
<param name="stream">
Stream.
</param>
<param name="filename">
Filename.
</param>
</member>
<member name="M:RSG.Base.IO.CSVWriter.GenerateCsvStream``1(System.Collections.Generic.IEnumerable{``0},RSG.Base.Logging.ILog)">
<summary>
Creates a stream of CSV data from a list of items
</summary>
<typeparam name="T">
Type.
</typeparam>
<param name="items">
Items.
</param>
<returns>
A stream filled with data formatted for csv.
</returns>
</member>
<member name="M:RSG.Base.IO.CSVWriter.OutputCsvHeader``1(System.IO.StreamWriter,``0)">
<summary>
Outputs a header line that would be included in a CSV file by iterating over all properties in the passed in type
and using either the properties associated friendly name attribute or the properties name itself.
</summary>
<typeparam name="T">
Type.
</typeparam>
<param name="writer">
Writer.
</param>
<param name="example">
Example item to base any null headers on.
</param>
</member>
<member name="M:RSG.Base.IO.CSVWriter.TruncateTimeSpan(System.TimeSpan)">
<summary>
Gets rid of any milliseconds that the time span has so that excel can correctly display those values.
</summary>
<param name="ts">
Timespan.
</param>
<returns>
Timespan with removed milliseconds.
</returns>
</member>
<member name="M:RSG.Base.IO.CSVWriter.OutputCsvLine``1(System.IO.StreamWriter,``0)">
<summary>
Outputs a line of csv for the passed in item.
</summary>
<typeparam name="T">
Type.
</typeparam>
<param name="writer">
StreamWriter.
</param>
<param name="item">
Item.
</param>
</member>
<member name="M:RSG.Base.IO.CSVWriter.GetCsvLine``1(``0)">
<summary>
Gets the output line of csv for the passed item.
</summary>
<typeparam name="T">
Type.
</typeparam>
<param name="item">
Item.
</param>
<returns>
The output csv line.
</returns>
</member>
<member name="T:RSG.Base.IO.CSVWriterParameters">
<summary>
<see cref="T:RSG.Base.IO.CSVWriter"/>
Parameter class for a CSVWriter
</summary>
</member>
<member name="M:RSG.Base.IO.CSVWriterParameters.#ctor(System.String,System.Boolean)">
<summary>
Default Constructor
</summary>
<param name="outputPath">
Output path for .csv file.
</param>
<param name="includeHeader">
Do you want to include a header row on the .csv?
</param>
</member>
<member name="P:RSG.Base.IO.CSVWriterParameters.OutputPath">
<summary>
Gets the output path for the .csv
</summary>
</member>
<member name="P:RSG.Base.IO.CSVWriterParameters.IncludeHeader">
<summary>
Gets a value indicating whether to include a header when writing the .csv
</summary>
</member>
<member name="P:RSG.Base.IO.CSVWriterParameters.TasksAllocatedAsync">
<summary>
Gets or sets the number of tasks to allocated for asynchronous operations. Default value <see cref="F:RSG.Base.IO.CSVWriterParameters.DefaultTasksAllocatedAsync"/>
</summary>
</member>
<member name="P:RSG.Base.IO.CSVWriterParameters.TaskWaitAsync">
<summary>
Gets or sets the wait per asynchronous operation to queue information to the csv writer. Default value <see cref="F:RSG.Base.IO.CSVWriterParameters.DefaultTaskWaitAsync"/>
</summary>
</member>
<member name="P:RSG.Base.IO.CSVWriterParameters.WriteWaitAsync">
<summary>
Gets or sets the wait for writing to stream during asynchronous operations. Default value <see cref="F:RSG.Base.IO.CSVWriterParameters.DefaultWriteWaitAsync"/>
</summary>
</member>
<member name="P:RSG.Base.IO.CSVWriterParameters.IgnoreNullProperties">
<summary>
Gets or sets a value indicating whether the csv writer should ignore null fields. This should only be set true if the whole data set will have common null and non-null properties.
</summary>
</member>
<member name="T:RSG.Base.IO.DirectoryCleaner">
<summary>
Helper class for cleaning up files/empty directories in another directory.
</summary>
</member>
<member name="M:RSG.Base.IO.DirectoryCleaner.TryDeleteDirectory(System.String,System.Int32,System.Int32)">
<summary>
Deletes a folder.
</summary>
<param name="pathname">Path to delete</param>
<param name="numOfAttempts">Number of attempts at deleting a file</param>
<param name="attemptDelayMs">The delay in ms between attempts.</param>
<returns>
true if directory was deleted
</returns>
</member>
<member name="M:RSG.Base.IO.DirectoryCleaner.TryDeleteDirectories(System.Collections.Generic.IEnumerable{System.String},System.Int32,System.Int32)">
<summary>
Deletes folders
</summary>
<param name="pathnames">List of paths to delete</param>
<param name="numOfAttempts">Number of attempts at deleting a file</param>
<param name="attemptDelayMs">The delay in ms between attempts.</param>
</member>
<member name="M:RSG.Base.IO.DirectoryCleaner.TryClearDirectory(System.String,System.String)">
<summary>
Clear log directory files.
</summary>
<param name="directory">
The directory to delete files form.
</param>
<param name="searchPattern">
The search pattern to match when deleting files.
</param>
<returns>
Whether an exception was thrown while clearing out the directories.
</returns>
</member>
<member name="M:RSG.Base.IO.DirectoryCleaner.TryDeleteEmptySubDirectories(System.String)">
<summary>
Tries to delete any empty subdirectories below a given directory
</summary>
<param name="directory">
The directory to delete empty sub-directories from.
</param>
<returns>
Whether an exception was thrown while trying to delete empty SubDirectories.
</returns>
</member>
<member name="T:RSG.Base.IO.FileCleaner">
<summary>
Helper class for cleaning up files.
</summary>
</member>
<member name="M:RSG.Base.IO.FileCleaner.TryDeleteFile(System.String,System.Int32,System.Int32)">
<summary>
Deletes a file.
</summary>
<param name="pathname">Path to delete</param>
<param name="numOfAttempts">Number of attempts at deleting a file</param>
<param name="attemptDelay">The delay in ms between attempts.</param>
</member>
<member name="M:RSG.Base.IO.FileCleaner.TryDeleteFiles(System.Collections.Generic.IEnumerable{System.String},System.Int32,System.Int32)">
<summary>
Deletes files
</summary>
<param name="pathnames">List of files to delete</param>
<param name="numOfAttempts">Number of attempts at deleting a file</param>
<param name="attemptDelay">The delay in ms between attempts.</param>
</member>
<member name="M:RSG.Base.IO.FileCleaner.TryDeleteFilesRecursive(System.String,System.String)">
<summary>
Tries to delete any files below a given directory that match the given search
pattern.
</summary>
<param name="directory">
The directory to delete files form.
</param>
<param name="searchPattern">
The search pattern to match when deleting files.
</param>
<returns>
Whether an exception was thrown while trying to delete files recursive.
</returns>
</member>
<member name="T:RSG.Base.IO.FileMD5">
<summary>
Methods to compute a consistent 128-bit MD5 checksum for a file.
</summary>
</member>
<member name="F:RSG.Base.IO.FileMD5.Empty">
<summary>
Empty MD5.
</summary>
</member>
<member name="M:RSG.Base.IO.FileMD5.ComputeMD5(System.String)">
<summary>
Compute consistent 128-bit MD5 checksum for a file.
</summary>
<param name="filename"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.FileMD5.ComputeMD5(System.IO.Stream)">
<summary>
Compute consistent 128-bit MD5 checksum for a stream; maintaining the
position in the stream.
</summary>
<param name="stream"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.FileMD5.Equal(System.Byte[],System.Byte[])">
<summary>
Determine whether two Byte[] MD5 checksums are the same.
</summary>
<param name="a"></param>
<param name="b"></param>
</member>
<member name="M:RSG.Base.IO.FileMD5.Format(System.Byte[])">
<summary>
Return 128-bit MD5 checksum as pretty string.
</summary>
<param name="md5"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.IO.FindUtil">
<summary>
Filesystem search functions.
</summary>
</member>
<member name="M:RSG.Base.IO.FindUtil.Find(System.String,System.Boolean)">
<summary>
</summary>
<param name="wildcard"></param>
<param name="recurse"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.IO.FindUtil.GrepResult">
<summary>
Contains the result of a grep operation
</summary>
</member>
<member name="M:RSG.Base.IO.FindUtil.GrepInFiles(System.Collections.Generic.IEnumerable{System.String},System.Collections.Generic.IEnumerable{System.Text.RegularExpressions.Regex})">
<summary>
Given a list of filenames, and a list of regular expressions, enumerates all of the matches for those regular expressions
</summary>
<param name="filenames">A list of all of the files to open</param>
<param name="res">A list of all of the regular expressions to test</param>
<returns>
A sequence of GrepResult objects, containing the filename, line, match result, etc for any successful matches.
</returns>
</member>
<member name="T:RSG.Base.IO.IniFile">
<summary>
Class for reading/writing simple .ini files.
</summary>
<remarks>
Use the static <see cref="M:RSG.Base.IO.IniFile.Load(System.String)"/> method to load existing files; use the constructor
to create an empty <see cref="T:RSG.Base.IO.IniFile"/> to be populated in code.
</remarks>
</member>
<member name="F:RSG.Base.IO.IniFile._data">
<summary>
Data storage; section name => key => value.
</summary>
</member>
<member name="M:RSG.Base.IO.IniFile.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.IO.IniFile"/> class; creating a new empty
definition that can be populated and saved.
</summary>
<see cref="M:RSG.Base.IO.IniFile.Load(System.String)"/>
</member>
<member name="M:RSG.Base.IO.IniFile.Load(System.String)">
<summary>
Load an ini file.
</summary>
<param name="filename"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.IniFile.Save(System.String,RSG.Base.IO.IniFileSaveOption)">
<summary>
Save state of ini file to disk.
</summary>
<param name="filename"></param>
<param name="options"></param>
</member>
<member name="M:RSG.Base.IO.IniFile.Save(System.IO.Stream,RSG.Base.IO.IniFileSaveOption)">
<summary>
Save state of ini file to stream.
</summary>
<param name="stream"></param>
<param name="options"></param>
</member>
<member name="M:RSG.Base.IO.IniFile.GetValue(System.String)">
<summary>
Return value for a specified key (not in a section).
</summary>
<param name="key"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.IniFile.GetValue(System.String,System.String)">
<summary>
Return value for a specified key, in a specified section.
</summary>
<param name="key"></param>
<param name="section"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.IniFile.GetValue(System.String,System.String,System.String)">
<summary>
Return value for a specified key, in a specified section.
</summary>
<param name="key"></param>
<param name="section"></param>
<param name="defaultValue"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.IniFile.GetKeys(System.String)">
<summary>
Return all key names from a specified section.
</summary>
<param name="section"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.IniFile.GetSections">
<summary>
Return all section names.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.IniFile.SetValue(System.String,System.String,System.String)">
<summary>
Set value.
</summary>
<param name="key"></param>
<param name="section"></param>
<param name="value"></param>
</member>
<member name="M:RSG.Base.IO.IniFile.RemoveValue(System.String,System.String)">
<summary>
Removes value.
</summary>
<param name="key"></param>
<param name="section"></param>
</member>
<member name="M:RSG.Base.IO.IniFile.RemoveSection(System.String)">
<summary>
Removes a named section.
</summary>
<param name="section">
Section name.
</param>
<exception cref="T:System.ArgumentException">
Thrown if the section does not exist.
</exception>
</member>
<member name="M:RSG.Base.IO.IniFile.ClearSection(System.String)">
<summary>
Clear all values in section.
</summary>
<param name="section"></param>
</member>
<member name="M:RSG.Base.IO.IniFile.SaveSection(System.String,System.Collections.Generic.IDictionary{System.String,System.String},System.IO.Stream,RSG.Base.IO.IniFileSaveOption)">
<summary>
Save section out to a stream.
</summary>
<param name="name"></param>
<param name="entries"></param>
<param name="stream"></param>
<param name="options"></param>
</member>
<member name="T:RSG.Base.IO.IniFileSaveOption">
<summary>
<see cref="T:RSG.Base.IO.IniFile"/> serialisation options for application compatibility.
</summary>
</member>
<member name="F:RSG.Base.IO.IniFileSaveOption.None">
<summary>
None.
</summary>
</member>
<member name="F:RSG.Base.IO.IniFileSaveOption.SpacesBetweenKeysAndValues">
<summary>
Insert space characters between keys and values.
</summary>
</member>
<member name="T:RSG.Base.IO.LocalPath">
<summary>
Provides utility methods for manipulating local path strings.
</summary>
<remarks>
Deliberately named LocalPath to avoid class conflict with <see cref="T:System.IO.Path"/>.
</remarks>
</member>
<member name="F:RSG.Base.IO.LocalPath.DefaultGuidNumberOfFolderLevels">
<summary>
Default number of Guid characters to use for folder levels.
</summary>
</member>
<member name="M:RSG.Base.IO.LocalPath.NormaliseDirectorySeparators(System.String)">
<summary>
Normalise a filename to ensure that we store filenames in the Vault using
'/' rather than '\' separators.
</summary>
<param name="inputFilename">
Input filename to normalise.
</param>
<returns>
Normalised filename.
</returns>
<remarks>
We deliberately do not lower case the input filename to keep consistency
with Perforce.
</remarks>
</member>
<member name="M:RSG.Base.IO.LocalPath.GetGuidPath(System.String,System.Guid,System.Boolean,System.String,System.UInt32)">
<summary>
Get a directory path for a GUID where we use characters of the GUID
as subdirectories.
</summary>
<param name="rootPath"></param>
<param name="guid"></param>
<param name="useNormalisedDirectorySeparators">
Normalised directories use forward slashes. If false it will use the platform's default directory separator.
</param>
<param name="extension">
File extension to append (should include ".").
</param>
<param name="numberOfFolderLevels">
Number of directory levels to use (default: 3).
</param>
<example>
Guid g = new Guid("5620b495-a21f-4d0c-972d-2eba736151d2");
String directory = LocalPath.GetGuidPath(
@"x:\testfolder",
g,
'\\');
// directory is now @"x:\testfolder\5\6\2\5620b495-a21f-4d0c-972d-2eba736151d2"
</example>
</member>
<member name="T:RSG.Base.IO.OriginalPathResolver">
<summary>
Helper class to try and find the original file path for a given file path.
</summary>
<remarks>The use case for this would be to check if a file was copied, or is a P4 temp file, which has a specific signature.</remarks>
</member>
<member name="M:RSG.Base.IO.OriginalPathResolver.ContainsP4Revision(System.String)">
<summary>
Checks if the file path has P4 revision info (#XXXX) in its name.
</summary>
<param name="filePath">File path to check.</param>
<returns>True if the file path contains P4 revision info.</returns>
</member>
<member name="M:RSG.Base.IO.OriginalPathResolver.IsFileUnderFolder(System.String,System.String)">
<summary>
Checks if the supplied file is in, or under, the given folder, in the folder hierarchy.
</summary>
<param name="folder">Folder where the file should be under.</param>
<param name="file">File to check against the folder</param>
<returns>True if the file is contained under the folder, false if the file is not contained by the folder or its subdirectories.</returns>
</member>
<member name="M:RSG.Base.IO.OriginalPathResolver.IsTempFile(System.String)">
<summary>
Gets if given full file path is a temp file.
</summary>
<param name="filePath">File path to check.</param>
<returns>True if the given file path is a temp file.</returns>
</member>
<member name="M:RSG.Base.IO.OriginalPathResolver.RemoveRevisionNumberFromFileName(System.String)">
<summary>
Removes P4 revision info from the filename.
</summary>
<param name="filePath">File path to clean.</param>
<returns>Cleaned up full file path without p4 revision info.</returns>
</member>
<member name="T:RSG.Base.IO.ResolvedPathResult">
<summary>
The result from trying to resolve a full file path.
</summary>
</member>
<member name="M:RSG.Base.IO.ResolvedPathResult.#ctor(System.String,System.String,RSG.Base.IO.ResolveType)">
<summary>
Creates a new instance of <see cref="T:RSG.Base.IO.ResolvedPathResult"/>
</summary>
<param name="originalPath">Original path.</param>
<param name="resolvedPath">Resolved path.</param>
<param name="resolveType">Type of resolved path.</param>
</member>
<member name="P:RSG.Base.IO.ResolvedPathResult.OriginalPath">
<summary>
Gets the original path that was passed in.
</summary>
</member>
<member name="P:RSG.Base.IO.ResolvedPathResult.ResolvedPath">
<summary>
Gets the path that was resolved. Can be equal to the original path if the type could not be determined.
</summary>
</member>
<member name="P:RSG.Base.IO.ResolvedPathResult.ResolveType">
<summary>
Gets the resolve type.
</summary>
</member>
<member name="T:RSG.Base.IO.ResolveType">
<summary>
Different types that original files can be resolved to.
</summary>
</member>
<member name="F:RSG.Base.IO.ResolveType.Unknown">
<summary>
Original path does not match any of the known signatures. It may be an original file.
</summary>
</member>
<member name="F:RSG.Base.IO.ResolveType.TempPerforce">
<summary>
Original path is a temp P4 file which contains revision information in the path.
</summary>
</member>
<member name="F:RSG.Base.IO.ResolveType.Perforce">
<summary>
Original path is a P4 file which contains revision information in the path.
</summary>
</member>
<member name="F:RSG.Base.IO.ResolveType.Copied">
<summary>
The original file path is a copied file.
</summary>
</member>
<member name="T:RSG.Base.IO.RecursiveWildcard">
<summary>
<see cref="T:System.Text.RegularExpressions.Regex"/> subclass to quickly construct file and path wildcards, supporting recursion similar to Perforce style. (e.g. foo/*.txt, foo/....txt).
</summary>
</member>
<member name="M:RSG.Base.IO.RecursiveWildcard.#ctor(System.String)">
<summary>
Create a new wildcard object from a given wildcard pattern.
</summary>
<param name="pattern">The pattern string</param>
</member>
<member name="M:RSG.Base.IO.RecursiveWildcard.#ctor(System.String,System.Text.RegularExpressions.RegexOptions)">
<summary>
Create a new wildcard object from a given wildcard pattern, with regex options.
</summary>
<param name="pattern">The pattern string</param>
<param name="options">The regex options</param>
</member>
<member name="M:RSG.Base.IO.RecursiveWildcard.WildcardToRegex(System.String)">
<summary>
Converts a recursive wildcard String (e.g. "*.ide", "....ide" to a Regex object by
replacing '*' and '...' symbols with Regex-compatible
expressions.
</summary>
<param name="pattern">The pattern to replace</param>
<returns>Replaced pattern</returns>
</member>
<member name="T:RSG.Base.IO.SkipByteOrderMarkStream">
<summary>
A <see cref="T:System.IO.Stream"/> which skips UTF-8 Byte order mark.
</summary>
</member>
<member name="F:RSG.Base.IO.SkipByteOrderMarkStream.byteOrderMarkUtf8">
<summary>
The Byte Order Mark for UTF-8 files; https://en.wikipedia.org/wiki/Byte_order_mark#Byte_order_marks_by_encoding
</summary>
</member>
<member name="M:RSG.Base.IO.SkipByteOrderMarkStream.#ctor(System.IO.Stream)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.IO.SkipByteOrderMarkStream"/> class with the specified path.
</summary>
<param name="stream">
The stream to read from.
</param>
</member>
<member name="P:RSG.Base.IO.SkipByteOrderMarkStream.CanRead">
<inheritdoc />
</member>
<member name="P:RSG.Base.IO.SkipByteOrderMarkStream.CanSeek">
<inheritdoc />
</member>
<member name="P:RSG.Base.IO.SkipByteOrderMarkStream.CanWrite">
<inheritdoc />
</member>
<member name="P:RSG.Base.IO.SkipByteOrderMarkStream.Length">
<inheritdoc />
</member>
<member name="P:RSG.Base.IO.SkipByteOrderMarkStream.Position">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.SkipByteOrderMarkStream.Flush">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.SkipByteOrderMarkStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.SkipByteOrderMarkStream.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.SkipByteOrderMarkStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.SkipByteOrderMarkStream.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.SkipByteOrderMarkStream.IsBom(System.Byte[])">
<summary>
Checks if the three bytes match the Bom.
</summary>
<param name="bytes">The bytes.</param>
<returns>True if the bytes match the Bom; False otherwise.</returns>
</member>
<member name="T:RSG.Base.IO.StreamPositionContext">
<summary>
Stream context that will return to the stream position it entered on when disposed.
</summary>
</member>
<member name="M:RSG.Base.IO.StreamPositionContext.#ctor(System.IO.Stream)">
<summary>
Creates a new instance of <see cref="T:RSG.Base.IO.StreamPositionContext"/>
</summary>
<param name="stream">Seekable stream instance.</param>
</member>
<member name="M:RSG.Base.IO.StreamPositionContext.Dispose">
<inheritdoc />
</member>
<member name="T:RSG.Base.IO.StreamTrace">
<summary>
Class that helps trace reading data from a stream.
</summary>
<example>
using (new StreamTrace("ObjectName", stream))
{
...
}
</example>
</member>
<member name="M:RSG.Base.IO.StreamTrace.#ctor(System.String,System.IO.Stream)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.IO.StreamTrace"/> class.
</summary>
<param name="context"></param>
<param name="stream"></param>
</member>
<member name="M:RSG.Base.IO.StreamTrace.#ctor(System.String,System.IO.Stream,System.Int64)">
<summary>
Initilaises a new instance of the <see cref="T:RSG.Base.IO.StreamTrace"/> class with
checked byte length parameter.
</summary>
<param name="context"></param>
<param name="stream"></param>
<param name="checkedLength"></param>
</member>
<member name="M:RSG.Base.IO.StreamTrace.Dispose">
<inheritdoc />
</member>
<member name="T:RSG.Base.IO.StringConversion">
<summary>
Some string conversion utility methods.
</summary>
</member>
<member name="M:RSG.Base.IO.StringConversion.ToUint(System.String)">
<summary>
String to <see cref="T:System.UInt32"/> conversion; similar to Int32.Parse or Convert.ToInt32 but it
handles 0x prefixed hexadecimal values.
</summary>
<param name="s">The string to parse</param>
<returns>A converted unsigned 32 bit integer</returns>
</member>
<member name="M:RSG.Base.IO.StringConversion.ToInt(System.String)">
<summary>
String to <see cref="T:System.Int32"/> conversion; handling 0x prefixed hexadecimal values.
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.IO.UnixConvertLineEndingsStream">
<summary>
A <see cref="T:System.IO.Stream"/> which converts windows line endings to Unix line endings.
</summary>
</member>
<member name="M:RSG.Base.IO.UnixConvertLineEndingsStream.#ctor(System.IO.Stream)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.IO.UnixConvertLineEndingsStream"/> class with the specified path.
</summary>
<param name="stream">
The stream to read from.
</param>
</member>
<member name="P:RSG.Base.IO.UnixConvertLineEndingsStream.CanRead">
<inheritdoc />
</member>
<member name="P:RSG.Base.IO.UnixConvertLineEndingsStream.CanSeek">
<inheritdoc />
</member>
<member name="P:RSG.Base.IO.UnixConvertLineEndingsStream.CanWrite">
<inheritdoc />
</member>
<member name="P:RSG.Base.IO.UnixConvertLineEndingsStream.Length">
<inheritdoc />
</member>
<member name="P:RSG.Base.IO.UnixConvertLineEndingsStream.Position">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.UnixConvertLineEndingsStream.Flush">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.UnixConvertLineEndingsStream.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.UnixConvertLineEndingsStream.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.UnixConvertLineEndingsStream.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.UnixConvertLineEndingsStream.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:RSG.Base.IO.VaultPath">
<summary>
Provides an object representation of a path to a Vault entry and easy access to the parts of the path.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath.VaultPathSeparator">
<summary>
The separator to use for specifying the hierarchy in vault paths.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath.VaultPathSchemeAsset">
<summary>
Specifies that the path describes an asset.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath.VaultPathSchemeCollection">
<summary>
Specifies that the path describes a collection.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath.VaultPathSchemeFavourite">
<summary>
Specifies that the path describes an users favourite.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath.VaultPathSchemeSearch">
<summary>
Specifies that the path describes a search.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath.VaultPathSchemeBlueprint">
<summary>
Specifies that the path describes a blueprint child asset.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath.QueryOptionValueSeparator">
<summary>
Specifies the seperator used for multiple values for a single query option.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath.NumberOfSegmentIndicesToCache">
<summary>
Gets the number of indices to cache and reuse strings for.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath.VaultPathRegex">
<summary>
The regular expression to use to path vault paths.
</summary>
<remarks>
^ - Match start of word.
(?'scheme'[^:]+) - Match any character but : and add to the scheme named group.
: - Match the : character.
(?'path'//((?!//).)*) - Match // followed by anything except '//' and add to the path named group.
$ - Match end of word.
</remarks>
</member>
<member name="F:RSG.Base.IO.VaultPath.VaultPathRegexStrict">
<summary>
The regular expression to use to path vault paths.
</summary>
<remarks>
^ - Match start of word.
(?'scheme'[^:]+) - Match any character but : and add to the scheme named group.
: - Match the : character.
? - Makes the scheme optional
(?'path'//((?!//).)*) - Match //
followed by alpha-numeric chars,
dashes, underscores, dots, add-symbols, asterix
and add to the path named group.
$ - Match end of word.
</remarks>
</member>
<member name="F:RSG.Base.IO.VaultPath.QueryOptionRegex">
<summary>
<see cref="T:System.Text.RegularExpressions.Regex"/> for getting Query options.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath.SharedSegments">
<summary>
Gets the instance that collects the shared segments.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath._path">
<summary>
The private field used for the <see cref="P:RSG.Base.IO.VaultPath.Path"/> property.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath._schemeName">
<summary>
The private field used for the <see cref="P:RSG.Base.IO.VaultPath.Scheme"/> property.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath._name">
<summary>
The private field used for the <see cref="P:RSG.Base.IO.VaultPath.Name"/> property.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath._queryOptions">
<summary>
Privated field for cached value for <see cref="P:RSG.Base.IO.VaultPath.QueryOptions"/>
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath._hashCode">
<summary>
Private field for the cached hashcode.
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath._validVaultPathSchemes">
<summary>
Gets the valid Path schemes
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath._fullPath">
<summary>
The private field used for <see cref="P:RSG.Base.IO.VaultPath.FullPath"/>
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath._fullPathWithoutQueryOptions">
<summary>
Caching field for <see cref="P:RSG.Base.IO.VaultPath.FullPathWithoutQueryOptions"/>
</summary>
</member>
<member name="F:RSG.Base.IO.VaultPath._parentPath">
<summary>
Caching field for <see cref="P:RSG.Base.IO.VaultPath.ParentPath"/>
</summary>
</member>
<member name="M:RSG.Base.IO.VaultPath.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.IO.VaultPath"/> class with the specified path.
</summary>
<param name="schemeQualifiedPath">
A vault path.
</param>
</member>
<member name="M:RSG.Base.IO.VaultPath.#ctor(System.String,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.IO.VaultPath"/> class using the specified scheme and path.
</summary>
<param name="scheme">
The paths scheme.
</param>
<param name="path">
The path.
</param>
</member>
<member name="M:RSG.Base.IO.VaultPath.#ctor(RSG.Base.IO.VaultPath,System.String)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.IO.VaultPath"/> class based on the specified base path and
relative path string.
</summary>
<param name="basePath">
The base path.
</param>
<param name="relativePath">
The relative path to add to the base path.
</param>
</member>
<member name="P:RSG.Base.IO.VaultPath.Depth">
<summary>
Gets the depth of this node.
</summary>
</member>
<member name="P:RSG.Base.IO.VaultPath.IsRoot">
<summary>
Gets a value indicating whether this path represents the root
</summary>
</member>
<member name="P:RSG.Base.IO.VaultPath.FullPath">
<summary>
Gets the full path for this vault path. The full path includes the scheme.
</summary>
</member>
<member name="P:RSG.Base.IO.VaultPath.FullPathWithoutQueryOptions">
<summary>
Gets the full path, excluding the query parameters.The full path includes the scheme.
</summary>
</member>
<member name="P:RSG.Base.IO.VaultPath.Name">
<summary>
Gets the name of the node this path represents.
</summary>
</member>
<member name="P:RSG.Base.IO.VaultPath.ParentGroup">
<summary>
Gets the vault path this vault path is parented to
Do that by taking the scheme and joining the segments together up until the last, unless empty
</summary>
</member>
<member name="P:RSG.Base.IO.VaultPath.Path">
<summary>
Gets the path portion of this vault path.
</summary>
</member>
<member name="P:RSG.Base.IO.VaultPath.Segments">
<summary>
Gets an array containing the path segments that make up the specified <see cref="T:RSG.Base.IO.VaultPath"/>.
</summary>
</member>
<member name="P:RSG.Base.IO.VaultPath.Scheme">
<summary>
Gets the scheme name for this vault path.
</summary>
</member>
<member name="P:RSG.Base.IO.VaultPath.ParentPath">
<summary>
Gets the parent path
</summary>
<returns>The parent vault path</returns>
<exception cref="T:System.InvalidOperationException">Thrown when attempting to get the parent of the root path</exception>
</member>
<member name="M:RSG.Base.IO.VaultPath.op_Equality(RSG.Base.IO.VaultPath,RSG.Base.IO.VaultPath)">
<summary>
Equality operator
</summary>
<param name="path1"></param>
<param name="path2"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.op_Inequality(RSG.Base.IO.VaultPath,RSG.Base.IO.VaultPath)">
<summary>
Inequality operator
</summary>
<param name="path1"></param>
<param name="path2"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.Combine(System.String,System.String)">
<summary>
Combines two vault paths.
</summary>
<param name="path1">
The first path to combine.
</param>
<param name="path2">
The second path to combine.
</param>
<returns>
The combined paths. If one of the specified paths is a zero-length string, this method returns the other
path.
</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.CreateAssetsPath(System.String)">
<summary>
Creates a new VaultPath using the assets scheme.
</summary>
<param name="path">
The non-qualified assets path.
</param>
<returns>
A new vault path.
</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.IsVaultAssetScheme(System.String)">
<summary>
Determine whether the path is a Vault assets scheme.
</summary>
<param name="path">
Input path.
</param>
<returns>
true if path is a Vault asset scheme; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.IsVaultBlueprintScheme(System.String)">
<summary>
Determine whether the path is a Vault blueprint scheme.
</summary>
<param name="path">
Input path.
</param>
<returns>
true if path is a Vault blueprint scheme; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.IsVaultFavouriteScheme(System.String)">
<summary>
Determine whether the path is a Vault favourite scheme.
</summary>
<param name="path">
Input path.
</param>
<returns>
true if path is a Vault favourite scheme; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.IsVaultCollectionScheme(System.String)">
<summary>
Determine whether the path is a Vault collection scheme.
</summary>
<param name="path">
Input path.
</param>
<returns>
true if path is a Vault collection scheme; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.IsVaultSearchScheme(System.String)">
<summary>
Determine whether the path is a Vault search scheme.
</summary>
<param name="path">
Input path.
</param>
<returns>
true if path is a Vault search scheme; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.TryParsePath(System.String,RSG.Base.IO.VaultPath@)">
<summary>
Attempts to parse the provided string as a <see cref="T:RSG.Base.IO.VaultPath"/> object, returning the result of the
operation.
</summary>
<param name="value">
The string to parse into a vault path.
</param>
<param name="path">
The resulting vault path object.
</param>
<returns>
<c>True</c> if <paramref name="value"/> is a valid vault path string; otherwise, <c>False</c>.
</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.TryParsePathStrict(System.String,RSG.Base.IO.VaultPath@,System.Boolean)">
<summary>
Attempts to parse the provided string as a <see cref="T:RSG.Base.IO.VaultPath"/> object, returning the result of the
operation.
This uses the STRICT version of the regex to prevent invalid path charcters.
</summary>
<param name="value">
The string to parse into a vault path.
</param>
<param name="path">
The resulting vault path object.
</param>
<param name="allowMissingSchema">
Allow the passed in path to not define a schema so we can validate during its assembly.
If schema is missing an asset path is assumed.
</param>
<returns>
<c>True</c> if <paramref name="value"/> is a valid vault path string; otherwise, <c>False</c>.
</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.Equals(RSG.Base.IO.VaultPath)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.VaultPath.Equals(System.Object)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.VaultPath.GetHashCode">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.VaultPath.ToString">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.VaultPath.CompareTo(RSG.Base.IO.VaultPath)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.VaultPath.CompareTo(System.Object)">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.VaultPath.HasQueryOptions">
<summary>
Value indicating whether or not this instance has any query parameters.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.GetQueryOptionValue(System.String)">
<summary>
Gets a query parameter value based on the given key.
</summary>
<param name="key">Key to look for in the query parameters.</param>
<returns>Null if not found, otherwise the value of the query parameter.</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.TryGetQueryOptionValue(System.String,System.String@)">
<summary>
Try and get the parameter value based on the given key.
</summary>
<param name="key">Key to look for.</param>
<param name="value">Value when found.</param>
<returns>True if query parameter found, otherwise false.</returns>
</member>
<member name="M:RSG.Base.IO.VaultPath.GetDepth(System.String)">
<summary>
Static method to get the depth of a Vault Path string.
</summary>
<param name="vaultPathWithoutScheme">Vault path without a scheme as a string.</param>
<returns>Depth of the path.</returns>
<remarks>This method assumes the Vault Path has been validated.</remarks>
</member>
<member name="M:RSG.Base.IO.VaultPath.OnDeserialized(System.Runtime.Serialization.StreamingContext)">
<summary>
Called after the object has been deserialized.
</summary>
<param name="context">
The object which provides additional data about the type of serialization taking place.
</param>
</member>
<member name="T:RSG.Base.IO.Wildcard">
<summary>
<see cref="T:System.Text.RegularExpressions.Regex"/> subclass to quickly construct file and path wildcards (e.g. *.txt, d?ve.txt).
</summary>
</member>
<member name="M:RSG.Base.IO.Wildcard.#ctor(System.String)">
<summary>
</summary>
<param name="pattern"></param>
</member>
<member name="M:RSG.Base.IO.Wildcard.#ctor(System.String,System.Text.RegularExpressions.RegexOptions)">
<summary>
</summary>
<param name="pattern"></param>
<param name="options"></param>
</member>
<member name="M:RSG.Base.IO.Wildcard.WildcardToRegex(System.String)">
<summary>
</summary>
<param name="pattern"></param>
<returns></returns>
Converts a wildcard String (e.g. "*.ide" to a Regex object by
replacing '*' and '?' characters with Regex-compatible
expressions (.* and . respectively).
</member>
<member name="T:RSG.Base.IO.WorkingDirectory">
<summary>
Stack of managed working directories; useful when loading data models to ensure
that any internal relative paths get resolved correctly.
</summary>
</member>
<member name="M:RSG.Base.IO.WorkingDirectory.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.IO.WorkingDirectory"/> class.
</summary>
</member>
<member name="M:RSG.Base.IO.WorkingDirectory.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.IO.WorkingDirectory"/> class.
</summary>
<param name="directoryName">
Initial working directory.
</param>
</member>
<member name="M:RSG.Base.IO.WorkingDirectory.Dispose">
<inheritdoc />
</member>
<member name="M:RSG.Base.IO.WorkingDirectory.Push(System.String)">
<summary>
Push a new working directory onto the stack.
</summary>
<param name="directoryName">
Working directory to push onto the stack.
</param>
</member>
<member name="M:RSG.Base.IO.WorkingDirectory.Pop">
<summary>
Pop last working directory from the stack.
</summary>
</member>
<member name="T:RSG.Base.IO.Zip">
<summary>
Zipfile construction and extraction utility functions.
</summary>
</member>
<member name="F:RSG.Base.IO.Zip.LOG_CTX">
<summary>
Log context string.
</summary>
</member>
<member name="T:RSG.Base.IO.Zip.ZipFileAddEntryCallback">
<summary>
Delegate used for zip file creation callback.
</summary>
<param name="filename">Source Zip absolute filename.</param>
<param name="source">Source file being added.</param>
</member>
<member name="M:RSG.Base.IO.Zip.IsZipFile(RSG.Base.Logging.ILog,System.String)">
<summary>
Checks if the filename provided is a valid zip file.
</summary>
<param name="log">
Log object.
</param>
<param name="filename">
File to check.
</param>
<returns>
true if the file is a Zip file; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.IO.Zip.Create(RSG.Base.Logging.ILog,System.String,System.Collections.Generic.IEnumerable{System.String},System.EventHandler{RSG.Base.IO.ZipFileProgressEventArgs})">
<summary>
Create a zip file (strips all path information).
</summary>
<param name="log"></param>
<param name="filename">Destination filename.</param>
<param name="files">Enumerable of filenames to pack.</param>
<param name="callback">Progress callback function.</param>
<returns>true iff successful; false otherwise.</returns>
</member>
<member name="M:RSG.Base.IO.Zip.Create(RSG.Base.Logging.ILog,System.String,System.Collections.Generic.IEnumerable{System.String},System.Boolean)">
<summary>
Create a zip file (optionally keeping full path information). No optional parameters.
</summary>
<param name="log"></param>
<param name="filename"></param>
<param name="files"></param>
<param name="useFullPaths"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.Create(RSG.Base.Logging.ILog,System.String,System.Collections.Generic.IEnumerable{System.String},System.Boolean,System.EventHandler{RSG.Base.IO.ZipFileProgressEventArgs},System.Nullable{System.IO.Compression.CompressionLevel})">
<summary>
Create a zip file (optionally keeping full path information).
</summary>
<param name="log"></param>
<param name="filename"></param>
<param name="files"></param>
<param name="useFullPaths"></param>
<param name="callback"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.Create(RSG.Base.Logging.ILog,System.String,System.Collections.Generic.IEnumerable{System.Tuple{System.String,System.String}},System.EventHandler{RSG.Base.IO.ZipFileProgressEventArgs})">
<summary>
Create a zip file; defining the destination files (folder support).
</summary>
<param name="log"></param>
<param name="filename"></param>
<param name="files"></param>
<param name="callback"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.Create(RSG.Base.Logging.ILog,System.String,System.Collections.Generic.IEnumerable{System.Tuple{System.String,System.String}},System.Boolean,System.EventHandler{RSG.Base.IO.ZipFileProgressEventArgs},System.Nullable{System.IO.Compression.CompressionLevel})">
<summary>
Create a zip file; defining the destination files (folder support).
</summary>
<param name="log"></param>
<param name="filename"></param>
<param name="files"></param>
<param name="useFullPath"></param>
<param name="callback"></param>
<param name="compressionLevel"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.CreateFromDirectory(RSG.Base.Logging.ILog,System.String,System.String,System.EventHandler{RSG.Base.IO.ZipFileProgressEventArgs})">
<summary>
Wrapper to handle CreateFromDictionary. Could do any specific pruning in here.
</summary>
<param name="log"></param>
<param name="outputFilename"></param>
<param name="directoryName"></param>
<param name="callback"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.IO.Zip.ZipFileExtractionCallback">
<summary>
Delegate used for zip file extraction callback.
</summary>
<param name="filename">Source Zip absolute filename.</param>
<param name="source">Source file being extracted.</param>
<param name="destination">Destination file being extracted.</param>
</member>
<member name="T:RSG.Base.IO.Zip.ZipFileOverwriteCallback">
<summary>
Delegate used for zip file extraction (with overwrite support) callback.
</summary>
<param name="filename">Source Zip absolute filename.</param>
<param name="source">Source file being extracted.</param>
<param name="destination">Destination file being extracted.</param>
<returns>true iff overwrite file; false otherwise.</returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractAll(RSG.Base.Logging.ILog,System.String,System.String,System.Boolean)">
<summary>
Extract all files from a zip file; calle decides upfront about
overwrite process.
</summary>
<param name="log"></param>
<param name="filename">Zipfile filename.</param>
<param name="destination">Destination directory (created if doesn't exist).</param>
<param name="overwrite">true iff all files overwrite; false no local files overwritten.</param>
<returns>true iff successful; false otherwise.</returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractAll(RSG.Base.Logging.ILog,System.String,System.String,System.Boolean,RSG.Base.IO.Zip.ZipFileExtractionCallback)">
<summary>
Extract all files from a zip file; callee decides upfront about
overwrite process.
</summary>
<param name="log"></param>
<param name="filename">Zipfile filename.</param>
<param name="destination">Destination directory (created if doesn't exist).</param>
<param name="overwrite">true iff all files overwrite; false no local files overwritten.</param>
<param name="extractCb">Extraction callback; invoked for each file extracted.</param>
<returns>true iff successful; false otherwise.</returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractAll(RSG.Base.Logging.ILog,System.String,System.String,System.Boolean,RSG.Base.IO.Zip.ZipFileExtractionCallback,System.Collections.Generic.IEnumerable{System.String}@)">
<summary>
Extract all files from a zip file; callee decides upfront about
overwrite process. Filelist is returned.
</summary>
<param name="log"></param>
<param name="filename">Zipfile filename.</param>
<param name="destination">Destination directory (created if doesn't exist).</param>
<param name="overwrite">true iff all files overwrite; false no local files overwritten.</param>
<param name="extractCb">Extraction callback; invoked for each file extracted.</param>
<param name="filelist">LIst of files in zip.</param>
<returns>true iff successful; false otherwise.</returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractAll(RSG.Base.Logging.ILog,System.String,System.String,RSG.Base.IO.Zip.ZipFileOverwriteCallback,RSG.Base.IO.Zip.ZipFileExtractionCallback)">
<summary>
Extract all files from a zip file with callee control over the
overwrite process.
</summary>
<param name="log"></param>
<param name="filename">Zipfile filename.</param>
<param name="destination">Destination directory (created if doesn't exist).</param>
<param name="overwriteCb">Overwrite callback; invoked for each file extracted, return true for overwrite.</param>
<param name="extractCb">Extraction callback; invoked for each file extracted.</param>
<returns>true iff successful; false otherwise.</returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractAll(RSG.Base.Logging.ILog,System.String,System.String,RSG.Base.IO.Zip.ZipFileOverwriteCallback,RSG.Base.IO.Zip.ZipFileExtractionCallback,System.Collections.Generic.IEnumerable{System.String}@)">
<summary>
Extract all files from a zip file with callee control over the
overwrite process. Filelist is returned.
</summary>
<param name="log"></param>
<param name="filename"></param>
<param name="destination"></param>
<param name="overwriteCb"></param>
<param name="extractCb"></param>
<param name="filelist"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractNewer(RSG.Base.Logging.ILog,System.String,System.String)">
<summary>
Extract files from zip file that are newer than in the destination
directory.
</summary>
<param name="filename"></param>
<param name="destination"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractNewer(RSG.Base.Logging.ILog,System.String,System.String,System.Collections.Generic.IEnumerable{System.String}@)">
<summary>
Extract files from zip file that are newer than in the destination
directory.
</summary>
<param name="filename"></param>
<param name="destination"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractNewer(RSG.Base.Logging.ILog,System.String,System.String,RSG.Base.IO.Zip.ZipFileExtractionCallback)">
<summary>
Extract files from zip file that are newer than in the destination
directory.
</summary>
<param name="log"></param>
<param name="filename"></param>
<param name="destination"></param>
<param name="extractCb"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractNewer(RSG.Base.Logging.ILog,System.String,System.String,RSG.Base.IO.Zip.ZipFileExtractionCallback,System.Collections.Generic.IEnumerable{System.String}@)">
<summary>
Extract files from zip file that are newer than in the destination
directory. Returning file list.
</summary>
<param name="log"></param>
<param name="filename"></param>
<param name="destination"></param>
<param name="extractCb"></param>
<param name="filelist"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractFile(RSG.Base.Logging.ILog,System.String,System.String)">
<summary>
Extracts the file within the zipFilename, outputting a MemoryStream.
</summary>
<param name="log"></param>
<param name="zipFilename"></param>
<param name="filename"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractFile(RSG.Base.Logging.ILog,System.IO.Stream,System.String)">
<summary>
Extracts a file from a zip within a memory stream.
Used for extracting zip files within zip files.
</summary>
<param name="log"></param>
<param name="stream"></param>
<param name="filename"></param>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractFile(RSG.Base.Logging.ILog,System.String,System.String,System.String,System.Boolean)">
<summary>
Extracts the specified filename within the zipFilename to a specified destination file
</summary>
<param name="log"></param>
<param name="zipFilename"> The zip file to extract from </param>
<param name="filename"> The file to extract </param>
<param name="destination"> The full destination path to extract to </param>
<param name="overwrite"> If the destination already exists, are we overwriting it? </param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.ExtractFile(RSG.Base.Logging.ILog,System.IO.Stream,System.String,System.String,System.Boolean)">
<summary>
Extracts a file from a zip within a memory stream.
Used for extracting zip files within zip files.
</summary>
<param name="log"></param>
<param name="stream"> The zip stream to extract from </param>
<param name="filename"> The file to extract </param>
<param name="destination"> The full destination path to extract to </param>
<param name="overwrite"> If the destination already exists, are we overwriting it? </param>
</member>
<member name="M:RSG.Base.IO.Zip.GetFileList(RSG.Base.Logging.ILog,System.IO.Stream,System.Collections.Generic.IEnumerable{System.String}@)">
<summary>
Read list of files in the zip archive from a memory stream.
</summary>
<param name="log"></param>
<param name="stream"></param>
<param name="filelist"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.GetFileList(RSG.Base.Logging.ILog,System.String,System.Collections.Generic.IEnumerable{System.String}@)">
<summary>
Read list of files in the zip archive.
</summary>
<param name="log"></param>
<param name="filename">Zipfile filename</param>
<param name="filelist">Output list of files.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.IO.Zip.UpdateWriteTime(System.String,System.IO.Compression.ZipArchiveEntry,System.String)">
<summary>
Callback handler to ensure files extracted get Now as modified time.
</summary>
<param name="filename"></param>
<param name="source"></param>
<param name="destination"></param>
</member>
<member name="T:RSG.Base.IO.ZipFileProgressEventArgs">
<summary>
</summary>
</member>
<member name="P:RSG.Base.IO.ZipFileProgressEventArgs.Filename">
<summary>
Zip Archive Filename.
</summary>
</member>
<member name="P:RSG.Base.IO.ZipFileProgressEventArgs.CurrentEntry">
<summary>
Zip Archive Entry just being worked on.
</summary>
</member>
<member name="P:RSG.Base.IO.ZipFileProgressEventArgs.EntriesTotal">
<summary>
Zip Archive number of entries.
</summary>
</member>
<member name="P:RSG.Base.IO.ZipFileProgressEventArgs.Cancel">
<summary>
In an event handler, set this to cancel the save or extraction.
</summary>
</member>
<member name="M:RSG.Base.IO.ZipFileProgressEventArgs.#ctor(System.String,System.IO.Compression.ZipArchiveEntry,System.Int32)">
<summary>
Constructor.
</summary>
<param name="filename"></param>
</member>
<member name="T:RSG.Base.ITypedServiceProvider">
<summary>
Defines a mechanism for retrieving a typed service object; that is, an object that
provides custom support to other objects.
</summary>
</member>
<member name="M:RSG.Base.ITypedServiceProvider.GetService``1">
<summary>
Gets the service object of the specified type.
</summary>
<typeparam name="TService">
The type of service object to get.
</typeparam>
<returns>
A service object of the specified type or null if there is no service object of
that type.
</returns>
</member>
<member name="T:RSG.Base.Language.IAstNode">
<summary>
AST node interface.
</summary>
</member>
<member name="P:RSG.Base.Language.IAstNode.Position">
<summary>
Gets the string positional information for this AST node (and children).
</summary>
</member>
<member name="T:RSG.Base.Language.IErrorHandler">
<summary>
Language Error Handler interface; to ensure we keep parser generator independent.
</summary>
</member>
<member name="M:RSG.Base.Language.IErrorHandler.SyntaxError(RSG.Base.Language.ISyntaxError)">
<summary>
Highlight an error to the user.
</summary>
<param name="syntaxError">
Error to highlight.
</param>
</member>
<member name="M:RSG.Base.Language.IErrorHandler.SyntaxWarning(RSG.Base.Language.ISyntaxError)">
<summary>
Highlight a warning to the user.
</summary>
<param name="syntaxWarning">
Warning to highlight.
</param>
</member>
<member name="T:RSG.Base.Language.IPosition">
<summary>
Represents position information for a token or sequence of tokens.
</summary>
</member>
<member name="P:RSG.Base.Language.IPosition.StartLine">
<summary>
Gets the start line number.
</summary>
</member>
<member name="P:RSG.Base.Language.IPosition.StartColumn">
<summary>
Gets the start column number.
</summary>
</member>
<member name="P:RSG.Base.Language.IPosition.EndLine">
<summary>
Gets the end line number.
</summary>
</member>
<member name="P:RSG.Base.Language.IPosition.EndColumn">
<summary>
Gets the end column number.
</summary>
</member>
<member name="T:RSG.Base.Language.IScope`2">
<summary>
Interface that defines language scope of a symbol; e.g. in a scripting language
this could be a stack frame.
</summary>
<typeparam name="TSymbol">
Type of symbol.
</typeparam>
<typeparam name="TTypeEnum">
Symbol enumeration.
</typeparam>
</member>
<member name="P:RSG.Base.Language.IScope`2.Name">
<summary>
Gets the scope name.
</summary>
</member>
<member name="P:RSG.Base.Language.IScope`2.Parent">
<summary>
Gets the parent scope (or null).
</summary>
</member>
<member name="M:RSG.Base.Language.IScope`2.Define(`0)">
<summary>
Define a new symbol in this scope.
</summary>
<param name="sym">
Symbol.
</param>
</member>
<member name="M:RSG.Base.Language.IScope`2.Resolve(System.String)">
<summary>
Resolve a string name to a symbol.
</summary>
<param name="name">
Name to resolve.
</param>
<returns>
Resolved symbol.
</returns>
</member>
<member name="T:RSG.Base.Language.ISymbol">
<summary>
Symbol interface; to ensure we keep parser generator independent.
</summary>
</member>
<member name="P:RSG.Base.Language.ISymbol.Name">
<summary>
Gets the symbol name.
</summary>
</member>
<member name="T:RSG.Base.Language.ISymbolTable`2">
<summary>
Interface that defines a symbol table representing symbols of a particular ty.
</summary>
<typeparam name="TSymbol">
Type of symbol.
</typeparam>
<typeparam name="TTypeEnum">
Symbol enumeration.
</typeparam>
</member>
<member name="T:RSG.Base.Language.ISymbolTable`1">
<summary>
Interface for Symbol Tables.
</summary>
<typeparam name="TSymbol">
Type of symbol.
</typeparam>
<see cref="T:RSG.Base.Language.IScope`2"/>
</member>
<member name="M:RSG.Base.Language.ISymbolTable`1.Add(`0,System.Object)">
<summary>
Add a new symbol.
</summary>
<param name="sym">
Symbol.
</param>
<param name="value">
Value.
</param>
</member>
<member name="M:RSG.Base.Language.ISymbolTable`1.Remove(`0)">
<summary>
Remove a previously defined symbol.
</summary>
<param name="sym">
Symbol.
</param>
<see cref="M:RSG.Base.Language.ISymbolTable`1.Add(`0,System.Object)"/>
<see cref="M:RSG.Base.Language.ISymbolTable`1.Lookup(`0)"/>
<see cref="M:RSG.Base.Language.ISymbolTable`1.IsDefined(`0)"/>
</member>
<member name="M:RSG.Base.Language.ISymbolTable`1.Lookup(`0)">
<summary>
Lookup the value of a symbol.
</summary>
<param name="sym">
Symbol.
</param>
<returns>
Value of the symbol; <b>null</b> otherwise.
</returns>
<see cref="M:RSG.Base.Language.ISymbolTable`1.IsDefined(`0)" />
</member>
<member name="M:RSG.Base.Language.ISymbolTable`1.IsDefined(`0)">
<summary>
Determine whether a symbol is defined.
</summary>
<param name="sym">
Symbol.
</param>
<returns>
<b>true</b> if the symbol is defined; <b>false</b> otherwise.
</returns>
</member>
<member name="T:RSG.Base.Language.ISymbol`1">
<summary>
Symbol interface; to ensure we keep parser generator independent.
</summary>
<typeparam name="TTypeEnum">
Symbol enumeration.
</typeparam>
</member>
<member name="P:RSG.Base.Language.ISymbol`1.Type">
<summary>
Gets the symbol type.
</summary>
</member>
<member name="T:RSG.Base.Language.ISyntaxError">
<summary>
Syntax error interface.
</summary>
</member>
<member name="P:RSG.Base.Language.ISyntaxError.InputLine">
<summary>
Gets the input stream line.
</summary>
</member>
<member name="P:RSG.Base.Language.ISyntaxError.Symbol">
<summary>
Gets the current input symbol.
</summary>
</member>
<member name="P:RSG.Base.Language.ISyntaxError.Position">
<summary>
Gets the position of syntax error (column within current line).
</summary>
<see cref="P:RSG.Base.Language.ISyntaxError.InputLine"/>
</member>
<member name="P:RSG.Base.Language.ISyntaxError.Message">
<summary>
Gets the syntax error message.
</summary>
</member>
<member name="T:RSG.Base.Language.LogErrorHandler">
<summary>
Error handler implementation for sending errors to a ILog.
</summary>
</member>
<member name="F:RSG.Base.Language.LogErrorHandler._log">
<summary>
Log object.
</summary>
</member>
<member name="M:RSG.Base.Language.LogErrorHandler.#ctor(RSG.Base.Logging.ILog)">
<summary>
Constructor.
</summary>
<param name="log"></param>
</member>
<member name="M:RSG.Base.Language.LogErrorHandler.SyntaxError(RSG.Base.Language.ISyntaxError)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Language.LogErrorHandler.SyntaxWarning(RSG.Base.Language.ISyntaxError)">
<inheritdoc />
</member>
<member name="T:RSG.Base.Language.StoreErrorHandler">
<summary>
Error handler implementation that stores all syntax errors for later analysis.
</summary>
</member>
<member name="M:RSG.Base.Language.StoreErrorHandler.#ctor">
<summary>
Default constructor.
</summary>
</member>
<member name="P:RSG.Base.Language.StoreErrorHandler.SyntaxErrors">
<summary>
Gets the enumerable of errors; so we can report on them all at once or analyse them.
</summary>
</member>
<member name="P:RSG.Base.Language.StoreErrorHandler.SyntaxWarnings">
<summary>
Gets the enumerable of warnings; so we can report on them all at once or analyse them.
</summary>
</member>
<member name="M:RSG.Base.Language.StoreErrorHandler.SyntaxError(RSG.Base.Language.ISyntaxError)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Language.StoreErrorHandler.SyntaxWarning(RSG.Base.Language.ISyntaxError)">
<inheritdoc />
</member>
<member name="T:RSG.Base.Logging.ArchiveMode">
<summary>
Defines the ways that log files can be archived.
</summary>
</member>
<member name="F:RSG.Base.Logging.ArchiveMode.Sequential">
<summary>
New log files take the format of {filename}.{n+1} where n is the previous log file
name.
</summary>
</member>
<member name="T:RSG.Base.Logging.CallbackService.ILogCallbackIpcService">
<summary>
WCF Service contract for allowing log messages to be pushed to other processes; e.g.
a log viewer component in an UI application that invokes the Asset Pipeline to
redirect log output and hide the ugly console window.
</summary>
</member>
<member name="P:RSG.Base.Logging.CallbackService.ILogCallbackIpcService.ServiceUri">
<summary>
Gets the service URI for the current process.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.ILogCallbackIpcService.WriteLogMessage(RSG.Base.Logging.Model.LogMessage)">
<summary>
Write a single <see cref="T:RSG.Base.Logging.Model.LogMessage"/> to the remote process.
</summary>
<param name="logMessage">
<see cref="T:RSG.Base.Logging.Model.LogMessage"/> to send.
</param>
</member>
<member name="T:RSG.Base.Logging.CallbackService.ILogCallbackService">
<summary>
Service contract for allowing log messages to be pushed to other processes; e.g.
a log viewer component in an UI application that invokes the Asset Pipeline to
redirect log output and hide the ugly console window.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.ILogCallbackService.StartListening">
<summary>
Start listening to Remote Procedure Calls from other applications.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.ILogCallbackService.StopListening">
<summary>
Stop listening from Remote Procedure Calls from other applications;
no more logging data will be received by the application.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.ILogCallbackService.StopListening(System.TimeSpan)">
<summary>
Stop listening from Remote Procedure Calls from other applications;
no more logging data will be received by the application.
</summary>
<param name="timeout">the timeout gives an alloted time to complete the operation - in practise with a timespan of zero this seems to allow the servicehost to close quicker and no TimeoutException is thrown (much to my surprise) See https://docs.microsoft.com/en-us/dotnet/api/system.servicemodel.channels.communicationobject.close?view=netframework-4.7.2</param>
</member>
<member name="T:RSG.Base.Logging.CallbackService.LogCallbackIpcRemoteService">
<summary>
Implementation for the <see cref="T:RSG.Base.Logging.CallbackService.ILogCallbackIpcService"/> for remote processes.
</summary>
</member>
<member name="F:RSG.Base.Logging.CallbackService.LogCallbackIpcRemoteService.ServiceUriTemplate">
<summary>
Service URI template.
</summary>
</member>
<member name="F:RSG.Base.Logging.CallbackService.LogCallbackIpcRemoteService._logTarget">
<summary>
Our destination <see cref="T:RSG.Base.Logging.ILogTarget"/>.
</summary>
</member>
<member name="F:RSG.Base.Logging.CallbackService.LogCallbackIpcRemoteService._serviceUri">
<summary>
Field used for the <see cref="P:RSG.Base.Logging.CallbackService.LogCallbackIpcRemoteService.ServiceUri"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackIpcRemoteService.#ctor(RSG.Base.Logging.ILogTarget,System.UInt16,System.Guid)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.CallbackService.LogCallbackIpcRemoteService"/>
class.
</summary>
<param name="logTarget">
Log target to connect.
</param>
<param name="port">
TCP port.
</param>
<param name="sessionId">
Unique session ID (needs to match for client).
</param>
</member>
<member name="P:RSG.Base.Logging.CallbackService.LogCallbackIpcRemoteService.ServiceUri">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackIpcRemoteService.WriteLogMessage(RSG.Base.Logging.Model.LogMessage)">
<inheritdoc />
</member>
<member name="T:RSG.Base.Logging.CallbackService.LogCallbackIpcService">
<summary>
Implementation for the <see cref="T:RSG.Base.Logging.CallbackService.ILogCallbackIpcService"/> for local
processes.
</summary>
</member>
<member name="F:RSG.Base.Logging.CallbackService.LogCallbackIpcService.ServiceUriTemplate">
<summary>
Service URI template.
</summary>
</member>
<member name="F:RSG.Base.Logging.CallbackService.LogCallbackIpcService._logTarget">
<summary>
Our destination <see cref="T:RSG.Base.Logging.ILogTarget"/>.
</summary>
</member>
<member name="F:RSG.Base.Logging.CallbackService.LogCallbackIpcService._serviceUri">
<summary>
Field used for the <see cref="P:RSG.Base.Logging.CallbackService.LogCallbackIpcService.ServiceUri"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackIpcService.#ctor(RSG.Base.Logging.ILogTarget)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.CallbackService.LogCallbackIpcService"/> class.
</summary>
<param name="logTarget">
Log target to connect.
</param>
</member>
<member name="P:RSG.Base.Logging.CallbackService.LogCallbackIpcService.ServiceUri">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackIpcService.WriteLogMessage(RSG.Base.Logging.Model.LogMessage)">
<inheritdoc />
</member>
<member name="T:RSG.Base.Logging.CallbackService.LogCallbackIpcServiceDataContractResolver">
<summary>
Implementation of a <see cref="T:System.Runtime.Serialization.DataContractResolver"/> to avoid us having to mark
up all <see cref="T:RSG.Base.Logging.LoggableMessageCode"/> derived classes with <see cref="T:System.Runtime.Serialization.DataContractAttribute"/>.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackIpcServiceDataContractResolver.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.CallbackService.LogCallbackIpcServiceDataContractResolver"/>
class.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackIpcServiceDataContractResolver.TryResolveType(System.Type,System.Type,System.Runtime.Serialization.DataContractResolver,System.Xml.XmlDictionaryString@,System.Xml.XmlDictionaryString@)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackIpcServiceDataContractResolver.ResolveName(System.String,System.String,System.Type,System.Runtime.Serialization.DataContractResolver)">
<inheritdoc />
</member>
<member name="T:RSG.Base.Logging.CallbackService.LogCallbackIpcServiceKnownTypeHelper">
<summary>
This class is used to assist in getting the known types for the various automation
services and allows us to have additional Message Code classes in other assemblies.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackIpcServiceKnownTypeHelper.GetLogCallbackServiceKnownTypes(System.Reflection.ICustomAttributeProvider)">
<summary>
Helper method for getting the known types used by the <see cref="T:RSG.Base.Logging.CallbackService.ILogCallbackIpcService"/>
service contract.
</summary>
<param name="provider">
Object that provides custom attributes for reflection objects that support them.
</param>
<returns>
The list of known types used by the <see cref="T:RSG.Base.Logging.CallbackService.ILogCallbackService"/> service.
</returns>
</member>
<member name="T:RSG.Base.Logging.CallbackService.LogCallbackService">
<summary>
Implementation of the <see cref="T:RSG.Base.Logging.CallbackService.ILogCallbackService"/> interface that applications
would create to listen for log messages. This will be handled at a low-level so
individual applications do not need to set it up.
</summary>
<remarks>
The implementation via WCF is handled via the <see cref="T:RSG.Base.Logging.CallbackService.ILogCallbackIpcService"/>.
It is structured like this so the base application does not need to set up the data
contract resolver nor care that we use WCF to implement the RPC. It also allows
the WCF service contract to be internal.
</remarks>
</member>
<member name="F:RSG.Base.Logging.CallbackService.LogCallbackService.ReceiveTimeout">
<summary>
Receive Timeout to use in bindings
</summary>
<remarks>
The timeout has been extended to an *arbitrary* value greater than the default (10 mins) since the service silently closes in the event of
not receiving application messages.
https://docs.microsoft.com/en-us/dotnet/api/system.servicemodel.channels.binding.receivetimeout?view=netframework-4.7.2
'Gets or sets the interval of time that a connection can remain inactive, during which no application messages are received, before it is dropped.'
See also : url:bugstar:5695180
</remarks>
</member>
<member name="F:RSG.Base.Logging.CallbackService.LogCallbackService._ipcService">
<summary>
Our RPF mechanism.
</summary>
</member>
<member name="F:RSG.Base.Logging.CallbackService.LogCallbackService._serviceHost">
<summary>
Our service host.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackService.#ctor(RSG.Base.Logging.ILogTarget)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.CallbackService.LogCallbackService"/> class.
</summary>
<param name="logTarget">
Log target to connect.
</param>
<remarks>
This hosts the service for local connections only. See the constructor overload
for publishing the service for remote (TCP) connections.
</remarks>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackService.#ctor(RSG.Base.Logging.ILogTarget,System.UInt16,System.Guid)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.CallbackService.LogCallbackService"/> class.
</summary>
<param name="logTarget"></param>
<param name="port"></param>
<param name="sessionId"></param>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackService.StartListening">
<inheritdoc/>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackService.StopListening">
<inheritdoc/>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackService.StopListening(System.TimeSpan)">
<inheritdoc/>
</member>
<member name="T:RSG.Base.Logging.CallbackService.LogCallbackServiceClient">
<summary>
Client for the <see cref="T:RSG.Base.Logging.CallbackService.ILogCallbackService"/> service.
</summary>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackServiceClient.#ctor(System.Int32)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.CallbackService.LogCallbackServiceClient"/> class.
</summary>
<param name="pid">
Process identifier to connect to.
</param>
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackServiceClient.#ctor(System.ServiceModel.EndpointAddress)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.CallbackService.LogCallbackServiceClient"/> class.
</summary>
<param name="endPointAddress">
Endpoint address to connect to.
</param>
<remarks>
This givess full control of the WCF client connection; this is currently targetted
for automation so that we can pass log messages between different machines.
</remarks>
</member>
<member name="P:RSG.Base.Logging.CallbackService.LogCallbackServiceClient.ServiceUri">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.CallbackService.LogCallbackServiceClient.WriteLogMessage(RSG.Base.Logging.Model.LogMessage)">
<inheritdoc />
</member>
<member name="T:RSG.Base.Logging.ConsoleLog">
<summary>
Console logging class; with some pretty printing colours for the
different message classifications.
</summary>
</member>
<member name="F:RSG.Base.Logging.ConsoleLog.MessagePrefixes">
<summary>
Message prefix strings.
</summary>
</member>
<member name="F:RSG.Base.Logging.ConsoleLog.MessageColours">
<summary>
Message colours.
</summary>
</member>
<member name="F:RSG.Base.Logging.ConsoleLog.MaxPadding">
<summary>
Maximum character padding; for pretty printing.
</summary>
</member>
<member name="F:RSG.Base.Logging.ConsoleLog._contexts">
<summary>
Stack of profile contexts and stopwatches.
</summary>
</member>
<member name="F:RSG.Base.Logging.ConsoleLog._lock">
<summary>
Console resource lock (static as process-wide).
</summary>
</member>
<member name="F:RSG.Base.Logging.ConsoleLog._showLevel">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.ConsoleLog.ShowLevel"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.ConsoleLog.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.ConsoleLog"/> class.
</summary>
</member>
<member name="P:RSG.Base.Logging.ConsoleLog.Lock">
<summary>
Gets a reference to the console resource lock.
</summary>
</member>
<member name="P:RSG.Base.Logging.ConsoleLog.ShowLevel">
<summary>
Gets or sets a value indicating whether the level information for a log message should
be displayed before the log message.
</summary>
</member>
<member name="M:RSG.Base.Logging.ConsoleLog.WriteToConsole(RSG.Base.Logging.Model.LogMessage)">
<remarks>
This method is not intended to be called by anyone else than ProcessMessageCore and
ProcessMessagesCore as it 's not threadsafe and need proper synchronization.
</remarks>
<summary>
It do the actual writing on the console
</summary>
<param name="message"></param>
</member>
<member name="M:RSG.Base.Logging.ConsoleLog.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a collection of message that are sent from the log.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="M:RSG.Base.Logging.ConsoleLog.WritePrefix(System.IO.TextWriter,System.ConsoleColor,System.String,System.String,RSG.Base.Logging.MessageCode)">
<summary>
</summary>
<param name="writer"></param>
<param name="col"></param>
<param name="prefix"></param>
<param name="context"></param>
<param name="code"></param>
</member>
<member name="T:RSG.Base.Logging.ExceptionFormatter">
<summary>
Exception formatter; produce nice output from Exceptions.
</summary>
</member>
<member name="F:RSG.Base.Logging.ExceptionFormatter.AssemblyBuildTimeZoneCode">
<summary>
The time zone code to use to retrieve the assemblies build time.
</summary>
</member>
<member name="T:RSG.Base.Logging.ExceptionFormatter.FormatExceptionHandler">
<summary>
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="P:RSG.Base.Logging.ExceptionFormatter.ThrownException">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Logging.ExceptionFormatter.Message">
<summary>
Exception message.
</summary>
</member>
<member name="P:RSG.Base.Logging.ExceptionFormatter.Source">
<summary>
Exception source.
</summary>
</member>
<member name="P:RSG.Base.Logging.ExceptionFormatter.Trace">
<summary>
Exception stacktrace.
</summary>
</member>
<member name="P:RSG.Base.Logging.ExceptionFormatter.CallingAssembly">
<summary>
Assembly that created the formatter (used internally).
</summary>
</member>
<member name="F:RSG.Base.Logging.ExceptionFormatter.ms_Handlers">
<summary>
Exception handler callbacks keyed by exception class.
</summary>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.#ctor(System.Exception)">
<summary>
Constructor; taking thrown exception.
</summary>
<param name="ex">Thrown exception.</param>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.#ctor(System.Exception,System.Int32)">
<summary>
Constructor; taking thrown exception and number of stack frames to
skip for stack trace.
</summary>
<param name="ex">Thrown exception.</param>
<param name="skipFrames">Number of stack frames to skip.</param>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.#cctor">
<summary>
Static constructor; registering default handlers.
</summary>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.Format">
<summary>
Format this exception for logs, dialogs etc.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.FormatApplicationDetails">
<summary>
Formats the application details.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.FormatDetails">
<summary>
Formats the details for this exception.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.FormatHeading">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.FormatSummary">
<summary>
Format this exception as summary information.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.RegisterExceptionFormatter``1(RSG.Base.Logging.ExceptionFormatter.FormatExceptionHandler)">
<summary>
Register a new exception formatter callback.
</summary>
<param name="callback"></param>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.UnregisterExceptionFormatter``1">
<summary>
Unregister an exception formatter callback.
</summary>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.AggregateExceptionHandler(System.Exception)">
<summary>
AggregateException handler callback.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.ArgumentExceptionHandler(System.Exception)">
<summary>
ArgumentException handler callback.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.FileNotFoundExceptionHandler(System.Exception)">
<summary>
FileNotFoundException handler callback.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.FileLoadExceptionHandler(System.Exception)">
<summary>
FileLoadException handler callback.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.CompositionExceptionHandler(System.Exception)">
<summary>
CompositionException handler callback.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.ReflectionTypeLoadExceptionHandler(System.Exception)">
<summary>
ReflectionTypeLoadException handler callback.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.Win32ExceptionHandler(System.Exception)">
<summary>
Win32ExceptionHandler handler callback.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.XmlExceptionHandler(System.Exception)">
<summary>
XmlExceptionHandler handler callback.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.ExceptionHandler(System.Exception)">
<summary>
Exception basetype handler callback.
</summary>
<param name="ex"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ExceptionFormatter.FormatExceptionFactory(System.Exception)">
<summary>
Exception factory; add handlers using RegisterExceptionHandler for custom
Exception classes.
</summary>
<param name="ex">Thrown exception.</param>
<returns></returns>
</member>
<member name="T:RSG.Base.Logging.FlushMode">
<summary>
Log file flush mode.
</summary>
<remarks>
This can be used to change the automatic behaviour of a log file
flushing to disk.
</remarks>
</member>
<member name="F:RSG.Base.Logging.FlushMode.Never">
<summary>
Never flush log.
</summary>
</member>
<member name="F:RSG.Base.Logging.FlushMode.Error">
<summary>
Flush on error.
</summary>
</member>
<member name="F:RSG.Base.Logging.FlushMode.Warning">
<summary>
Flush on warning.
</summary>
</member>
<member name="F:RSG.Base.Logging.FlushMode.Info">
<summary>
Flush on info.
</summary>
</member>
<member name="F:RSG.Base.Logging.FlushMode.Profile">
<summary>
Flush on profile.
</summary>
</member>
<member name="F:RSG.Base.Logging.FlushMode.Debug">
<summary>
Flush on debug.
</summary>
</member>
<member name="F:RSG.Base.Logging.FlushMode.Trace">
<summary>
Flush on trace.
</summary>
</member>
<member name="F:RSG.Base.Logging.FlushMode.Always">
<summary>
Alias to flush on any message.
</summary>
</member>
<member name="F:RSG.Base.Logging.FlushMode.Default">
<summary>
Alias for default flush mode.
</summary>
</member>
<member name="T:RSG.Base.Logging.IExceptionFormatter">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Logging.IExceptionFormatter.ThrownException">
<summary>
Exception being formatted.
</summary>
</member>
<member name="P:RSG.Base.Logging.IExceptionFormatter.Message">
<summary>
Exception message.
</summary>
</member>
<member name="P:RSG.Base.Logging.IExceptionFormatter.Source">
<summary>
Exception source.
</summary>
</member>
<member name="P:RSG.Base.Logging.IExceptionFormatter.Trace">
<summary>
Exception stacktrace.
</summary>
</member>
<member name="M:RSG.Base.Logging.IExceptionFormatter.Format">
<summary>
Format this exception for logs, dialogs etc.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.IExceptionFormatter.FormatHeading">
<summary>
Format this exception as heading information.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.IExceptionFormatter.FormatSummary">
<summary>
Format this exception as summary information.
</summary>
<returns></returns>
</member>
<member name="T:RSG.Base.Logging.IInitialisationSettings">
<summary>
Settings to use to initialise the <see cref="T:RSG.Base.Logging.LogFactory"/>.
</summary>
</member>
<member name="P:RSG.Base.Logging.IInitialisationSettings.ApplicationLogDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.IInitialisationSettings.ApplicationLogFilePath">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.IInitialisationSettings.ApplicationLogSubDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.IInitialisationSettings.DefaultLogLevel">
<summary>
Gets the default log level the logging system should use.
</summary>
</member>
<member name="P:RSG.Base.Logging.IInitialisationSettings.DefaultThreadId">
<summary>
The id of the thread to use as the default one.
</summary>
<remarks>
Logs only forward non-default threads information to their attached targets.
</remarks>
</member>
<member name="P:RSG.Base.Logging.IInitialisationSettings.FileFormat">
<summary>
Gets the log file format to use when creating log files.
</summary>
</member>
<member name="T:RSG.Base.Logging.ILog">
<summary>
Log interface; a class that implements this is a log. It can have
various classes of messages sent to it and events are raised for
ILogTarget objects to listen to.
</summary>
</member>
<member name="P:RSG.Base.Logging.ILog.Name">
<summary>
Log name (context).
</summary>
</member>
<member name="P:RSG.Base.Logging.ILog.Enabled">
<summary>
Log enabled state; whether messages are handled.
</summary>
</member>
<member name="P:RSG.Base.Logging.ILog.HasErrors">
<summary>
Internally set when errors have been logged.
</summary>
</member>
<member name="P:RSG.Base.Logging.ILog.HasWarnings">
<summary>
Internally set when warnings have been logged.
</summary>
</member>
<member name="P:RSG.Base.Logging.ILog.HasProfiling">
<summary>
Internally set when profile message have been logged.
</summary>
</member>
<member name="P:RSG.Base.Logging.ILog.Targets">
<summary>
Gets the list of log targets that are listening to this log.
</summary>
</member>
<member name="M:RSG.Base.Logging.ILog.Message(System.String)">
<summary>
Logs an information message.
</summary>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Message(System.String,System.Object[])">
<summary>
Logs an information message.
</summary>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.MessageCtx(System.String,System.String)">
<summary>
Logs an information message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.MessageCtx(System.String,System.String,System.Object[])">
<summary>
Logs an information message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.MessageCode(RSG.Base.Logging.LoggableMessageCode)">
<summary>
Logs a particular message code.
</summary>
<param name="code">
The message code to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.MessageCode(RSG.Base.Logging.LoggableMessageCode,System.Object[])">
<summary>
Logs a particular message code.
</summary>
<param name="code">
The message code to log.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.MessageCode(RSG.Base.Logging.LoggableMessageCode,System.Exception,System.Object[])">
<summary>
Logs a particular message code.
</summary>
<param name="code">
The message code to log.
</param>
<param name="ex">
The exception to log information about.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.MessageCodeCtx(System.String,RSG.Base.Logging.LoggableMessageCode)">
<summary>
Logs a particular message code using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="code">
The message code to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.MessageCodeCtx(System.String,RSG.Base.Logging.LoggableMessageCode,System.Exception,System.Object[])">
<summary>
Logs a particular message code.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="code">
The message code to log.
</param>
<param name="ex">
The exception to log information about.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.MessageCodeCtx(System.String,RSG.Base.Logging.LoggableMessageCode,System.Object[])">
<summary>
Logs a particular message code using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="code">
The message code to log.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Error(System.String)">
<summary>
Logs an error message.
</summary>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Error(System.String,System.Object[])">
<summary>
Logs an error message.
</summary>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ErrorCtx(System.String,System.String)">
<summary>
Logs an error message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ErrorCtx(System.String,System.String,System.Object[])">
<summary>
Logs an error message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Exception(System.Exception,System.String,System.Object[])">
<summary>
Log an exception message.
</summary>
<param name="message"></param>
Log targets may treat this differently to the other categories of
messages. E.g. Prefixing message with "Error:" or highlighting the
text.
</member>
<member name="M:RSG.Base.Logging.ILog.ExceptionCtx(System.String,System.Exception,System.String,System.Object[])">
<summary>
Logs an exception message using the specified context.
</summary>
<param name="context"></param>
<param name="ex"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolException(System.Exception,System.String)">
<summary>
Logs a tool internal-exception message.
</summary>
<param name="ex">
The exception to log information about.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolException(System.Exception,System.String,System.Object[])">
<summary>
Logs a tool internal-exception message.
</summary>
<param name="ex">
The exception to log information about.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolExceptionCtx(System.String,System.Exception,System.String)">
<summary>
Logs a tool internal-exception message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="ex">
The exception to log information about.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolExceptionCtx(System.String,System.Exception,System.String,System.Object[])">
<summary>
Logs a tool internal-exception message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="ex">
The exception to log information about.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolExceptionAsWarning(System.Exception,System.String)">
<summary>
Logs an exception as a warning.
</summary>
<param name="ex">
The exception to log information about.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolExceptionAsWarning(System.Exception,System.String,System.Object[])">
<summary>
Logs an exception as a warning.
</summary>
<param name="ex">
The exception to log information about.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolExceptionAsWarningCtx(System.String,System.Exception,System.String)">
<summary>
Logs an exception as a warning using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="ex">
The exception to log information about.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolExceptionAsWarningCtx(System.String,System.Exception,System.String,System.Object[])">
<summary>
Logs an exception as a warning using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="ex">
The exception to log information about.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolError(System.String)">
<summary>
Logs an internal tool error message.
</summary>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolError(System.String,System.Object[])">
<summary>
Logs an internal tool error message.
</summary>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolErrorCtx(System.String,System.String)">
<summary>
Logs an internal tool error message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ToolErrorCtx(System.String,System.String,System.Object[])">
<summary>
Logs an internal tool error message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Warning(System.String)">
<summary>
Logs a warning message.
</summary>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Warning(System.String,System.Object[])">
<summary>
Logs a warning message.
</summary>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.WarningCtx(System.String,System.String)">
<summary>
Logs a warning message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.WarningCtx(System.String,System.String,System.Object[])">
<summary>
Logs a warning message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Debug(System.String)">
<summary>
Logs a debug message (only in DEBUG builds).
</summary>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Debug(System.String,System.Object[])">
<summary>
Logs a debug message (only in DEBUG builds).
</summary>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.DebugCtx(System.String,System.String)">
<summary>
Logs a debug message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.DebugCtx(System.String,System.String,System.Object[])">
<summary>
Logs a debug message using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Profile(System.String)">
<summary>
Log a profile message and start marker.
</summary>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Profile(System.String,System.Object[])">
<summary>
Log a profile message and start marker.
</summary>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ProfileCtx(System.String,System.String)">
<summary>
Logs a profile message and start marker using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ProfileCtx(System.String,System.String,System.Object[])">
<summary>
Logs a profile message and start marker using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ProfileWithId(System.Guid,System.String)">
<summary>
Log a profile message and start marker.
</summary>
<param name="profileId">
Identifier for the profile operation.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ProfileWithId(System.Guid,System.String,System.Object[])">
<summary>
Log a profile message and start marker.
</summary>
<param name="profileId">
Identifier for the profile operation.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ProfileWithIdCtx(System.String,System.Guid,System.String)">
<summary>
Logs a profile message and start marker using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="profileId">
Identifier for the profile operation.
</param>
<param name="message">
The message to log.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ProfileWithIdCtx(System.String,System.Guid,System.String,System.Object[])">
<summary>
Logs a profile message and start marker using the specified context.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="profileId">
Identifier for the profile operation.
</param>
<param name="format">
A composite format string.
</param>
<param name="args">
An object array that contains zero or more objects to format.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.ProfileEnd">
<summary>
Logs a profile end marker message.
</summary>
</member>
<member name="M:RSG.Base.Logging.ILog.ProfileEnd(System.Guid)">
<summary>
Logs a profile end marker message.
</summary>
<param name="profileId">
Identifier for the profile operation.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.Trace(System.String,System.String,System.String,System.Int32)">
<summary>
Logs a debug message for application method tracing.
</summary>
<param name="message">
The message to log.
</param>
<param name="memberName">
Method name; filled in by compiler.
</param>
<param name="sourceFilePath">
Source file; filled in by compiler.
</param>
<param name="sourceLineNumber">
Source line; filled in by compiler.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.TraceCtx(System.String,System.String,System.String,System.String,System.Int32)">
<summary>
Logs a debug message with context for application method tracing.
</summary>
<param name="context">
The context to associate with the message.
</param>
<param name="message">
The message to log.
</param>
<param name="memberName">
Method name; filled in by compiler.
</param>
<param name="sourceFilePath">
Source file; filled in by compiler.
</param>
<param name="sourceLineNumber">
Source line; filled in by compiler.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.MergeMessages(System.Collections.Generic.IEnumerable{RSG.Base.Logging.Model.LogMessage})">
<summary>
Merges a list of log messages into this log.
</summary>
<param name="messages">
The list of messages to merge.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.MergeMessages(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Merges a list of log messages into this log.
</summary>
<param name="messages">
The list of messages to merge.
</param>
</member>
<member name="M:RSG.Base.Logging.ILog.AttachTarget(RSG.Base.Logging.ILogTarget)">
<summary>
Attaches a log target to this log.
</summary>
<param name="logTarget"></param>
</member>
<member name="M:RSG.Base.Logging.ILog.IsAttached(RSG.Base.Logging.ILogTarget)">
<summary>
Determine whether a particular log target is attached to this log.
</summary>
<param name="logTarget"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.ILog.DetachTarget(RSG.Base.Logging.ILogTarget)">
<summary>
Detaches a log target from this log.
</summary>
<param name="logTarget"></param>
</member>
<member name="M:RSG.Base.Logging.ILog.Shutdown">
<summary>
Detaches all log targets (e.g. during shutdown).
</summary>
</member>
<member name="T:RSG.Base.Logging.ILogFileTarget">
<summary>
Log file interface.
</summary>
</member>
<member name="P:RSG.Base.Logging.ILogFileTarget.FlushMode">
<summary>
Log file flush mode.
</summary>
</member>
<member name="P:RSG.Base.Logging.ILogFileTarget.Filename">
<summary>
Log filename on disk.
</summary>
</member>
<member name="M:RSG.Base.Logging.ILogFileTarget.Copy(System.String,System.Boolean)">
<summary>
Copies the log file to another destination.
</summary>
<param name="destination"></param>
<param name="overwrite"></param>
</member>
<member name="T:RSG.Base.Logging.ILogTarget">
<summary>
Log target interface; a class that implements this is a log target or
log message consumer.
</summary>
Examples of log targets are: files, UI grids, or any other "view"
component.
</member>
<member name="P:RSG.Base.Logging.ILogTarget.Enabled">
<summary>
Log enabled flag
</summary>
</member>
<member name="P:RSG.Base.Logging.ILogTarget.LogLevelOverride">
<summary>
Gets or sets the level of messages that this target is interested in.
Setting to null indicates that the log level will be inherited from the
<see cref="T:RSG.Base.Logging.LogFactory"/>'s CurrentLogLevel property.
</summary>
</member>
<member name="P:RSG.Base.Logging.ILogTarget.Timestamp">
<summary>
Timestamp log entries flag
</summary>
</member>
<member name="P:RSG.Base.Logging.ILogTarget.ShowContext">
<summary>
Show context
</summary>
</member>
<member name="M:RSG.Base.Logging.ILogTarget.Flush">
<summary>
When overridden in a derived class, clears all buffers for this log target
and causes any buffered data to be written to the underlying device.
</summary>
</member>
<member name="M:RSG.Base.Logging.ILogTarget.ProcessMessages(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a collection of message that is sent from the log objects the target is attached to.
</summary>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.ILogTarget.Shutdown">
<summary>
Allows the log target to perform cleanup operations prior
to application shutdown.
</summary>
</member>
<member name="T:RSG.Base.Logging.InitialisationMode">
<summary>
Enumeration of the various ways we can initialise the <see cref="T:RSG.Base.Logging.LogFactory"/>.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationMode.ApplicationName">
<summary>
Log factory is initialised using the default output directory for the
specified application.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationMode.LegacyParentProcess">
<summary>
Legacy initialisation mode. Log factory is initialised by determining the output
directory for top-most parent process. Please try avoiding using this method
in the future.
</summary>
</member>
<member name="T:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings">
<summary>
Mode of log initialisation that set log based on the application name
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings.ProcessInstanceFormat">
<summary>
Format to use when generating the unique name for a process.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings._applicationLogDirectory">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings.ApplicationLogDirectory"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings._applicationLogFilePath">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings.ApplicationLogFilePath"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings._applicationLogSubDirectory">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings.ApplicationLogSubDirectory"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings.#ctor(System.String,RSG.Base.Logging.Model.LogFileFormat,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings"/> class.
</summary>
<param name="applicationName">
The name of the application we are initialising the factory for.
</param>
<param name="fileFormat">
The file format to use for the application log file.
</param>
<param name="toolsLogsDirectory">
Path to the directory containing all of the tools log files (e.g. x:\rdr3\tools\trunk\logs).
</param>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings.ApplicationLogDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings.ApplicationLogFilePath">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.ApplicationNameSettings.ApplicationLogSubDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="T:RSG.Base.Logging.InitialisationSettings.InitialisationSettingsBase">
<summary>
Base class for initialisation settings.
</summary>
</member>
<member name="M:RSG.Base.Logging.InitialisationSettings.InitialisationSettingsBase.#ctor(RSG.Base.Logging.Model.LogFileFormat)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.InitialisationSettings.InitialisationSettingsBase"/> class.
</summary>
<param name="fileFormat">
The file format to use for the application log file.
</param>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.InitialisationSettingsBase.ApplicationLogDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.InitialisationSettingsBase.ApplicationLogFilePath">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.InitialisationSettingsBase.ApplicationLogSubDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.InitialisationSettingsBase.DefaultLogLevel">
<summary>
Gets or sets the default log level the logging system should use.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.InitialisationSettingsBase.DefaultThreadId">
<summary>
The id of the thread to use as the default one.
</summary>
<remarks>
Logs only forward non-default threads information to their attached targets.
</remarks>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.InitialisationSettingsBase.FileFormat">
<summary>
Gets the log file format to use when creating log files.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.InitialisationSettingsBase.FileFormatExtension">
<summary>
Gets the extension to use for the file format.
</summary>
</member>
<member name="T:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings">
<summary>
Legacy initialization mode. This uses the parent process name to determine the
directory that log files get stored in.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings._applicationLogDirectory">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings.ApplicationLogDirectory"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings._applicationLogFilePath">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings.ApplicationLogFilePath"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings._applicationLogSubDirectory">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings.ApplicationLogSubDirectory"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings.#ctor(RSG.Base.Logging.Model.LogFileFormat,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings"/> class.
</summary>
<param name="fileFormat">
The file format to use for the application log file.
</param>
<param name="toolsLogsDirectory">
Path to the directory containing all of the tools log files (e.g. x:\rdr3\tools\trunk\logs).
</param>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings.ApplicationLogDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings.ApplicationLogFilePath">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.LegacyParentModeSettings.ApplicationLogSubDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="T:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings">
<summary>
Mode of log initialisation that set log based on a provided directory name
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings._applicationLogDirectory">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings.ApplicationLogDirectory"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings._applicationLogFilePath">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings.ApplicationLogFilePath"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings._applicationLogSubDirectory">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings.ApplicationLogSubDirectory"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings.#ctor(System.String,RSG.Base.Logging.Model.LogFileFormat,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings"/> class.
</summary>
<param name="logDirectory">
The directory in which logs should be saved.
</param>
<param name="fileFormat">
The file format to use for the application log file.
</param>
<param name="applicationLogFilename">
The name of the main application log file without an extension. The extension used is based off of the
supplied file format.
</param>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings.ApplicationLogDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings.ApplicationLogFilePath">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.LogDirectorySettings.ApplicationLogSubDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="T:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings">
<summary>
Mode of log initialisation that set log based on a provided file path
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings._applicationLogDirectory">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings.ApplicationLogDirectory"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings._applicationLogFilePath">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings.ApplicationLogFilePath"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings._applicationLogSubDirectory">
<summary>
The private field for the <see cref="P:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings.ApplicationLogSubDirectory"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings.#ctor(System.String,RSG.Base.Logging.Model.LogFileFormat)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings"/> class.
</summary>
<param name="applicationLogFilePath">
The full path to the application log file.
</param>
<param name="fileFormat">
The file format to use for the application log file.
</param>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings.ApplicationLogDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings.ApplicationLogFilePath">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.InitialisationSettings.LogFilePathSettings.ApplicationLogSubDirectory">
<summary>
Gets the full path to the applications log file.
</summary>
</member>
<member name="T:RSG.Base.Logging.Log">
<summary>
Static Log object for applications to send log messages to
anyone who has attached to the log message events.
</summary>
</member>
<member name="F:RSG.Base.Logging.Log.LOG_SOURCE">
<summary>
Not sure where this is used/what it is for...???.
</summary>
</member>
<member name="F:RSG.Base.Logging.Log.DEFAULT_LOG_NAME">
<summary>
Default log name to use if one isn't supplied.
</summary>
</member>
<member name="F:RSG.Base.Logging.Log.DEFAULT_MSG_CONTEXT">
<summary>
Default per-message context string.
</summary>
</member>
<member name="F:RSG.Base.Logging.Log.ESCAPE_CHARACTERS">
<summary>
Array of strings that require escaping; and the escape string.
</summary>
</member>
<member name="F:RSG.Base.Logging.Log._enabled">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Log.Enabled"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Log._hasMessageLevel">
<summary>
Used to store whether the log has encountered messages of a specific level.
</summary>
</member>
<member name="F:RSG.Base.Logging.Log._targets">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Log.Targets"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Log._name">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Log.Name"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Log._staticLog">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Log.StaticLog"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Log._targetsLock">
<summary>
Lock object for accessing/manipulating the targets.
</summary>
</member>
<member name="P:RSG.Base.Logging.Log.Name">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.Log.Enabled">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.Log.HasErrors">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.Log.HasWarnings">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.Log.HasProfiling">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.Log.Targets">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.Log.StaticLog">
<summary>
Static Log for static methods; really for compatibility with the
old static logging methods.
</summary>
</member>
<member name="M:RSG.Base.Logging.Log.#ctor">
<summary>
Default constructor; creating a 'Default' log.
</summary>
</member>
<member name="M:RSG.Base.Logging.Log.#ctor(System.String)">
<summary>
Constructor; creating a particularly named log.
</summary>
<param name="name"></param>
</member>
<member name="M:RSG.Base.Logging.Log.#ctor(System.String,System.Boolean)">
<summary>
Constructor; creating a particularly named log.
</summary>
<param name="name"></param>
<param name="enabled"></param>
</member>
<member name="M:RSG.Base.Logging.Log.Message(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Message(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.MessageCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.MessageCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.MessageCode(RSG.Base.Logging.LoggableMessageCode)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.MessageCode(RSG.Base.Logging.LoggableMessageCode,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.MessageCode(RSG.Base.Logging.LoggableMessageCode,System.Exception,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.MessageCodeCtx(System.String,RSG.Base.Logging.LoggableMessageCode)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.MessageCodeCtx(System.String,RSG.Base.Logging.LoggableMessageCode,System.Exception,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.MessageCodeCtx(System.String,RSG.Base.Logging.LoggableMessageCode,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Exception(System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ExceptionCtx(System.String,System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolException(System.Exception,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolException(System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolExceptionCtx(System.String,System.Exception,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolExceptionCtx(System.String,System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolExceptionAsWarning(System.Exception,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolExceptionAsWarning(System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolExceptionAsWarningCtx(System.String,System.Exception,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolExceptionAsWarningCtx(System.String,System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolError(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolError(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolErrorCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ToolErrorCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Error(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Error(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ErrorCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ErrorCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Warning(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Warning(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.WarningCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.WarningCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Debug(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Debug(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.DebugCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.DebugCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Profile(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Profile(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ProfileCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ProfileCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ProfileWithId(System.Guid,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ProfileWithId(System.Guid,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ProfileWithIdCtx(System.String,System.Guid,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ProfileWithIdCtx(System.String,System.Guid,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ProfileEnd">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.ProfileEnd(System.Guid)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Trace(System.String,System.String,System.String,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.TraceCtx(System.String,System.String,System.String,System.String,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.DispatchMessage(RSG.Base.Logging.LogLevel,System.String,System.String,RSG.Base.Logging.MessageCode,System.Nullable{System.Guid})">
<summary>
Forwards a single message to the attached log targets.
</summary>
<param name="level">
Message log level.
</param>
<param name="context">
Message context.
</param>
<param name="message">
Formatted message to be logged.
</param>
<param name="messageCode">
The message code to associate with the message.
</param>
<param name="profileId">
The profiling identifier for this message, if any.
</param>
</member>
<member name="M:RSG.Base.Logging.Log.AttachTarget(RSG.Base.Logging.ILogTarget)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.IsAttached(RSG.Base.Logging.ILogTarget)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.DetachTarget(RSG.Base.Logging.ILogTarget)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.Shutdown">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Log.FormatString(System.String,System.Object[])">
<summary>
Attempts to format the passed in string.
</summary>
<param name="format"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Log.FormatExceptionString(System.Exception,System.String)">
<summary>
Creates a string which contains the exception and the string passed in correctly
formatted.
</summary>
<param name="ex"></param>
<param name="message"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Log.FormatExceptionString(System.Exception,System.String,System.Object[])">
<summary>
Creates a string which contains the exception and the string passed in correctly
formatted.
</summary>
<param name="ex"></param>
<param name="format"></param>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Log.MergeMessages(System.Collections.Generic.IEnumerable{RSG.Base.Logging.Model.LogMessage})">
<summary>
Merges a list of log messages into this log.
</summary>
<param name="messages">
The list of messages to merge.
</param>
</member>
<member name="M:RSG.Base.Logging.Log.MergeMessages(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Merges a list of log messages into this log.
</summary>
<param name="messages">
The list of messages to merge.
</param>
</member>
<member name="M:RSG.Base.Logging.Log.EscapeMessage(System.String)">
<summary>
Escape message string; so it's safe for String.Format used internally.
</summary>
<remarks>
This method is only safe to run on strings without formatting expressions;
'{' and '}' will be escaped. The main use for this is for escaping strings
that come from 3rd party libraries.
</remarks>
<param name="message"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Log.Log__Message(System.String,System.Object[])">
<summary>
Log an information message.
</summary>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.Log.Log__MessageCtx(System.String,System.String,System.Object[])">
<summary>
Log a information message with context.
</summary>
<param name="context"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.Log.Log__Exception(System.Exception,System.String,System.Object[])">
<summary>
Log an exception message.
</summary>
<param name="ex"></param>
<param name="message"></param>
<param name="args"></param>
The information logged is similar to what is displayed in the UI
exception dialog class window.
</member>
<member name="M:RSG.Base.Logging.Log.Log__ExceptionCtx(System.Exception,System.String,System.String,System.Object[])">
<summary>
Log an exception message with context.
</summary>
<param name="context"></param>
<param name="ex"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.Log.Log__Error(System.String,System.Object[])">
<summary>
Log an error message.
</summary>
<param name="message">Error message string to log</param>
</member>
<member name="M:RSG.Base.Logging.Log.Log__ErrorCtx(System.String,System.String,System.Object[])">
<summary>
Log an error message with context.
</summary>
<param name="context"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.Log.Log__Warning(System.String,System.Object[])">
<summary>
Log an warning message.
</summary>
<param name="message">Warning message string to log</param>
</member>
<member name="M:RSG.Base.Logging.Log.Log__WarningCtx(System.String,System.String,System.Object[])">
<summary>
Log a warning message with context.
</summary>
<param name="context"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.Log.Log__Debug(System.String,System.Object[])">
<summary>
Log a debug message.
</summary>
<param name="message">Debug message string to log</param>
</member>
<member name="M:RSG.Base.Logging.Log.Log__DebugCtx(System.String,System.String,System.Object[])">
<summary>
Log a debug message with context.
</summary>
<param name="context"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.Log.Log__Profile(System.String,System.Object[])">
<summary>
Log a profile message and start marker.
</summary>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.Log.Log__ProfileEnd">
<summary>
Log a profile end marker.
</summary>
</member>
<member name="T:RSG.Base.Logging.LogFactory">
<summary>
Log and log target factory.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory.LOG_DIRECTORY">
<summary>
Subdirectory under %RS_TOOLSROOT% for log files.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory.DefaultLogFileFormat">
<summary>
Default log file format.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._applicationConsoleLog">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogFactory.ApplicationConsoleLog"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._applicationLog">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogFactory.ApplicationLog"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._applicationLogDirectory">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogFactory.ApplicationLogDirectory"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._applicationSubLogDirectory">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogFactory.ApplicationSubLogDirectory"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._applicationLogFile">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogFactory.ApplicationLogFile"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._applicationLogFilePath">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogFactory.ApplicationLogFilename"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._applicationLogWrapper">
<summary>
The application log wrapper which is actually attached to the application log.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._applicationLogStatistics">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.LogFactory.ApplicationLogStatistics"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._currentLogLevel">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogFactory.CurrentLogLevel"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._defaultThreadId">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogFactory.DefaultThreadId"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._initialised">
<summary>
Flag indicating whether the log factory system has been initialised.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._initialisationLock">
<summary>
Lock object for performing the log factory initialisation.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._logFileFormat">
<summary>
The format to use when creating new log files.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._logs">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogFactory.Logs"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._logsLock">
<summary>
Lock object for accessing the logs collection.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogFactory._logTargets">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogFactory.LogTargets"/> property.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.ApplicationSubLogDirectory">
<summary>
Gets the directory to which any sub log files are saved out to by default.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.ApplicationLog">
<summary>
Application-root log object.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.ApplicationLogDirectory">
<summary>
Gets the directory to which the application log is saved out to.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.ApplicationLogFile">
<summary>
Application-root log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.ApplicationLogFilename">
<summary>
Gets the full path to the application log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.ApplicationLogStatistics">
<summary>
Gets the statistics target that is attached to the application log.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.ApplicationConsoleLog">
<summary>
Instance of ConsoleLog; if initialised we connect all logs
and maintain those as new logs are created.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.CurrentLogLevel">
<summary>
Gets or sets the current log level.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.Initialised">
<summary>
Whether the log factory has been initialised and the
process log has been setup.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.Logs">
<summary>
Gets the collection of all logs constructed by the factory.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.LogTargets">
<summary>
Gets the collection of all log targets constructed by the factory.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogFactory.DefaultThreadId">
<summary>
Gets the default thread id which is the one the log factory was initialised on.
</summary>
</member>
<member name="M:RSG.Base.Logging.LogFactory.Initialize(RSG.Base.Logging.IInitialisationSettings)">
<summary>
Initialize the log factory based on the provided initialisation mode.
</summary>
<param name="initialisationSettings">
The settings to use for initialising the log factory.
</param>
</member>
<member name="M:RSG.Base.Logging.LogFactory.Initialize(RSG.Base.Logging.InitialisationMode,System.String,System.String)">
<summary>
</summary>
<param name="toolsDirectory"></param>
<param name="mode"></param>
<param name="value"></param>
</member>
<member name="M:RSG.Base.Logging.LogFactory.ValidateLogFactory">
<summary>
Check to make sure the LogFactory has been properly initialised before making any calls to it.
</summary>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CreateUniversalLog(System.String,System.Boolean)">
<summary>
Creates a new log object optionally forwarding messages logged to it to the
application log.
</summary>
<param name="name">
Name of the log to create.
</param>
<param name="forwardMessagesToApplicationLog">
Flag indicating whether messages logged to the created log object should be
forwarded on to the application log.
</param>
<returns>
A new log object.
</returns>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CreateFileTarget(System.String)">
<summary>
Creates a new log file target.
</summary>
<param name="filename">
The name of the file the new file target should output to. This will be appended on to the end of the
<see cref="P:RSG.Base.Logging.LogFactory.ApplicationSubLogDirectory"/> to create the full path to the resulting file.
</param>
<returns>
The newly created file target.
</returns>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CreateFileTarget(System.String,RSG.Base.Logging.Model.LogFileFormat)">
<summary>
Creates a new log file target and attaches it to the specified log.
</summary>
<param name="filename">
The name of the file the new file target should output to. This will be appended on to the end of the
<see cref="P:RSG.Base.Logging.LogFactory.ApplicationSubLogDirectory"/> to create the full path to the resulting file.
</param>
<param name="format">
The format of the file to output.
</param>
<returns>
The newly created file target.
</returns>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CreateLogFileTarget(RSG.Base.Logging.Universal.IUniversalLog,System.String,System.String[])">
<summary>
Create a new Universal Log file target; attaching to a log.
</summary>
<param name="log"></param>
<param name="filenamePrefix"></param>
<param name="paths"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CreateLogFileTargetNoOverwrite(RSG.Base.Logging.Universal.IUniversalLog,System.String,System.String[])">
<summary>
Create a new Universal Log file target; attaching to a log.
Does NOT overwrite an existing target if the file exists. Instead, calls to create a new directory.
Is separate from the above <see cref="M:RSG.Base.Logging.LogFactory.CreateLogFileTarget(RSG.Base.Logging.Universal.IUniversalLog,System.String,System.String[])"/>, to avoid breaking existing calls to that function.
cannot add a param with default value due to use of "params String[] paths"
</summary>
<param name="log"></param>
<param name="filenamePrefix"></param>
<param name="paths"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CreateApplicationConsoleLogTarget(System.Boolean,System.Collections.Generic.IList{RSG.Base.Logging.LogLevel})">
<summary>
Creates and attaches a console log target to the application log, optionally
processing messages asynchronously or not.
</summary>
<param name="threaded">
Flag indicating whether the console target should process messages asynchronously.
The default is true.
</param>
<param name="supportedLogLevels">
Contains a list of support log levels to be output into the console.
</param>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CreateLogServiceTarget(System.Int32,System.Boolean)">
<summary>
Creates
</summary>
<param name="pid"></param>
<param name="threaded"></param>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CloseUniversalLog(RSG.Base.Logging.ILog)">
<summary>
Destroy a Universal Log.
</summary>
<param name="logToClose"></param>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CloseFileTarget(RSG.Base.Logging.Targets.FileTarget)">
<summary>
Closes a file target. This is the mirror to the <see cref="M:RSG.Base.Logging.LogFactory.CreateFileTarget(System.String)"/> method.
</summary>
<param name="fileTarget">
The file target to close.
</param>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CloseUniversalLogFile(RSG.Base.Logging.ILogTarget)">
<summary>
Destroy a Universal Log File.
</summary>
<param name="target"></param>
</member>
<member name="M:RSG.Base.Logging.LogFactory.ApplicationShutdown">
<summary>
Application shutdown; clears connected logs and flushes any log file targets
registered in the system.
</summary>
</member>
<member name="M:RSG.Base.Logging.LogFactory.GenerateUniversalLogFileName(System.String,System.String[])">
<summary>
Generate a universal log filename using a unique prefix.
</summary>
<param name="prefix"></param>
<param name="paths"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.LogFactory.GenerateUniversalLogFileNameNoOverwrite(System.String,System.String[])">
<summary>
Generate a universal log filename using a unique prefix.
Does NOT overwrite if the file exists. Instead creates a new directory.
Is separate from the above <see cref="M:RSG.Base.Logging.LogFactory.GenerateUniversalLogFileName(System.String,System.String[])"/>, to avoid breaking existing calls to that function.
cannot add a param with default value due to use of "params String[] paths"
</summary>
<param name="prefix"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.LogFactory.ResetLogDirectory">
<summary>
Closes all the current log files opened with the log factory, clears the log directory
and then recreate the main application log. Used for Max so on each export we start with a fresh log directory.
</summary>
</member>
<member name="M:RSG.Base.Logging.LogFactory.FlushApplicationLog">
<summary>
Force a flush of the application log.
</summary>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CopyLogFiles(System.Collections.Generic.IEnumerable{System.String},System.String,RSG.Base.Logging.ILog,System.Boolean)">
<summary>
Copies a list of log files to the specified target directory.
</summary>
<param name="files"></param>
<param name="destinationDirectory"></param>
<param name="log"></param>
<param name="overwrite"></param>
</member>
<member name="M:RSG.Base.Logging.LogFactory.CreateApplicationLog">
<summary>
Initialise a process log and log file.
</summary>
</member>
<member name="T:RSG.Base.Logging.LoggableMessageCode">
<summary>
Defines a message code that can be logged.
</summary>
</member>
<member name="F:RSG.Base.Logging.LoggableMessageCode._level">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.LoggableMessageCode.Level"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LoggableMessageCode._messageFormat">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.LoggableMessageCode.MessageFormat"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.LoggableMessageCode.#ctor(System.String,System.UInt16,RSG.Base.Logging.LogLevel,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.LoggableMessageCode"/> class using the
specified prefix and number.
</summary>
<param name="prefix">
The two to five character prefix for the message code.
</param>
<param name="number">
The four digit numeric identifier for the message code.
</param>
<param name="level">
The level the message should be logged at.
</param>
<param name="messageFormat">
The message format to use when logging messages for this message code.
</param>
</member>
<member name="P:RSG.Base.Logging.LoggableMessageCode.Level">
<summary>
Gets the level the message should be logged at.
</summary>
</member>
<member name="P:RSG.Base.Logging.LoggableMessageCode.MessageFormat">
<summary>
Gets the composite format string for the message associated with this message code.
</summary>
</member>
<member name="M:RSG.Base.Logging.LoggableMessageCode.Equals(System.Object)">
<inheritdoc/>
</member>
<member name="M:RSG.Base.Logging.LoggableMessageCode.Equals(RSG.Base.Logging.LoggableMessageCode)">
<inheritdoc/>
</member>
<member name="M:RSG.Base.Logging.LoggableMessageCode.GetHashCode">
<inheritdoc/>
<remarks>
https://stackoverflow.com/questions/263400/what-is-the-best-algorithm-for-an-overridden-system-object-gethashcode
</remarks>
</member>
<member name="T:RSG.Base.Logging.LogLevel">
<summary>
Log message level enumeration.
Attributes are used as following:
* EnumMember - for WCF serialisation.
* DisplayIcon - Icon associated with this particular log level.
* FieldDisplayName - Name associated with this particular log level (as shown in the UI).
* XmlConstant - Name of the element for that particular log level as it appears in the ulog file.
* Browsable (optional) - Indicates that a particular log level shouldn't be shown in the UI (e.g. in a filter command).
</summary>
</member>
<member name="F:RSG.Base.Logging.LogLevel.ToolException">
<summary>
Tool internal-exception level.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogLevel.ToolError">
<summary>
Tool internal-error level.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogLevel.Error">
<summary>
User error level.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogLevel.Warning">
<summary>
User warning level.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogLevel.Info">
<summary>
User information level.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogLevel.Trace">
<summary>
Trace level.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogLevel.Profile">
<summary>
Profile level.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogLevel.Debug">
<summary>
Debug level.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogLevel.ProfileEnd">
<summary>
Profile-end level (internally used).
</summary>
</member>
<member name="T:RSG.Base.Logging.LogLevelUtils">
<summary>
Utility methods associated with the <see cref="T:RSG.Base.Logging.LogLevel" /> enumeration.
</summary>
</member>
<member name="M:RSG.Base.Logging.LogLevelUtils.GetXmlElementName(RSG.Base.Logging.LogLevel)">
<summary>
Retrieves the element name that a particular log level has associated with it.
</summary>
<param name="level"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.LogLevelUtils.GetLogLevelFromXmlElementName(System.String)">
<summary>
Converts an xml element name into a LogLevel enum value.
</summary>
<param name="elementName">Name of the xml element.</param>
<returns>LogLevel that the element name corresponds to or LogLevel.Info if it isn't valid.</returns>
</member>
<member name="T:RSG.Base.Logging.LogTargetBase">
<summary>
Abstract base class for all LogTargets; this should be used to base
all LogTargets from because of the connected log maintenance.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogTargetBase._enabled">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogTargetBase.Enabled"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogTargetBase._logLevelOverride">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogTargetBase.LogLevelOverride"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogTargetBase._outputContext">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogTargetBase.ShowContext"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.LogTargetBase._outputTimestamps">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.LogTargetBase.Timestamp"/> property.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogTargetBase.Enabled">
<summary>
Gets or sets a flag indicating whether the log is currently enabled.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogTargetBase.LogLevelOverride">
<summary>
Gets or sets the level of messages that this target is interested in.
Setting to null indicates that the log level will be inherited from the
<see cref="T:RSG.Base.Logging.LogFactory"/>'s CurrentLogLevel property.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogTargetBase.Timestamp">
<summary>
Gets or sets a flag indicating whether the target should output timestamps
along with the log messages.
</summary>
</member>
<member name="P:RSG.Base.Logging.LogTargetBase.ShowContext">
<summary>
Gets or sets a flag indicating whether the target should output the context
information along with the log messages.
</summary>
</member>
<member name="M:RSG.Base.Logging.LogTargetBase.#ctor(System.Boolean,System.Boolean,System.Boolean)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.LogTargetBase"/> class
using the specified enabled, output timestamp and output context values.
</summary>
<param name="enabled"></param>
<param name="outputTimestamps"></param>
<param name="outputContext"></param>
</member>
<member name="M:RSG.Base.Logging.LogTargetBase.Flush">
<summary>
When overridden in a derived class, clears all buffers for this log target
and causes any buffered data to be written to the underlying device.
</summary>
</member>
<member name="M:RSG.Base.Logging.LogTargetBase.ProcessMessages(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a collection of messages that are sent from the log objects the target is
attached to.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="M:RSG.Base.Logging.LogTargetBase.Shutdown">
<summary>
Allows the log target to perform cleanup operations prior
to application shutdown.
</summary>
</member>
<member name="M:RSG.Base.Logging.LogTargetBase.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a collection of message that are sent from the log.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="M:RSG.Base.Logging.LogTargetBase.ShouldProcessMessage(RSG.Base.Logging.LogLevel)">
<summary>
Gets a flag indicating whether the target should process messages of the
specified level.
</summary>
<param name="level"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Logging.LogXmlInfo">
<summary>
Logging extensions for XML parsing.
</summary>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Error(RSG.Base.Logging.ILog,System.Xml.XmlReader,System.String,System.Object[])">
<summary>
Log an XML error; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="reader"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.ErrorCtx(RSG.Base.Logging.ILog,System.String,System.Xml.XmlReader,System.String,System.Object[])">
<summary>
Log an XML error; with filename, context, line and column information.
</summary>
<param name="log"></param>
<param name="context"></param>
<param name="reader"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Warning(RSG.Base.Logging.ILog,System.Xml.XmlReader,System.String,System.Object[])">
<summary>
Log an XML warning; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="reader"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.WarningCtx(RSG.Base.Logging.ILog,System.String,System.Xml.XmlReader,System.String,System.Object[])">
<summary>
Log an XML warning; with filename, context, line and column information.
</summary>
<param name="log"></param>
<param name="context"></param>
<param name="reader"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Message(RSG.Base.Logging.ILog,System.Xml.XmlReader,System.String,System.Object[])">
<summary>
Log an XML message; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="reader"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.MessageCtx(RSG.Base.Logging.ILog,System.String,System.Xml.XmlReader,System.String,System.Object[])">
<summary>
Log an XML message; with filename, context, line and column information.
</summary>
<param name="log"></param>
<param name="context"></param>
<param name="reader"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Debug(RSG.Base.Logging.ILog,System.Xml.XmlReader,System.String,System.Object[])">
<summary>
Log an XML debug message; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="reader"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.DebugCtx(RSG.Base.Logging.ILog,System.String,System.Xml.XmlReader,System.String,System.Object[])">
<summary>
Log an XML debug message; with filename, context, line and column information.
</summary>
<param name="log"></param>
<param name="context"></param>
<param name="reader"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Error(RSG.Base.Logging.ILog,System.Xml.XmlNode,System.String,System.Object[])">
<summary>
Log an XML error; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="xmlNode"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Warning(RSG.Base.Logging.ILog,System.Xml.XmlNode,System.String,System.Object[])">
<summary>
Log an XML warning; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="xmlNode"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Message(RSG.Base.Logging.ILog,System.Xml.XmlNode,System.String,System.Object[])">
<summary>
Log an XML message; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="xmlNode"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Debug(RSG.Base.Logging.ILog,System.Xml.XmlNode,System.String,System.Object[])">
<summary>
Log an XML debug message; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="xmlNode"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Error(RSG.Base.Logging.ILog,System.Xml.Linq.XObject,System.String,System.Object[])">
<summary>
Log an XML error; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="xmlObject"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Warning(RSG.Base.Logging.ILog,System.Xml.Linq.XObject,System.String,System.Object[])">
<summary>
Log an XML warning; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="xmlObject"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Message(RSG.Base.Logging.ILog,System.Xml.Linq.XObject,System.String,System.Object[])">
<summary>
Log an XML message; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="xmlObject"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.LogXmlInfo.Debug(RSG.Base.Logging.ILog,System.Xml.Linq.XObject,System.String,System.Object[])">
<summary>
Log an XML debug message; with filename, line and column information.
</summary>
<param name="log"></param>
<param name="xmlObject"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="T:RSG.Base.Logging.MessageCode">
<summary>
Defines a message code that can be associated with a log event. A message code consists
of 2-5 characters followed by a four digit number e.g. UNIT0004 or EXP1205.
</summary>
</member>
<member name="F:RSG.Base.Logging.MessageCode.CodeRegex">
<summary>
The regular expression for parsing a single message code into the relevant groups.
</summary>
<remarks>
(?'prefix'[A-Z]{2,5}) - Named group that matches 2 - 5 upper case characters.
(?'number'\d{4}) - Named group that matches exactly 4 digits.
</remarks>
</member>
<member name="F:RSG.Base.Logging.MessageCode._number">
<summary>
The numeric portion of the message code.
</summary>
</member>
<member name="F:RSG.Base.Logging.MessageCode._prefix">
<summary>
The string prefix portion of the message code.
</summary>
</member>
<member name="F:RSG.Base.Logging.MessageCode._extensionDataObject">
<summary>
Private field for the <see cref="T:System.Runtime.Serialization.ExtensionDataObject"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.MessageCode.#ctor(System.String,System.UInt16)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.MessageCode"/> class using the
specified prefix and number.
</summary>
<param name="prefix">
The two to five character prefix for the message code.
</param>
<param name="number">
The four digit numeric identifier for the message code.
</param>
</member>
<member name="P:RSG.Base.Logging.MessageCode.Id">
<summary>
Gets the id to use for this message code.
</summary>
</member>
<member name="P:RSG.Base.Logging.MessageCode.MessagePrefix">
<summary>
Gets the prefix of this message code.
</summary>
</member>
<member name="P:RSG.Base.Logging.MessageCode.Number">
<summary>
Gets the number of this message code.
</summary>
</member>
<member name="P:RSG.Base.Logging.MessageCode.ExtensionData">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.MessageCode.op_Equality(RSG.Base.Logging.MessageCode,RSG.Base.Logging.MessageCode)">
<summary>
Determines whether the first operand is equal to the second.
</summary>
<param name="v1">
The first version to compare.
</param>
<param name="v2">
The second version to compare.
</param>
<returns>
Returns <c>true</c> if the first operand is equal to the second, <c>false</c>
otherwise.
</returns>
</member>
<member name="M:RSG.Base.Logging.MessageCode.op_Inequality(RSG.Base.Logging.MessageCode,RSG.Base.Logging.MessageCode)">
<summary>
Determines whether the first operand is not equal to the second.
</summary>
<param name="v1">
The first version to compare.
</param>
<param name="v2">
The second version to compare.
</param>
<returns>
Returns <c>true</c> if the first operand is not equal to the second, <c>false</c>
otherwise.
</returns>
</member>
<member name="M:RSG.Base.Logging.MessageCode.Parse(System.String)">
<summary>
Converts the string representation of a message code to a message code object.
</summary>
<param name="s">
A string representing the number to convert.
</param>
<returns>
A message code equivalent to that contained within <paramref name="s"/>.
</returns>
</member>
<member name="M:RSG.Base.Logging.MessageCode.TryParse(System.String,RSG.Base.Logging.MessageCode@)">
<summary>
Attempts to convert the string representation of a message code to a message code
object returning the success of the operation.
</summary>
<param name="s">
A string representing the number to convert.
</param>
<param name="result">
A message code equivalent to that contained within <paramref name="s"/> if it can
successfully be parsed; otherwise <c>null</c>.
</param>
<returns>
<c>true</c> if <paramref name="s"/> was converted successfully; otherwise
<c>false</c>.
</returns>
</member>
<member name="M:RSG.Base.Logging.MessageCode.Equals(System.Object)">
<summary>
Returns whether this version is the same as another.
</summary>
<param name="obj">
The object to compare this against.
</param>
<returns>
<c>true</c> if the objects are the same; otherwise <c>false</c>.
</returns>
</member>
<member name="M:RSG.Base.Logging.MessageCode.Equals(RSG.Base.Logging.MessageCode)">
<summary>
Returns whether this version is the same as another.
</summary>
<param name="obj">
The object to compare this one against.
</param>
<returns>
<c>true</c> if the objects are the same; otherwise <c>false</c>.
</returns>
</member>
<member name="M:RSG.Base.Logging.MessageCode.GetHashCode">
<summary>
Gets a hash code for this version.
</summary>
<returns>
A hash code for the current object.
</returns>
</member>
<member name="M:RSG.Base.Logging.MessageCode.ToString">
<summary>
Returns the message code id for this object.
</summary>
<returns>
The message code id for this object.
</returns>
</member>
<member name="T:RSG.Base.Logging.Model.LogFile">
<summary>
Model object for a single log file.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFile.DefaultFileExtension">
<summary>
The default file extension for universal log files.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFile.DefaultSystemContext">
<summary>
The default system context to use when outputting messages to the log.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFile._messages">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Model.LogFile.Messages"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFile._machineName">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Model.LogFile.MachineName"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFile._userName">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Model.LogFile.UserName"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Model.LogFile"/> class.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogFile.MachineName">
<summary>
Gets or sets the name of the machine that the file was created on.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogFile.Messages">
<summary>
Gets the list of messages this file contains.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogFile.UserName">
<summary>
Gets or sets the name of the user that created the file.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.ContainsErrors(System.String)">
<summary>
Parses the specified log file returning a value indicating whether it contains any
errors.
</summary>
<param name="filepath">
Input file path.
</param>
<returns>
<b>true</b> if the specified log file has errors; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.ContainsWarnings(System.String)">
<summary>
Parses the specified log file returning a value indicating whether it contains any
errors.
</summary>
<param name="filepath">
Input file path.
</param>
<returns>
<b>true</b> if the specified log file has warnings; <b>false</b> otherwise.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.GetErrorCount(System.String)">
<summary>
Parses the specified log file returning the number of errors it contains.
</summary>
<param name="filepath">
Input file path.
</param>
<returns>
Number of errors within the specified log file.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.GetWarningCount(System.String)">
<summary>
Parses the specified log file returning the number of warnings it contains.
</summary>
<param name="filepath">
Input file path.
</param>
<returns>
Number of warnings within the specified log file.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.Load(System.String)">
<summary>
Creates a new <see cref="T:RSG.Base.Logging.Model.LogFile"/> from a file.
</summary>
<param name="filepath">
Input file path.
</param>
<returns>
A new instance of <see cref="T:RSG.Base.Logging.Model.LogFile"/> representing the loaded data.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.Load(System.String,RSG.Base.Logging.Model.LogFileLoadOptions)">
<summary>
Creates a new <see cref="T:RSG.Base.Logging.Model.LogFile"/> from a file using the specified load options.
</summary>
<param name="filepath">
Input file path.
</param>
<param name="loadOptions">
Loading options.
</param>
<returns>
A new instance of <see cref="T:RSG.Base.Logging.Model.LogFile"/> representing the loaded data.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.Load(System.IO.Stream,RSG.Base.Logging.Model.LogFileFormat)">
<summary>
Creates a new <see cref="T:RSG.Base.Logging.Model.LogFile"/> instance by using the specified stream. This
assumes the stream represents an Xml based log file.
</summary>
<param name="stream">
Input <see cref="T:System.IO.Stream"/>.
</param>
<param name="format">
Expected file format (<see cref="T:RSG.Base.Logging.Model.LogFileFormat"/>).
</param>
<returns>
A new instance of <see cref="T:RSG.Base.Logging.Model.LogFile"/> representing the loaded data.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.Load(System.IO.Stream,RSG.Base.Logging.Model.LogFileLoadOptions)">
<summary>
Creates a new <see cref="T:RSG.Base.Logging.Model.LogFile"/> instance by using the specified stream and load
options.
</summary>
<param name="stream">
Input <see cref="T:System.IO.Stream"/>.
</param>
<param name="loadOptions">
Loading options.
</param>
<returns>
A new instance of <see cref="T:RSG.Base.Logging.Model.LogFile"/> representing the loaded data.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.MergeLogs(System.Collections.Generic.IEnumerable{System.String})">
<summary>
Merges a list of log files into a single model object.
</summary>
<param name="filepaths">
The paths to the log files to merge.
</param>
<returns>
A <see cref="T:RSG.Base.Logging.Model.LogFile"/> model object that contains the messages from the specified
file paths.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.MergeLogs(System.String,System.String[])">
<summary>
Merges the specified list of source filepaths into the a single destination file.
</summary>
<param name="destination">
The full path to the destination file that will contain the merged results.
</param>
<param name="sourceFilepaths">
The full paths to the source files that should be merged.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.Save(System.String)">
<summary>
Serializes this <see cref="T:RSG.Base.Logging.Model.LogFile"/> to a file, overwriting an existing file if it
exists.
</summary>
<param name="filepath">
Output file path.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.Save(System.String,RSG.Base.Logging.Model.LogFileSaveOptions)">
<summary>
Serializes this <see cref="T:RSG.Base.Logging.Model.LogFile"/> to a file using the specified save options,
overwriting an existing file if it exists.
</summary>
<param name="filepath">
Output file path.
</param>
<param name="saveOptions">
Save options.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.Save(System.IO.Stream,RSG.Base.Logging.Model.LogFileFormat)">
<summary>
Outputs this <see cref="T:RSG.Base.Logging.Model.LogFile"/> to the specified stream.
</summary>
<param name="stream">
Output <see cref="T:System.IO.Stream"/>.
</param>
<param name="format">
Output format to use (<see cref="T:RSG.Base.Logging.Model.LogFileFormat"/>).
</param>
</member>
<member name="M:RSG.Base.Logging.Model.LogFile.Save(System.IO.Stream,RSG.Base.Logging.Model.LogFileSaveOptions)">
<summary>
Outputs this <see cref="T:RSG.Base.Logging.Model.LogFile"/> to the specified stream using the provided save
options.
</summary>
<param name="stream">
Output <see cref="T:System.IO.Stream"/>.
</param>
<param name="saveOptions"></param>
</member>
<member name="T:RSG.Base.Logging.Model.LogFileExtensions">
<summary>
Defines the file extensions we use for the logging system.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileExtensions.TextFileExtension">
<summary>
The default text file extension.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileExtensions.XmlFileExtension">
<summary>
The default xml file extension.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileExtensions.ZipFileExtension">
<summary>
The default ulog zip file extension.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileExtensions.FileExtensionsWildcard">
<summary>
All logfile extensions as wildcard.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileExtensions.AllFileExtensionsWildcard">
<summary>
All logfile extensions as wildcard.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.LogFileExtensions.GetExtensionForFileFormat(RSG.Base.Logging.Model.LogFileFormat)">
<summary>
Gets the extension to use for the specified file format.
</summary>
<param name="format">
The file format for which to retrieve an extension for.
</param>
<returns>
The extension for the specified file format.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFileExtensions.GetFileFormatForExtension(System.String)">
<summary>
Gets the <see cref="T:RSG.Base.Logging.Model.LogFileFormat"/> for the specified extension.
</summary>
<param name="extension">
The extension to get the <see cref="T:RSG.Base.Logging.Model.LogFileFormat"/> for.
</param>
<returns>
The <see cref="T:RSG.Base.Logging.Model.LogFileFormat"/> for the specified extension.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFileExtensions.HasTextFileExtension(System.String)">
<summary>
Returns a value indicating whether the supplied file path has the default text file extension.
</summary>
<param name="filePath">
The path to the file to check.
</param>
<returns>
<c>true</c> if the file path has the text extension; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFileExtensions.HasXmlFileExtension(System.String)">
<summary>
Returns a value indicating whether the supplied file path has the default xml file extension.
</summary>
<param name="filePath">
The path to the file to check.
</param>
<returns>
<c>true</c> if the file path has the xml extension; otherwise, <c>false</c>.
</returns>
</member>
<member name="M:RSG.Base.Logging.Model.LogFileExtensions.HasZipFileExtension(System.String)">
<summary>
Returns a value indicating whether the supplied file path has the default ulog zip file extension.
</summary>
<param name="filePath">
The path to the file to check.
</param>
<returns>
<c>true</c> if the file path has the ulog zip extension; otherwise, <c>false</c>.
</returns>
</member>
<member name="T:RSG.Base.Logging.Model.LogFileFormat">
<summary>
Defines the various formats that a log file can be saved as.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileFormat.Xml">
<summary>
The standard ULog Xml format.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileFormat.Text">
<summary>
Plain text format.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileFormat.Zip">
<summary>
Zipped Ulog format.
</summary>
</member>
<member name="T:RSG.Base.Logging.Model.LogFileLoadOptions">
<summary>
Specifies a set of features to use when loading a <see cref="T:RSG.Base.Logging.Model.LogFile"/> via the various
LogFile.Load overloads.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileLoadOptions._format">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogFileLoadOptions.Format"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileLoadOptions._maxMessageCount">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Model.LogFileLoadOptions.MaxMessageCount"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileLoadOptions._restrictToLevels">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Model.LogFileLoadOptions.RestrictToLevels"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.LogFileLoadOptions.#ctor(RSG.Base.Logging.Model.LogFileFormat)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Model.LogFileLoadOptions"/> class.
</summary>
<param name="format">Format that the log file uses</param>
</member>
<member name="M:RSG.Base.Logging.Model.LogFileLoadOptions.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Model.LogFileLoadOptions"/> class.
</summary>
<param name="filepath">Path to the log file to figure out format</param>
</member>
<member name="P:RSG.Base.Logging.Model.LogFileLoadOptions.Format">
<summary>
Gets or sets the format the resulting log file should be saved out as.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogFileLoadOptions.MaxMessageCount">
<summary>
Gets or sets the maximum number of messages to read from the log file.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogFileLoadOptions.RestrictToLevels">
<summary>
Gets or sets the levels to restrict the loading to.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.LogFileLoadOptions.DeepClone">
<summary>
Returns a new, deep cloned instance.
</summary>
<returns>New instance cloned from the called instance.</returns>
</member>
<member name="T:RSG.Base.Logging.Model.LogFileSaveOptions">
<summary>
Specifies a set of features to use when saving a <see cref="T:RSG.Base.Logging.Model.LogFile"/> via the various
LogFile.Save overloads.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileSaveOptions._format">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogFileSaveOptions.Format"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogFileSaveOptions._restrictToLevels">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Model.LogFileSaveOptions.RestrictToLevels"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.LogFileSaveOptions.#ctor(RSG.Base.Logging.Model.LogFileFormat)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Model.LogFileSaveOptions"/> class.
</summary>
<param name="format">Format that the log file uses</param>
</member>
<member name="M:RSG.Base.Logging.Model.LogFileSaveOptions.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Model.LogFileSaveOptions"/> class.
</summary>
<param name="filepath">Path to the log file to figure out format</param>
</member>
<member name="P:RSG.Base.Logging.Model.LogFileSaveOptions.Format">
<summary>
Gets or sets the format the resulting log file should be saved out as.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogFileSaveOptions.RestrictToLevels">
<summary>
Gets or sets the levels to restrict the loading to.
</summary>
</member>
<member name="T:RSG.Base.Logging.Model.LogMessage">
<summary>
Model object for a log message.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogMessage._messageCode">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogMessage.MessageCode"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogMessage._context">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogMessage.Context"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogMessage._level">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogMessage.Level"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogMessage._message">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogMessage.Message"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogMessage._systemContext">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogMessage.SystemContext"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogMessage._taskId">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogMessage.TaskId"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogMessage._thread">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogMessage.Thread"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogMessage._timestamp">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogMessage.Timestamp"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.LogMessage._profileId">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.LogMessage.ProfileId"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.LogMessage.#ctor(RSG.Base.Logging.LogLevel,System.String,System.String,RSG.Base.Logging.MessageCode,System.DateTime,System.String,System.String,System.Nullable{System.Int32},System.Nullable{System.Guid})">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Model.LogMessage"/> class using the
specified information.
</summary>
<param name="level">
The level of the message.
</param>
<param name="context">
The message context.
</param>
<param name="message">
The message itself.
</param>
<param name="code">
The unique code for this message.
</param>
<param name="timestamp">
The timestamp at which this message occurred.
</param>
<param name="systemContext">
The system context this message was logged as a part of.
</param>
<param name="thread">
The name of the thread that was running when this message was logged.
</param>
<param name="taskId">
The id of the task that was running when this message was logged.
</param>
<param name="profileId">
The id for profiling, if this log message is a profiling message.
</param>
</member>
<member name="P:RSG.Base.Logging.Model.LogMessage.Context">
<summary>
Gets the context for the log message.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogMessage.Level">
<summary>
Log message level.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogMessage.Message">
<summary>
Log message string.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogMessage.MessageCode">
<summary>
Gets the message code to better identify this specified message.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogMessage.SystemContext">
<summary>
Gets the system context for this message.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogMessage.TaskId">
<summary>
Gets the id of the task that this message was generated from.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogMessage.Thread">
<summary>
Gets the name of the thread that this message was generated on.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogMessage.Timestamp">
<summary>
Log message timestamp (UTC).
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.LogMessage.ProfileId">
<summary>
Profile identifier Guid.
</summary>
</member>
<member name="T:RSG.Base.Logging.Model.TextLogFile">
<summary>
Model object for a log file that will be saved as a text based ULog file.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.TextLogFile.JoinedLogLevels">
<summary>
Contains the log levels joined by an OR statement for use in the message regex.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.TextLogFile.MessageRegex">
<summary>
The regular expression for parsing a single message line into the relevant groups.
</summary>
<remarks>
^ - Match line start.
\[(?'timestamp'\d+)\] - match the timestamp as one or more digits surrounded in [].
((?'level'[^\s]*): )? - optionally match the log level. If it doesn't exist it is
assumed that it's an Info message. [^\s]* matches any non whitespace characters to
prevent it from matching too much.
\[*(?'profileId'[0-9A-F]{8}[-]?([0-9A-F]{4}[-]?){3}[0-9A-F]{12})] - match an optional profile guid
(&lt;(?'task'\d+)&gt; |&lt;(?'thread'[^\d]*?)&gt; )? - optionally match a task id
or thread name.
(\[(?'sysctx'.*?)\|?(?'msgctx'.*?)\] )? - optionally match a system/message context
pair, where the system context, or the message context might be missing.
(\{(?'code'[A-Z]{2,5}\d{4})\} )? - optionally match the message code.
(?'message'.*)? - optionally match the message (e.g. profile end doesn't have one).
</remarks>
</member>
<member name="M:RSG.Base.Logging.Model.TextLogFile.#ctor(System.IO.Stream,RSG.Base.Logging.Model.LogFileLoadOptions)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Model.XmlLogFile"/> class using the
specified stream and creation options.
</summary>
<param name="stream">
The stream containing the log file data.
</param>
<param name="loadOptions">
Options that affects which messages to load.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.TextLogFile.ProcessLines(System.Collections.Generic.IList{System.String},RSG.Base.Logging.Model.LogFileLoadOptions)">
<summary>
Processes a list of lines treating them as a single message and adding them to the
message list.
</summary>
<param name="lines">
The lines containing the message information.
</param>
<param name="loadOptions">
Options that affects which messages to load.
</param>
</member>
<member name="T:RSG.Base.Logging.Model.TextLogFileWriter">
<summary>
Used to save a <see cref="T:RSG.Base.Logging.Model.LogFile"/> object as plain text.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.TextLogFileWriter.DefaultBufferSize">
<summary>
The default buffer size for the stream writer. This value is the same as what is
used when using an overload that doesn't accept the parameter.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.TextLogFileWriter._writer">
<summary>
The stream that the file writer is outputting to.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.TextLogFileWriter._isDisposed">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.TextLogFileWriter.IsDisposed"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.TextLogFileWriter.#ctor(System.IO.Stream)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Model.TextLogFileWriter"/> class.
</summary>
<param name="stream">
The stream to write to.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.TextLogFileWriter.Finalize">
<summary>
Finalizes an instance of the <see cref="T:RSG.Base.Logging.Model.TextLogFileWriter" /> class.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.TextLogFileWriter.IsDisposed">
<summary>
Gets a value indicating whether this instance has been disposed of.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.TextLogFileWriter.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting
unmanaged resources.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.TextLogFileWriter.Write(RSG.Base.Logging.Model.LogFile,RSG.Base.Logging.Model.LogFileSaveOptions)">
<summary>
Writes the text representation of the log file to the underlying stream.
</summary>
<param name="file">
The log file to write to the underlying stream.
</param>
<param name="saveOptions">
The options to use when outputting the log file contents.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.TextLogFileWriter.Write(RSG.Base.Logging.Model.LogMessage)">
<summary>
Writes the text representation of the log message to the underlying stream.
</summary>
<param name="message">
The log message to write to the underlying stream.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.TextLogFileWriter.Dispose(System.Boolean)">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting
unmanaged resources.
</summary>
<param name="disposing">
If true the managed resources for this instance also get disposed of as well as the
unmanaged resources.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.TextLogFileWriter.Write(RSG.Base.Logging.Model.LogMessage,System.IFormatProvider)">
<summary>
Writes a single message to the underlying stream.
</summary>
<param name="message">
The log message to serialise.
</param>
<param name="provider">
The object that provides culture specific formatting information.
</param>
</member>
<member name="T:RSG.Base.Logging.Model.XmlLogFile">
<summary>
Model object for a log file that will be saved as an Xml ULog file.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlCodeAttr">
<summary>
The name of the xml attribute containing the data for a message code.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlContextAttr">
<summary>
The name of the xml attribute containing the data for the message context.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlContextElem">
<summary>
The name of the xml element containing the data for the system context.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlMachineAttr">
<summary>
The name of the attribute that contains the machine the log file was generated on.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlNameAttr">
<summary>
The name of the xml attribute that contains the name of a system context.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlTaskAttr">
<summary>
The name of the xml attribute that contains the task id.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlThreadAttr">
<summary>
The name of the xml attribute that contains the thread name.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlProfileIdAttr">
<summary>
The name of the xml attribute that contains the profile identifier.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlTimestampAttr">
<summary>
The name of the xml attribute containing the data for the message timestamp.
</summary>
<remarks>
This is for supporting old ULog files that serialised the timestamp as a local date
time string.
</remarks>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlTimestampTicksAttr">
<summary>
The name of the xml attribute containing the data for the message timestamp.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFile.XmlRootElem">
<summary>
The name of the root xml element for an ULog file.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.XmlLogFile.#ctor(System.IO.Stream,RSG.Base.Logging.Model.LogFileLoadOptions)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Model.XmlLogFile"/> class using the
specified stream and creation options.
</summary>
<param name="stream">
The stream containing the log file data.
</param>
<param name="loadOptions">
Options that affects which messages to load.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.XmlLogFile.ParseMessage(System.Xml.XmlReader,System.String)">
<summary>
Creates a new instance of the <see cref="T:RSG.Base.Logging.Model.LogMessage"/> class using the specified
xml reader.
</summary>
<param name="reader">
The xml reader containing the message information.
</param>
<param name="systemContext">
The system context this message is a part of.
</param>
<returns>
A new log message instance initialised from the xml reader.
</returns>
</member>
<member name="T:RSG.Base.Logging.Model.XmlLogFileWriter">
<summary>
Used to save a <see cref="T:RSG.Base.Logging.Model.LogFile"/> object as Xml.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFileWriter._streamWriter">
<summary>
The stream writer to use for this.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFileWriter._writer">
<summary>
The xml writer this one is outputting to.
</summary>
</member>
<member name="F:RSG.Base.Logging.Model.XmlLogFileWriter._isDisposed">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Model.XmlLogFileWriter.IsDisposed"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.XmlLogFileWriter.#ctor(System.IO.Stream)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Model.XmlLogFileWriter"/> class.
</summary>
<param name="stream">
The stream to write to.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.XmlLogFileWriter.Finalize">
<summary>
Finalizes an instance of the <see cref="T:RSG.Base.Logging.Model.XmlLogFileWriter" /> class.
</summary>
</member>
<member name="P:RSG.Base.Logging.Model.XmlLogFileWriter.IsDisposed">
<summary>
Gets a value indicating whether this instance has been disposed of.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.XmlLogFileWriter.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting
unmanaged resources.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.XmlLogFileWriter.Write(RSG.Base.Logging.Model.LogFile,RSG.Base.Logging.Model.LogFileSaveOptions)">
<summary>
Saves the log file to the specified stream.
</summary>
<param name="file">
The log file to write to the underlying stream.
</param>
<param name="saveOptions">
The options to use when saving the log file contents.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.XmlLogFileWriter.Write(RSG.Base.Logging.Model.LogMessage)">
<summary>
Writes the text representation of the log message to the underlying stream.
</summary>
<param name="message">
The log message to write to the underlying stream.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.XmlLogFileWriter.Dispose(System.Boolean)">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting
unmanaged resources.
</summary>
<param name="disposing">
If true the managed resources for this instance also get disposed of as well as the
unmanaged resources.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.XmlLogFileWriter.ReplaceInvalidChars(System.String,System.Char)">
<summary>
Replaces all invalid XML characters in a string with another character.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.XmlLogFileWriter.Write(RSG.Base.Logging.Model.LogMessage,System.IFormatProvider)">
<summary>
Writes a single message to the underlying stream.
</summary>
<param name="message">
The log message to serialise.
</param>
<param name="provider">
The object that provides culture specific formatting information.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.ZipLogFile.#ctor(System.IO.Stream,RSG.Base.Logging.Model.LogFileLoadOptions)">
<summary>
Creates a new instance of <see cref="T:RSG.Base.Logging.Model.ZipLogFile"/>.
</summary>
<param name="stream">Stream to read from.</param>
<param name="loadOptions">Log file load options instance.</param>
</member>
<member name="M:RSG.Base.Logging.Model.ZipLogFile.GetLoadOptionsForEntry(RSG.Base.Logging.Model.LogFileLoadOptions,System.String)">
<summary>
Gets load options for an entry from the ZIP file.
</summary>
<param name="loadOptions">Load options that were passed down for the ZIP file.</param>
<param name="entryExtension">Extension of the entry.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Model.ZipLogFileWriter.Finalize">
<summary>
Finalizes an instance of the <see cref="T:RSG.Base.Logging.Model.ZipLogFileWriter" /> class.
</summary>
</member>
<member name="M:RSG.Base.Logging.Model.ZipLogFileWriter.Dispose">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.Model.ZipLogFileWriter.Write(RSG.Base.Logging.Model.LogFile,RSG.Base.Logging.Model.LogFileSaveOptions)">
<summary>
Saves the log file to the specified stream.
</summary>
<param name="logFile">
The log file to write to the underlying stream.
</param>
<param name="saveOptions">
The options to use when saving the log file contents.
</param>
</member>
<member name="M:RSG.Base.Logging.Model.ZipLogFileWriter.Dispose(System.Boolean)">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting
unmanaged resources.
</summary>
<param name="disposing">
If true the managed resources for this instance also get disposed of as well as the
unmanaged resources.
</param>
</member>
<member name="T:RSG.Base.Logging.NullLog">
<summary>
Log object that ignores all incoming log calls.
</summary>
</member>
<member name="F:RSG.Base.Logging.NullLog.Default">
<summary>
The default null log instance.
</summary>
</member>
<member name="P:RSG.Base.Logging.NullLog.Name">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.NullLog.Enabled">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.NullLog.HasErrors">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.NullLog.HasWarnings">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.NullLog.HasProfiling">
<inheritdoc />
</member>
<member name="P:RSG.Base.Logging.NullLog.Targets">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Message(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Message(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.MessageCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.MessageCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.MessageCode(RSG.Base.Logging.LoggableMessageCode)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.MessageCode(RSG.Base.Logging.LoggableMessageCode,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.MessageCode(RSG.Base.Logging.LoggableMessageCode,System.Exception,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.MessageCodeCtx(System.String,RSG.Base.Logging.LoggableMessageCode)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.MessageCodeCtx(System.String,RSG.Base.Logging.LoggableMessageCode,System.Exception,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.MessageCodeCtx(System.String,RSG.Base.Logging.LoggableMessageCode,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Error(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Error(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ErrorCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ErrorCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Exception(System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ExceptionCtx(System.String,System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolException(System.Exception,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolException(System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolExceptionCtx(System.String,System.Exception,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolExceptionCtx(System.String,System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolExceptionAsWarning(System.Exception,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolExceptionAsWarning(System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolExceptionAsWarningCtx(System.String,System.Exception,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolExceptionAsWarningCtx(System.String,System.Exception,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolError(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolError(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolErrorCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ToolErrorCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Warning(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Warning(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.WarningCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.WarningCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Debug(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Debug(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.DebugCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.DebugCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Profile(System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Profile(System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ProfileCtx(System.String,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ProfileCtx(System.String,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ProfileEnd">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ProfileEnd(System.Guid)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ProfileWithId(System.Guid,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ProfileWithId(System.Guid,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ProfileWithIdCtx(System.String,System.Guid,System.String)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.ProfileWithIdCtx(System.String,System.Guid,System.String,System.Object[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Trace(System.String,System.String,System.String,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.TraceCtx(System.String,System.String,System.String,System.String,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.MergeMessages(System.Collections.Generic.IEnumerable{RSG.Base.Logging.Model.LogMessage})">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.MergeMessages(RSG.Base.Logging.Model.LogMessage[])">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.AttachTarget(RSG.Base.Logging.ILogTarget)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.IsAttached(RSG.Base.Logging.ILogTarget)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.DetachTarget(RSG.Base.Logging.ILogTarget)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Logging.NullLog.Shutdown">
<inheritdoc />
</member>
<member name="T:RSG.Base.Logging.ProfileContext">
<summary>
Profile context object provides a safe method to log profile calls
into our logging system.
</summary>
<example>
ILog log = ...
using (ProfileContext ctx = new ProfileContext(log, "Testing 123...")
{
... // code to profile
}
</example>
</member>
<member name="F:RSG.Base.Logging.ProfileContext._log">
<summary>
Log object to add profiling information to.
</summary>
</member>
<member name="F:RSG.Base.Logging.ProfileContext._profileId">
<summary>
Identifier for this profiling context.
</summary>
</member>
<member name="M:RSG.Base.Logging.ProfileContext.#ctor(RSG.Base.Logging.ILog,System.String,System.Object[])">
<summary>
Constructor; specifying target log. Initiate profile.
</summary>
<param name="log"></param>
</member>
<member name="M:RSG.Base.Logging.ProfileContext.#ctor(RSG.Base.Logging.ILog,System.String,System.String,System.Object[])">
<summary>
Constructor; specifying target log and context. Initiate profile.
</summary>
<param name="log"></param>
<param name="context"></param>
<param name="message"></param>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.ProfileContext.Dispose">
<summary>
Dispose; end the profile call.
</summary>
</member>
<member name="T:RSG.Base.Logging.Targets.AsyncTargetWrapper">
<summary>
Log target that wraps another, forwarding messages to it on a background thread.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.AsyncTargetWrapper._messageQueue">
<summary>
Incoming message queue; consumed in a separate thread.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.AsyncTargetWrapper._processTask">
<summary>
Incoming message queue processing task.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.AsyncTargetWrapper.#ctor(RSG.Base.Logging.ILogTarget)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Targets.AsyncTargetWrapper"/> class.
</summary>
<param name="wrappedTarget">
The log target this object wraps.
</param>
</member>
<member name="P:RSG.Base.Logging.Targets.AsyncTargetWrapper.HasQueuedMessages">
<summary>
Gets a value indicating whether the log target has messages to process.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.AsyncTargetWrapper.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a message that is sent from the log.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="M:RSG.Base.Logging.Targets.AsyncTargetWrapper.Shutdown">
<summary>
Allows the log target to perform cleanup operations prior to application shutdown.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.AsyncTargetWrapper.MessageQueueProcessor">
<summary>
Contains the logic for processing log messages on a separate thread.
</summary>
</member>
<member name="T:RSG.Base.Logging.Targets.BufferingTargetWrapper">
<summary>
Log target that wraps another adding message buffering functionality.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.BufferingTargetWrapper.DefaultMessageLimit">
<summary>
The default number of messages this target can buffer.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.BufferingTargetWrapper._flushOnMessageLevels">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Targets.BufferingTargetWrapper.FlushOnMessageLevels"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.BufferingTargetWrapper._flushTimer">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Targets.BufferingTargetWrapper.FlushTimeout"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.BufferingTargetWrapper._messageBuffer">
<summary>
The current queue of messages that need to be flushed to the underlying target.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.BufferingTargetWrapper._messageBufferLock">
<summary>
Lock object used for accessing the message buffer in a thread safe manner.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.BufferingTargetWrapper._syncContext">
<summary>
The synchronization context which the flush timer uses to invoke the flush
operation.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.BufferingTargetWrapper._bufferMessageLimit">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Targets.BufferingTargetWrapper.BufferMessageLimit"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.BufferingTargetWrapper.#ctor(RSG.Base.Logging.ILogTarget,System.Threading.SynchronizationContext)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Targets.BufferingTargetWrapper"/> class.
</summary>
<param name="wrappedTarget">
The log target this object wraps.
</param>
<param name="syncContext">
The
</param>
</member>
<member name="P:RSG.Base.Logging.Targets.BufferingTargetWrapper.BufferMessageLimit">
<summary>
Gets or sets the number of messages that can be buffered prior to an automatic
flush occurring.
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.BufferingTargetWrapper.FlushOnMessageLevels">
<summary>
Gets or sets the log levels that cause a flush to occur.
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.BufferingTargetWrapper.FlushTimeout">
<summary>
Gets or sets the time that can elapse since the last flush happened before the log
messages are automatically flushed. Setting this to <see cref="F:System.TimeSpan.Zero"/>
disables the timed flushes.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.BufferingTargetWrapper.Flush">
<summary>
When overridden in a derived class, clears all buffers for this log target and
causes any buffered data to be written to the underlying device.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.BufferingTargetWrapper.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a message that is sent from the log.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="M:RSG.Base.Logging.Targets.BufferingTargetWrapper.OnFlushTimerElapsed(System.Object,System.EventArgs)">
<summary>
Occurs when the flush timer interval has elapsed.
</summary>
<param name="sender">
The source of the event.
</param>
<param name="args">
An object that contains no event data.
</param>
</member>
<member name="T:RSG.Base.Logging.Targets.DebugOutputTarget">
<summary>
Outputs log messages to the visual studio output window.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.DebugOutputTarget._outputPrefix">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Targets.DebugOutputTarget.ShowPrefix"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.DebugOutputTarget._messagePrefixes">
<summary>
Message prefix strings.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.DebugOutputTarget._lock">
<summary>
Console resource lock (static as process-wide).
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.DebugOutputTarget.ShowPrefix">
<summary>
Gets or sets a flag indicating whether the target should output the prefix
information along with the log messages. Defaults to true.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.DebugOutputTarget.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Targets.DebugOutputTarget"/> class.
</summary>
Connect our static Log event to us.
</member>
<member name="M:RSG.Base.Logging.Targets.DebugOutputTarget.WriteToDebug(RSG.Base.Logging.Model.LogMessage)">
<remarks>
This method is not intended to be called by anyone else than ProcessMessageCore and
ProcessMessagesCore as it 's not threadsafe and need proper synchronization.
</remarks>
<summary>
It do the actual writing on the disk
</summary>
<param name="message">
The list of message to output.
</param>
</member>
<member name="M:RSG.Base.Logging.Targets.DebugOutputTarget.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a collection of message that are sent from the log.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="T:RSG.Base.Logging.Targets.DeferredExceptionTargetWrapper">
<summary>
<see cref="T:RSG.Base.Logging.ILogTarget"/> that suppresses <see cref="T:System.Exception"/>s from logging for later retrieval.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.DeferredExceptionTargetWrapper._exceptions">
<summary>
<see cref="T:System.Collections.Generic.ICollection`1"/> of caught <see cref="T:System.Exception"/>s.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.DeferredExceptionTargetWrapper.#ctor(RSG.Base.Logging.ILogTarget)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.Logging.Targets.DeferredExceptionTargetWrapper"/>.
</summary>
<param name="wrappedTarget">The <see cref="T:RSG.Base.Logging.ILogTarget"/> this object wraps.</param>
</member>
<member name="M:RSG.Base.Logging.Targets.DeferredExceptionTargetWrapper.GetExceptions">
<summary>
Get an <see cref="T:System.AggregateException"/> representing all the <see cref="T:System.Exception"/>s caught from the wrapped log target.
</summary>
<returns>An <see cref="T:System.AggregateException"/> if any <see cref="T:System.Exception"/>s were caught, <see langword="null"/> otherwise.</returns>
</member>
<member name="M:RSG.Base.Logging.Targets.DeferredExceptionTargetWrapper.ClearExceptions">
<summary>
Clears the cache of stored <see cref="T:System.Exception"/>s
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.DeferredExceptionTargetWrapper.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<inheritdoc />
</member>
<member name="T:RSG.Base.Logging.Targets.EventLogTarget">
<summary>
Log target that redirects log messages to a Windows Event Log.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.EventLogTarget.#ctor(System.Diagnostics.EventLog,System.Boolean,System.Boolean,System.Boolean)">
<summary>
Creates a new instance of <see cref="T:RSG.Base.Logging.Targets.EventLogTarget"/>.
</summary>
<param name="eventLog">Windows Event Log.</param>
<param name="enabled">A value indicating whether the log is enabled.</param>
<param name="outputTimestamps">A value indicating whether to output timestamps.</param>
<param name="outputContext">A value indicating whether to output context.</param>
</member>
<member name="M:RSG.Base.Logging.Targets.EventLogTarget.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<inheritdoc/>
</member>
<member name="T:RSG.Base.Logging.Targets.FileTarget">
<summary>
Base class for file based log targets.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.FileTarget.ArhiveFileExtensionFormat">
<summary>
The format to use for archived files.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.FileTarget.InvalidFilepathCharacterReplacement">
<summary>
The character to use when replacing invalid characters in the filepath.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.FileTarget.MaxFilepathLength">
<summary>
The maximum number of characters that can appear in a file path.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.FileTarget._flushLock">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Targets.FileTarget.FlushLock"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.FileTarget._filepath">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Targets.FileTarget.Filepath"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.FileTarget._archiveAboveSize">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Targets.FileTarget.ArchiveAboveSize"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.FileTarget._archivedFilepaths">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Targets.FileTarget.ArchivedFilepaths"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.FileTarget._archiveIndex">
<summary>
The current archive index.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.FileTarget._archiveMode">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Targets.FileTarget.ArchiveMode"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.FileTarget.#ctor(System.String,System.Int64)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.Logging.Targets.FileTarget"/> class using the
specified filename.
</summary>
<param name="filepath">
The full path to the file that log messages will be output to.
</param>
<param name="archiveAboveSize">
The size after which files should be archived.
</param>
</member>
<member name="P:RSG.Base.Logging.Targets.FileTarget.ArchiveAboveSize">
<summary>
Gets or sets the size limit for a single file before it gets archived.
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.FileTarget.ArchivedFilepaths">
<summary>
Gets the file paths of all archived files.
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.FileTarget.ArchiveMode">
<summary>
Gets or sets the way the log files are archived.
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.FileTarget.Filepath">
<summary>
Gets the full path to the current log file on disk.
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.FileTarget.FlushLock">
<summary>
Gets the lock object that can be used to access the log file in a thread safe
manner.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.FileTarget.Copy(System.String,System.Boolean)">
<summary>
Copies the log file to another destination.
</summary>
<param name="destination"></param>
<param name="overwrite"></param>
</member>
<member name="M:RSG.Base.Logging.Targets.FileTarget.ArchiveCurrentLogFile(System.String)">
<summary>
Archives the current log file performing the appropriate archive behaviour.
</summary>
<param name="extension">
The file extension to use for archive files.
</param>
</member>
<member name="M:RSG.Base.Logging.Targets.FileTarget.ArchiveLogFile(System.String,System.String)">
<summary>
Archives the file by moving the file from the source to the destination.
</summary>
<param name="source">
The source file to move.
</param>
<param name="destination">
The destination of the archived file.
</param>
<returns>
Whether the archive operation was successful.
</returns>
</member>
<member name="M:RSG.Base.Logging.Targets.FileTarget.LogExceptionToEventLog(System.Exception,System.String)">
<summary>
Logs an exception to Microsoft's event log.
</summary>
<param name="e">
The exception to log.
</param>
<param name="message">
The message to accompany the exception.
</param>
</member>
<member name="M:RSG.Base.Logging.Targets.FileTarget.SanitizeFilePath(System.String)">
<summary>
Removes any invalid characters from a file path.
</summary>
<param name="filepath">
The file path to clean up.
</param>
<returns>
The sanitized version of the passed in file path.
</returns>
</member>
<member name="T:RSG.Base.Logging.Targets.FilterTargetWrapper">
<summary>
Provides functionality to handle only specified log levels.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.FilterTargetWrapper._supportedLogLevels">
<summary>
Private field holding which explicit loglevels we want to handle.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.FilterTargetWrapper.#ctor(RSG.Base.Logging.ILogTarget,System.Collections.Generic.IList{RSG.Base.Logging.LogLevel})">
<summary>
Constructor.
</summary>
<param name="wrappedTarget"></param>
<param name="supportedLogLevels"></param>
</member>
<member name="M:RSG.Base.Logging.Targets.FilterTargetWrapper.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Filters messages if possible.
</summary>
<param name="messages"></param>
</member>
<member name="T:RSG.Base.Logging.Targets.LogCallbackServiceTarget">
<summary>
The <see cref="T:RSG.Base.Logging.Targets.LogCallbackServiceTarget"/> is a target that applications who want to
forward log messages to another process set up.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.LogCallbackServiceTarget.LogContext">
<summary>
Log message context
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.LogCallbackServiceTarget._logCallbackClient">
<summary>
WCF client.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.LogCallbackServiceTarget._messagesLock">
<summary>
Private field to lock the message process.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.LogCallbackServiceTarget.#ctor(System.Int32)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Targets.LogCallbackServiceTarget"/> class.
</summary>
<param name="pid">
Local process PID to connect to.
</param>
<remarks>
This is for local processes only; for remote processes use the overloaded
constructor.
</remarks>
</member>
<member name="M:RSG.Base.Logging.Targets.LogCallbackServiceTarget.#ctor(System.String,System.UInt16,System.Guid)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Targets.LogCallbackServiceTarget"/> class.
</summary>
<param name="remoteHost">
Remote host name (or IP).
</param>
<param name="remotePort">
Remote port number.
</param>
<param name="sessionId">
Unique session ID (needs to match for client).
</param>
<remarks>
This is primarily for remote processes; use the overloaded constructor for more
efficient communications for local processes.
</remarks>
</member>
<member name="M:RSG.Base.Logging.Targets.LogCallbackServiceTarget.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<inheritdoc />
</member>
<member name="T:RSG.Base.Logging.Targets.LogForwardingTarget">
<summary>
Log target that forwards log messages to another log object.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.LogForwardingTarget._log">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Targets.LogForwardingTarget.Log"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.LogForwardingTarget.#ctor(RSG.Base.Logging.ILog)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Targets.LogForwardingTarget"/> class using the
specified log object.
</summary>
<param name="log"></param>
</member>
<member name="P:RSG.Base.Logging.Targets.LogForwardingTarget.Log">
<summary>
Gets the log object to forward any incoming messages to.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.LogForwardingTarget.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a collection of message that are sent from the log.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="T:RSG.Base.Logging.Targets.MemoryTarget">
<summary>
Log target that keeps a predefined number of messages resident in memory.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.MemoryTarget.DefaultMessageBufferSize">
<summary>
The maximum number of messages we should store in the message buffer by default.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.MemoryTarget._bufferSize">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Targets.MemoryTarget.BufferSize"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.MemoryTarget._messagesLock">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Targets.MemoryTarget.MessageLock"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.MemoryTarget._messages">
<summary>
Reference to the observable collection that the <see cref="P:RSG.Base.Logging.Targets.MemoryTarget.Messages"/> read only
observable collection wraps.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.MemoryTarget._readOnlyMessages">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Targets.MemoryTarget.Messages"/> property.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.MemoryTarget.#ctor(System.Int32)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Targets.MemoryTarget"/>
</summary>
<param name="bufferSize"></param>
</member>
<member name="P:RSG.Base.Logging.Targets.MemoryTarget.BufferSize">
<summary>
Gets or sets the maximum number of messages this target will track.
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.MemoryTarget.Messages">
<summary>
Gets the list of messages this target is tracking.
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.MemoryTarget.MessageLock">
<summary>
Gets the lock object for thread-safe access to the messages collection.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.MemoryTarget.ClearMessages">
<summary>
Clears the memory targets messages.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.MemoryTarget.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Internally buffers a message making sure that the message list doesn't grow too
large in the process.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="T:RSG.Base.Logging.Targets.StatisticsTarget">
<summary>
Log target that track statistics about the incoming messages.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.StatisticsTarget._lastMessage">
<summary>
Used to keep track of the last message received per log level.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.StatisticsTarget._messageCounts">
<summary>
Used to keep track of the number of messages we've received per log level.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.StatisticsTarget.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Targets.StatisticsTarget"/>
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.StatisticsTarget.HasErrors">
<summary>
Gets a flag indicating whether this log has encountered any errors.
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.StatisticsTarget.HasWarnings">
<summary>
Gets a flag indicating whether this log has encountered any warnings.
</summary>
</member>
<member name="P:RSG.Base.Logging.Targets.StatisticsTarget.HasProfiling">
<summary>
Gets a flag indicating whether this log has encountered any profile messages.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.StatisticsTarget.Clear">
<summary>
Clears the values cached by this target.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.StatisticsTarget.GetLastMessageForLevel(RSG.Base.Logging.LogLevel)">
<summary>
Gets the last message for the specified log level.
</summary>
<param name="level">
The level for which to retrieve the message.
</param>
<returns>
The last message retrieved for the specified log level if one exists; otherwise <c>null</c>.
</returns>
</member>
<member name="M:RSG.Base.Logging.Targets.StatisticsTarget.GetMessageCountForLevel(RSG.Base.Logging.LogLevel)">
<summary>
Gets the number of messages received for the specified log level.
</summary>
<param name="level">
The level for which to retrieve the count.
</param>
<returns>
The number of messages received for the specified log level.
</returns>
</member>
<member name="M:RSG.Base.Logging.Targets.StatisticsTarget.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Updates statistics about the incoming messages.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="T:RSG.Base.Logging.Targets.TargetWrapperBase">
<summary>
Base class for targets which decorate another one with additional functionality.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.TargetWrapperBase._wrappedTarget">
<summary>
Reference to the target that this one wraps.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.TargetWrapperBase.#ctor(RSG.Base.Logging.ILogTarget)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Targets.TargetWrapperBase"/> class.
</summary>
<param name="wrappedTarget">
The log target this object wraps.
</param>
</member>
<member name="P:RSG.Base.Logging.Targets.TargetWrapperBase.WrappedTarget">
<summary>
Gets the log target that has been wrapped into this async wrapper.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.TargetWrapperBase.Flush">
<summary>
Forwards the flush call onto the wrapped target.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.TargetWrapperBase.Shutdown">
<summary>
Allows the log target to perform cleanup operations prior to application shutdown.
</summary>
</member>
<member name="T:RSG.Base.Logging.Targets.TextFileTarget">
<summary>
Log target that outputs log messages as a plain text file.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.TextFileTarget.MaxNumberOfFileOpenRetries">
<summary>
The default number of retries to try and open the existing log file.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.TextFileTarget.SleepTimeInMillisecondsBeforeFileLoadRetry">
<summary>
The default time to wait before trying to open the log file again (in milliseconds).
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.TextFileTarget.DefaultArchiveAboveSize">
<summary>
The default size above which log files should be archived.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.TextFileTarget.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.Logging.Targets.TextFileTarget"/> class using the
specified filename.
</summary>
<param name="filepath">
The full path to the file that log messages will be output to.
</param>
</member>
<member name="M:RSG.Base.Logging.Targets.TextFileTarget.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Flushes the received messages to disk.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="T:RSG.Base.Logging.Targets.TransformingTargetWrapper">
<summary>
Log target that wraps another, modifying incoming messages based on a user defined
function.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.TransformingTargetWrapper._transformFunction">
<summary>
The function that returns the modified version of a log message.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.TransformingTargetWrapper.#ctor(RSG.Base.Logging.ILogTarget,System.Func{RSG.Base.Logging.Model.LogMessage,RSG.Base.Logging.Model.LogMessage})">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Targets.TransformingTargetWrapper"/> class.
</summary>
<param name="wrappedTarget">
The log target this object wraps.
</param>
<param name="transformFunction">
The function that returns the modified version of the specified log message.
</param>
</member>
<member name="M:RSG.Base.Logging.Targets.TransformingTargetWrapper.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a message that is sent from the log.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="T:RSG.Base.Logging.Targets.XmlFileTarget">
<summary>
Log target that outputs log messages to an xml formatted ULog file.
</summary>
</member>
<member name="F:RSG.Base.Logging.Targets.XmlFileTarget.DefaultArchiveAboveSize">
<summary>
The default size above which log files should be archived.
</summary>
</member>
<member name="M:RSG.Base.Logging.Targets.XmlFileTarget.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:RSG.Base.Logging.Targets.XmlFileTarget"/> class using the
specified filename.
</summary>
<param name="filepath">
The full path to the file that log messages will be output to.
</param>
</member>
<member name="M:RSG.Base.Logging.Targets.XmlFileTarget.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Flushes the received messages to disk.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="M:RSG.Base.Logging.Targets.XmlFileTarget.AttemptToSaveFile(RSG.Base.Logging.Model.LogFile)">
<summary>
Attempts to save the specified log file.
</summary>
<param name="file">
The file to save to disk.
</param>
</member>
<member name="M:RSG.Base.Logging.Targets.XmlFileTarget.LoadOrCreateOutputFile">
<summary>
Attempts to load the file at the specified output path if it exists.
</summary>
<returns>
The log file model object that either contains the messages of the existing log
file, or is empty.
</returns>
</member>
<member name="T:RSG.Base.Logging.ThreadedLogTargetBase">
<summary>
Abstract base class for all LogTargets.
</summary>
This is a threaded version of the <see cref="T:RSG.Base.Logging.LogTargetBase"/> class. This
adds an internal queue and a consumer thread allowing decoupling of the
message locks to ensure that messages are received in the correct order.
</member>
<member name="F:RSG.Base.Logging.ThreadedLogTargetBase._messageQueue">
<summary>
Incoming message queue; consumed in a separate thread.
</summary>
</member>
<member name="F:RSG.Base.Logging.ThreadedLogTargetBase._processTask">
<summary>
Incoming message queue processing task.
</summary>
</member>
<member name="M:RSG.Base.Logging.ThreadedLogTargetBase.#ctor(System.Boolean,System.Boolean,System.Boolean)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.ThreadedLogTargetBase"/> class
using the specified enabled, output timestamp and output context values.
</summary>
<param name="enabled"></param>
<param name="outputTimestamps"></param>
<param name="outputContext"></param>
</member>
<member name="P:RSG.Base.Logging.ThreadedLogTargetBase.HasQueuedMessages">
<summary>
Gets a value indicating whether the log target has messages to process.
</summary>
</member>
<member name="M:RSG.Base.Logging.ThreadedLogTargetBase.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a message that is sent from the log.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="M:RSG.Base.Logging.ThreadedLogTargetBase.Shutdown">
<summary>
Allows the log target to perform cleanup operations prior
to application shutdown.
</summary>
</member>
<member name="M:RSG.Base.Logging.ThreadedLogTargetBase.MessageQueueProcessor">
<summary>
Contains the logic for processing log messages on a separate thread.
</summary>
</member>
<member name="M:RSG.Base.Logging.ThreadedLogTargetBase.ThreadedProcessMessageCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Processes a message that is sent from the log on a background thread.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="T:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget">
<summary>
Represents a log target that stores the universal log messages inside a collection in
memory.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.buffer">
<summary>
The private buffer used to store the log messages into.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.#ctor">
<summary>
Initialises a new instance of the <see cref="!:InMemoryLogTarget"/> class.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.Finalize">
<summary>
Finaliser.
</summary>
</member>
<member name="E:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.Cleared">
<summary>
Occurs whenever the buffer of log messages gets cleared.
</summary>
</member>
<member name="E:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.UniversalBufferChanged">
<summary>
Occurs when the the buffered collection of log messages change.
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.Buffer">
<summary>
Gets a iterator around the buffered messages currently in memory.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.Clear">
<summary>
Clears the buffered log messages.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.Serialise(System.Xml.XmlWriter)">
<summary>
</summary>
<param name="writer"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.DisposeManagedResources">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.AddLogMessage(System.String,System.String,RSG.Base.Logging.LogLevel,System.String,System.UInt32,System.DateTime)">
<summary>
</summary>
<param name="name">
</param>
<param name="context">
</param>
<param name="level">
</param>
<param name="msg">
</param>
<param name="id">
</param>
<param name="timeStamp">
</param>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.AddLogMessage(System.String,System.String,System.String,RSG.Base.Logging.LogLevel,System.String,System.UInt32,System.DateTime)">
<summary>
</summary>
<param name="name">
</param>
<param name="appContext">
</param>
<param name="context">
</param>
<param name="level">
</param>
<param name="id">
</param>
<param name="msg">
</param>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.AddLogMessage(System.String,RSG.Base.Logging.Model.LogMessage)">
<summary>
</summary>
<param name="name">
</param>
<param name="evt">
</param>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.AddLogMessage(System.String,System.Xml.Linq.XElement)">
<summary>
</summary>
<param name="name">
</param>
<param name="element">
</param>
</member>
<member name="T:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.BufferedMessage">
<summary>
Represents a single buffered message stored in the in memory universal log target.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.BufferedMessage.#ctor(System.String,RSG.Base.Logging.LogLevel,System.String,System.String,System.String,System.UInt32,System.DateTime)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.BufferedMessage"/> class.
</summary>
<param name="name">
</param>
<param name="level">
</param>
<param name="appCtx">
</param>
<param name="ctx">
</param>
<param name="msg">
</param>
<param name="id">
</param>
<param name="timeStamp">
</param>
</member>
<member name="M:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.BufferedMessage.#ctor(System.String,System.Xml.Linq.XElement)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.BufferedMessage"/> class.
</summary>
<param name="name">
</param>
<param name="element">
</param>
</member>
<member name="P:RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.BufferedMessage.SourceName">
<summary>
Gets the name of the source object that this buffered message came from.
</summary>
</member>
<member name="T:RSG.Base.Logging.Universal.UniversalBufferChangedEventArgs">
<summary>
Provides the data forwarded in a universal buffer changed event handler.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalBufferChangedEventArgs.#ctor(System.Boolean,RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.BufferedMessage)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Universal.UniversalBufferChangedEventArgs"/>
class.
</summary>
<param name="added">
A value indicating whether the messages in the <paramref name="data"/> parameter
have been added or removed.
</param>
<param name="data">
The buffered message that has changed.
</param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalBufferChangedEventArgs.#ctor(System.Boolean,System.Collections.Generic.IEnumerable{RSG.Base.Logging.Universal.InMemoryUniversalLogTarget.BufferedMessage})">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Universal.UniversalBufferChangedEventArgs"/>
class.
</summary>
<param name="added">
A value indicating whether the messages in the <paramref name="data"/> parameter
have been added or removed.
</param>
<param name="data">
The buffered messages that have changed.
</param>
</member>
<member name="P:RSG.Base.Logging.Universal.UniversalBufferChangedEventArgs.Added">
<summary>
Gets a value indicating whether the messages inside the <see cref="P:RSG.Base.Logging.Universal.UniversalBufferChangedEventArgs.Data"/> property
have been added or removed.
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.UniversalBufferChangedEventArgs.Data">
<summary>
Gets a iterator around a collection of buffered messages that have been either
added or removed.
</summary>
</member>
<member name="T:RSG.Base.Logging.Universal.IUniversalLog">
<summary>
</summary>
</member>
<member name="T:RSG.Base.Logging.Universal.IUniversalLogTarget">
<summary>
Universal Log Target interface.
</summary>
https://devstar.rockstargames.com/wiki/index.php/Dev:Universal_Log_Format
</member>
<member name="T:RSG.Base.Logging.Universal.ThreadedUniversalLogFile">
<summary>
Threaded Universal log file target.
</summary>
An instance of this object can be connected to an ILog instance by
connecting up the Log method handlers. When log messages are then
generated they get written to the file.
https://devstar.rockstargames.com/wiki/index.php/Dev:Universal_Log_Format
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.EXTENSION">
<summary>
Default filename extension String for Universal Log Files.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.FILE_SIZE_LIMIT">
<summary>
File size byte limit; before roll.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.DEFAULT_MESSAGE_BUFFER_SIZE">
<summary>
Number of messages to buffer before a flush
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.DEFAULT_CONTEXT">
<summary>
Default Universal Log context string.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.fullTimePattern">
<summary>
Append millisecond pattern to current culture's full date time pattern
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.FlushMode">
<summary>
Log file flush mode.
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.Filename">
<summary>
Log filename on disk.
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.BufferSize">
<summary>
Number of messages to buffer prior to flush.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile._bufferedMessages">
<summary>
Internal message buffer.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile._bufferSize">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.BufferSize"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile._filename">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.Filename"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile._flushLock">
<summary>
Private field for the <see cref="!:FlushLock"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile._flushMode">
<summary>
Private field for the <see cref="P:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.FlushMode"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile._profileContextStack">
<summary>
Profile message context stack.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.ThreadedUniversalLogFile._rollingCount">
<summary>
Rolling counter; to easily get new filename.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.#ctor(System.String,System.IO.FileMode,RSG.Base.Logging.FlushMode,System.Int32)">
<summary>
Constructor; specifying flush mode and initial log connection.
</summary>
<param name="filename"></param>
<param name="appendMode"></param>
<param name="flushMode"></param>
<param name="bufferSize"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.Copy(System.String,System.Boolean)">
<summary>
Copies the log file to another destination.
</summary>
<param name="destination"></param>
<param name="overwrite"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.Flush">
<summary>
Flush the buffered messages to disk.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.ShouldFlush(RSG.Base.Logging.LogLevel)">
<summary>
return the information if we need to flush and what is the context
</summary>
<param name="logLevel"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.GetContext(RSG.Base.Logging.Model.LogMessage)">
<summary>
Return the context
<remarks>
specific context for profiling
</remarks>
</summary>
<param name="logMessage"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.TreatMultipleMessages(RSG.Base.Logging.Model.LogMessage[])">
<summary>
This is when we have only multiple message (create an additionnal list)
</summary>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.TreatSingleMessage(RSG.Base.Logging.Model.LogMessage)">
<summary>
This is when we have only one message (avoid creating an additionnal list)
</summary>
<param name="logMessage"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.ThreadedProcessMessageCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Invoked by worker thread to actually handle the messages.
</summary>
<param name="args"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.ThreadedUniversalLogFile.Flush(System.Boolean)">
<summary>
Flush; optionally creating a base Universal Log file.
</summary>
<param name="create"></param>
</member>
<member name="T:RSG.Base.Logging.Universal.UniversalLog">
<summary>
Implementation of <see cref="T:RSG.Base.Logging.Universal.IUniversalLog"/>.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLog.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Universal.UniversalLog"/> class.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLog.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Universal.UniversalLog"/> class using the
specified name.
</summary>
<param name="name"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLog.#ctor(System.String,System.Boolean)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Logging.Universal.UniversalLog"/> class using the
specified name and default enabled state.
</summary>
<param name="name"></param>
<param name="enabled"></param>
</member>
<member name="T:RSG.Base.Logging.Universal.UniversalLogFile">
<summary>
Universal log file target.
</summary>
An instance of this object can be connected to an ILog instance by
connecting up the Log method handlers. When log messages are then
generated they get written to the file.
https://devstar.rockstargames.com/wiki/index.php/Dev:Universal_Log_Format
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile.EXTENSION">
<summary>
Default filename extension String for Universal Log Files.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile.FILE_SIZE_LIMIT">
<summary>
File size byte limit; before roll.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile.DEFAULT_MESSAGE_BUFFER_SIZE">
<summary>
Number of messages to buffer before a flush
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile.DEFAULT_VERSION">
<summary>
Default Universal Log XML schema version.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile.DEFAULT_CONTEXT">
<summary>
Default Universal Log context string.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile.DEFAULT_XML_VERSION">
<summary>
Default XML version.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile.DEFAULT_ENCODING">
<summary>
Default Universal Log XML encoding.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile.DEFAULT_ROOT_ELEM">
<summary>
Default Univeral Log XML document root node name.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile.CONTEXT_ELEM">
<summary>
XML document context attribute name.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile.fullTimePattern">
<summary>
Append millisecond pattern to current culture's full date time pattern
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.UniversalLogFile.FlushMode">
<summary>
Log file flush mode.
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.UniversalLogFile.Filename">
<summary>
Log filename on disk.
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.UniversalLogFile.BufferSize">
<summary>
Number of messages to buffer prior to flush.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile._bufferedMessages">
<summary>
Internal message buffer.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile._flushLock">
<summary>
Private field for the <see cref="!:FlushLock"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile._rollingCount">
<summary>
Rolling counter; to easily get new filename.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFile._profileContextStack">
<summary>
Profile message context stack.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.#ctor(System.String,System.IO.FileMode,RSG.Base.Logging.FlushMode,RSG.Base.Logging.Universal.IUniversalLog,System.Int32)">
<summary>
Constructor; specifying flush mode and initial log connection.
</summary>
<param name="filename"></param>
<param name="appendMode"></param>
<param name="flushMode"></param>
<param name="log"></param>
<param name="bufferSize"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.#ctor(System.String,System.IO.FileMode,RSG.Base.Logging.FlushMode,System.Int32)">
<summary>
Constructor; specifying flush mode and initial log connection.
</summary>
<param name="filename"></param>
<param name="appendMode"></param>
<param name="flushMode"></param>
<param name="log"></param>
<param name="bufferSize"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.Copy(System.String,System.Boolean)">
<summary>
Copies the log file to another destination.
</summary>
<param name="destination"></param>
<param name="overwrite"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.Flush">
<summary>
Flush the buffered messages to disk.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.ShouldFlush(RSG.Base.Logging.LogLevel)">
<summary>
return the information if we need to flush and what is the context
</summary>
<param name="logLevel"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.GetContext(RSG.Base.Logging.Model.LogMessage)">
<summary>
return the right context to use
</summary>
<param name="logMessage"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.TreatMultipleMessages(RSG.Base.Logging.Model.LogMessage[])">
<summary>
This is when we have only multiple message (create an additionnal list)
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.TreatSingleMessage(RSG.Base.Logging.Model.LogMessage)">
<summary>
This is when we have only one message (avoid creating an additionnal list)
</summary>
<param name="message"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.ProcessMessagesCore(RSG.Base.Logging.Model.LogMessage[])">
<summary>
Invoked by worker thread to actually handle the messages.
</summary>
<param name="messages">
The list of messages to process.
</param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.MergeLogs(System.String[])">
Merge Universal Log files; return resultant document as XDocument
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.MergeLogs(System.String,System.String[])">
<summary>
Merge Universal Log files; saving resultant XML to disk.
</summary>
<param name="destination">File path to save the resulting merged log file.</param>
<param name="filenames">List of file paths to merge together.</param>
<returns>Success of the merge operation.</returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.MergeLogs(System.String)">
<summary>
Marge Universal Log files of the same name; saving resultant XML to disk.
Eg Log.1.ulog and Log.2.ulog become Log.ulog and are deleted.
</summary>
<param name="filename">File path to the log file.</param>
<returns>Success of the merge operation.</returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.ContainsErrors(System.String)">
<summary>
Return whether the specified log filename contains errors.
</summary>
<param name="filename"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.ContainsWarnings(System.String)">
<summary>
Return whether the specified log filename contains errors.
</summary>
<param name="filename"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.GetNumErrors(System.String)">
<summary>
Returns the number of errors in the file.
</summary>
<param name="filename"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.GetNumWarnings(System.String)">
<summary>
Returns the number of warnings in the file.
</summary>
<param name="filename"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.GetMessages(System.String,System.Int32)">
<summary>
Return list of paired context/messages's from the log file.
</summary>
<param name="filename"></param>
<param name="errorcount"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.GetErrors(System.String,System.Int32)">
<summary>
Return list of paired context/error's from the log file.
</summary>
<param name="filename"></param>
<param name="errorcount"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.GetErrors(System.String,System.String,System.Int32)">
<summary>
</summary>
<param name="filename"></param>
<param name="errorcount"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.TransformToXDocument(System.Collections.Generic.ICollection{RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage},System.Xml.Linq.XDocument)">
<summary>
</summary>
<param name="bufferedMessages"></param>
<param name="xmlDoc"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.TransformToXDocument(System.Collections.Generic.IDictionary{System.String,System.Collections.Generic.IList{RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage}})">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.GetAllErrorElements(System.Xml.Linq.XDocument)">
<summary>
Get all the xml elements considered a kind of 'error'
- inclusive of tool errors.
</summary>
<param name="xmlDoc"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.GetAllMessageElements(System.Xml.Linq.XDocument)">
<summary>
Get all the xml elements considered a kind of 'message'.
</summary>
<param name="xmlDoc"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.GetAllWarningElements(System.Xml.Linq.XDocument)">
<summary>
Get all the xml elements considered a kind of 'warning'.
</summary>
<param name="xmlDoc"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.GetAllLogLevelElements(System.Xml.Linq.XDocument,RSG.Base.Logging.LogLevel[])">
<summary>
Gets all log elements of the LogLevels passed.
</summary>
<param name="xmlDoc"></param>
<param name="logLevels">the log levels we are looking for</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFile.Flush(System.Boolean)">
<summary>
Flush; optionally creating a base Universal Log file.
</summary>
<param name="create"></param>
</member>
<member name="T:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage">
<summary>
Buffered Universal Log File message object.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage._messageId">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.MessageId"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.context">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.Context"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.level">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.Level"/> property.
</summary>
</member>
<member name="F:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.timestamp">
<summary>
The private field used for the <see cref="P:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.Timestamp"/> property.
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.MessageId">
<summary>
Message identifier; used for duplicate message processing.
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.Level">
<summary>
Log message level.
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.Timestamp">
<summary>
Log message timestamp (UTC).
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.Context">
<summary>
Log message context.
</summary>
</member>
<member name="P:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.Message">
<summary>
Log message string.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.#ctor(RSG.Base.Logging.LogLevel,System.String,System.String,System.UInt32)">
<summary>
Constructor.
</summary>
<param name="level"></param>
<param name="ctx"></param>
<param name="message"></param>
<param name="id"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.#ctor(RSG.Base.Logging.LogLevel,System.String,System.String,System.String)">
<summary>
Constructor.
</summary>
<param name="level"></param>
<param name="ctx"></param>
<param name="message"></param>
<param name="preformatedMessage"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.#ctor(RSG.Base.Logging.LogLevel,System.String,System.String,System.UInt32,System.DateTime)">
<summary>
Constructor.
</summary>
<param name="level"></param>
<param name="ctx"></param>
<param name="message"></param>
<param name="id"></param>
<param name="timestamp"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.#ctor(System.Xml.Linq.XElement)">
<summary>
Constructor; from XML element.
</summary>
<param name="xmlElem"></param>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.ToXml">
<summary>
Convert to XML element.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.RemoveInvalidXmlChars(System.String)">
<summary>
Strips out invalid xml characters.
</summary>
</member>
<member name="M:RSG.Base.Logging.Universal.UniversalLogFileBufferedMessage.ReplaceInvalidChars(System.String,System.Char)">
<summary>
Replaces all invalid XML characters in a string with another character.
</summary>
</member>
<member name="T:RSG.Base.Math.BoundingBox2f">
<summary>
2D Bounding Box (floating-point coordinate system).
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingBox2f.Min">
<summary>
Min
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingBox2f.Max">
<summary>
Max
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingBox2f.IsEmpty">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingBox2f.Width">
<summary>
Width of bound.
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingBox2f.Height">
<summary>
Height of bound.
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.#ctor(RSG.Base.Math.BoundingBox2f)">
<summary>
Copy constructor
</summary>
<param name="box"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.#ctor(RSG.Base.Math.BoundingBox3f)">
<summary>
Constructor from 3D bounding box.
</summary>
<param name="box"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.#ctor(RSG.Base.Math.Vector2f,RSG.Base.Math.Vector2f)">
<summary>
Constructor
</summary>
<param name="min"></param>
<param name="max"></param>
<param name="isEmpty"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.#ctor(RSG.Base.Math.Vector2f,RSG.Base.Math.Vector2f,System.Boolean)">
<summary>
Constructor
</summary>
<param name="min"></param>
<param name="max"></param>
<param name="isEmpty"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Math.BoundingBox2f"/> class using the
specified min/max x and y values.
</summary>
<param name="minX"></param>
<param name="minY"></param>
<param name="maxX"></param>
<param name="maxY"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.Centre">
<summary>
Return centre point of bound.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.Expand(RSG.Base.Math.Vector2f)">
<summary>
Expand bound to contain a point.
</summary>
<param name="point"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.Expand(RSG.Base.Math.BoundingBox2f)">
<summary>
Expand bound to contain another bound.
</summary>
<param name="box"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.Contains(RSG.Base.Math.Vector2f)">
<summary>
Point completely contained within this BoundingBox2f.
</summary>
<param name="point"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.Contains(RSG.Base.Math.BoundingBox2f)">
<summary>
Bound completely contained within this BoundingBox2f.
</summary>
<param name="bound"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.Intersects(RSG.Base.Math.BoundingBox2f)">
<summary>
</summary>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.Intersects(RSG.Base.Math.BoundingBox3f)">
<summary>
</summary>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox2f.GetPoints">
<summary>
Returns array of the four points
</summary>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.BoundingBox2i">
<summary>
2D Bounding Box (integer coordinate system).
</summary>
</member>
<member name="E:RSG.Base.Math.BoundingBox2i.BoundsChangedEvent">
<summary>
Event raised when stored bounds changes
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingBox2i.Min">
<summary>
Minimum of bound.
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingBox2i.Max">
<summary>
Maximum of bound.
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingBox2i.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingBox2i.#ctor(RSG.Base.Math.Vector2i,RSG.Base.Math.Vector2i)">
<summary>
Constructor
</summary>
<param name="min"></param>
<param name="max"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox2i.Expand(RSG.Base.Math.Vector2i)">
<summary>
</summary>
<param name="point"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox2i.Contains(RSG.Base.Math.Vector2i)">
<summary>
</summary>
<param name="point"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox2i.Intersects(RSG.Base.Math.BoundingBox2i)">
<summary>
</summary>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox2i.RaiseBoundsChangedEvent">
<summary>
Raise BoundsChanged Event (if we have listeners)
</summary>
</member>
<member name="T:RSG.Base.Math.BoundingBox3f">
<summary>
3D BoundingBox
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingBox3f.Min">
<summary>
Minimum of bound.
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingBox3f.Max">
<summary>
Maximum of bound.
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingBox3f.IsEmpty">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.#ctor(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Constructor for two vectors.
</summary>
<param name="min"></param>
<param name="max"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.#ctor(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructor for components for two vectors.
</summary>
<param name="minX"></param>
<param name="minY"></param>
<param name="minZ"></param>
<param name="maxX"></param>
<param name="maxY"></param>
<param name="maxZ"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.#ctor(RSG.Base.Math.BoundingBox3f)">
<summary>
Copy constructor.
</summary>
<param name="bbox"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.Centre">
<summary>
Return centre point of bound.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.Expand(RSG.Base.Math.Vector3f)">
<summary>
</summary>
<param name="point"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.Expand(RSG.Base.Math.BoundingBox3f)">
<summary>
</summary>
<param name="box"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.Contains(System.Single,System.Single)">
<summary>
Determines if the 2D point exists within the bounding box.
</summary>
<param name="point"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.Contains(RSG.Base.Math.Vector3f,System.Boolean)">
<summary>
Determines if the 3D point exists within the bounding box on the x- and y-axes.
If checkZ is set it will also check the z axes.
</summary>
<param name="point"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.Intersects(RSG.Base.Math.BoundingBox3f)">
<summary>
</summary>
<param name="box"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.Volume">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.Transform(RSG.Base.Math.Matrix34f)">
<summary>
Transform this box by a transformation matrix.
</summary>
<param name="m"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.TransformNoInverse(RSG.Base.Math.Matrix34f)">
<summary>
Transform this box by a transformation matrix.
This version does not do the Inverse like the Transform above.
There shouldn't be an inverse done after an absolute but instead of changing everything
for fear of breaking other things, I've added a new function for the bad cases we hit.
</summary>
<param name="m"></param>
</member>
<member name="M:RSG.Base.Math.BoundingBox3f.GetPoints">
<summary>
Returns array of the eight points
</summary>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.BoundingCirclef">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingCirclef.Centre">
<summary>
Centre point of bounding sphere.
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingCirclef.Radius">
<summary>
Radius of bounding sphere.
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingCirclef.#ctor(RSG.Base.Math.Vector2f,System.Single)">
<summary>
Constructor.
</summary>
<param name="centre">Centre point of sphere</param>
<param name="radius">Radius of sphere</param>
</member>
<member name="M:RSG.Base.Math.BoundingCirclef.#ctor">
<summary>
Standard constructor. Zero initialised members.
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingCirclef.#ctor(RSG.Base.Math.BoundingBox2f)">
<summary>
Standard constructor. Zero initialised members.
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingCirclef.Contains(RSG.Base.Math.Vector2f)">
<summary>
Point completely contained within this BoundingCirclef.
</summary>
<param name="point"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.BoundingCirclef.Intersects(RSG.Base.Math.BoundingCirclef)">
<summary>
</summary>
<param name="other"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.BoundingSpheref">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingSpheref.Centre">
<summary>
Centre point of bounding sphere.
</summary>
</member>
<member name="P:RSG.Base.Math.BoundingSpheref.Radius">
<summary>
Radius of bounding sphere.
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingSpheref.#ctor(RSG.Base.Math.Vector3f,System.Single)">
<summary>
Constructor.
</summary>
<param name="centre">Centre point of sphere</param>
<param name="radius">Radius of sphere</param>
</member>
<member name="M:RSG.Base.Math.BoundingSpheref.#ctor">
<summary>
Standard constructor. Zero initialised members.
</summary>
</member>
<member name="M:RSG.Base.Math.BoundingSpheref.#ctor(RSG.Base.Math.BoundingBox3f)">
<summary>
Constructor, from BoundingBox.
</summary>
<param name="bbox"></param>
</member>
<member name="T:RSG.Base.Math.Colour3f">
<summary>
Colour3f Specialisation (float)
</summary>
</member>
<member name="P:RSG.Base.Math.Colour3f.R">
<summary>
red-component of colour
</summary>
</member>
<member name="P:RSG.Base.Math.Colour3f.G">
<summary>
green-component of colour
</summary>
</member>
<member name="P:RSG.Base.Math.Colour3f.B">
<summary>
blue-component of colour
</summary>
</member>
<member name="M:RSG.Base.Math.Colour3f.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Colour3f.#ctor(System.Single,System.Single,System.Single)">
<summary>
Constructor
</summary>
<param name="x"></param>
<param name="y"></param>
</member>
<member name="M:RSG.Base.Math.Colour3f.#ctor(RSG.Base.Math.Colour3f)">
<summary>
Copy constructor
</summary>
<param name="v"></param>
</member>
<member name="M:RSG.Base.Math.Colour3f.#ctor(System.Xml.XmlNode)">
<summary>
Constructor, from a XmlNode.
</summary>
<param name="node"></param>
</member>
<member name="M:RSG.Base.Math.Colour3f.#ctor(System.Xml.XPath.XPathNavigator)">
<summary>
Constructor, from a XPathNavigator.
</summary>
<param name="navigator"></param>
</member>
<member name="T:RSG.Base.Math.Constants">
<summary>
</summary>
</member>
<member name="F:RSG.Base.Math.Constants.M_EPSILON">
<summary>
</summary>
</member>
<member name="F:RSG.Base.Math.Constants.M_SQRT2">
<summary>
Square-root of 2.
</summary>
</member>
<member name="F:RSG.Base.Math.Constants.M_SQRT1_2">
<summary>
Square-root of 1/2.
</summary>
</member>
<member name="F:RSG.Base.Math.Constants.M_SQRT3">
<summary>
Square-root of 3.
</summary>
</member>
<member name="T:RSG.Base.Math.cRounding">
<summary>
Useful rounding utilities
</summary>
</member>
<member name="M:RSG.Base.Math.cRounding.RoundToNearest(System.Single,System.Single)">
<summary>
Round to nearest value function
</summary>
<param name="val"></param>
<param name="nearest"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.EulerOrder">
<summary>
The order in which to treat the euler angles.
</summary>
</member>
<member name="T:RSG.Base.Math.Matrix22f">
<summary>
</summary>
</member>
<member name="F:RSG.Base.Math.Matrix22f.Identity">
<summary>
Identity matrix.
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix22f.#ctor">
<summary>
Default constructor, initialise to identity matrix.
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix22f.#ctor(RSG.Base.Math.Vector2f,RSG.Base.Math.Vector2f)">
<summary>
Constructor.
</summary>
<param name="a"></param>
<param name="b"></param>
<param name="c"></param>
</member>
<member name="M:RSG.Base.Math.Matrix22f.#ctor(System.Single[][])">
<summary>
Initialises a new instance of the <see cref="!:Matrix22"/> class using the
provided array.
</summary>
<param name="data"></param>
</member>
<member name="M:RSG.Base.Math.Matrix22f.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
provided array.
</summary>
<param name="data"></param>
</member>
<member name="M:RSG.Base.Math.Matrix22f.#ctor(RSG.Base.Math.Matrix22f)">
<summary>
Copy constructor.
</summary>
<param name="m"></param>
</member>
<member name="M:RSG.Base.Math.Matrix22f.CreateFromRotation(System.Single)">
<summary>
Create Matrix22f based on rotation in radians
</summary>
<param name="radians"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix22f.op_Multiply(RSG.Base.Math.Matrix22f,RSG.Base.Math.Vector2f)">
<summary>
Multiplication operator.
</summary>
<param name="m"></param>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix22f.op_Explicit(RSG.Base.Math.Matrix22f)~System.Single[][]">
<summary>
Explicit conversion to a 2d float array.
</summary>
<param name="m"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix22f.Transform(RSG.Base.Math.Vector2f)">
<summary>
Transform a vector by the current matrix.
</summary>
<param name="v"></param>
</member>
<member name="M:RSG.Base.Math.Matrix22f.Abs">
<summary>
</summary>
</member>
<member name="T:RSG.Base.Math.Matrix33f">
<summary>
</summary>
</member>
<member name="F:RSG.Base.Math.Matrix33f.Identity">
<summary>
Identity matrix.
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix33f.#ctor">
<summary>
Default constructor, initialise to identity matrix.
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix33f.#ctor(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Constructor.
</summary>
<param name="a"></param>
<param name="b"></param>
<param name="c"></param>
</member>
<member name="M:RSG.Base.Math.Matrix33f.#ctor(System.Single[][])">
<summary>
Initialises a new instance of the <see cref="!:Matrix33"/> class using the
provided array.
</summary>
<param name="data"></param>
</member>
<member name="M:RSG.Base.Math.Matrix33f.#ctor(RSG.Base.Math.Matrix33f)">
<summary>
Copy constructor.
</summary>
<param name="m"></param>
</member>
<member name="M:RSG.Base.Math.Matrix33f.#ctor(RSG.Base.Math.Matrix34f)">
<summary>
Constructor from Matrix34f.
</summary>
<param name="m"></param>
</member>
<member name="M:RSG.Base.Math.Matrix33f.op_Multiply(RSG.Base.Math.Matrix33f,RSG.Base.Math.Vector3f)">
<summary>
Multiplication operator.
</summary>
<param name="m"></param>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix33f.op_Explicit(RSG.Base.Math.Matrix33f)~System.Single[][]">
<summary>
Explicit conversion to a 2d float array.
</summary>
<param name="m"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix33f.Transform(RSG.Base.Math.Vector3f)">
<summary>
Transform a vector by the current matrix.
</summary>
<param name="v"></param>
</member>
<member name="M:RSG.Base.Math.Matrix33f.Abs">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix33f.Inverse">
<summary>
Return the inverse of this Matrix33f.
</summary>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Matrix34f">
<summary>
Matrix with 3 columns and 4 rows.
</summary>
</member>
<member name="F:RSG.Base.Math.Matrix34f.Identity">
<summary>
Identity matrix.
</summary>
</member>
<member name="P:RSG.Base.Math.Matrix34f.Translation">
<summary>
Translation vector of transformation matrix.
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix34f.#ctor">
<summary>
Default constructor, initialise to identity matrix.
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix34f.#ctor(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Constructor
</summary>
<param name="a"></param>
<param name="b"></param>
<param name="c"></param>
<param name="d"></param>
</member>
<member name="M:RSG.Base.Math.Matrix34f.#ctor(System.Single[][])">
<summary>
Initialises a new instance of the <see cref="!:Matrix34"/> class using the
provided array.
</summary>
<param name="data"></param>
</member>
<member name="M:RSG.Base.Math.Matrix34f.#ctor(RSG.Base.Math.Matrix34f)">
<summary>
Copy constructor.
</summary>
<param name="m"></param>
</member>
<member name="M:RSG.Base.Math.Matrix34f.#ctor(RSG.Base.Math.Quaternionf)">
<summary>
Constructor from Quaternion.
</summary>
<param name="q"></param>
</member>
<member name="M:RSG.Base.Math.Matrix34f.LookAt(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Creates a lookAt vector.
</summary>
<param name="dir"></param>
<param name="up"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.BuildXRotationMatrix(System.Single)">
<summary>
Creates matrix rotated around the X-axis.
</summary>
<param name="theta"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.BuildYRotationMatrix(System.Single)">
<summary>
Creates matrix rotated around the Y-axis.
</summary>
<param name="theta"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.BuildZRotationMatrix(System.Single)">
<summary>
Crates matrix rotated around the Z-axis.
</summary>
<param name="theta"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.MakeRotationMatrix(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Creates a rotation matrix based on a from / lookAt point.
</summary>
<param name="from"></param>
<param name="to"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.op_Addition(RSG.Base.Math.Matrix34f,RSG.Base.Math.Matrix34f)">
<summary>
Addition operator.
</summary>
<param name="m"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.op_Subtraction(RSG.Base.Math.Matrix34f,RSG.Base.Math.Matrix34f)">
<summary>
Subtraction operator.
</summary>
<param name="m"></param>
<returns></returns>
Subtract a matrix m from the current matrix.
</member>
<member name="M:RSG.Base.Math.Matrix34f.op_Multiply(RSG.Base.Math.Matrix34f,RSG.Base.Math.Vector3f)">
<summary>
Multiplication operator.
</summary>
<param name="m"></param>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.op_Multiply(RSG.Base.Math.Matrix34f,RSG.Base.Math.BoundingBox3f)">
<summary>
Multiplication operator.
</summary>
<param name="m"></param>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.op_Multiply(RSG.Base.Math.Matrix34f,RSG.Base.Math.Matrix34f)">
<summary>
Multiplication operator.
</summary>
<param name="m"></param>
<param name="n"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.op_Explicit(RSG.Base.Math.Matrix34f)~System.Single[][]">
<summary>
Explicit conversion to a 2d float array.
</summary>
<param name="m"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.Transform(RSG.Base.Math.Vector3f)">
<summary>
Transform a vector by the current matrix.
</summary>
<param name="v"></param>
</member>
<member name="M:RSG.Base.Math.Matrix34f.RotateUnitAxis(RSG.Base.Math.Vector3f,System.Single)">
<summary>
Rotates the matrix by a given axis and angle.
</summary>
<param name="axis"></param>
<param name="theta"></param>
</member>
<member name="M:RSG.Base.Math.Matrix34f.Scale(System.Single)">
<summary>
Apply a uniform scale to the current matrix.
</summary>
<param name="s"></param>
</member>
<member name="M:RSG.Base.Math.Matrix34f.Scale(System.Single,System.Single,System.Single)">
<summary>
Apply a non-uniform scale to the current matrix.
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
</member>
<member name="M:RSG.Base.Math.Matrix34f.Normalise">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.Abs">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix34f.ToEulers">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.Inverse">
<summary>
Return the inverse of this Matrix34f.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.Interpolate(RSG.Base.Math.Matrix34f,RSG.Base.Math.Matrix34f,System.Single)">
<summary>
Interpolates between two matrices.
</summary>
<param name="source"></param>
<param name="goal"></param>
<param name="t"></param>
</member>
<member name="M:RSG.Base.Math.Matrix34f.FromQuaternionf(RSG.Base.Math.Quaternionf)">
<summary>
Builds a matrix from a quaternion.
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix34f.ToArray">
<summary>
Returns the matrix as a 12 element array.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.System#IComparable#CompareTo(System.Object)">
<summary>
</summary>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Matrix34f.CompareTo(RSG.Base.Math.Matrix34f)">
<summary>
</summary>
<param name="obj"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Matrix44f">
<summary>
Represents a 4x4 floating point matrix.
</summary>
</member>
<member name="F:RSG.Base.Math.Matrix44f.Zero">
<summary>
Zero matrix.
</summary>
</member>
<member name="F:RSG.Base.Math.Matrix44f.Identity">
<summary>
Identity matrix.
</summary>
</member>
<member name="F:RSG.Base.Math.Matrix44f._a">
<summary>
Private field for the <see cref="P:RSG.Base.Math.Matrix44f.A"/> property.
</summary>
</member>
<member name="F:RSG.Base.Math.Matrix44f._b">
<summary>
Private field for the <see cref="P:RSG.Base.Math.Matrix44f.B"/> property.
</summary>
</member>
<member name="F:RSG.Base.Math.Matrix44f._c">
<summary>
Private field for the <see cref="P:RSG.Base.Math.Matrix44f.C"/> property.
</summary>
</member>
<member name="F:RSG.Base.Math.Matrix44f._d">
<summary>
Private field for the <see cref="P:RSG.Base.Math.Matrix44f.D"/> property.
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix44f.#ctor">
<summary>
Initialises a new instance of the <see cref="!:Matrix44"/> class to the zero
matrix.
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix44f.#ctor(RSG.Base.Math.Vector4f,RSG.Base.Math.Vector4f,RSG.Base.Math.Vector4f,RSG.Base.Math.Vector4f)">
<summary>
Initialises a new instance of the <see cref="!:Matrix44"/> class using the
provided vectors as the row.
</summary>
<param name="a"></param>
<param name="b"></param>
<param name="c"></param>
<param name="d"></param>
</member>
<member name="M:RSG.Base.Math.Matrix44f.#ctor(System.Single[][])">
<summary>
Initialises a new instance of the <see cref="!:Matrix44"/> class using the
provided array.
</summary>
<param name="data"></param>
</member>
<member name="M:RSG.Base.Math.Matrix44f.#ctor(RSG.Base.Math.Matrix44f)">
<summary>
Initialises a new instance of the <see cref="!:Matrix44"/> class to be a copy
of the provided matrix.
</summary>
<param name="m"></param>
</member>
<member name="P:RSG.Base.Math.Matrix44f.A">
<summary>
First row of the matrix.
</summary>
</member>
<member name="P:RSG.Base.Math.Matrix44f.B">
<summary>
Second row of the matrix.
</summary>
</member>
<member name="P:RSG.Base.Math.Matrix44f.C">
<summary>
Third row of the matrix.
</summary>
</member>
<member name="P:RSG.Base.Math.Matrix44f.D">
<summary>
Fourth row of the matrix.
</summary>
</member>
<member name="M:RSG.Base.Math.Matrix44f.op_Explicit(RSG.Base.Math.Matrix44f)~System.Single[][]">
<summary>
Explicit conversion to a 2d float array.
</summary>
<param name="m"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.OBoundingBox2f">
<summary>
2D Oriented Bounding Box (floating-point coordinate system).
</summary>
</member>
<member name="P:RSG.Base.Math.OBoundingBox2f.Center">
<summary>
Center
</summary>
</member>
<member name="P:RSG.Base.Math.OBoundingBox2f.Extents">
<summary>
Distance from the center to the X+ edge in a local orientation and the same for Y+
</summary>
</member>
<member name="P:RSG.Base.Math.OBoundingBox2f.Rotation">
<summary>
Rotation about the up axis
</summary>
</member>
<member name="P:RSG.Base.Math.OBoundingBox2f.IsEmpty">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Math.OBoundingBox2f.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.OBoundingBox2f.#ctor(RSG.Base.Math.BoundingBox2f)">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Math.OBoundingBox2f.#ctor(RSG.Base.Math.BoundingBox3f,RSG.Base.Math.Matrix34f)">
<summary>
Takes a local bounding box of the points and the transformation matrix from world space to local space
of the OBoundingBox2f
</summary>
</member>
<member name="M:RSG.Base.Math.OBoundingBox2f.GetOrientedPoints">
<summary>
Returns an counter clockwise ordered points
TOOD: Consider storing these points if this is calculated multiple times.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.OBoundingBox2f.GetMin">
<summary>
Get min coordinate for the AABB around oriented points on a world grid
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.OBoundingBox2f.GetMax">
<summary>
Get max coordinate for the AABB around oriented points on a world grid
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.OBoundingBox2f.Intersects(RSG.Base.Math.BoundingBox3f)">
<summary>
This is slow but easier to write. Consider using BoundingBox2f.Intersects(Vector2f, Vector2f) directly and storing the Max/Min
</summary>
<param name="box"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.OBoundingBox2f.Intersects(RSG.Base.Math.BoundingBox2f)">
<summary>
This is slow but easier to write. Consider using BoundingBox2f.Intersects(Vector2f, Vector2f) directly and storing the Max/Min
TODO: This can be optimized to filter out some axis so we don't have to continue to check against every possible point on every axis
</summary>
<param name="box"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Plane.#ctor">
<summary>
Basic Constructor.
</summary>
</member>
<member name="M:RSG.Base.Math.Plane.#ctor(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Constructor for a plane and a point.
</summary>
<param name="normal"></param>
<param name="point"></param>
</member>
<member name="M:RSG.Base.Math.Plane.#ctor(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Constructor for a plane with three points.
</summary>
<param name="a"></param>
<param name="b"></param>
<param name="c"></param>
</member>
<member name="M:RSG.Base.Math.Plane.ComputePlane(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Computes the plane coefficients based on three points.
</summary>
<param name="a"></param>
<param name="b"></param>
<param name="c"></param>
</member>
<member name="M:RSG.Base.Math.Plane.GetNormal">
<summary>
Returns the normal of the plane.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Plane.GetZCoordinate(System.Single,System.Single)">
<summary>
Returns the Z coordinate on the plane (assuming infinite extents).
</summary>
<param name="x"></param>
<param name="y"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Quaternionf">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Math.Quaternionf.#ctor">
<summary>
Default constructor, setting to identity quaternion.
</summary>
</member>
<member name="M:RSG.Base.Math.Quaternionf.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
</summary>
<param name="x"></param>
<param name="y"></param>
<param name="z"></param>
<param name="w"></param>
</member>
<member name="M:RSG.Base.Math.Quaternionf.#ctor(RSG.Base.Math.Vector3f,System.Single)">
<summary>
Quaternion constructor, from axis and angle (in radians).
</summary>
<param name="axis"></param>
<param name="angle"></param>
</member>
<member name="M:RSG.Base.Math.Quaternionf.#ctor(RSG.Base.Math.Quaternionf)">
<summary>
Quaternion constructor, copy constructor.
</summary>
<param name="q"></param>
</member>
<member name="M:RSG.Base.Math.Quaternionf.#ctor(RSG.Base.Math.Matrix34f)">
<summary>
Quaternion constructor, from Matrix34f.
</summary>
<param name="m"></param>
</member>
<member name="M:RSG.Base.Math.Quaternionf.#ctor(System.Xml.XPath.XPathNavigator)">
<summary>
Constructor, from a XPathNavigator.
</summary>
<param name="navigator"></param>
</member>
<member name="M:RSG.Base.Math.Quaternionf.ToString">
<summary>
Convert to simple String representation.
</summary>
</member>
<member name="M:RSG.Base.Math.Quaternionf.IsIdentity">
<summary>
Return whether this quaternion is the identify quaternion.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Quaternionf.IsNormalised">
<summary>
Return whether this quaternion is normalised.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Quaternionf.Scale(System.Single)">
<summary>
Scale this quaternion.
</summary>
<param name="f"></param>
</member>
<member name="M:RSG.Base.Math.Quaternionf.Magnitude">
<summary>
Return magnitude of this quaternion.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Quaternionf.Magnitude2">
<summary>
Return squared-magnitude of this quaternion.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Quaternionf.InvMagnitude">
<summary>
Return the inverse of the magnitude of this quaternion.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Quaternionf.Normalise">
<summary>
Normalise this quaternion.
</summary>
</member>
<member name="M:RSG.Base.Math.Quaternionf.Invert">
<summary>
Invert this quaternion (axis inverted, angle remains the same).
</summary>
</member>
<member name="M:RSG.Base.Math.Quaternionf.Negate">
<summary>
Negate this quaternion.
</summary>
Negating a quaternion means that the rotation happens in the opposite
direction on the opposite axis -- in other words, no net change in the rotation.
</member>
<member name="M:RSG.Base.Math.Quaternionf.Dot(RSG.Base.Math.Quaternionf)">
<summary>
Dot product between two quaternions
</summary>
<param name="q"></param>
</member>
<member name="M:RSG.Base.Math.Quaternionf.RelAngle(RSG.Base.Math.Quaternionf)">
<summary>
PURPOSE: Calculate the relative angle between two quaternions.
PARAMS
q - The other quaternion.
RETURN: the angle between this quaternion and the given quaternion
</summary>
</member>
<member name="M:RSG.Base.Math.Quaternionf.PrepareSlerp(RSG.Base.Math.Quaternionf)">
<summary>
PURPOSE: Prepare two quaternions for a slerp between them by making sure the angle between them is between -PI and PI.
NOTES
This method makes sure that the interpolation takes the shortest route. If the angle between the two quaternions is not between
-PI and PI, then this quaternion is negated to make the angle between -PI and PI. The negated quaternion represents a rotation
in the opposite direction about an opposite unit vector, so it is equivalent to the non-negated quaternion.
</summary>
</member>
<member name="M:RSG.Base.Math.Quaternionf.Slerp(System.Single,RSG.Base.Math.Quaternionf,RSG.Base.Math.Quaternionf)">
<summary>
PURPOSE: Perform spherical linear interpolation between this quaternion and another.
PARAMS
q - The other quaternion, representing a t of 1
NOTES:
To make sure the interpolation takes the shorter of two possible paths around a spherical surface,
call PrepareSlerp(q) first, or use SlerpNear.
SEE ALSO: PrepareSlerp, SlerpNear
</summary>
<param name="p"></param>
<param name="q1"></param>
<param name="q2"></param>
</member>
<member name="M:RSG.Base.Math.Quaternionf.ToEulers(RSG.Base.Math.EulerOrder)">
<summary>
Converts the quaternion to a set of euler angles using the specified rotation order.
</summary>
<param name="order"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Quaternionf.MaximumIndex(System.Single,System.Single,System.Single,System.Single)">
<summary>
Returns the largest index.
Taken from RageCore.
</summary>
<param name="a"></param>
<param name="b"></param>
<param name="c"></param>
<param name="d"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Quaternionf.FromMatrix34(RSG.Base.Math.Matrix34f)">
<summary>
Taken from RageCore to convert a Matrix34 into a Quaternion.
</summary>
<param name="matrix"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Quaternionf.MaximumIndex``1(``0[])">
<summary>
Return index of maximum value in arbitrary Array of values.
</summary>
<typeparam name="T"></typeparam>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Quaternionf.op_Equality(RSG.Base.Math.Quaternionf,RSG.Base.Math.Quaternionf)">
<summary>
Equality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Quaternionf.op_Inequality(RSG.Base.Math.Quaternionf,RSG.Base.Math.Quaternionf)">
<summary>
Inequality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Utils">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Math.Utils.Det22(System.Single,System.Single,System.Single,System.Single)">
<summary>
Return the 2x2 matrix determinant.
</summary>
<param name="a"></param>
<param name="b"></param>
<param name="c"></param>
<param name="d"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Utils.Det33(System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single)">
<summary>
Return the 3x3 matrix determinant.
</summary>
<param name="ax"></param>
<param name="ay"></param>
<param name="az"></param>
<param name="bx"></param>
<param name="by"></param>
<param name="bz"></param>
<param name="cx"></param>
<param name="cy"></param>
<param name="cz"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Utils.Absf(System.Single[])">
<summary>
Performs Abs on an array of floats.
</summary>
<typeparam name="T"></typeparam>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Utils.Maximum``1(``0[])">
<summary>
Return the maximum value in arbitrary Array of values.
</summary>
<typeparam name="T"></typeparam>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Utils.Minimum``1(``0[])">
<summary>
Return the minimum value in an arbitary Array of values.
</summary>
<typeparam name="T"></typeparam>
<param name="args"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Utils.Swap``1(``0@,``0@)">
<summary>
Swaps the variables.
</summary>
<typeparam name="T"></typeparam>
<param name="lhs"></param>
<param name="rhs"></param>
</member>
<member name="M:RSG.Base.Math.Utils.RoundNearest(System.Single,System.Single,System.Single)">
<summary>
</summary>
<param name="input"></param>
<param name="minThreshold"></param>
<param name="maxThreshold"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Utils.MinProjectedAxisValue(System.Collections.Generic.IEnumerable{RSG.Base.Math.Vector2f},RSG.Base.Math.Vector2f)">
<summary>
Get the smallest scalar projection value from the oriented points along any given axis
</summary>
<param name="points"></param>
<param name="axis"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Utils.MaxProjectedAxisValue(System.Collections.Generic.IEnumerable{RSG.Base.Math.Vector2f},RSG.Base.Math.Vector2f)">
<summary>
Get the largest scalar projection value from the oriented points along any given axis
</summary>
<param name="points"></param>
<param name="axis"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Utils.MaximumIndex``1(``0[])">
<summary>
Return index of maximum value in arbitrary Array of values.
</summary>
<typeparam name="T"></typeparam>
<param name="args"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Vector2`1">
<summary>
2D Vector Class
</summary>
Currently common operations etc. are not implemented.
</member>
<member name="P:RSG.Base.Math.Vector2`1.ElementType">
<summary>
Vector Element Type
</summary>
</member>
<member name="P:RSG.Base.Math.Vector2`1.X">
<summary>
X-Component of vector
</summary>
</member>
<member name="P:RSG.Base.Math.Vector2`1.Y">
<summary>
Y-Component of vector
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2`1.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2`1.#ctor(`0,`0)">
<summary>
Constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2`1.Dispose">
<summary>
Dispose
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2`1.Magnitude">
<summary>
Calculate and return magnitude of 3D vector
</summary>
<returns>Magnitude (length) of 3D vector</returns>
</member>
<member name="M:RSG.Base.Math.Vector2`1.Equals(RSG.Base.Math.Vector2{`0})">
<summary>
Equality test.
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2`1.CompareTo(System.Object)">
<summary>
</summary>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2`1.CompareTo(RSG.Base.Math.Vector2{`0})">
<summary>
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2`1.ToArray">
<summary>
Convert vector to array.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2`1.ToString">
<summary>
Convert vector to String
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2`1.Equals(System.Object)">
<summary>
Equality test.
</summary>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2`1.GetHashCode">
<summary>
GetHashCode override.
</summary>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Vector2f">
<summary>
Vector2f
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2f.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2f.#ctor(System.Single,System.Single)">
<summary>
Constructor
</summary>
<param name="x"></param>
<param name="y"></param>
</member>
<member name="M:RSG.Base.Math.Vector2f.#ctor(System.Single[])">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Math.Vector2f"/> class using the
provided array.
</summary>
<param name="data"></param>
</member>
<member name="M:RSG.Base.Math.Vector2f.#ctor(RSG.Base.Math.Vector2f)">
<summary>
Constructor
</summary>
<param name="b"></param>
</member>
<member name="M:RSG.Base.Math.Vector2f.#ctor(System.Xml.XmlNode)">
<summary>
Constructor, from a XmlNode.
</summary>
<param name="node"></param>
</member>
<member name="M:RSG.Base.Math.Vector2f.#ctor(System.Xml.XPath.XPathNavigator)">
<summary>
Constructor, from a XPathNavigator.
</summary>
<param name="navigator"></param>
</member>
<member name="M:RSG.Base.Math.Vector2f.Equals(RSG.Base.Math.Vector2{System.Single})">
<summary>
</summary>
<returns></returns>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.Magnitude">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.Normalise">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2f.Abs">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2f.Parse(System.String)">
<summary>
Parse a string representation of a vector (FormatException might be raised)
</summary>
<param name="sText"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.Dot(RSG.Base.Math.Vector2f,RSG.Base.Math.Vector2f)">
<summary>
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.Dot(System.Single,System.Single,System.Single,System.Single)">
<summary>
</summary>
<param name="ax"></param>
<param name="ay"></param>
<param name="bx"></param>
<param name="by"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.op_Equality(RSG.Base.Math.Vector2f,RSG.Base.Math.Vector2f)">
<summary>
Equality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.op_Inequality(RSG.Base.Math.Vector2f,RSG.Base.Math.Vector2f)">
<summary>
Inequality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.op_Addition(RSG.Base.Math.Vector2f,RSG.Base.Math.Vector2f)">
<summary>
Addition operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2f.op_Addition(RSG.Base.Math.Vector2f,System.Single)">
<summary>
Scalar Addition operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2f.op_Subtraction(RSG.Base.Math.Vector2f,System.Single)">
<summary>
Scalar Subtraction operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2f.op_Subtraction(RSG.Base.Math.Vector2f,RSG.Base.Math.Vector2f)">
<summary>
Subtraction Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2f.op_Multiply(RSG.Base.Math.Vector2f,System.Single)">
<summary>
Scalar Multiplication Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2f.op_Division(RSG.Base.Math.Vector2f,System.Single)">
<summary>
Scalar Division Operator
</summary>
<param name="v"></param>
<param name="f"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.op_Explicit(RSG.Base.Math.Vector2f)~RSG.Base.Math.Vector2i">
<summary>
Implicit type conversion Vector2f -> Vector2i
</summary>
<param name="a">Vector2f</param>
<returns>Vector2i</returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.op_Explicit(RSG.Base.Math.Vector2f)~System.Single[]">
<summary>
Explicit conversion to a float array.
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.Dist(RSG.Base.Math.Vector2f)">
<summary>
Distance between vector points.
</summary>
<param name="other"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.Dist2(RSG.Base.Math.Vector2f)">
<summary>
Distance-squared between vector points.
</summary>
<param name="other"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.ToString">
<summary>
Convert vector to String
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.Equals(System.Object)">
<summary>
Equality operator
</summary>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2f.GetHashCode">
<summary>
</summary>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Vector2i">
<summary>
cVector2 Specialisation (int)
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2i.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2i.#ctor(System.Int32,System.Int32)">
<summary>
Constructor
</summary>
<param name="x"></param>
<param name="y"></param>
</member>
<member name="M:RSG.Base.Math.Vector2i.#ctor(RSG.Base.Math.Vector2i)">
<summary>
Constructor
</summary>
<param name="b"></param>
</member>
<member name="M:RSG.Base.Math.Vector2i.Equals(RSG.Base.Math.Vector2{System.Int32})">
<summary>
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2i.Magnitude">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2i.Parse(System.String)">
<summary>
Parse a string representation of a vector (FormatException might be raised)
</summary>
<param name="sText"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2i.op_Equality(RSG.Base.Math.Vector2i,RSG.Base.Math.Vector2i)">
<summary>
Equality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2i.op_Inequality(RSG.Base.Math.Vector2i,RSG.Base.Math.Vector2i)">
<summary>
Inequality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2i.op_Addition(RSG.Base.Math.Vector2i,RSG.Base.Math.Vector2i)">
<summary>
Addition operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2i.op_Subtraction(RSG.Base.Math.Vector2i,RSG.Base.Math.Vector2i)">
<summary>
Subtraction Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2i.op_Addition(RSG.Base.Math.Vector2i,System.Int32)">
<summary>
Scalar Addition operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2i.op_Subtraction(RSG.Base.Math.Vector2i,System.Int32)">
<summary>
Scalar Subtraction operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2i.op_Multiply(RSG.Base.Math.Vector2i,System.Int32)">
<summary>
Scalar Multiplication Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector2i.op_Explicit(RSG.Base.Math.Vector2i)~RSG.Base.Math.Vector2f">
<summary>
Implicit type conversion Vector2i -> Vector2f
</summary>
<param name="a">Vector2i</param>
<returns>Vector2f</returns>
</member>
<member name="M:RSG.Base.Math.Vector2i.ToString">
<summary>
Convert vector to String
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2i.Equals(System.Object)">
<summary>
Equality operator
</summary>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector2i.GetHashCode">
<summary>
</summary>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Vector3`1">
<summary>
3D Vector Class
</summary>
Currently common operations etc. are not implemented.
</member>
<member name="P:RSG.Base.Math.Vector3`1.ElementType">
<summary>
Vector Element Type
</summary>
</member>
<member name="P:RSG.Base.Math.Vector3`1.X">
<summary>
X-Component of vector
</summary>
</member>
<member name="P:RSG.Base.Math.Vector3`1.Y">
<summary>
Y-Component of vector
</summary>
</member>
<member name="P:RSG.Base.Math.Vector3`1.Z">
<summary>
Z-Component of vector
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3`1.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3`1.#ctor(`0,`0,`0)">
<summary>
Constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3`1.Dispose">
<summary>
Dispose
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3`1.Magnitude">
<summary>
Calculate and return magnitude of 3D vector
</summary>
<returns>Magnitude (length) of 3D vector</returns>
</member>
<member name="M:RSG.Base.Math.Vector3`1.Equals(RSG.Base.Math.Vector3{`0})">
<summary>
Equality test.
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3`1.CompareTo(System.Object)">
<summary>
</summary>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3`1.CompareTo(RSG.Base.Math.Vector3{`0})">
<summary>
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3`1.ToArray">
<summary>
Convert vector to array.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3`1.ToString">
<summary>
Convert vector to String
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3`1.Equals(System.Object)">
<summary>
Equality test.
</summary>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3`1.GetHashCode">
<summary>
GetHashCode override.
</summary>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Vector3f">
<summary>
Vector3 Specialisation (float)
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3f.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3f.#ctor(System.Single,System.Single,System.Single)">
<summary>
Constructor
</summary>
<param name="x"></param>
<param name="y"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.#ctor(System.Single[])">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Math.Vector3f"/> class using the
provided array.
</summary>
<param name="data"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.#ctor(RSG.Base.Math.Vector3f)">
<summary>
Copy constructor
</summary>
<param name="v"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.#ctor(System.Xml.XmlNode)">
<summary>
Constructor, from a XmlNode.
</summary>
<param name="node"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.#ctor(System.Xml.XPath.XPathNavigator)">
<summary>
Constructor, from a XPathNavigator.
</summary>
<param name="navigator"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.Equals(RSG.Base.Math.Vector3{System.Single})">
<summary>
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.Equals(System.Object)">
<summary>
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.EqualWithinTolerance(RSG.Base.Math.Vector3f,System.Single)">
<summary>
Checks if this and the other vector are equal within the
specified tolerance. The tolerance is checked for each value.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.GetHashCode">
<summary>
GetHashCode override.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.Dist(RSG.Base.Math.Vector3f)">
<summary>
Distance between vector points.
</summary>
<param name="other"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.Dist2(RSG.Base.Math.Vector3f)">
<summary>
Distance-squared between vector points.
</summary>
<param name="other"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.Magnitude">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.Normalise">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3f.Abs">
<summary>
Set xyz-components to absolute value of existing components.
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3f.RotateAboutAxis(System.Single,System.Char)">
<summary>
Rotate the vector about an axis.
</summary>
<param name="radians"></param>
<param name="axis"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.Set(RSG.Base.Math.Vector3f)">
<summary>
In-place set function for Vector3. This is to eliminate having to reallocate the object's space.
</summary>
<param name="v"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.SetMin(RSG.Base.Math.Vector3f)">
<summary>
In-place set for the minimum vector between this and another vector.
</summary>
<param name="v"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.SetMin(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
In-place set for the minimum vector between two separate vectors.
</summary>
<param name="v1"></param>
<param name="v2"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.SetMax(RSG.Base.Math.Vector3f)">
<summary>
In-place set for the maximum vector between this and another vector.
</summary>
<param name="v"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.SetMax(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
In-place iset for the maximum vector between two separate vectors.
</summary>
<param name="v1"></param>
<param name="v2"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.Lerp(System.Single,RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
PURPOSE: Set the current vector to a linearly-interpolated value between two other vectors.
PARAMS
a - The vector that represents a t value of 0.
b - The vector that represents a t value of 1.
t - The interpolation value for the desired point.
NOTES
- "Lerp" is a contraction for "linear interpolation".
- If you already have the slope between a and b (i.e. b minus a), AddScaled() is a more
efficient way to accomplish what Lerp() does.
</summary>
<param name="t"></param>
<param name="a"></param>
<param name="b"></param>
</member>
<member name="M:RSG.Base.Math.Vector3f.op_Equality(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Equality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.op_Inequality(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Inequality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.op_Addition(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Addition operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3f.op_Subtraction(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
Subtraction Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3f.op_UnaryNegation(RSG.Base.Math.Vector3f)">
<summary>
Sign Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3f.op_Multiply(RSG.Base.Math.Vector3f,System.Single)">
<summary>
Scalar Multiplication Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3f.op_Division(RSG.Base.Math.Vector3f,System.Single)">
<summary>
Scalar Division Operator
</summary>
<param name="v"></param>
<param name="f"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.op_Explicit(RSG.Base.Math.Vector3f)~System.Single[]">
<summary>
Explicit conversion to a float array.
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3f.Cross(RSG.Base.Math.Vector3f,RSG.Base.Math.Vector3f)">
<summary>
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Vector3i">
<summary>
Vector3 Specialisation (int)
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3i.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3i.#ctor(System.Int32,System.Int32,System.Int32)">
<summary>
Constructor
</summary>
<param name="x"></param>
<param name="y"></param>
</member>
<member name="M:RSG.Base.Math.Vector3i.#ctor(System.Xml.XmlNode)">
<summary>
Constructor, from a XmlNode.
</summary>
<param name="node"></param>
</member>
<member name="M:RSG.Base.Math.Vector3i.Equals(RSG.Base.Math.Vector3{System.Int32})">
<summary>
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3i.Equals(System.Object)">
<summary>
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3i.GetHashCode">
<summary>
GetHashCode override.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3i.op_Equality(RSG.Base.Math.Vector3i,RSG.Base.Math.Vector3i)">
<summary>
Equality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3i.op_Inequality(RSG.Base.Math.Vector3i,RSG.Base.Math.Vector3i)">
<summary>
Inequality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector3i.op_Addition(RSG.Base.Math.Vector3i,RSG.Base.Math.Vector3i)">
<summary>
Addition operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3i.op_Subtraction(RSG.Base.Math.Vector3i,RSG.Base.Math.Vector3i)">
<summary>
Subtraction Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector3i.op_Multiply(RSG.Base.Math.Vector3i,System.Int32)">
<summary>
Scalar Multiplication Operator
</summary>
</member>
<member name="T:RSG.Base.Math.Vector4`1">
<summary>
4D Vector Class
</summary>
Currently common operations etc. are not implemented.
</member>
<member name="P:RSG.Base.Math.Vector4`1.ElementType">
<summary>
Vector Element Type
</summary>
</member>
<member name="P:RSG.Base.Math.Vector4`1.X">
<summary>
X-Component of vector
</summary>
</member>
<member name="P:RSG.Base.Math.Vector4`1.Y">
<summary>
Y-Component of vector
</summary>
</member>
<member name="P:RSG.Base.Math.Vector4`1.Z">
<summary>
Z-Component of vector
</summary>
</member>
<member name="P:RSG.Base.Math.Vector4`1.W">
<summary>
W-Component of vector
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4`1.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4`1.#ctor(`0,`0,`0,`0)">
<summary>
Constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4`1.Dispose">
<summary>
Dispose
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4`1.Magnitude">
<summary>
Calculate and return magnitude of 3D vector
</summary>
<returns>Magnitude (length) of 3D vector</returns>
</member>
<member name="M:RSG.Base.Math.Vector4`1.Equals(RSG.Base.Math.Vector4{`0})">
<summary>
Equality test.
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4`1.CompareTo(System.Object)">
<summary>
</summary>
<param name="obj"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4`1.CompareTo(RSG.Base.Math.Vector4{`0})">
<summary>
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4`1.ToArray">
<summary>
Convert vector to array.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4`1.ToString">
<summary>
Convert vector to String
</summary>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Vector4f">
<summary>
Vector3 Specialisation (float)
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4f.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4f.#ctor(System.Single,System.Single,System.Single,System.Single)">
<summary>
Constructor
</summary>
<param name="x"></param>
<param name="y"></param>
</member>
<member name="M:RSG.Base.Math.Vector4f.#ctor(System.Single[])">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Math.Vector4f"/> class using the
provided array.
</summary>
<param name="data"></param>
</member>
<member name="M:RSG.Base.Math.Vector4f.#ctor(RSG.Base.Math.Vector4f)">
<summary>
</summary>
<param name="copy"></param>
</member>
<member name="M:RSG.Base.Math.Vector4f.#ctor(System.Xml.XmlNode)">
<summary>
Constructor, from a XmlNode.
</summary>
<param name="node"></param>
</member>
<member name="M:RSG.Base.Math.Vector4f.#ctor(System.Xml.XPath.XPathNavigator)">
<summary>
Constructor, from a XPathNavigator.
</summary>
<param name="navigator"></param>
</member>
<member name="M:RSG.Base.Math.Vector4f.Magnitude">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4f.ToVector4i">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4f.Equals(RSG.Base.Math.Vector4{System.Single})">
<summary>
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4f.Equals(System.Object)">
<summary>
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4f.EqualWithinTolerance(RSG.Base.Math.Vector4f,System.Single)">
<summary>
Checks if this and the other vector are equal within the
specified tolerance. The tolerance is checked for each value.
</summary>
<returns>bool</returns>
</member>
<member name="M:RSG.Base.Math.Vector4f.GetHashCode">
<summary>
GetHashCode override.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4f.op_Equality(RSG.Base.Math.Vector4f,RSG.Base.Math.Vector4f)">
<summary>
Equality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4f.op_Inequality(RSG.Base.Math.Vector4f,RSG.Base.Math.Vector4f)">
<summary>
Inequality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4f.op_Addition(RSG.Base.Math.Vector4f,RSG.Base.Math.Vector4f)">
<summary>
Addition operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4f.op_Subtraction(RSG.Base.Math.Vector4f,RSG.Base.Math.Vector4f)">
<summary>
Subtraction Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4f.op_Multiply(RSG.Base.Math.Vector4f,System.Single)">
<summary>
Scalar Multiplication Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4f.op_Explicit(RSG.Base.Math.Vector4f)~System.Single[]">
<summary>
Explicit conversion to a float array.
</summary>
<param name="v"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Math.Vector4i">
<summary>
Vector3 Specialisation (int)
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4i.#ctor">
<summary>
Default constructor
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4i.#ctor(System.Int32,System.Int32,System.Int32,System.Int32)">
<summary>
Constructor
</summary>
<param name="x"></param>
<param name="y"></param>
</member>
<member name="M:RSG.Base.Math.Vector4i.#ctor(RSG.Base.Math.Vector4i)">
<summary>
Copy constructor
</summary>
<param name="v"></param>
</member>
<member name="M:RSG.Base.Math.Vector4i.#ctor(System.Xml.XmlNode)">
<summary>
Constructor, from a XmlNode.
</summary>
<param name="node"></param>
</member>
<member name="M:RSG.Base.Math.Vector4i.Equals(RSG.Base.Math.Vector4{System.Int32})">
<summary>
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4i.Equals(System.Object)">
<summary>
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4i.GetHashCode">
<summary>
GetHashCode override.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4i.op_Equality(RSG.Base.Math.Vector4i,RSG.Base.Math.Vector4i)">
<summary>
Equality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4i.op_Inequality(RSG.Base.Math.Vector4i,RSG.Base.Math.Vector4i)">
<summary>
Inequality operator
</summary>
<param name="a"></param>
<param name="b"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Math.Vector4i.op_Addition(RSG.Base.Math.Vector4i,RSG.Base.Math.Vector4i)">
<summary>
Addition operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4i.op_Subtraction(RSG.Base.Math.Vector4i,RSG.Base.Math.Vector4i)">
<summary>
Subtraction Operator
</summary>
</member>
<member name="M:RSG.Base.Math.Vector4i.op_Multiply(RSG.Base.Math.Vector4i,System.Int32)">
<summary>
Scalar Multiplication Operator
</summary>
</member>
<member name="T:RSG.Base.Metadata.Attributes.ChildHierarchyAttribute">
<summary>
Attribute listing all the children classes derived from the class using the attribute
This is useful to prevent using an expensive reflection logic when we want to know
the class hierarchy for a given generated type
</summary>
<seealso cref="T:RSG.Base.Metadata.Attributes.ParentHierarchyAttribute"/>
</member>
<member name="M:RSG.Base.Metadata.Attributes.ChildHierarchyAttribute.#ctor(System.Type[])">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Attributes.ChildHierarchyAttribute"/> class.
</summary>
<param name="childHierarchy"></param>
</member>
<member name="P:RSG.Base.Metadata.Attributes.ChildHierarchyAttribute.ChildHierarchy">
<summary>
List of all the types inheriting from the class using the
<see cref="T:RSG.Base.Metadata.Attributes.ChildHierarchyAttribute"/> attribute
</summary>
</member>
<member name="T:RSG.Base.Metadata.Attributes.CodeGeneratedAttribute">
<summary>
Attribute indicating if the class or enum has been generated using the MetadataCodeGenerator
</summary>
<remarks>
The <see cref="T:System.SerializableAttribute"/> is required to pass this object between App domains.
</remarks>
</member>
<member name="M:RSG.Base.Metadata.Attributes.CodeGeneratedAttribute.#ctor">
<summary>
Initialises a new instance of the <see cref="!:DefinitionInfoAttribute"/> class.
</summary>
</member>
<member name="M:RSG.Base.Metadata.Attributes.CodeGeneratedAttribute.#ctor(System.String,System.Byte[],System.Byte[])">
<summary>
Initialises a new instance of the <see cref="!:DefinitionInfoAttribute"/> class.
</summary>
<param name="definitionFilename">
The definition's filename.
</param>
<param name="definitionTextFileChecksum">
The checksum of the definition file that is text type in perforce.
</param>
<param name="definitionUnicodeFileChecksum">
The checksum of the definition file that is unicode type in perforce.
</param>
</member>
<member name="P:RSG.Base.Metadata.Attributes.CodeGeneratedAttribute.DefinitionFilename">
<summary>
Gets the definition filename.
</summary>
</member>
<member name="P:RSG.Base.Metadata.Attributes.CodeGeneratedAttribute.DefinitionTextFileChecksum">
<summary>
Gets the checksum of the definition file that is text type in perforce.
</summary>
</member>
<member name="P:RSG.Base.Metadata.Attributes.CodeGeneratedAttribute.DefinitionUnicodeFileChecksum">
<summary>
Gets the checksum of the definition file that is unicode type in perforce.
</summary>
</member>
<member name="T:RSG.Base.Metadata.Attributes.EnumSourceAttribute">
<summary>
Attribute indicating the source enum from which the values are coming from.
Typically this would be used on bitsets/bitarrays or values representing flags
</summary>
</member>
<member name="M:RSG.Base.Metadata.Attributes.EnumSourceAttribute.#ctor(System.Type)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Attributes.EnumSourceAttribute"/> class.
</summary>
<param name="enumSource"></param>
</member>
<member name="P:RSG.Base.Metadata.Attributes.EnumSourceAttribute.EnumSource">
<summary>
The enum source from which the values are coming from
</summary>
</member>
<member name="T:RSG.Base.Metadata.Attributes.ParentHierarchyAttribute">
<summary>
Attribute listing all the parent classes from the class using the attribute
This is useful to prevent using an expensive reflection logic when we want to know
the class hierarchy for a given generated type
They are listed in the following order : first is direct parent, last is most distant ancestor
</summary>
<seealso cref="T:RSG.Base.Metadata.Attributes.ChildHierarchyAttribute"/>
</member>
<member name="M:RSG.Base.Metadata.Attributes.ParentHierarchyAttribute.#ctor(System.Type[])">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Attributes.ParentHierarchyAttribute"/> class.
</summary>
<param name="parentHierarchy"></param>
</member>
<member name="P:RSG.Base.Metadata.Attributes.ParentHierarchyAttribute.ParentHierarchy">
<summary>
List of all the base types from the class using the
<see cref="T:RSG.Base.Metadata.Attributes.ParentHierarchyAttribute"/> attribute
</summary>
</member>
<member name="T:RSG.Base.Metadata.Attributes.PointerPropertyAttribute">
<summary>
Attribute to indicate the property is a pointer (or an array of pointers)
C# doesn't support pointers but psc files have the distinction in between
regular types and pointer types (hence the need for a custom attribute).
</summary>
</member>
<member name="M:RSG.Base.Metadata.Attributes.PointerPropertyAttribute.#ctor(System.Boolean)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Attributes.PointerPropertyAttribute"/> class.
</summary>
<param name="isCollection"></param>
</member>
<member name="T:RSG.Base.Metadata.Exceptions.LoadingDictionaryDuplicateKeyException">
<summary>
Exception thrown when a duplicate key is found during loading
</summary>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingDictionaryDuplicateKeyException.#ctor(System.Object)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingDictionaryDuplicateKeyException"/> class.
</summary>
<param name="duplicateKey">The duplicate key.</param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingDictionaryDuplicateKeyException.#ctor(System.Object,System.Xml.IXmlLineInfo)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingDictionaryDuplicateKeyException"/> class.
</summary>
<param name="duplicateKey">The duplicate key.</param>
<param name="lineInfo">The <see cref="T:System.Xml.IXmlLineInfo"/>.</param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingDictionaryDuplicateKeyException.#ctor(System.Object,System.Xml.IXmlLineInfo,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingDictionaryDuplicateKeyException"/> class.
</summary>
<param name="duplicateKey">The duplicate key.</param>
<param name="lineInfo">The <see cref="T:System.Xml.IXmlLineInfo"/>.</param>
<param name="filename">The filename.</param>
</member>
<member name="T:RSG.Base.Metadata.Exceptions.LoadingEnumUnknownKeyException">
<summary>
Exception thrown when a duplicate key is found during loading
</summary>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingEnumUnknownKeyException.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingEnumUnknownKeyException"/> class.
</summary>
<param name="unknownEnum"></param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingEnumUnknownKeyException.#ctor(System.String,System.Xml.IXmlLineInfo)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingEnumUnknownKeyException"/> class.
</summary>
<param name="unknownEnum"></param>
<param name="lineInfo"></param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingEnumUnknownKeyException.#ctor(System.String,System.Xml.IXmlLineInfo,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingEnumUnknownKeyException"/> class.
</summary>
<param name="unknownEnum"></param>
<param name="lineInfo"></param>
<param name="filename"></param>
</member>
<member name="T:RSG.Base.Metadata.Exceptions.LoadingPointerTypeUnknownException">
<summary>
Exception thrown when a wrong pointer type is provided in the meta file
</summary>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingPointerTypeUnknownException.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingPointerTypeUnknownException"/> class.
</summary>
<param name="unknownType"></param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingPointerTypeUnknownException.#ctor(System.String,System.Xml.IXmlLineInfo)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingPointerTypeUnknownException"/> class.
</summary>
<param name="unknownType"></param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingPointerTypeUnknownException.#ctor(System.String,System.Xml.IXmlLineInfo,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingPointerTypeUnknownException"/> class.
</summary>
<param name="unknownType"></param>
</member>
<member name="T:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException">
<summary>
Exception thrown when a root element is incorrect
</summary>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException"/> class.
</summary>
<param name="rootElementName"></param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException.#ctor(System.String,System.Xml.Linq.XElement)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException"/> class.
</summary>
<param name="expectedName"></param>
<param name="rootElement"></param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException.#ctor(System.String,System.Xml.Linq.XElement,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException"/> class.
</summary>
<param name="expectedName"></param>
<param name="rootElement"></param>
<param name="filename"></param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException.#ctor(System.String,System.String,System.Xml.IXmlLineInfo)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException"/> class.
</summary>
<param name="expectedName"></param>
<param name="actualName"></param>
<param name="lineInfo"></param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException.#ctor(System.String,System.String,System.Xml.IXmlLineInfo,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingRootElementIncorrectNameException"/> class.
</summary>
<param name="expectedName"></param>
<param name="actualName"></param>
<param name="lineInfo"></param>
<param name="filename"></param>
</member>
<member name="T:RSG.Base.Metadata.Exceptions.LoadingTypeParseException">
<summary>
Exception thrown when a type parsing failed
</summary>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingTypeParseException.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingTypeParseException"/> class.
</summary>
<param name="typeName"></param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingTypeParseException.#ctor(System.String,System.Xml.IXmlLineInfo)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingTypeParseException"/> class.
</summary>
<param name="typeName"></param>
<param name="lineInfo"></param>
</member>
<member name="M:RSG.Base.Metadata.Exceptions.LoadingTypeParseException.#ctor(System.String,System.Xml.IXmlLineInfo,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Metadata.Exceptions.LoadingTypeParseException"/> class.
</summary>
<param name="typeName"></param>
<param name="lineInfo"></param>
<param name="filename"></param>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.GetInstanceName">
<summary>
Get the parcodegen name of the instance.
</summary>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.CopyFromObject(System.Object)">
<summary>
Copies member values from an object inheriting from Minimal.UnitTest_SimpleStructure
</summary>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.Reset">
<summary>
Reset the structure to it's Default Values.
</summary>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.Save(System.String)">
<summary>
Serialise this instance to a file.
</summary>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.Save(System.IO.Stream)">
<summary>
Serialise this instance to a stream.
</summary>
<param name="stream">
Stream that contains parCodeGen data.
</param>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.Deserialise(System.Xml.Linq.XElement)">
<summary>
Deserialise the XElement into this object.
</summary>
<param name="xmlElem">
XElement to deserialise.
</param>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.Serialise(System.String)">
<summary>
Serialise this instance to an XElement.
</summary>
<param name="name">
Top-level XElement name.
</param>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.SerialiseWithoutDefault(System.String)">
<summary>
Serialise this instance to an XElement.
</summary>
<param name="name">
Top-level XElement name.
</param>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.SaveWithoutDefault(System.String)">
<summary>
Serialise this instance to a file.
</summary>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.SaveWithoutDefault(System.IO.Stream)">
<summary>
Serialise this instance to a stream.
</summary>
<param name="stream">
Stream that contains parCodeGen data.
</param>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.GetHashCode">
<summary>
Return the hashcode of the instance
</summary>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.Equals(System.Object)">
<summary>
Return the hashcode of the instance
</summary>
</member>
<member name="M:RSG.Base.Metadata.Interfaces.ICodeGenerated.MemberEquals(System.Object)">
<summary>
Check if all members are equals to the members of the object provided
</summary>
</member>
<member name="T:RSG.Base.Metadata.ParCodeGenParser">
<summary>
Helper class to provide utility methods for parsing parCodeGen-compatible
metadata XML.
</summary>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseString(System.Xml.Linq.XElement,System.String,System.String@)">
<summary>
Attempt to parse a String element; return value indicates success or failure.
</summary>
<param name="xmlElem">
Root XML element.
</param>
<param name="elemName">
Sub-element name.
</param>
<param name="value">
Output <see cref="T:System.String"/> value.
</param>
<returns>
true if the element existed; false otherwise.
</returns>
<example>
String commandValue;
ParCodeGenParser.TryParseString(element, "Command", out commandValue);
</example>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseString(System.Xml.Linq.XElement,System.String@)">
<summary>
Attempt to parse a String element; return value indicates success or failure.
</summary>
<param name="xmlElem">
Root XML element.
</param>
<param name="value">
Output <see cref="T:System.String"/> value.
</param>
<returns>
true if the element existed; false otherwise.
</returns>
<example>
String commandValue;
ParCodeGenParser.TryParseString(element, "Command", out commandValue);
</example>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseGuid(System.Xml.Linq.XElement,System.String,System.Guid@)">
<summary>
Attempt to parse a <see cref="T:System.Guid"/> element; return value indicates success or failure.
</summary>
<param name="xmlElem">
Root XML element.
</param>
<param name="elemName">
Sub-element name.
</param>
<param name="value">
Output <see cref="T:System.Guid"/> value.
</param>
<returns>
true if the element existed; false otherwise.
</returns>
<example>
Guid commandValue;
ParCodeGenParser.TryParseGuid(element, "Command", out commandValue);
</example>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseGuid(System.Xml.Linq.XElement,System.Guid@)">
<summary>
Attempt to parse a <see cref="T:System.Guid"/> element; return value indicates success or failure.
</summary>
<param name="xmlElem">
Root XML element.
</param>
<param name="value">
Output <see cref="T:System.Guid"/> value.
</param>
<returns>
true if the element existed; false otherwise.
</returns>
<example>
Guid commandValue;
ParCodeGenParser.TryParseGuid(element, out commandValue);
</example>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseValue(System.Xml.Linq.XElement,System.String,System.Boolean@)">
<summary>
Attempt to parse an bool element; return value indicates success or failure.
</summary>
<param name="xmlElem"></param>
<param name="elemName"></param>
<param name="value"></param>
<returns>
true if the element existed; false otherwise.
</returns>
<example>
bool value;
ParCodeGenParser.TryParseValue(element, "BoolValue", out value);
</example>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseValue(System.Xml.Linq.XElement,System.Boolean@)">
<summary>
Attempt to parse a bool element 'value' attribute; return value indicates
success or failure.
</summary>
<param name="xmlElem">
Parent <see cref="T:System.Xml.Linq.XElement"/>.
</param>
<param name="value">
Output value.
</param>
<returns>
true if the element existed; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseValue(System.Xml.Linq.XElement,System.String,System.Int32@)">
<summary>
Attempt to parse an int element; return value indicates success or failure.
</summary>
<param name="xmlElem"></param>
<param name="elemName"></param>
<param name="value"></param>
<returns>
true if the element existed; false otherwise.
</returns>
<example>
int value;
ParCodeGenParser.TryParseString(element, "IntValue", out value);
</example>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseValue(System.Xml.Linq.XElement,System.Int32@)">
<summary>
Attempt to parse a int element 'value' attribute; return value indicates
success or failure.
</summary>
<param name="xmlElem">
Parent <see cref="T:System.Xml.Linq.XElement"/>.
</param>
<param name="value">
Output value.
</param>
<returns>
true if the element existed; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseValueArray(System.Xml.Linq.XElement,System.String,System.Int32[]@)">
<summary>
Attempt to parse an int array element; return value indicates success or failure.
</summary>
<param name="xmlElem"></param>
<param name="elemName"></param>
<param name="values"></param>
<returns>
true if the element existed; false otherwise.
</returns>
<example>
int[] values;
ParCodeGenParser.TryParseString(element, "IntArray", out values);
</example>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseValue(System.Xml.Linq.XElement,System.String,System.Single@)">
<summary>
Attempt to parse an int element; return value indicates success or failure.
</summary>
<param name="xmlElem"></param>
<param name="elemName"></param>
<param name="value"></param>
<returns>
true if the element existed; false otherwise.
</returns>
<example>
float value;
ParCodeGenParser.TryParseString(element, "FloatValue", out value);
</example>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseValue(System.Xml.Linq.XElement,System.Single@)">
<summary>
Attempt to parse a float element 'value' attribute; return value indicates
success or failure.
</summary>
<param name="xmlElem">
Parent <see cref="T:System.Xml.Linq.XElement"/>.
</param>
<param name="value">
Output value.
</param>
<returns>
true if the element existed; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Metadata.ParCodeGenParser.TryParseValueArray(System.Xml.Linq.XElement,System.String,System.Single[]@)">
<summary>
Attempt to parse an float array element; return value indicates success or failure.
</summary>
<param name="xmlElem"></param>
<param name="elemName"></param>
<param name="values"></param>
<returns>
true if the element existed; false otherwise.
</returns>
<example>
float[] values;
ParCodeGenParser.TryParseString(element, "FloatArray", out values);
</example>
</member>
<member name="T:RSG.Base.Net.IPEndPointFactory">
<summary>
Factory methods to create <see cref="T:System.Net.IPEndPoint"/> objects.
</summary>
</member>
<member name="M:RSG.Base.Net.IPEndPointFactory.Create(System.String)">
<summary>
Create a <see cref="T:System.Net.IPEndPoint"/> from a <see cref="T:System.String"/>.
</summary>
<param name="endPoint">
String to be converted.
</param>
<returns>
<see cref="T:System.Net.IPEndPoint"/> equivalent.
</returns>
<exception cref="T:System.ArgumentException">
Thrown if there was any conversion errors with details about which
part failed.
</exception>
<remarks>
This supports both IPv4 and IPv6.
</remarks>
</member>
<member name="M:RSG.Base.Net.IPEndPointFactory.TryCreate(System.String,System.Net.IPEndPoint@)">
<summary>
Converts the <see cref="T:System.String"/> representation of a IP End Point (ip:port) to
a <see cref="T:System.Net.IPEndPoint"/> instance. A return valuie indicates whether the operation
suceeded.
</summary>
<param name="endPointStr">
String to be converted.
</param>
<param name="endPoint">
When this method returns, contains the <see cref="T:System.Net.IPEndPoint"/> value equivalent of
the string input if the conversion suceeds or null if the conversion failed.
</param>
<returns>
true if conversion was successful; false otherwise.
</returns>
</member>
<member name="T:RSG.Base.Net.IPNetwork">
<summary>
Represents an IP network.
</summary>
</member>
<member name="F:RSG.Base.Net.IPNetwork._network">
<summary>
The private field for the <see cref="P:RSG.Base.Net.IPNetwork.Network"/> property.
</summary>
</member>
<member name="F:RSG.Base.Net.IPNetwork._subnetMask">
<summary>
The private field for the <see cref="P:RSG.Base.Net.IPNetwork.SubnetMask"/> property.
</summary>
</member>
<member name="M:RSG.Base.Net.IPNetwork.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Net.IPNetwork"/> class using the specified
CIDR notation string.
</summary>
<param name="cidrNotation">
The string value containing the CIDR notation for this IP network.
</param>
</member>
<member name="P:RSG.Base.Net.IPNetwork.Network">
<summary>
The network address for this network.
</summary>
</member>
<member name="P:RSG.Base.Net.IPNetwork.SubnetMask">
<summary>
The subnet mask that applies to this network.
</summary>
</member>
<member name="M:RSG.Base.Net.IPNetwork.ContainsAddress(System.Net.IPAddress)">
<summary>
Returns a value indicating whether the specified IP address is part of this network.
</summary>
<param name="address"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Net.IRestQuery">
<summary>
REST query interface.
</summary>
</member>
<member name="P:RSG.Base.Net.IRestQuery.QueryUri">
<summary>
Uri for REST query.
</summary>
</member>
<member name="P:RSG.Base.Net.IRestQuery.Method">
<summary>
REST HTTP method.
</summary>
</member>
<member name="P:RSG.Base.Net.IRestQuery.ContentType">
<summary>
Content-type for PUT/POST data.
</summary>
</member>
<member name="P:RSG.Base.Net.IRestQuery.Data">
<summary>
REST POST/PUT data.
</summary>
</member>
<member name="T:RSG.Base.Net.MimeContentType">
<summary>
Enumeration for the types of attachments. This is a small subset of all MIME content types and represented every type currently attached
to a bug in Bugstar at the time of writing.
https://en.wikipedia.org/wiki/MIME
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.DefaultBinary">
<summary>
Unknown binary data.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.DefaultText">
<summary>
Unknown text data.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.MicrosoftWord">
<summary>
Microsoft Word document.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.BinaryStream">
<summary>
Binary stream.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Pdf">
<summary>
Adobe Portable Document Format.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.OpenPgp">
<summary>
OpenPGP Encrypted.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.PostSript">
<summary>
PostScript.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Lotus123">
<summary>
Lotus 1-2-3.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.ArjArchive">
<summary>
ARJ Archive.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.CoreDump">
<summary>
Core Dump.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.WindowsExecutable">
<summary>
DOS/Windows Executable.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Executable">
<summary>
Executable.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.GzipArchive">
<summary>
GZIP Compressed Archive.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.RarArchive">
<summary>
RAR Compressed Archive.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.ShellScript">
<summary>
Shell Script.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Flash">
<summary>
Adobe Flash.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Tfm">
<summary>
TeX Font Metrics
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.ZipArchive">
<summary>
ZIP archive.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Mpeg4">
<summary>
MPEG-4 standard.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Mpeg">
<summary>
MPEG-1 standard.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Aiff">
<summary>
Audio Interchange File Format.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Wav">
<summary>
Waveform Audio.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Gif">
<summary>
Graphics Interchange Format.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Jp2">
<summary>
JPEG 2000 standard.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Jpeg">
<summary>
JPEG standard.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Png">
<summary>
Portable network graphics format.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Tiff">
<summary>
Tagged Image File Format.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Psd">
<summary>
Photoshop Image.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Bmp">
<summary>
Bitmap format.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Netpbm">
<summary>
Portable Bitmap.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.InternetMessageFormat">
<summary>
Internet message format.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Html">
<summary>
HyperText Markup Language.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Rtf">
<summary>
Rich Text Format.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Xml">
<summary>
Extensible Markup Language.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.ThreeGpp">
<summary>
3GPP Audio/Video.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Mp2">
<summary>
MPEG-2 encoding.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Mp4">
<summary>
MPEG-4 encoding.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Mov">
<summary>
Quicktime File Format.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Flv">
<summary>
Macromedia Flash FLV File Format.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Avi">
<summary>
Audio Video Interleave File.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.Sgi">
<summary>
Silicon Graphics Image.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeContentType.UnkownVideo">
<summary>
Unknown Video Format.
</summary>
</member>
<member name="T:RSG.Base.Net.MimeType">
<summary>
Enumeration of Mime categories.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeType.Application">
<summary>
Application category.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeType.Audio">
<summary>
Audio category.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeType.Image">
<summary>
Image category.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeType.Message">
<summary>
Message category.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeType.Text">
<summary>
Text category.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeType.Video">
<summary>
Video category.
</summary>
</member>
<member name="F:RSG.Base.Net.MimeType.Unknown">
<summary>
Category unknown.
</summary>
</member>
<member name="M:RSG.Base.Net.cRemoteConsole.#ctor">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Net.cRemoteConsole.Connect(System.String,System.Int32)">
<summary>
</summary>
<param name="hostname"></param>
<param name="port"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Net.cRemoteConsole.IsConnected">
<summary>
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Net.cRemoteConsole.SendCommand(System.String)">
<summary>
</summary>
<param name="command"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Net.cRemoteConsole.PressWidgetButton(System.String)">
<summary>
Simulates a button press on the RAG user interface.
</summary>
<param name="widgetName"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Net.cRemoteConsole.AddUpdates(System.String)">
<summary>
A special command to RAG that activates a particular bank.
This is necessary for widgets to be operated upon via a remote connection
when they are not visible in the actual RAG user interface.
</summary>
<param name="bankName"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Net.cRemoteConsole.RemoveUpdates(System.String)">
<summary>
A special command to RAG that deactivates a bank.
</summary>
<param name="bankName"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Net.RequestMethod">
<summary>
HTTP request method used in our <see cref="T:RSG.Base.Net.RestConnection" /> implementation.
</summary>
</member>
<member name="F:RSG.Base.Net.RequestMethod.GET">
<summary>
HTTP GET request.
</summary>
</member>
<member name="F:RSG.Base.Net.RequestMethod.POST">
<summary>
HTTP POST request.
</summary>
</member>
<member name="F:RSG.Base.Net.RequestMethod.PUT">
<summary>
HTTP PUT request.
</summary>
</member>
<member name="F:RSG.Base.Net.RequestMethod.DELETE">
<summary>
HTTP DELETE request.
</summary>
</member>
<member name="T:RSG.Base.Net.RestConnection">
<summary>
Abstract base class for a rest connection
</summary>
</member>
<member name="M:RSG.Base.Net.RestConnection.#cctor">
<summary>
Static constructor for setting the certificate validation callback
</summary>
</member>
<member name="P:RSG.Base.Net.RestConnection.LoginRequired">
<summary>
Gets a value indicating whether the rest connection requires you to login.
</summary>
</member>
<member name="P:RSG.Base.Net.RestConnection.LoginCredentials">
<summary>
Gets or sets the login credentials that are to be used with this connection.
</summary>
</member>
<member name="P:RSG.Base.Net.RestConnection.LoginQuery">
<summary>
Gets the query to use for performing the initial login.
</summary>
</member>
<member name="P:RSG.Base.Net.RestConnection.UserAgent">
<summary>
Gets or sets the HTTP header user agent.
</summary>
</member>
<member name="M:RSG.Base.Net.RestConnection.IsValidConnection">
<summary>
Indicates whether the connection is valid
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Net.RestConnection.Login(RSG.Base.Logging.ILog,System.String,System.String,System.String)">
<summary>
Attempts to connect to server with the supplied username/password.
</summary>
<param name="log">
Log object.
</param>
<param name="username">
User's username.
</param>
<param name="password">
User's password.
</param>
<param name="domain">
User's domain.
</param>
</member>
<member name="M:RSG.Base.Net.RestConnection.CreateWebRequest(RSG.Base.Net.IRestQuery)">
<summary>
Create an <see cref="T:System.Net.HttpWebRequest"/> that will include an authentication token
if required.
</summary>
<param name="query">
Query object.
</param>
<returns>
A new instance of <see cref="T:System.Net.HttpWebRequest"/>.
</returns>
</member>
<member name="M:RSG.Base.Net.RestConnection.Login(System.String,System.String,System.String)">
<summary>
Attempts to connect to server with the supplied username/password.
</summary>
<param name="username">
User's username.
</param>
<param name="password">
User's password.
</param>
<param name="domain">
User's domain.
</param>
</member>
<member name="M:RSG.Base.Net.RestConnection.Login(System.String)">
<summary>
Sets the login credential to a pre-encoded value. Useful for read-only connections.
</summary>
<param name="encodedCredential">
Pre-encoded credential.
</param>
</member>
<member name="M:RSG.Base.Net.RestConnection.RunQuery(RSG.Base.Logging.ILog,RSG.Base.Net.IRestQuery)">
<summary>
Sends a query to the REST service.
</summary>
<param name="log">
Log object.
</param>
<param name="query"></param>
<returns>Stream containing the results from the query</returns>
<remarks>
Note that it is important to properly dispose of the returned stream as failure
to do so could result in the application running out of connections.
</remarks>
</member>
<member name="M:RSG.Base.Net.RestConnection.RunQuery(RSG.Base.Net.IRestQuery)">
<summary>
Sends a query to the REST service.
</summary>
<param name="query">
The query to run.
</param>
<returns>Stream containing the results from the query</returns>
<remarks>
Note that it is important to properly dispose of the returned stream as failure
to do so could result in the application running out of connections.
</remarks>
</member>
<member name="M:RSG.Base.Net.RestConnection.RunQuery(System.Net.HttpWebRequest)">
<summary>
Sends a raw request to the REST service.
</summary>
<param name="http">
The request to run.
</param>
<returns>Stream containing the results from the query</returns>
<remarks>
Note that it is important to properly dispose of the returned stream as failure
to do so could result in the application running out of connections.
</remarks>
</member>
<member name="M:RSG.Base.Net.RestConnection.RunQueryAsync(RSG.Base.Net.IRestQuery)">
<summary>
Asynchronously sends a query to the REST service returning the resulting stream
of data.
</summary>
<param name="query">
The query to run.
</param>
<returns>
The task object representing the asynchronous operation.
</returns>
</member>
<member name="M:RSG.Base.Net.RestConnection.RunQueryAsync(System.Net.HttpWebRequest)">
<summary>
Asycnrhonously Sends a raw request to the REST service.
</summary>
<param name="http">
The request to run.
</param>
<returns>Stream containing the results from the query</returns>
<remarks>
Note that it is important to properly dispose of the returned stream as failure
to do so could result in the application running out of connections.
</remarks>
</member>
<member name="M:RSG.Base.Net.RestConnection.IsServerAvailable(RSG.Base.Net.IRestQuery)">
<summary>
Pings REST service to see if we should be able to run rest queries on it
</summary>
<returns></returns>
</member>
<member name="T:RSG.Base.Net.RestException">
<summary>
Base exception for REST queries.
</summary>
</member>
<member name="T:RSG.Base.Net.ServerUnavailableException">
<summary>
Exception: Server/Service is unavailable
</summary>
</member>
<member name="T:RSG.Base.Net.InvalidLoginException">
<summary>
Exception: Invalid login credentials.
</summary>
</member>
<member name="M:RSG.Base.Net.InvalidLoginException.#ctor(System.String,System.Exception)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Net.InvalidLoginException"/> class.
</summary>
<param name="message"></param>
<param name="innerException"></param>
</member>
<member name="P:RSG.Base.Net.InvalidLoginException.Message">
<summary>
Gets the error message for the exception.
</summary>
</member>
<member name="T:RSG.Base.Net.BadRequestException">
<summary>
Exception: Error running REST command!
Indicates that one of the parameters was wrong
</summary>
</member>
<member name="P:RSG.Base.Net.BadRequestException.Message">
<summary>
Gets the error message for the exception.
</summary>
</member>
<member name="T:RSG.Base.Net.NotFoundException">
<summary>
Exception: Error running REST command
The URL requested was not found
</summary>
</member>
<member name="P:RSG.Base.Net.NotFoundException.Message">
<summary>
Gets the error message for the exception.
</summary>
</member>
<member name="T:RSG.Base.Net.MethodNotAllowedException">
<summary>
Exception: Error running REST command
The method was not supported (e.g. POST used instead of PUT)
</summary>
</member>
<member name="P:RSG.Base.Net.MethodNotAllowedException.Message">
<summary>
Gets the error message for the exception.
</summary>
</member>
<member name="T:RSG.Base.Net.InternalServerException">
<summary>
Exception: Error running REST command
An internal server exception occurred while processing the command
</summary>
</member>
<member name="P:RSG.Base.Net.InternalServerException.Message">
<summary>
Gets the error message for the exception.
</summary>
</member>
<member name="T:RSG.Base.Net.RestQuery">
<summary>
Abstract base class for a query that will be executed on a rest service
</summary>
</member>
<member name="M:RSG.Base.Net.RestQuery.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Net.RestQuery"/> class.
</summary>
</member>
<member name="M:RSG.Base.Net.RestQuery.#ctor(System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Net.RestQuery"/> class.
</summary>
<param name="query">
Base query.
</param>
</member>
<member name="M:RSG.Base.Net.RestQuery.#ctor(System.String,RSG.Base.Net.RequestMethod)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Net.RestQuery"/> class.
</summary>
<param name="query">
Base query.
</param>
<param name="method">
Query <see cref="T:RSG.Base.Net.RequestMethod"/>.
</param>
</member>
<member name="M:RSG.Base.Net.RestQuery.#ctor(System.String,RSG.Base.Net.RequestMethod,System.String)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Net.RestQuery"/> class.
</summary>
<param name="query">
Base query.
</param>
<param name="method">
Query <see cref="T:RSG.Base.Net.RequestMethod"/>.
</param>
<param name="data">
Data string for query.
</param>
</member>
<member name="M:RSG.Base.Net.RestQuery.#ctor(RSG.Base.Net.RestQuery)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Net.RestQuery"/> class.
</summary>
<param name="baseQuery">
Base query.
</param>
</member>
<member name="M:RSG.Base.Net.RestQuery.#ctor(RSG.Base.Net.RestQuery,System.String)">
<summary>
Constructs a new query based on a base query and the passed in relative query
</summary>
<param name="baseQuery">
Base query.
</param>
<param name="relativeQuery">
relative query.
</param>
</member>
<member name="P:RSG.Base.Net.RestQuery.QueryString">
<summary>
Gets or sets the base url to use for the query
</summary>
</member>
<member name="P:RSG.Base.Net.RestQuery.Method">
<summary>
Gets or sets how the parameters will be sent to the bugstar service
</summary>
</member>
<member name="P:RSG.Base.Net.RestQuery.ContentType">
<summary>
Gets or sets the Content-type for PUT/POST data.
</summary>
</member>
<member name="P:RSG.Base.Net.RestQuery.Parameters">
<summary>
Gets or sets the dictionary containing any "get/post" parameters
</summary>
</member>
<member name="P:RSG.Base.Net.RestQuery.QueryUri">
<summary>
Gets the <see cref="T:System.Uri"/> to use for communicating with bugstar
</summary>
</member>
<member name="P:RSG.Base.Net.RestQuery.Data">
<summary>
Gets or sets the Post/Put data.
</summary>
</member>
<member name="P:RSG.Base.Net.RestQuery.Server">
<summary>
Gets the server to connect to
</summary>
</member>
<member name="P:RSG.Base.Net.RestQuery.UseHttps">
<summary>
Gets a value indicating whether we should use https to connect to the server
</summary>
</member>
<member name="P:RSG.Base.Net.RestQuery.Port">
<summary>
Gets the port to connect on
</summary>
</member>
<member name="P:RSG.Base.Net.RestQuery.Service">
<summary>
Gets the REST service to use
</summary>
</member>
<member name="M:RSG.Base.Net.RestQuery.ToString">
<inheritdoc />
</member>
<member name="T:RSG.Base.Net.SubnetMask">
<summary>
Methods and constants for dealing with IPv4 subnet masks.
</summary>
<remarks>
References:
http://blogs.msdn.com/b/knom/archive/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks.aspx
http://en.wikipedia.org/wiki/Subnetwork
http://stackoverflow.com/questions/1499269/how-to-check-if-an-ip-address-is-within-a-particular-subnet
</remarks>
</member>
<member name="F:RSG.Base.Net.SubnetMask.ClassA">
<summary>
Class A network subnet mask.
</summary>
</member>
<member name="F:RSG.Base.Net.SubnetMask.ClassB">
<summary>
Class B network subnet mask.
</summary>
</member>
<member name="F:RSG.Base.Net.SubnetMask.ClassC">
<summary>
Class C network subnet mask.
</summary>
</member>
<member name="M:RSG.Base.Net.SubnetMask.Create(System.String)">
<summary>
Create from CIDR notation (subnet/mask, e.g. 192.168.1.0/24).
</summary>
<param name="cidrNotation">
String CIDR notation; e.g. "192.168.1.0/24".
</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Net.SubnetMask.CreateByHostBitLength(System.Int32)">
<summary>
</summary>
<param name="hostpartLength"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Net.SubnetMask.CreateByNetBitLength(System.Int32)">
<summary>
</summary>
<param name="netpartLength"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Net.SubnetMask.CreateByHostNumber(System.Int32)">
<summary>
</summary>
<param name="numberOfHosts"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.OS.ArgPresence">
<summary>
This determines whether the command-line option is required or optional.
</summary>
</member>
<member name="F:RSG.Base.OS.ArgPresence.Optional">
<summary>
Argument option is optional
</summary>
</member>
<member name="F:RSG.Base.OS.ArgPresence.Mandatory">
<summary>
Argument presence is mandatory and the appplication will fail without it
</summary>
</member>
<member name="F:RSG.Base.OS.ArgPresence.DeprecatedWarning">
<summary>
Argument presence is deprecated and the appplication will warn about it's usage
</summary>
</member>
<member name="F:RSG.Base.OS.ArgPresence.DeprecatedError">
<summary>
Argument presence is deprecated and the appplication will error about it's usage
</summary>
</member>
<member name="T:RSG.Base.OS.ExitCode">
<summary>
Process exit code constants.
</summary>
</member>
<member name="F:RSG.Base.OS.ExitCode.Success">
<summary>
Console application successful exit return code.
</summary>
</member>
<member name="F:RSG.Base.OS.ExitCode.Failure">
<summary>
Console application failure exit return code.
</summary>
</member>
<member name="F:RSG.Base.OS.ExitCode.SingleInstanceRunning">
<summary>
Bit flag to indicate that a single instance of an application is already
running.
</summary>
</member>
<member name="F:RSG.Base.OS.ExitCode.Restart">
<summary>
Bit flag to indicate the application wishes to resume after exit.
</summary>
</member>
<member name="T:RSG.Base.OS.Getopt">
<summary>
Command line argument parser.
</summary>
</member>
<member name="F:RSG.Base.OS.Getopt.ResponseFilePrefix">
<summary>
Response file prefix.
</summary>
</member>
<member name="F:RSG.Base.OS.Getopt._arguments">
<summary>
The private field for the <see cref="P:RSG.Base.OS.Getopt.Arguments"/> property.
</summary>
</member>
<member name="F:RSG.Base.OS.Getopt._availableOptions">
<summary>
The private field for the <see cref="P:RSG.Base.OS.Getopt.AvailableOptions"/> property.
</summary>
</member>
<member name="F:RSG.Base.OS.Getopt._options">
<summary>
The private field for the <see cref="P:RSG.Base.OS.Getopt.Options"/> property.
</summary>
</member>
<member name="F:RSG.Base.OS.Getopt._longOpts">
<summary>
Available long options.
</summary>
</member>
<member name="F:RSG.Base.OS.Getopt._trailingArgumentDefinitions">
<summary>
The trailing arguments.
</summary>
</member>
<member name="M:RSG.Base.OS.Getopt.#ctor(System.String[],RSG.Base.OS.LongOption[],System.Boolean)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.OS.Getopt"/> class.
</summary>
<param name="args">Argv array as from Main</param>
<param name="options">Array of option objects</param>
<param name="throwOnError">
A value indicating whether exceptions should be thrown if any of the supplied args
are invalid.
</param>
<exception cref="T:System.ArgumentException"/>
</member>
<member name="P:RSG.Base.OS.Getopt.Arguments">
<summary>
Gets the array of arguments passed from the application entry-point.
</summary>
</member>
<member name="P:RSG.Base.OS.Getopt.AvailableOptions">
<summary>
Gets the array of <see cref="T:RSG.Base.OS.LongOption"/> objects the application supports.
</summary>
</member>
<member name="P:RSG.Base.OS.Getopt.Options">
<summary>
Gets the parsed options for the application.
</summary>
</member>
<member name="P:RSG.Base.OS.Getopt.TrailingOptions">
<summary>
Gets the trailing options for the application.
</summary>
</member>
<member name="P:RSG.Base.OS.Getopt.Item(System.String)">
<summary>
String long option argument indexer.
</summary>
<param name="arg"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.OS.Getopt.HasOption(System.String)">
<summary>
Determine whether we have a specific long option argument specified.
</summary>
<param name="arg"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.OS.Getopt.Usage">
<summary>
Return usage strings.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.OS.Getopt.Usage(System.String,System.String)">
<summary>
Return usage strings.
</summary>
<param name="trailingArgName"></param>
<param name="trailingArgDescription"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.OS.Getopt.RegisterTrailingArgumentsDefinition(RSG.Base.OS.TrailingArgument[])">
<summary>
Register custom usage arguments (trailing options)
</summary>
</member>
<member name="M:RSG.Base.OS.Getopt.FormatUsage(System.Text.StringBuilder,System.String,System.String)">
<summary>
Append argument line with right formating.
</summary>
<param name="sb"></param>
<param name="name"></param>
<param name="description"></param>
</member>
<member name="M:RSG.Base.OS.Getopt.IsArgument(System.String)">
<summary>
Check if the string is an argument
</summary>
<param name="potentialArgument">
string that will be checked.
</param>
<exception cref="T:System.ArgumentException"/>
</member>
<member name="M:RSG.Base.OS.Getopt.IsResponseFile(System.String)">
<summary>
Check if the string is a response file.
</summary>
<param name="potentialResponseFile">
string that will be checked.
</param>
<returns>
true if the argument is a response file; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.OS.Getopt.Parse(RSG.Base.OS.ParseFlags)">
<summary>
Parse specified command line arguments and populate Options dict.
</summary>
<param name="parseFlags">
A value indicating some parse options (<see cref="T:RSG.Base.OS.ParseFlags"/>).
</param>
<exception cref="T:System.ArgumentException"/>
</member>
<member name="M:RSG.Base.OS.Getopt.Parse(System.String[],RSG.Base.OS.ParseFlags,System.Collections.Generic.IList{System.String}@,System.Boolean@)">
<summary>
Parse specified command-line arguments and populate Options dict.
</summary>
<param name="arguments">
Argument array to parse.
</param>
<param name="parseFlags">
A value indicating some parse options (<see cref="T:RSG.Base.OS.ParseFlags"/>).
</param>
<param name="trailingArguments">
List of trailing arguments.
</param>
<param name="trailingOpts">
Value to indicate whether we have switched to trailing arguments.
</param>
<exception cref="T:System.ArgumentException"/>
</member>
<member name="M:RSG.Base.OS.Getopt.ParseArgName(System.String)">
<summary>
Parses the argument name from a raw argument string.
</summary>
<param name="arg">The raw arg string that contains prefix.</param>
<returns>The argument name.</returns>
</member>
<member name="M:RSG.Base.OS.Getopt.GetNextArg(System.Int32,System.String[])">
<summary>
Gets the next argument in the argument array.
</summary>
<param name="nArg">The current argument index.</param>
<param name="arguments">The argument array.</param>
<returns>The next argument; Otherwise <see cref="F:System.String.Empty"/> if there isn't another argument.</returns>
</member>
<member name="T:RSG.Base.OS.GetoptCommandLineArgumentAdapter">
<summary>
Adapter for exposing the command line information from a <see cref="T:RSG.Base.OS.Getopt"/> instance as an instance of
<see cref="T:RSG.Base.OS.ICommandLineArgumentProvider"/>.
</summary>
</member>
<member name="M:RSG.Base.OS.GetoptCommandLineArgumentAdapter.#ctor(RSG.Base.OS.Getopt)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.OS.GetoptCommandLineArgumentAdapter"/> using the specified
<see cref="T:RSG.Base.OS.Getopt"/> instance.
</summary>
<param name="options">
The options this adapter is wrapping.
</param>
</member>
<member name="P:RSG.Base.OS.GetoptCommandLineArgumentAdapter.Item(System.String)">
<inheritdoc />
</member>
<member name="P:RSG.Base.OS.GetoptCommandLineArgumentAdapter.TrailingArguments">
<inheritdoc />
</member>
<member name="M:RSG.Base.OS.GetoptCommandLineArgumentAdapter.ContainsOption(System.String)">
<inheritdoc />
</member>
<member name="T:RSG.Base.OS.GetoptsValidator">
<summary>
Class which provides validations for Getopts
</summary>
</member>
<member name="M:RSG.Base.OS.GetoptsValidator.AllMandatoryArgumentsArePresent(RSG.Base.Logging.ILog,System.Collections.Generic.IList{RSG.Base.OS.LongOption},RSG.Base.OS.Getopt)">
<summary>
Validate that required arguments are present
</summary>
<param name="log">Log object.</param>
<param name="options">The options that the command supports.</param>
<param name="commandLineArgs">The command line arguments passed.</param>
<returns>True if all mandatory args are present, else False</returns>
</member>
<member name="T:RSG.Base.OS.ICommandLineArgumentProvider">
<summary>
Command-line argument service interface.
</summary>
</member>
<member name="P:RSG.Base.OS.ICommandLineArgumentProvider.Item(System.String)">
<summary>
Return option.
</summary>
<param name="opt"></param>
<returns></returns>
</member>
<member name="P:RSG.Base.OS.ICommandLineArgumentProvider.TrailingArguments">
<summary>
Trailing string arguments.
</summary>
</member>
<member name="M:RSG.Base.OS.ICommandLineArgumentProvider.ContainsOption(System.String)">
<summary>
Return whether we contain a specified option.
</summary>
<param name="opt"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.OS.LongOption">
<summary>
</summary>
</member>
<member name="T:RSG.Base.OS.LongOption.ArgType">
<summary>
This determines the argument parameter type.
</summary>
</member>
<member name="F:RSG.Base.OS.LongOption.ArgType.None">
<summary>
No argument option (e.g. boolean flag toggled option).
</summary>
</member>
<member name="F:RSG.Base.OS.LongOption.ArgType.Optional">
<summary>
Argument option is optional (e.g. -argument=*value*).
</summary>
</member>
<member name="F:RSG.Base.OS.LongOption.ArgType.Required">
<summary>
Argument option is required (e.g. -argument=*value*).
</summary>
</member>
<member name="F:RSG.Base.OS.LongOption.ArgType.SubArgs">
<summary>
Argument option will contain sub arguments (eg -argument="-subArgument")
</summary>
<remarks>
This option is useful for tools that invoke another tool and require arguments to be pushed down the line
</remarks>
</member>
<member name="M:RSG.Base.OS.LongOption.#ctor(System.String,RSG.Base.OS.LongOption.ArgType,System.String)">
<summary>
Constructor; specifying optional description string.
</summary>
<param name="longopt"></param>
<param name="optarg"></param>
<param name="desc"></param>
</member>
<member name="M:RSG.Base.OS.LongOption.#ctor(System.String,RSG.Base.OS.LongOption.ArgType,System.String,RSG.Base.OS.ArgPresence)">
<summary>
Constructor with presence specified
</summary>
<param name="longopt"></param>
<param name="optarg"></param>
<param name="desc"></param>
<param name="presence"></param>
</member>
<member name="T:RSG.Base.OS.OptionSet">
<summary>
Class responsible for the storage of Option sets used for preventing conflicting options to be provided
</summary>
</member>
<member name="P:RSG.Base.OS.OptionSet.First">
<summary>
First Option of the set
</summary>
</member>
<member name="P:RSG.Base.OS.OptionSet.Second">
<summary>
Second Option of the set
</summary>
</member>
<member name="P:RSG.Base.OS.OptionSet.Description">
<summary>
Description of the set
</summary>
</member>
<member name="M:RSG.Base.OS.OptionSet.#ctor(RSG.Base.OS.LongOption,RSG.Base.OS.LongOption,System.String)">
<summary>
Create an option set
</summary>
<param name="first">first option from the set</param>
<param name="second">second option from the set</param>
<param name="description">description of the </param>
</member>
<member name="T:RSG.Base.OS.OptionSetValidator">
<summary>
Validator for set of options
</summary>
</member>
<member name="T:RSG.Base.OS.ParseFlags">
<summary>
Enumeration defining flags for <see cref="T:RSG.Base.OS.Getopt"/> parsing.
</summary>
</member>
<member name="F:RSG.Base.OS.ParseFlags.None">
<summary>
No parse flags.
</summary>
</member>
<member name="F:RSG.Base.OS.ParseFlags.ThrowOnError">
<summary>
Value indicating to throw an exception on error.
</summary>
</member>
<member name="F:RSG.Base.OS.ParseFlags.FromResponseFile">
<summary>
Value indicating parsing from a response file.
</summary>
</member>
<member name="T:RSG.Base.OS.TrailingArgument">
<summary>
Used for storing Custom Usage argument. It's the trailing options
that we want to see in show usage documentation
</summary>
</member>
<member name="M:RSG.Base.OS.TrailingArgument.#ctor(System.String,System.String,RSG.Base.OS.ArgPresence)">
<summary>
constructor taking trailing arg name and description
</summary>
<param name="trailingArgName"></param>
<param name="trailingArgDescription"></param>
</member>
<member name="T:RSG.Base.ProcessHandler">
<summary>
Handles creating, running, and logging from a <see cref="T:System.Diagnostics.Process"/>.
</summary>
</member>
<member name="F:RSG.Base.ProcessHandler._stdoutHandler">
<summary>
For running processes via event handlers this is the stdout handling method that we wish to call.
</summary>
</member>
<member name="F:RSG.Base.ProcessHandler._stderrHandler">
<summary>
For running processes via event handlers this is the stderr handling method that we wish to call.
</summary>
</member>
<member name="F:RSG.Base.ProcessHandler._log">
<summary>
The log object that is made available to the stream handling in the event handler.
</summary>
</member>
<member name="F:RSG.Base.ProcessHandler._logCtx">
<summary>
Log context.
</summary>
</member>
<member name="F:RSG.Base.ProcessHandler._verboseLogging">
<summary>
Flag indicating extra logging will display, such as warnings.
</summary>
</member>
<member name="M:RSG.Base.ProcessHandler.#ctor(RSG.Base.Logging.ILog,System.String,System.Boolean,System.Action{RSG.Base.Logging.ILog,System.Object},System.Action{RSG.Base.Logging.ILog,System.Object})">
<summary>
Constructs a handler that will log with a process.
</summary>
<param name="log">
Log object.
</param>
<param name="logCtx">
Log context.
</param>
<param name="verbose">
Value indicating whether we enable verbose logging.
</param>
<param name="stdoutFunc">
Handler for stdout.
</param>
<param name="stderrFunc">
Handler for stderr.
</param>
</member>
<member name="M:RSG.Base.ProcessHandler.CreateProcess(System.Collections.Generic.IDictionary{System.String,System.String},System.String,System.String,System.Boolean)">
<summary>
Creates a process
- supports environment
</summary>
<param name="environment">
Environment variable key/value pairs to add to process.
</param>
<param name="executable">
Executable file path.
</param>
<param name="args">
Executable arguments.
</param>
<param name="shellExecute">
Value indicating whether to use Shell Execute or not.
</param>
<returns>
A new <see cref="T:System.Diagnostics.Process"/> object.
</returns>
</member>
<member name="M:RSG.Base.ProcessHandler.RunProcess(System.Diagnostics.Process,System.Boolean,System.Int32)">
<summary>
Runs a process
- blocks on process completion
- runs optional stdout and stderr threads to capture output streams
</summary>
<param name="process">
<see cref="T:System.Diagnostics.Process"/> objetc to execute.
</param>
<param name="waitForExit">
Value indicating whether to wait for the process to exit before returning.
</param>
<param name="timeoutMinutes">
Timeout value in minutes.
</param>
</member>
<member name="M:RSG.Base.ProcessHandler.RunProcessAsync(System.Diagnostics.Process,System.Boolean,System.Int32)">
<summary>
Runs a process asynchronously
- awaits process completion
- runs optional stdout and stderr threads to capture output streams
</summary>
<remarks>
This could replace RunProcess, but is duplicated instead for reduced risk.
</remarks>
<param name="process">
<see cref="T:System.Diagnostics.Process"/> objetc to execute.
</param>
<param name="waitForExit">
Value indicating whether to wait for the process to exit before returning.
</param>
<param name="timeoutMinutes">
Timeout value in minutes.
</param>
<returns>
A <see cref="T:System.Threading.Tasks.Task"/> object.
</returns>
</member>
<member name="M:RSG.Base.ProcessHandler.CaptureOutputEventHandler(System.Object,System.Diagnostics.DataReceivedEventArgs)">
<summary>
Event handler for stdout capture
- calls the handler method for stdout
</summary>
<param name="sender">
Event source.
</param>
<param name="e">
Event arguments.
</param>
</member>
<member name="M:RSG.Base.ProcessHandler.CaptureErrorEventHandler(System.Object,System.Diagnostics.DataReceivedEventArgs)">
<summary>
Event handler for stderr capture
</summary>
<param name="sender">
Event source.
</param>
<param name="e">
Event arguments.
</param>
</member>
<member name="T:RSG.Base.Reflection.AssemblyInfo">
<summary>
Class to read assembly information into convenient properties.
</summary>
Constructors available for particular Assembly; defaulting to the
application entry assembly.
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.Title">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.Description">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.Configuration">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.Company">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.Product">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.Copyright">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.Trademark">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.FileVersion">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.DebugFlags">
<summary>
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.ComVisible">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Reflection.AssemblyInfo.#ctor">
<summary>
Default constructor (uses entry Assembly).
</summary>
</member>
<member name="M:RSG.Base.Reflection.AssemblyInfo.#ctor(System.Reflection.Assembly)">
<summary>
Constructor, specifying Assembly object.
</summary>
<param name="ass"></param>
</member>
<member name="M:RSG.Base.Reflection.AssemblyInfo.Init(System.Reflection.Assembly)">
<summary>
Initial member properties based on passed in Assembly.
</summary>
<param name="ass"></param>
</member>
<member name="M:RSG.Base.Reflection.AssemblyInfo.GetBuildTime(System.Reflection.Assembly,System.String)">
<summary>
Gets the time the specified assembly was built in the specified time zone.
</summary>
<param name="assembly">
The assembly to retrieve the information from.
</param>
<param name="timeZoneId">
The time zone identifier that corresponds to the time zone information to retrieve
the build time in.
</param>
<returns>
The build time of the specified assembly.
</returns>
</member>
<member name="M:RSG.Base.Reflection.AssemblyInfo.GetConfiguration(System.Reflection.Assembly,System.String)">
<summary>
Gets the configuration attribute value for the specified assembly or the specified
default value if the attribute is missing.
</summary>
<param name="assembly">
The assembly to retrieve the information from.
</param>
<param name="defaultValue">
The value returned if the specified assembly doesn't have a copyright attribute.
</param>
<returns>
The configuration text of the specified assembly.
</returns>
</member>
<member name="M:RSG.Base.Reflection.AssemblyInfo.GetEdition(System.Reflection.Assembly)">
<summary>
Gets a string that indicates whether the specified assembly is built for x64 or
x86. If AnyCPU is specified it returns the running processes architecture.
</summary>
<param name="assembly">
The assembly to retrieve the information from.
</param>
<returns>
The architecture edition of the specified assembly.
</returns>
</member>
<member name="T:RSG.Base.Reflection.AssemblyInfo.ImageFileHeader">
<summary>
Represents the COFF header format.
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.ImageFileHeader.Machine">
<summary>
Gets or sets the architecture type of the computer.
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.ImageFileHeader.NumberOfSections">
<summary>
Gets or sets the number of sections. This indicates the size of the section
table, which immediately follows the headers.
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.ImageFileHeader.TimeDateStamp">
<summary>
Gets or sets the low 32 bits of the time stamp of the image. This represents
the date and time the image was created by the linker. The value is represented
in the number of seconds elapsed since midnight (00:00:00), January 1, 1970,
Universal Coordinated Time, according to the system clock.
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.ImageFileHeader.PointerToSymbolTable">
<summary>
Gets or sets the offset of the symbol table, in bytes, or zero if no COFF
symbol table exists.
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.ImageFileHeader.NumberOfSymbols">
<summary>
Gets or sets the number of symbols in the symbol table.
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.ImageFileHeader.SizeOfOptionalHeader">
<summary>
Gets or sets the size of the optional header, in bytes.
</summary>
</member>
<member name="P:RSG.Base.Reflection.AssemblyInfo.ImageFileHeader.Characteristics">
<summary>
Gets or sets the characteristics of the image.
</summary>
</member>
<member name="T:RSG.Base.Reflection.ListItemPropertyDescriptor">
<summary>
List item property desc.
</summary>
</member>
<member name="M:RSG.Base.Reflection.ListItemPropertyDescriptor.#ctor(System.Collections.IList,System.Int32,System.String,System.Boolean)">
<summary>
Creates a new instance of <see cref="T:RSG.Base.Reflection.ListItemPropertyDescriptor"/>
</summary>
<param name="list">List the item belongs to.</param>
<param name="index">Index of item</param>
<param name="displayName">Display name.</param>
<param name="isReadOnly">Indicates if the item is read only or not</param>
</member>
<member name="P:RSG.Base.Reflection.ListItemPropertyDescriptor.ComponentType">
<inheritdoc/>
</member>
<member name="P:RSG.Base.Reflection.ListItemPropertyDescriptor.DisplayName">
<inheritdoc/>
</member>
<member name="P:RSG.Base.Reflection.ListItemPropertyDescriptor.IsReadOnly">
<inheritdoc/>
</member>
<member name="P:RSG.Base.Reflection.ListItemPropertyDescriptor.Name">
<inheritdoc/>
</member>
<member name="P:RSG.Base.Reflection.ListItemPropertyDescriptor.PropertyType">
<inheritdoc/>
</member>
<member name="P:RSG.Base.Reflection.ListItemPropertyDescriptor.Converter">
<inheritdoc />
</member>
<member name="M:RSG.Base.Reflection.ListItemPropertyDescriptor.CanResetValue(System.Object)">
<inheritdoc/>
</member>
<member name="M:RSG.Base.Reflection.ListItemPropertyDescriptor.GetValue(System.Object)">
<inheritdoc/>
</member>
<member name="M:RSG.Base.Reflection.ListItemPropertyDescriptor.ResetValue(System.Object)">
<inheritdoc/>
</member>
<member name="M:RSG.Base.Reflection.ListItemPropertyDescriptor.SetValue(System.Object,System.Object)">
<inheritdoc/>
</member>
<member name="M:RSG.Base.Reflection.ListItemPropertyDescriptor.ShouldSerializeValue(System.Object)">
<inheritdoc/>
</member>
<member name="T:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2">
<summary>
Extends a given type with properties stored in a dictionary.
</summary>
<typeparam name="TKey">Type of the dictionary key</typeparam>
<typeparam name="TValue">Type of the dictionary value</typeparam>
</member>
<member name="M:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2.#ctor(System.Collections.Generic.IDictionary{`0,`1},`0,System.Object)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2"/> class.
</summary>
<param name="additionalPropertiesDictionary">
Dictionary of additional properties to append to the type
</param>
<param name="key">
The key for the current entry inside the dictionary.
</param>
<param name="parent">Parent instance to extend the properties for.</param>
<exception cref="T:System.NullReferenceException">
Thrown if <paramref name="key"/> is null.
</exception>
/// <exception cref="T:System.ArgumentException">
Thrown if <paramref name="key"/> length is zero.
</exception>
</member>
<member name="P:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2.Attributes">
<inheritdoc />
</member>
<member name="P:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2.ComponentType">
<inheritdoc />
</member>
<member name="P:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2.IsReadOnly">
<inheritdoc />
</member>
<member name="P:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2.PropertyType">
<inheritdoc />
</member>
<member name="M:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2.CanResetValue(System.Object)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2.GetValue(System.Object)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2.ResetValue(System.Object)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2.SetValue(System.Object,System.Object)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Reflection.ObjectPropertyExtenderPropertyDescriptor`2.ShouldSerializeValue(System.Object)">
<inheritdoc />
</member>
<member name="T:RSG.Base.Security.Cryptography.CityHash128">
<summary>
CityHash 128-bit hashing implementation.
</summary>
</member>
<member name="F:RSG.Base.Security.Cryptography.CityHash128._hashValue">
<summary>
Hash value.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash128.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.CityHash64"/> class.
</summary>
</member>
<member name="P:RSG.Base.Security.Cryptography.CityHash128.HashSize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash128.Initialize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash128.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash128.HashFinal">
<inheritdoc />
</member>
<member name="T:RSG.Base.Security.Cryptography.CityHash128WithSeed">
<summary>
CityHash 128-bit with seed hash implementation.
</summary>
</member>
<member name="F:RSG.Base.Security.Cryptography.CityHash128WithSeed._hashValue">
<summary>
Hash value.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash128WithSeed.#ctor(RSG.Base.Security.Cryptography.HashUInt128)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.CityHash128WithSeed"/> class.
</summary>
<param name="seed">
Hash seed.
</param>
</member>
<member name="P:RSG.Base.Security.Cryptography.CityHash128WithSeed.HashSize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash128WithSeed.Initialize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash128WithSeed.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash128WithSeed.HashFinal">
<inheritdoc />
</member>
<member name="T:RSG.Base.Security.Cryptography.CityHash32">
<summary>
CityHash 32-bit hashing implementation.
</summary>
</member>
<member name="F:RSG.Base.Security.Cryptography.CityHash32._hashValue">
<summary>
Hash value.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash32.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.CityHash32"/> class.
</summary>
</member>
<member name="P:RSG.Base.Security.Cryptography.CityHash32.HashSize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash32.Initialize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash32.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash32.HashFinal">
<inheritdoc />
</member>
<member name="T:RSG.Base.Security.Cryptography.CityHash64">
<summary>
CityHash 64-bit hashing implementation.
</summary>
</member>
<member name="F:RSG.Base.Security.Cryptography.CityHash64._hashValue">
<summary>
Hash value.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash64.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.CityHash64"/> class.
</summary>
</member>
<member name="P:RSG.Base.Security.Cryptography.CityHash64.HashSize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash64.Initialize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash64.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash64.HashFinal">
<inheritdoc />
</member>
<member name="T:RSG.Base.Security.Cryptography.CityHash64WithSeed">
<summary>
CityHash 64-bit with seed hashing implementation.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash64WithSeed.#ctor(System.UInt64)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.CityHash64"/> class.
</summary>
</member>
<member name="T:RSG.Base.Security.Cryptography.CityHash64WithSeeds">
<summary>
CityHash 64-bit with seeds hashing implementation.
</summary>
</member>
<member name="F:RSG.Base.Security.Cryptography.CityHash64WithSeeds._hashValue">
<summary>
Hash value.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash64WithSeeds.#ctor(System.UInt64,System.UInt64)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.CityHash64"/> class.
</summary>
<param name="seed0">
First seed.
</param>
<param name="seed1">
Second seed.
</param>
</member>
<member name="P:RSG.Base.Security.Cryptography.CityHash64WithSeeds.HashSize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash64WithSeeds.Initialize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash64WithSeeds.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHash64WithSeeds.HashFinal">
<inheritdoc />
</member>
<member name="T:RSG.Base.Security.Cryptography.CityHashConst">
<summary>
CityHash algorithm shared constants.
</summary>
</member>
<member name="T:RSG.Base.Security.Cryptography.CityHashFunc">
<summary>
Internally used CityHash functions that are shared or referenced by the
32, 64 and 128=nit CityHash classes.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHashFunc.SwapBytes(System.UInt32)">
<summary>
Endian-swap a 32-bit integer.
</summary>
<param name="x">
Input value.
</param>
<returns>
Endian-swapped return value.
</returns>
</member>
<member name="M:RSG.Base.Security.Cryptography.CityHashFunc.SwapBytes(System.UInt64)">
<summary>
Endian-swap a 64-bit integer.
</summary>
<param name="x">
Input value.
</param>
<returns>
Endian-swapped return value.
</returns>
</member>
<member name="T:RSG.Base.Security.Cryptography.FNV1a64">
<summary>
FNV-1a (64-bit) *non-cryptographic* (insecure) hash function.
Adapted from: http://github.com/jakedouglas/fnv-java
and https://gist.github.com/rasmuskl/3786618
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.FNV1a64.ComputeHash(System.Byte[])">
<summary>
Compute the hash value from an array of bytes.
</summary>
<param name="bytes">The input bytes</param>
<returns>Computed 64-bit hash</returns>
</member>
<member name="M:RSG.Base.Security.Cryptography.FNV1a64.ComputeHash(System.String,System.Boolean,System.Boolean)">
<summary>
Compute the hash from a string, potentially normalizing the string based on arguments.
</summary>
<param name="input">The input string</param>
<param name="normalizeCase">If true, the string will be lowercased before hashing.</param>
<param name="normalizePath">If true, path separators will be normalized to be consistent (/) and all double-quotes removed.</param>
<returns>Computed 64-bit hash</returns>
</member>
<member name="T:RSG.Base.Security.Cryptography.Hash">
<summary>
Internally defined RAGE hashing functions.
</summary>
<remarks>
See RAGE source tree: base\src\atl\map.cpp.
</remarks>
</member>
<member name="M:RSG.Base.Security.Cryptography.Hash.AtHashString(System.String)">
<summary>
Simple hash; input string checked.
</summary>
<param name="input">
Input <see cref="T:System.String"/> to hash.
</param>
<returns>
32-bit hash.
</returns>
<remarks>
See RAGE source tree: base\src\atl\map.cpp.
</remarks>
</member>
<member name="M:RSG.Base.Security.Cryptography.Hash.AtHashStringU(System.String)">
<summary>
Simple hash; input string uppercased.
</summary>
<param name="input">
Input <see cref="T:System.String"/> to hash.
</param>
<returns>
32-bit hash.
</returns>
<remarks>
See RAGE source tree: base\src\atl\map.cpp.
</remarks>
</member>
<member name="T:RSG.Base.Security.Cryptography.Hash16">
<summary>
16-bit unsigned hashing algorithm.
</summary>
See RageCore source type ::rage::atHash16.
</member>
<member name="M:RSG.Base.Security.Cryptography.Hash16.ComputeHash(System.String)">
<summary>
Produce a 16-bit unsigned hash.
</summary>
<param name="input">
Input string object to hash.
</param>
<returns>
Unsigned 16-bit Hash value of string input.
</returns>
Equivalent of ::rage::atHash16 and ::rage::atHash16U.
Using these functions saves using RSG.ManagedRage and crossing
the managed/native boundary.
</member>
<member name="T:RSG.Base.Security.Cryptography.Hash16U">
<summary>
16-bit unsigned, unchecked, hashing algorithm.
</summary>
See ::rage::atHash16.
</member>
<member name="M:RSG.Base.Security.Cryptography.Hash16U.ComputeHash(System.String)">
<summary>
Produce a 16-bit unsigned hash.
</summary>
<param name="input">
Input <see cref="T:System.String"/> to hash.
</param>
<returns>
Unsigned 16-bit hash code for the input string.
</returns>
Equivalent of ::rage::atHash16 and ::rage::atHash16U.
Using these functions saves using RSG.ManagedRage and crossing
the managed/native boundary.
</member>
<member name="T:RSG.Base.Security.Cryptography.HashLiteral">
<summary>
String hashing functions from RageCore.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.HashLiteral.AtFinalizeHash(System.UInt32)">
<summary>
Finalize hash to be sure that is is formatted correctly
</summary>
<param name="partialHashValue">
Partial string hash.
</param>
<returns>
Finalized hash value.
</returns>
</member>
<member name="M:RSG.Base.Security.Cryptography.HashLiteral.ComputeHash(System.String,System.UInt32)">
<summary>
Compute hash and return a finalized one
</summary>
<param name="input">
Input string to hash.
</param>
<param name="initialvalue">
Initial hash value.
</param>
<returns>
Hash value.
</returns>
</member>
<member name="T:RSG.Base.Security.Cryptography.HashUInt128">
<summary>
Hash 128-bit integer type.
</summary>
</member>
<member name="F:RSG.Base.Security.Cryptography.HashUInt128.Low64">
<summary>
Low 64-bit word.
</summary>
</member>
<member name="F:RSG.Base.Security.Cryptography.HashUInt128.High64">
<summary>
High 64-bit word.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.HashUInt128.#ctor(System.UInt64,System.UInt64)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.HashUInt128"/> struct.
</summary>
<param name="low">
Low 64-bit word.
</param>
<param name="high">
High 64-bit word.
</param>
</member>
<member name="M:RSG.Base.Security.Cryptography.HashUInt128.GetBytes">
<summary>
Convert a <see cref="T:RSG.Base.Security.Cryptography.HashUInt128"/> to a Byte array.
</summary>
<returns>
Array of Bytes representation of the UInt128.
</returns>
</member>
<member name="M:RSG.Base.Security.Cryptography.HashUInt128.TransformBytes(System.Func{System.Byte,System.Byte})">
<summary>
Transform the <see cref="T:System.Byte"/> that make up this integer. Used in hashing functions
to normalize input (for example).
</summary>
<param name="transform">
Transform function.
</param>
</member>
<member name="T:RSG.Base.Security.Cryptography.JenkinsOneAtATime">
<summary>
Implementation of Jenkin's One-At-A-Time hashing algorithm using the standard
.Net <see cref="T:System.Security.Cryptography.HashAlgorithm"/> base class.
</summary>
<seealso cref="T:RSG.Base.Security.Cryptography.RageOneAtATime"/>
<seealso cref="T:RSG.Base.Security.Cryptography.OneAtATime"/>
<remarks>
This is the raw hashing algorithm and does not include the protection for
filename separate characters nor case-insensitivity that the RageCore variant
provides. If you require that please use <see cref="T:RSG.Base.Security.Cryptography.RageOneAtATime"/>.
https://en.wikipedia.org/wiki/Jenkins_hash_function
</remarks>
</member>
<member name="F:RSG.Base.Security.Cryptography.JenkinsOneAtATime._hashValue">
<summary>
Hash value.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.JenkinsOneAtATime.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.JenkinsOneAtATime"/> class.
</summary>
</member>
<member name="P:RSG.Base.Security.Cryptography.JenkinsOneAtATime.CanReuseTransform">
<inheritdoc />
</member>
<member name="P:RSG.Base.Security.Cryptography.JenkinsOneAtATime.Hash">
<inheritdoc />
</member>
<member name="P:RSG.Base.Security.Cryptography.JenkinsOneAtATime.HashSize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.JenkinsOneAtATime.Initialize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.JenkinsOneAtATime.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.JenkinsOneAtATime.HashFinal">
<inheritdoc />
</member>
<member name="T:RSG.Base.Security.Cryptography.MurmurHash3R64">
<summary>
MurmurHash3R 64-bit hashing implementation.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3R64.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.MurmurHash3R64"/> class.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3R64.#ctor(System.UInt32)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.MurmurHash3R64"/> class.
</summary>
<param name="seed">
Initial hash seed.
</param>
</member>
<member name="P:RSG.Base.Security.Cryptography.MurmurHash3R64.HashSize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3R64.HashFinal">
<inheritdoc />
</member>
<member name="T:RSG.Base.Security.Cryptography.MurmurHash3R64Normalized">
<summary>
MurmurHash3R 64-bit hashing implementation that normalizes the inputs (assuming Strings)
by making input lowercase and making '/' and '\' consistent. To be used for file paths.
</summary>
</member>
<member name="F:RSG.Base.Security.Cryptography.MurmurHash3R64Normalized.NormaliseCaseAndSlashArray">
<summary>
Static lookup table for lowercase and replacing slashes.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3R64Normalized.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.MurmurHash3R64"/> class.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3R64Normalized.#ctor(System.UInt32)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.MurmurHash3R64"/> class.
</summary>
<param name="seed">
Initial hash seed.
</param>
</member>
<member name="P:RSG.Base.Security.Cryptography.MurmurHash3R64Normalized.HashSize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3R64Normalized.HashFinal">
<inheritdoc />
</member>
<member name="T:RSG.Base.Security.Cryptography.MurmurHash3RBase">
<summary>
MurmurHash3R base hashing implementation.
</summary>
</member>
<member name="F:RSG.Base.Security.Cryptography.MurmurHash3RBase._hashValue">
<summary>
Calculated hash value.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3RBase.#ctor(System.Func{System.Byte,System.Byte},System.UInt32)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.MurmurHash3RBase"/> class.
</summary>
<param name="transform">
Transform function for input <see cref="T:System.Byte"/> to <see cref="T:System.Byte"/>.
</param>
<param name="seed">
Hash seed.
</param>
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3RBase.Initialize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3RBase.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3RBase.HashFinal">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3RBase.ProcessBlock(RSG.Base.Security.Cryptography.HashUInt128,RSG.Base.Security.Cryptography.HashUInt128)">
<summary>
Process a single 16-byte block using the MurmurHash3 algorithm.
</summary>
<param name="block">
The block to be processed.
</param>
<param name="hash">
Initial has value.
</param>
<returns>
New hash value.
</returns>
</member>
<member name="M:RSG.Base.Security.Cryptography.MurmurHash3RBase.Finalize(System.Byte[],System.Int32,System.Int32,RSG.Base.Security.Cryptography.HashUInt128)">
<summary>
Finalize the hash; processing the tail and incorporating the length to
ensure it avalanches correctly.
</summary>
<param name="array">
Input data.
</param>
<param name="startIndex">
Index where tail starts.
</param>
<param name="lengthMod256">
Full input length modulo 256.
</param>
<param name="hash">
Unfinalized hash.
</param>
<returns>
Finalized hash value.
</returns>
</member>
<member name="T:RSG.Base.Security.Cryptography.OneAtATime">
<summary>
32-bit unsigned string hashing algorithm (see references).
Equivalent to atStringHash.
</summary>
<remarks>
See: http://burtleburtle.net/bob/hash/doobs.html.
See: RAGE source tree: base\src\string\stringhash.h.
::rage::atStringHash
This is the equivalent of RAGE atStringHash.
Using these functions saves using RSG.ManagedRage and crossing the managed/native boundary.
</remarks>
</member>
<member name="M:RSG.Base.Security.Cryptography.OneAtATime.ComputeHash(System.String)">
<summary>
Produce a very robust full 32-bit hash for a string
Swat was able to throw several thousand strings at this
function with no overlap. Should be better than storing
a full filename, etc, in situations where you know you
will not be querying objects that do not exist.
</summary>
<param name="input">
Input <see cref="T:System.String"/> to hash.
</param>
<returns>32 bit hash code for string.</returns>
<remarks>
See RAGE source tree: base\src\string\stringhash.h.
</remarks>
</member>
<member name="M:RSG.Base.Security.Cryptography.OneAtATime.ComputePartialHash(System.String,System.UInt32)">
<summary>
Produces a partial hash to be used to combine hash values.
</summary>
<param name="input">
String to produce hash for; uppercase letters are
mapped to lowercase, and if the string starts with
a quote it is expected to be terminated with one
as well (a NUL always terminates a string even if one
is encountered before the closing quote). Backslashes
are also normalized to forward slashes before hashing
so that this function is more useful for filenames.
</param>
<param name="initValue">
Initial value of the hash. This has to be a partial hash,
Useful for incremental hashing.
</param>
<returns>32 bit hash code for string.</returns>
<remarks>
See RAGE source tree: base\src\string\stringhash.h.
</remarks>
</member>
<member name="M:RSG.Base.Security.Cryptography.OneAtATime.ComputeFinalHash(System.UInt32)">
<summary>
Finalize the supplied partial hash. This 'avalanches' the final input
bits across all output bytes.
</summary>
<param name="partialHashValue">
The partial hash value.
</param>
<returns>
32-bit hash code for input string.
</returns>
</member>
<member name="T:RSG.Base.Security.Cryptography.RageOneAtATime">
<summary>
Implementation of Jenkin's One-At-A-Time hashing algorithm using the standard
.Net <see cref="T:System.Security.Cryptography.HashAlgorithm"/> base class with the Rage Core tweaks for
handling filename and paths.
</summary>
<seealso cref="T:RSG.Base.Security.Cryptography.JenkinsOneAtATime"/>
<seealso cref="T:RSG.Base.Security.Cryptography.OneAtATime"/>
<remarks>
This is the Rage Core tweaked hashing algorithm that includes protection for
filename separate characters nor case-insensitivity. If you require the
raw algorithm please use <see cref="T:RSG.Base.Security.Cryptography.JenkinsOneAtATime"/>.
https://en.wikipedia.org/wiki/Jenkins_hash_function
</remarks>
</member>
<member name="F:RSG.Base.Security.Cryptography.RageOneAtATime._hashValue">
<summary>
Hash value.
</summary>
</member>
<member name="M:RSG.Base.Security.Cryptography.RageOneAtATime.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Security.Cryptography.RageOneAtATime"/> class.
</summary>
</member>
<member name="P:RSG.Base.Security.Cryptography.RageOneAtATime.CanReuseTransform">
<inheritdoc />
</member>
<member name="P:RSG.Base.Security.Cryptography.RageOneAtATime.Hash">
<inheritdoc />
</member>
<member name="P:RSG.Base.Security.Cryptography.RageOneAtATime.HashSize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.RageOneAtATime.Initialize">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.RageOneAtATime.HashCore(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:RSG.Base.Security.Cryptography.RageOneAtATime.HashFinal">
<inheritdoc />
</member>
<member name="T:RSG.Base.SimpleEventArgs`1">
<summary>
This is a simple generic class to make it easier to create EventArgs subclasses with various
payloads. The one parameter it takes is for the single payload object stored within.
Example: delegate void StatusUpdateDelegate(object sender, SimpleEventArgs{string} newStatus);
</summary>
<typeparam name="T">
Payload type of event argument.
</typeparam>
</member>
<member name="M:RSG.Base.SimpleEventArgs`1.#ctor(`0)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.SimpleEventArgs`1"/> class specifying
the payload object.
</summary>
<param name="payload">
Event argument payload object.
</param>
</member>
<member name="P:RSG.Base.SimpleEventArgs`1.Payload">
<summary>
Gets or sets the value associated with the payload object.
</summary>
</member>
<member name="T:RSG.Base.StructuralEqualityComparer`1">
<summary>
Generic structural euality comparer.
</summary>
<typeparam name="T">
Structure type.
</typeparam>
</member>
<member name="F:RSG.Base.StructuralEqualityComparer`1._defaultComparer">
<summary>
Static instance of the default comparer for type T.
</summary>
</member>
<member name="P:RSG.Base.StructuralEqualityComparer`1.Default">
<summary>
Gets a reference to the static instance of the default comparer.
</summary>
</member>
<member name="M:RSG.Base.StructuralEqualityComparer`1.Equals(`0,`0)">
<summary>
Determines whether the specified objects are equal.
</summary>
<param name="x">The first object of type T to compare.</param>
<param name="y">The second object of type T to compare.</param>
<returns>true if the specified objects are equal; otherwise, false.</returns>
</member>
<member name="M:RSG.Base.StructuralEqualityComparer`1.GetHashCode(`0)">
<summary>
Returns a hash code for the specified object.
</summary>
<param name="obj">The System.Object for which a hash code is to be returned.</param>
<returns>A hash code for the specified object.</returns>
</member>
<member name="T:RSG.Base.Text.SplitString">
<summary>
Split a string into an enumaration of structure that keep the original delimiter
The class also contain methods for joining it back according to some conventionnal splitting content convention : Title Case, Pascal Case.
</summary>
<remarks>
This class implement IEnumerable so it can be enumerated in a foreach for accessing all the split part of the string.
It also provide a constructor taking an IEnumerable of split part allowing to create a new modified splitstring (with appended values for instance).
</remarks>
</member>
<member name="T:RSG.Base.Text.SplitString.SplitPart">
<summary>
A part of the split string
</summary>
</member>
<member name="P:RSG.Base.Text.SplitString.SplitPart.Value">
<summary>
Value
</summary>
</member>
<member name="P:RSG.Base.Text.SplitString.SplitPart.Delimiter">
<summary>
Delimiter
</summary>
</member>
<member name="M:RSG.Base.Text.SplitString.SplitPart.#ctor(System.String,System.String)">
<summary>
Constructor
</summary>
<param name="value"></param>
<param name="delimiter"></param>
</member>
<member name="T:RSG.Base.Text.SplitString.Enumerator">
<summary>
Enumerator for SplitString
</summary>
</member>
<member name="M:RSG.Base.Text.SplitString.Enumerator.#ctor(System.Collections.IEnumerator)">
<summary>
Constructor
</summary>
<param name="enumerator"></param>
</member>
<member name="M:RSG.Base.Text.SplitString.Enumerator.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
</summary>
</member>
<member name="M:RSG.Base.Text.SplitString.Enumerator.MoveNext">
<summary>
Advances the enumerator to the next element of the collection.
</summary>
<returns>
true if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
</returns>
<exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception>
</member>
<member name="M:RSG.Base.Text.SplitString.Enumerator.Reset">
<summary>
Sets the enumerator to its initial position, which is before the first element in the collection.
</summary>
<exception cref="T:System.InvalidOperationException">The collection was modified after the enumerator was created. </exception>
</member>
<member name="P:RSG.Base.Text.SplitString.Enumerator.Current">
<summary>
Gets the element in the collection at the current position of the enumerator.
</summary>
<returns>
The element in the collection at the current position of the enumerator.
</returns>
</member>
<member name="P:RSG.Base.Text.SplitString.Enumerator.System#Collections#IEnumerator#Current">
<summary>
Gets the current element in the collection.
</summary>
<returns>
The current element in the collection.
</returns>
</member>
<member name="T:RSG.Base.Text.SplitString.CharacterSplitterDescriptor">
<summary>
Class storing characters and the number of time they should be recurring consecutively
</summary>
</member>
<member name="M:RSG.Base.Text.SplitString.CharacterSplitterDescriptor.#ctor">
<summary>
Constructor
</summary>
</member>
<member name="M:RSG.Base.Text.SplitString.#ctor(System.Collections.Generic.IEnumerable{RSG.Base.Text.SplitString.SplitPart})">
<summary>
Constructor
</summary>
<param name="splittedParts"></param>
</member>
<member name="M:RSG.Base.Text.SplitString.ToPascalCase">
<summary>
Convert to Pascal Case
</summary>
Join back together the split strings without the delimiters in PascalCase
TEST_EXEMPLE -> TestExemple
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.ToTitleCase">
<summary>
Convert to Title Case
</summary>
<remarks>
Join back together the split strings without the delimiters in TitleCase
TestExemple -> TEST_EXEMPLE
</remarks>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.ToString">
<summary>
Join back together the split strings and the delimiters.
</summary>
<remarks>
This will output the same string provided in input as an output.
</remarks>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.ToStringWithoutDelimiters">
<summary>
Join back together the split strings without the delimiters.
</summary>
<remarks>
TEST_EXEMPLE -> TESTEXEMPLE
</remarks>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.SplitCapital(System.String)">
<summary>
Split Capital letters and Numbers
</summary>
<remarks>
Only lowercase and numbers are taken in account so a symbol don't split with following examples :
TestExemple -> [Test][Exemple]
TestExemple12 -> [Test][Exemple][12]
TEST_EXEMPLE -> [TEST_EXEMPLE]
TEStEXEMPLE -> [TESt][EXEMPLE]
</remarks>
<param name="content"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.SplitUnderscore(System.String)">
<summary>
Split Underscores
</summary>
<remarks>
This will split the string with '_' but will only take one underscore as a delimiter. If there is a repetition the second underscore will be considered as a character from the second group and be part of the split string.
TEST_EXEMPLE -> [TEST][EXEMPLE]
TEST__EXEMPLE -> [TEST][_EXEMPLE]
TEST_EXEMPLE25 -> [TEST][EXEMPLE25]
</remarks>
<param name="content"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.SplitUnderscoreAndCapital(System.String)">
<summary>
Split mixed underscore capitals and numbers
</summary>
<remarks>
This will split the string with '_' in a similar way than <see cref="M:RSG.Base.Text.SplitString.SplitUnderscore(System.String)"/> would do but also splitting capitals in a similar way than <see cref="M:RSG.Base.Text.SplitString.SplitCapital(System.String)"/>.
TEST_EXEMPLE_WithCamelCase23 -> [TEST][EXEMPLE][With][Camel][Case][23]
</remarks>
<param name="content"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.SplitRegex(System.String,System.String)">
<summary>
Split with a custom regex
</summary>
<param name="content"></param>
<param name="pattern"></param>
<remarks>
The groups we want to capture has to be called value : (?&lt;value&gt;) and the delimiters (?&lt;delim&gt;)
</remarks>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.SplitSingleCharacters(System.String,System.Char[])">
<summary>
Split with a custom regex
</summary>
<param name="content"></param>
<param name="pattern"></param>
<remarks>
The groups we want to capture has to be called value : (?&lt;value&gt;) and the delimiters (?&lt;delim&gt;)
</remarks>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.SplitWithSplitDescriptor(System.String,RSG.Base.Text.SplitString.CharacterSplitter)">
<summary>
Split with a custom regex
</summary>
<param name="content"></param>
<param name="pattern"></param>
<remarks>
The groups we want to capture has to be called value : (?&lt;value&gt;) and the delimiters (?&lt;delim&gt;)
</remarks>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.SplitNone(System.String)">
<summary>
Create a Splitted String containing only the parameter string not splitted
</summary>
<param name="content"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.ToArray">
<summary>
To Array return an array containing the part of that Splitted string
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.ToList">
<summary>
To List return a list containing the part of that Splitted string
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.SplitNameWithPattern(System.String,System.String)">
<summary>
Split the string with the provided regex pattern
</summary>
<param name="content"></param>
<param name="pattern"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Text.SplitString.GetEnumerator">
<summary>
Returns an enumerator that iterates through the collection.
</summary>
<returns>
An enumerator that can be used to iterate through the collection.
</returns>
</member>
<member name="M:RSG.Base.Text.SplitString.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>
An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
</returns>
</member>
<member name="T:RSG.Base.Text.StringTrie`1">
<summary>
A trie is a data structure that lets you search for multiple words in a string without having to search multiple times.
</summary>
<typeparam name="T">The type of object to store in the leaf nodes of the trie. Must be able to extract a string from it.</typeparam>
</member>
<member name="F:RSG.Base.Text.StringTrie`1._root">
<summary>
Root node of the trie
</summary>
</member>
<member name="M:RSG.Base.Text.StringTrie`1.#ctor(RSG.Base.Text.StringTrie{`0}.GetStringValueDelegate)">
<summary>
Create a new StringTrie.
</summary>
<param name="getString">Delegate by which to fetch the string from <typeparamref name="T"/>.</param>
</member>
<member name="T:RSG.Base.Text.StringTrie`1.GetStringValueDelegate">
<summary>
Given the object, this function returns the string the Trie should use as a key.
</summary>
<param name="obj">The object to extract a string from</param>
<returns>The extracted string</returns>
</member>
<member name="M:RSG.Base.Text.StringTrie`1.Add(`0)">
<summary>
Add IStringIndexed to the trie.
</summary>
<param name="item">The item to get a string from.</param>
</member>
<member name="M:RSG.Base.Text.StringTrie`1.TryGetValue(System.String,`0@)">
<summary>
Check if the trie contains the string and return the item related to this string
</summary>
<param name="str">The string to search for</param>
<param name="item">(Out paramter) the returned item.</param>
<returns>True if the string was found.</returns>
</member>
<member name="M:RSG.Base.Text.StringTrie`1.Contains(System.String)">
<summary>
Returns true if the Trie contains the string
</summary>
<param name="str">The string to search for</param>
<returns>True if the string was found.</returns>
</member>
<member name="T:RSG.Base.Text.StringTrie`1.TrieNode">
<summary>
A single node of the Trie
</summary>
</member>
<member name="M:RSG.Base.Text.StringTrie`1.TrieNode.#ctor(`0,System.String)">
<summary>
Create new trie node from a string and an item.
</summary>
<param name="item">The item to extract a string from.</param>
<param name="str">The string</param>
</member>
<member name="P:RSG.Base.Text.StringTrie`1.TrieNode.Tail">
<summary>
Gets the end of the string (if non null). Used so that the trie doesn't have to expand all the way.
</summary>
</member>
<member name="P:RSG.Base.Text.StringTrie`1.TrieNode.Item">
<summary>
Gets the item containing the string.
</summary>
</member>
<member name="P:RSG.Base.Text.StringTrie`1.TrieNode.Children">
<summary>
Gets a dictionary mapping chars to child nodes
</summary>
</member>
<member name="M:RSG.Base.Text.StringTrie`1.TrieNode.TryGetValue(System.String,`0@)">
<summary>
Does the node contain the (sub)string?
</summary>
<param name="str">The string</param>
<param name="item">(Out parameter) The fetched item from the trie.</param>
<returns>True if value found.</returns>
</member>
<member name="T:RSG.Base.Text.WordSearch`1">
<summary>
Creates a dictionary and allows the user to pass in TextReaders to search for words in the dictionary.
</summary>
<typeparam name="T">The type of object to extract a string from.</typeparam>
</member>
<member name="M:RSG.Base.Text.WordSearch`1.#ctor(System.Collections.Generic.IEnumerable{`0},RSG.Base.Text.StringTrie{`0}.GetStringValueDelegate,System.Boolean,System.Boolean)">
<summary>
Create a new word search with a list of words.
</summary>
<param name="items">List of items (mapping to words) to create a dictionary from.</param>
<param name="getString">Delegate to get a string from an item.</param>
<param name="ignoreComments">If true, c-style comments (// or /* */) will be ignored</param>
<param name="ignoreStrings">If true, the search will disregard c-style literal strings ("this is a string") in the file</param>
</member>
<member name="T:RSG.Base.Text.WordSearch`1.OnItemFound">
<summary>
Delegate called whenever an item is found in the file being searched.
</summary>
<param name="item">The item to associated with the word.</param>
<param name="lineNumber">Line number the item was found on.</param>
<param name="column">Column number the item was found on.</param>
</member>
<member name="M:RSG.Base.Text.WordSearch`1.FindItems(System.IO.TextReader,RSG.Base.Text.WordSearch{`0}.OnItemFound)">
<summary>
Find all words that are both in the dictionary and in the reader's content. Only supports alphanumeric + underscore characters in words.
</summary>
<param name="reader">TextReader to find items from.</param>
<param name="itemFoundDelegate">Delegate, invoked when an item is found</param>
</member>
<member name="M:RSG.Base.Text.WordSearch`1.IsValidWordChar(System.Char)">
<summary>
Returns true if the character is valid for a word.
</summary>
<param name="character">The character to test</param>
<returns>True if the character is valid for a word.</returns>
</member>
<member name="M:RSG.Base.Text.WordSearch`1.FindWordsInLine(System.Int32,System.String,RSG.Base.Text.WordSearch{`0}.OnItemFound,System.Boolean@)">
<summary>
Find all the words in the line and add to the set.
</summary>
<param name="lineNumber">This line's number</param>
<param name="line">char array containing the contents of this line</param>
<param name="itemFoundDelegate">Delegate, called as soon as any item in the dictionary is found.</param>
<param name="inMultiLineComment">True if line starts inside a multiline comment. Upon exit of the method, indicates whether the line ended inside a multiline comment.</param>
</member>
<member name="M:RSG.Base.Text.WordSearch`1.ProcessWord(System.Int32,System.String,System.Int32,System.Int32,RSG.Base.Text.WordSearch{`0}.OnItemFound)">
<summary>
Called when an arbitrary word (not necessarily in the dictionary) is found in the given line at the given location.
</summary>
<param name="lineNumber">The line number we're dealing with</param>
<param name="line">The full line of text where the word was found</param>
<param name="startColumn">The start index of the word in the line</param>
<param name="endColumn">The end index of the word in the line.</param>
<param name="itemFoundDelegate">The delegate to invoke with the information if the word is found in the dictionary.</param>
</member>
<member name="T:RSG.Base.Threading.AsyncLazy`1">
<summary>
Async <see cref="T:System.Lazy`1"/> version.
</summary>
<typeparam name="TReturnType">Type of the lazy value.</typeparam>
</member>
<member name="M:RSG.Base.Threading.AsyncLazy`1.#ctor(System.Threading.Tasks.Task{`0})">
<summary>
Creates a new instance of <see cref="T:RSG.Base.Threading.AsyncLazy`1"/>
</summary>
<param name="getValueTask">Task to get the value</param>
</member>
<member name="M:RSG.Base.Threading.AsyncLazy`1.GetValue">
<summary>
Gets the value.
</summary>
<returns>A <see cref="T:System.Threading.Tasks.Task"/> representing the asynchronous operation.</returns>
</member>
<member name="T:RSG.Base.TryResult`1">
<summary>
Contains both the result and the success flag from a generic operation.
</summary>
<typeparam name="T">
The type of the result value from the generic operation.
</typeparam>
</member>
<member name="F:RSG.Base.TryResult`1._success">
<summary>
The private field used for the <see cref="P:RSG.Base.TryResult`1.Success"/> property.
</summary>
</member>
<member name="F:RSG.Base.TryResult`1._value">
<summary>
The private field used for the <see cref="P:RSG.Base.TryResult`1.Value"/> property.
</summary>
</member>
<member name="M:RSG.Base.TryResult`1.#ctor(`0,System.Boolean)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.TryResult`1" /> structure
with the specified result and success flag.
</summary>
<param name="value">
The resulting value got from the generic operation.
</param>
<param name="success">
A value that indicates whether the generic operation was successful or not.
</param>
</member>
<member name="P:RSG.Base.TryResult`1.Success">
<summary>
Gets a value indicating whether or not the generic operation was successful.
</summary>
</member>
<member name="P:RSG.Base.TryResult`1.Value">
<summary>
Gets the resulting value from the generic operation.
</summary>
</member>
<member name="T:RSG.Base.Utf8StringWriter">
<summary>
Implements a text writer for writing information to a string builder with a utf8
encoding.
</summary>
</member>
<member name="M:RSG.Base.Utf8StringWriter.#ctor">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Utf8StringWriter"/> class.
</summary>
</member>
<member name="M:RSG.Base.Utf8StringWriter.#ctor(System.IFormatProvider)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Utf8StringWriter"/> class.
</summary>
<param name="formatProvider">
A IFormatProvider object that controls formatting.
</param>
</member>
<member name="M:RSG.Base.Utf8StringWriter.#ctor(System.Text.StringBuilder)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Utf8StringWriter"/> class.
</summary>
<param name="sb">
The StringBuilder to write to.
</param>
</member>
<member name="M:RSG.Base.Utf8StringWriter.#ctor(System.Text.StringBuilder,System.IFormatProvider)">
<summary>
Initialises a new instance of the <see cref="T:RSG.Base.Utf8StringWriter"/> class.
</summary>
<param name="sb">
The StringBuilder to write to.
</param>
<param name="formatProvider">
A IFormatProvider object that controls formatting.
</param>
</member>
<member name="P:RSG.Base.Utf8StringWriter.Encoding">
<summary>
Gets the System.Text.Encoding in which the output is written.
</summary>
</member>
<member name="T:RSG.Base.Utils">
<summary>
</summary>
</member>
<member name="M:RSG.Base.Utils.MaximumIndex``1(``0[])">
<summary>
Return index of maximum value in arbitrary Array of values.
</summary>
<typeparam name="T"></typeparam>
<param name="args"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Xml.DirectoryParameter">
<summary>
DirectoryParameter for processor's meta options.
A DirectoryParameter has a couple more informations than a FilenameParameter, such as wildcard and recursive.
</summary>
</member>
<member name="P:RSG.Base.Xml.DirectoryParameter.Path">
<summary>
Relative path to the directory
</summary>
</member>
<member name="P:RSG.Base.Xml.DirectoryParameter.Wildcard">
<summary>
Filter used to select certain files.
use *.* for every files regardless of their type.
</summary>
</member>
<member name="P:RSG.Base.Xml.DirectoryParameter.Recursive">
<summary>
Do you plan
</summary>
</member>
<member name="M:RSG.Base.Xml.DirectoryParameter.#ctor(System.String,System.String,System.Boolean)">
<summary>
DirectoryParameter ctor
</summary>
<param name="path">Relative path to the directory</param>
<param name="wildcard">file extension filter</param>
<param name="recursive">recursive search or not</param>
</member>
<member name="M:RSG.Base.Xml.DirectoryParameter.Parse(System.Xml.Linq.XElement)">
<summary>
Parsing implementation for a DirectoryParameter
</summary>
<param name="xElement"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.DirectoryParameter.ParseToValuePair(System.Xml.Linq.XElement)">
<summary>
</summary>
<param name="xElement"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.DirectoryParameter.WildcardToPerforceFormat">
<summary>
Returns the wildcards specified in the config options in a "perforce compliant" set of values.
(strips out the *, and splits based on ; separated values)
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.DirectoryParameter.ToString">
<summary>
</summary>
<returns>"DirectoryParameter: path: {0} | wildcard: {1} | recursive: {2}"</returns>
</member>
<member name="T:RSG.Base.Xml.FilenameParameter">
<summary>
Filename parameter for processor's meta files
</summary>
</member>
<member name="P:RSG.Base.Xml.FilenameParameter.Path">
<summary>
Relative path to the actual filename
</summary>
</member>
<member name="M:RSG.Base.Xml.FilenameParameter.#ctor(System.String)">
<summary>
FilenameParameter ctor
</summary>
<param name="path"></param>
</member>
<member name="M:RSG.Base.Xml.FilenameParameter.Parse(System.Xml.Linq.XElement)">
<summary>
Parsing implementation for a FilenameParameter
</summary>
<param name="xElement"></param>
<returns>A FilenameParameter</returns>
</member>
<member name="M:RSG.Base.Xml.FilenameParameter.ParseToValuePair(System.Xml.Linq.XElement)">
<summary>
Parsing implementation for a FilenameParameter
</summary>
<param name="xElement"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Xml.ParameterCollection">
<summary>
Wrapper around a collection of parCodeGen "ParameterDictionary" objects contained
within a single file; so we can group parameter data together in a single file to
reduce the number of XML configuration files we have (for example).
</summary>
These replace the old Parameter XML data as they are editable in the Metadata Editor.
This supports a hierarchy of parameter metadata files that are loaded in the
following order:
1) filename.meta
2) filename.%COMPUTERNAME%.meta
3) filename.local.meta
This allows machine overrides (to be checked in) and local per-user overrides.
Note: if there are machine or local overrides they will get saved out into the
mentioned filename (where parameters loaded is not currently stored).
Note: this deliberately does not use the metadata abstraction library to reduce
dependencies.
When we have C# class generation from PSC files this class could be integrated
with that system.
</member>
<member name="P:RSG.Base.Xml.ParameterCollection.Count">
<summary>
Gets the number of Parameter Dictionaries contained in the collection.
</summary>
</member>
<member name="P:RSG.Base.Xml.ParameterCollection.IsReadOnly">
<summary>
Whether the collection is read-only (read-only variant not supported).
</summary>
</member>
<member name="F:RSG.Base.Xml.ParameterCollection._parameterCollection">
<summary>
Actual collection for storing our parameter dictionaries.
</summary>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.#ctor">
<summary>
Default constructor.
</summary>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.Load(System.IO.Stream)">
<summary>
Load new ParameterCollection object from stream.
</summary>
<param name="stream"></param>
<returns></returns>
<exception cref="T:System.NotSupportedException">Thrown if the parameters failed to load from the stream.</exception>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.Load(RSG.Base.Logging.ILog,System.String)">
<summary>
Load new ParameterCollection object from file.
</summary>
<param name="filename"></param>
<returns></returns>
<exception cref="T:System.NotSupportedException">Thrown if one of the parameters files failed to load.</exception>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.LoadInto(RSG.Base.Xml.ParameterCollection@,System.Xml.Linq.XElement)">
<summary>
Loads a parameter collection from an XElement, and adds them to passed parameterCollection;
if the collection passed is null, we initialize it.
</summary>
<param name="parameterCollection"></param>
<param name="xElement"></param>
<exception cref="T:System.NotSupportedException">Thrown if the XElement could not be parsed into parameters.</exception>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.GetDictionary(System.String)">
<summary>
Gets the first ParameterDictionary with the specified name in the collection
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.Save(System.IO.Stream)">
<summary>
Save this parameter collection into a parCodeGen XML document stream.
</summary>
<param name="stream"></param>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.Save(System.String)">
<summary>
Save this parameter collection into a parCodeGen file.
</summary>
<param name="filename"></param>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.Add(RSG.Base.Xml.ParameterDictionary)">
<summary>
Adds an <see cref="T:RSG.Base.Xml.ParameterDictionary"/> item to the collection.
</summary>
<param name="item">
The <see cref="T:RSG.Base.Xml.ParameterDictionary"/> to add.
</param>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.Clear">
<summary>
Removes all items from the collection.
</summary>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.Contains(RSG.Base.Xml.ParameterDictionary)">
<summary>
Determines whether a <see cref="T:RSG.Base.Xml.ParameterDictionary"/> item is in the collection.
</summary>
<param name="item">
The <see cref="T:RSG.Base.Xml.ParameterDictionary"/> to check.
</param>
<returns>
true if the <see cref="T:RSG.Base.Xml.ParameterDictionary"/> is in the collection; false otherwise.
</returns>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.CopyTo(RSG.Base.Xml.ParameterDictionary[],System.Int32)">
<summary>
Copies the elements of the collection to an <see cref="T:System.Array"/>, starting at a particular <see cref="T:System.Array"/> index.
</summary>
<param name="array">
<see cref="T:System.Array"/> to copy items into.
</param>
<param name="arrayIndex">
<see cref="T:System.Array"/> starting index.
</param>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.Remove(RSG.Base.Xml.ParameterDictionary)">
<summary>
Removes the first occurrence of a specific object from the collection.
</summary>
<param name="item">
<see cref="T:RSG.Base.Xml.ParameterDictionary"/> to remove.
</param>
<returns>
true if item was successfully removed from the collection; otherwise, false.
</returns>
</member>
<member name="M:RSG.Base.Xml.ParameterCollection.LoadInline(System.Xml.Linq.XElement)">
<summary>
Load XElement into our structure.
</summary>
<param name="xmlElem"></param>
</member>
<member name="T:RSG.Base.Xml.ParameterDictionary">
<summary>
Class provides read/write access for parCodeGen "ParameterDictionary" files as
defined by PSC parameters.psc.
</summary>
These replace the old Parameter XML data as they are editable in the Metadata Editor.
This supports a hierarchy of parameter metadata files that are loaded in the
following order:
1) filename.meta
2) filename.%COMPUTERNAME%.meta
3) filename.local.meta
This allows machine overrides (to be checked in) and local per-user overrides.
Note: if there are machine or local overrides they will get saved out into the
mentioned filename (where parameters loaded is not currently stored).
Note: this deliberately does not use the metadata abstraction library to reduce
dependencies.
When we have C# class generation from PSC files this class could be integrated
with that system.
</member>
<member name="F:RSG.Base.Xml.ParameterDictionary.InnerParameterDictionaryDescriptionKey">
<summary>
Dictionary key used for adding the description field to inner <see cref="T:RSG.Base.Xml.ParameterDictionary"/>s which are converted to <see cref="T:RSG.Base.Collections.DataContractSerialisableDictionary`2"/>s.
</summary>
</member>
<member name="F:RSG.Base.Xml.ParameterDictionary.CompatibleTypes">
<summary>
Compatible type array.
</summary>
</member>
<member name="F:RSG.Base.Xml.ParameterDictionary.PARAMETER_SUB_CLASSES">
<summary>
Supported strongly typed parameters
</summary>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.GetEnumerator">
<summary>
Implement the generic getEnumerator so that we can ensure that _parameters can remain private
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.System#Collections#IEnumerable#GetEnumerator">
<summary>
Required to be implemented as per interface.
</summary>
<returns></returns>
</member>
<member name="P:RSG.Base.Xml.ParameterDictionary.Name">
<summary>
Parameter dictionary name.
</summary>
</member>
<member name="P:RSG.Base.Xml.ParameterDictionary.Description">
<summary>
Parameter dictionary description.
</summary>
</member>
<member name="P:RSG.Base.Xml.ParameterDictionary.Count">
<summary>
Gets the number of parameters.
</summary>
</member>
<member name="F:RSG.Base.Xml.ParameterDictionary._parameters">
<summary>
Parameter dictionary data.
</summary>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.#ctor">
<summary>
Constructor; create an empty Parameter Dictionary.
</summary>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.#ctor(System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Constructor; from a dictionary.
</summary>
<param name="parameters"></param>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.#ctor(System.Xml.Linq.XElement)">
<summary>
Constructor; loading ParameterDictionary element.
</summary>
<param name="xmlElement"></param>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.FilenameToMachineName(System.String,System.String)">
<summary>
Takes a parameter dict filename and returns the machinename override.
</summary>
<param name="filename"></param>
<param name="machineName"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.FilenameToLocalName(System.String)">
<summary>
Takes a parameter dict filename and returns the local override.
</summary>
<param name="filename"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.Load(System.IO.Stream)">
<summary>
Load new ParameterDictionary object from stream.
</summary>
<param name="stream"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.Load(System.String)">
<summary>
Load new ParameterDictionary object from file.
</summary>
<param name="filename"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.Override(System.String)">
<summary>
Overrides the param dictionary with params found in the file.
</summary>
<param name="filename"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.Override(RSG.Base.Xml.ParameterDictionary)">
<summary>
Overrides this param dictionary with params from another.
</summary>
<param name="other"></param>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.Save(System.IO.Stream,System.String)">
<summary>
Save this parameter dictionary into a parCodeGen XML document stream.
</summary>
<param name="stream"></param>
<param name="elementName"></param>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.Save(System.String)">
<summary>
Save this parameter dictionary into a parCodeGen file.
</summary>
<param name="filename"></param>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.ToXElement">
<summary>
Serialise ParameterDictionary to an XElement for inclusion in another XDocument.
</summary>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.ToXElement(System.String)">
<summary>
Serialise ParameterDictionary to an XElement for inclusion in another XDocument.
</summary>
<param name="name"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.Clear">
<summary>
Removes all parameters from the dictionary.
</summary>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.HasParameter(System.String)">
<summary>
Determine whether the parameter exists in the dictionary.
</summary>
<param name="name">Parameter's name</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.IsCompatibleType(System.Type)">
<summary>
Determine whether the parameter is a suitable type.
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.SetParameter``1(System.String,``0)">
<summary>
Set a parameter value (overwriting if it already exists).
</summary>
<typeparam name="T">Parameter's type</typeparam>
<param name="name">Parameter's name</param>
<param name="value">Parameter's value</param>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.SetParameter(System.String,System.Object)">
<summary>
Set a parameter value (overwriting if it already exists).
</summary>
<param name="name">Parameter's name</param>
<param name="value"></param>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.GetParameter``1(System.String,``0)">
<summary>
Get a parameter value.
</summary>
<typeparam name="T"></typeparam>
<param name="name"></param>
<param name="defaultValue"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.GetParameter(System.String,System.Object)">
<summary>
Get a parameter value.
</summary>
<param name="name"></param>
<param name="defaultValue"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.MergeWith(RSG.Base.Logging.ILog,RSG.Base.Xml.ParameterDictionary)">
<summary>
Merge a given parameter dictionary into the current parameters, overwriting the value of any dupe keys.
</summary>
<param name="log"></param>
<param name="source"></param>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.OnLoad(System.Xml.Linq.XElement)">
<summary>
Allows derived classes to perform additional deserialisation logic when loading the parameter dictionary
content.
</summary>
<param name="xmlElem">
The root Xml element we are loading the data from.
</param>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.LoadInline(System.Xml.Linq.XElement)">
<summary>
Load XElement into our structure.
</summary>
<param name="xmlElem"></param>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.XElementToPODParameter(System.Xml.Linq.XElement)">
<summary>
Convert an XElement to a KeyValuePair for insertion.
</summary>
<param name="xmlParamElem"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.PODParameterToXElement(System.String,System.Collections.Generic.KeyValuePair{System.String,System.Object})">
<summary>
Convert a parameter KeyValuePair to XElement.
</summary>
<param name="name">XElement's name.</param>
<param name="kvp">Parameter KeyValuePair.</param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.ObjectTypeToParameterTypeString(System.Type)">
<summary>
Convert a POD type to String for serialisation.
</summary>
<param name="type"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.StronglyTypedXElementToArrayParameter(System.Xml.Linq.XElement)">
<summary>
Loads an array element.
</summary>
<param name="xmlParamElem"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.ParseStronglyTypedValue(System.String,System.String)">
<summary>
Parse the value from a string and return the object
</summary>
<param name="type"></param>
<param name="value"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.ParameterDictionary.StronglyTypedXElementToParameter(System.Xml.Linq.XElement)">
<summary>
Convert an XElement to a KeyValuePair for insertion.
- supports IntegerParameter, LongParameter and similar types...
</summary>
<param name="xmlParamElem"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Xml.Parameters">
<summary>
Simple XML parameter parsing methods.
</summary>
Note: prefer ParameterCollection (and ParameterDictionary) over the use of these
generic files. You get Metadata Editor support if you use these and the ability
to group lots of parameters together into a single file.
</member>
<member name="M:RSG.Base.Xml.Parameters.Load(RSG.Base.Logging.ILog,System.String,System.Collections.Generic.IDictionary{System.String,System.Object}@,System.Boolean,System.Boolean)">
<summary>
Load parameters from a file.
</summary>
<param name="log"></param>
<param name="filename"></param>
<param name="parameters"></param>
<param name="keysToLower"></param>
<param name="allowOverrides"></param>
</member>
<member name="M:RSG.Base.Xml.Parameters.Load(RSG.Base.Logging.ILog,System.Xml.Linq.XElement,System.Collections.Generic.IDictionary{System.String,System.Object}@,System.Boolean,System.Boolean)">
<summary>
Load parameters from a particular XML node.
</summary>
<param name="log"></param>
<param name="root"></param>
<param name="parameters"></param>
<param name="keysToLower"></param>
<param name="allowOverrides"></param>
</member>
<member name="M:RSG.Base.Xml.Parameters.Save(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Save parameters to a file.
</summary>
<param name="filename"></param>
<param name="parameters"></param>
</member>
<member name="M:RSG.Base.Xml.Parameters.ToXElement(System.String,System.Collections.Generic.IDictionary{System.String,System.Object})">
<summary>
Serialise parameters to an XElement.
</summary>
<param name="name"></param>
<param name="parameters"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.Parameters.ParseParameter(System.Xml.Linq.XElement,System.Boolean)">
<summary>
Parse an XElement into a parameter KeyValuePair.
</summary>
<param name="xmlParameter"></param>
<param name="keysToLower"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.Parameters.ParseParameterValue(System.Xml.Linq.XElement,System.String)">
<summary>
Parse an XElement's 'value' attribute; according to specified type.
</summary>
<param name="xmlParameter"></param>
<param name="typeName"></param>
<returns></returns>
</member>
<member name="T:RSG.Base.Xml.Utils">
<summary>
???
</summary>
<remarks>
DHM - Seriously? Marking this deprecated as 'Utils' classes just suck.
</remarks>
</member>
<member name="M:RSG.Base.Xml.Utils.XmlEscape(System.String)">
<summary>
Heavy weight xml escaping ( was used to handle escaping of a variety of invalid characters - see CL 5142179 )
- many ways of doing this, this is just one. http://stackoverflow.com/questions/1132494/string-escape-into-xml
DW: if I had time I'd consider ( and profile ) a variety of other methods : http://weblogs.sqlteam.com/mladenp/archive/2008/10/21/Different-ways-how-to-escape-an-XML-string-in-C.aspx
</summary>
<param name="unescaped"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.Utils.XmlUnescape(System.String)">
<summary>
Heavy weight xml escaping ( was used to handle escaping of a variety of invalid characters - see CL 5142179 )
- many ways of doing this, this is just one. http://stackoverflow.com/questions/1132494/string-escape-into-xml
DW: if I had time I'd consider ( and profile ) a variety of other methods : http://weblogs.sqlteam.com/mladenp/archive/2008/10/21/Different-ways-how-to-escape-an-XML-string-in-C.aspx
</summary>
<param name="escaped"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.Utils.UnescapeXml(System.String)">
<summary>
UnescapeXml : appears not to be in use.
</summary>
<param name="s"></param>
<returns></returns>
</member>
<member name="M:RSG.Base.Xml.Utils.StripIllegalXMLChars(System.String)">
<summary>
Strips non-printable ascii characters
Refer to http://www.w3.org/TR/xml11/#charsets for XML 1.1
Refer to http://www.w3.org/TR/2006/REC-xml-20060816/#charsets for XML 1.0
</summary>
<param name="xml">XML string</param>
<returns>"Clean" version of the xml string</returns>
</member>
<member name="F:RSG.Base.Xml.Utils.s_invalidXmlCharsRegex">
<summary>
filters control characters but allows only properly-formed surrogate sequences
from: http://stackoverflow.com/questions/397250/unicode-regex-invalid-xml-characters
</summary>
</member>
<member name="T:System.Threading.Tasks.Schedulers.QueuedTaskScheduler">
<summary>
Provides a TaskScheduler that provides control over priorities, fairness, and the
underlying threads utilized.
</summary>
</member>
<member name="T:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerDebugView">
<summary>Debug view for the QueuedTaskScheduler.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerDebugView._scheduler">
<summary>The scheduler.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerDebugView.#ctor(System.Threading.Tasks.Schedulers.QueuedTaskScheduler)">
<summary>Initializes the debug view.</summary>
<param name="scheduler">The scheduler.</param>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerDebugView.ScheduledTasks">
<summary>Gets all of the Tasks queued to the scheduler directly.</summary>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerDebugView.Queues">
<summary>Gets the prioritized and fair queues.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._queueGroups">
<summary>
A sorted list of round-robin queue lists. Tasks with the smallest priority value
are preferred. Priority groups are round-robin'd through in order of priority.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._disposeCancellation">
<summary>
Cancellation token used for disposal.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._concurrencyLevel">
<summary>
The maximum allowed concurrency level of this scheduler. If custom threads are
used, this represents the number of created threads.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._taskProcessingThread">
<summary>
Whether we're processing tasks on the current thread.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._targetScheduler">
<summary>
The scheduler onto which actual work is scheduled.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._nonthreadsafeTaskQueue">
<summary>
The queue of tasks to process when using an underlying target scheduler.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._delegatesQueuedOrRunning">
<summary>
The number of Tasks that have been queued or that are running whiel using an
underlying scheduler.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._threads">
<summary>
The threads used by the scheduler to process work.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler._blockingTaskQueue">
<summary>
The collection of tasks to be executed on our custom threads.
</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.#ctor">
<summary>
Initializes the scheduler.
</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.#ctor(System.Threading.Tasks.TaskScheduler)">
<summary>
Initializes the scheduler.
</summary>
<param name="targetScheduler">
The target underlying scheduler onto which this sceduler's work is queued.
</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.#ctor(System.Threading.Tasks.TaskScheduler,System.Int32)">
<summary>Initializes the scheduler.</summary>
<param name="targetScheduler">
The target underlying scheduler onto which this sceduler's work is queued.
</param>
<param name="maxConcurrencyLevel">
The maximum degree of concurrency allowed for this scheduler's work.
</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.#ctor(System.Int32)">
<summary>
Initializes the scheduler.
</summary>
<param name="threadCount">
The number of threads to create and use for processing work items.
</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.#ctor(System.Int32,System.String,System.Boolean,System.Threading.ThreadPriority,System.Threading.ApartmentState,System.Int32,System.Action,System.Action)">
<summary>
Initializes the scheduler.
</summary>
<param name="threadCount">
The number of threads to create and use for processing work items.
</param>
<param name="threadName">
The name to use for each of the created threads.
</param>
<param name="useForegroundThreads">
A Boolean value that indicates whether to use foreground threads instead of
background.
</param>
<param name="threadPriority">
The priority to assign to each thread.
</param>
<param name="threadApartmentState">
The apartment state to use for each thread.
</param>
<param name="threadMaxStackSize">
The stack size to use for each thread.
</param>
<param name="threadInit">
An initialization routine to run on each thread.
</param>
<param name="threadFinally">
A finalization routine to run on each thread.
</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.ThreadBasedDispatchLoop(System.Action,System.Action)">
<summary>
The dispatch loop run by all threads in this scheduler.
</summary>
<param name="threadInit">
An initialization routine to run when the thread begins.
</param>
<param name="threadFinally">
A finalization routine to run before the thread ends.
</param>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.DebugQueueCount">
<summary>Gets the number of queues currently activated.</summary>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.DebugTaskCount">
<summary>Gets the number of tasks currently scheduled.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.FindNextTask_NeedsLock(System.Threading.Tasks.Task@,System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue@)">
<summary>
Find the next task that should be executed, based on priorities and fairness and
the like.
</summary>
<param name="targetTask">The found task, or null if none was found.</param>
<param name="queueForTargetTask">
The scheduler associated with the found task. Due to security checks inside of
TPL, this scheduler needs to be used to execute that task.
</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
<summary>Queues a task to the scheduler.</summary>
<param name="task">The task to be queued.</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.ProcessPrioritizedAndBatchedTasks">
<summary>
Process tasks one at a time in the best order.
This should be run in a Task generated by QueueTask.
It's been separated out into its own method to show up better in Parallel Tasks.
</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.NotifyNewWorkItem">
<summary>
Notifies the pool that there's a new item to be executed in one of the round-robin
queues.
</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
<summary>Tries to execute a task synchronously on the current thread.</summary>
<param name="task">The task to execute.</param>
<param name="taskWasPreviouslyQueued">
Whether the task was previously queued.
</param>
<returns>true if the task was executed; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.GetScheduledTasks">
<summary>Gets the tasks scheduled to this scheduler.</summary>
<returns>An enumerable of all tasks queued to this scheduler.</returns>
<remarks>
This does not include the tasks on sub-schedulers. Those will be retrieved by the
debugger separately.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.MaximumConcurrencyLevel">
<summary>Gets the maximum concurrency level to use when processing tasks.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.Dispose">
<summary>Initiates shutdown of the scheduler.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.ActivateNewQueue">
<summary>Creates and activates a new scheduling queue for this scheduler.</summary>
<returns>The newly created and activated queue at priority 0.</returns>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.ActivateNewQueue(System.Int32)">
<summary>Creates and activates a new scheduling queue for this scheduler.</summary>
<param name="priority">The priority level for the new queue.</param>
<returns>The newly created and activated queue at the specified priority.</returns>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.RemoveQueue_NeedsLock(System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue)">
<summary>Removes a scheduler from the group.</summary>
<param name="queue">The scheduler to be removed.</param>
</member>
<member name="T:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueueGroup">
<summary>A group of queues a the same priority level.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueueGroup.NextQueueIndex">
<summary>The starting index for the next round-robin traversal.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueueGroup.CreateSearchOrder">
<summary>Creates a search order through this group.</summary>
<returns>An enumerable of indices for this group.</returns>
</member>
<member name="T:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue">
<summary>
Provides a scheduling queue associatd with a QueuedTaskScheduler.
</summary>
</member>
<member name="T:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView">
<summary>A debug view for the queue.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView._queue">
<summary>The queue.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView.#ctor(System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue)">
<summary>Initializes the debug view.</summary>
<param name="queue">The queue to be debugged.</param>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView.Priority">
<summary>
Gets the priority of this queue in its associated scheduler.
</summary>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView.Id">
<summary>Gets the ID of this scheduler.</summary>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView.ScheduledTasks">
<summary>Gets all of the tasks scheduled to this queue.</summary>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueuedTaskSchedulerQueueDebugView.AssociatedScheduler">
<summary>
Gets the QueuedTaskScheduler with which this queue is associated.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue._pool">
<summary>The scheduler with which this pool is associated.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue._workItems">
<summary>The work items stored in this queue.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue._disposed">
<summary>Whether this queue has been disposed.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue._priority">
<summary>Gets the priority for this queue.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.#ctor(System.Int32,System.Threading.Tasks.Schedulers.QueuedTaskScheduler)">
<summary>Initializes the queue.</summary>
<param name="priority">The priority associated with this queue.</param>
<param name="pool">The scheduler with which this queue is associated.</param>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.WaitingTasks">
<summary>Gets the number of tasks waiting in this scheduler.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.GetScheduledTasks">
<summary>Gets the tasks scheduled to this scheduler.</summary>
<returns>An enumerable of all tasks queued to this scheduler.</returns>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.QueueTask(System.Threading.Tasks.Task)">
<summary>Queues a task to the scheduler.</summary>
<param name="task">The task to be queued.</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
<summary>Tries to execute a task synchronously on the current thread.</summary>
<param name="task">The task to execute.</param>
<param name="taskWasPreviouslyQueued">
Whether the task was previously queued.
</param>
<returns>true if the task was executed; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.ExecuteTask(System.Threading.Tasks.Task)">
<summary>Runs the specified ask.</summary>
<param name="task">The task to execute.</param>
</member>
<member name="P:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.MaximumConcurrencyLevel">
<summary>
Gets the maximum concurrency level to use when processing tasks.
</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.QueuedTaskScheduler.QueuedTaskSchedulerQueue.Dispose">
<summary>
Signals that the queue should be removed from the scheduler as soon as the
queue is empty.
</summary>
</member>
<member name="T:System.Threading.Tasks.Schedulers.StackedTaskScheduler">
<summary>
Provides a TaskScheduler that provides control over priorities, fairness, and the
underlying threads utilized.
</summary>
</member>
<member name="T:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerDebugView">
<summary>Debug view for the StackedTaskScheduler.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerDebugView._scheduler">
<summary>The scheduler.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerDebugView.#ctor(System.Threading.Tasks.Schedulers.StackedTaskScheduler)">
<summary>Initializes the debug view.</summary>
<param name="scheduler">The scheduler.</param>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerDebugView.ScheduledTasks">
<summary>Gets all of the Tasks queued to the scheduler directly.</summary>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerDebugView.Queues">
<summary>Gets the prioritized and fair queues.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler._queueGroups">
<summary>
A sorted list of round-robin queue lists. Tasks with the smallest priority value
are preferred. Priority groups are round-robin'd through in order of priority.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler._disposeCancellation">
<summary>Cancellation token used for disposal.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler._concurrencyLevel">
<summary>
The maximum allowed concurrency level of this scheduler. If custom threads are
used, this represents the number of created threads.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler._taskProcessingThread">
<summary>Whether we're processing tasks on the current thread.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler._targetScheduler">
<summary>The scheduler onto which actual work is scheduled.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler._nonthreadsafeTaskQueue">
<summary>
The queue of tasks to process when using an underlying target scheduler.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler._delegatesStackedOrRunning">
<summary>
The number of Tasks that have been queued or that are running whiel using an
underlying scheduler.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler._threads">
<summary>The threads used by the scheduler to process work.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler._blockingTaskQueue">
<summary>The collection of tasks to be executed on our custom threads.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.#ctor">
<summary>Initializes the scheduler.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.#ctor(System.Threading.Tasks.TaskScheduler)">
<summary>Initializes the scheduler.</summary>
<param name="targetScheduler">
The target underlying scheduler onto which this sceduler's work is queued.
</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.#ctor(System.Threading.Tasks.TaskScheduler,System.Int32)">
<summary>Initializes the scheduler.</summary>
<param name="targetScheduler">
The target underlying scheduler onto which this sceduler's work is queued.
</param>
<param name="maxConcurrencyLevel">
The maximum degree of concurrency allowed for this scheduler's work.
</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.#ctor(System.Int32)">
<summary>Initializes the scheduler.</summary>
<param name="threadCount">
The number of threads to create and use for processing work items.
</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.#ctor(System.Int32,System.String,System.Boolean,System.Threading.ThreadPriority,System.Threading.ApartmentState,System.Int32,System.Action,System.Action)">
<summary>Initializes the scheduler.</summary>
<param name="threadCount">
The number of threads to create and use for processing work items.
</param>
<param name="threadName">The name to use for each of the created threads.</param>
<param name="useForegroundThreads">
A Boolean value that indicates whether to use foreground threads instead of
background.
</param>
<param name="threadPriority">The priority to assign to each thread.</param>
<param name="threadApartmentState">
The apartment state to use for each thread.
</param>
<param name="threadMaxStackSize">The stack size to use for each thread.</param>
<param name="threadInit">An initialization routine to run on each thread.</param>
<param name="threadFinally">A finalization routine to run on each thread.</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.ThreadBasedDispatchLoop(System.Action,System.Action)">
<summary>The dispatch loop run by all threads in this scheduler.</summary>
<param name="threadInit">
An initialization routine to run when the thread begins.
</param>
<param name="threadFinally">
A finalization routine to run before the thread ends.
</param>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.DebugQueueCount">
<summary>Gets the number of queues currently activated.</summary>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.DebugTaskCount">
<summary>Gets the number of tasks currently scheduled.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.FindNextTask_NeedsLock(System.Threading.Tasks.Task@,System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue@)">
<summary>
Find the next task that should be executed, based on priorities and fairness and
the like.
</summary>
<param name="targetTask">The found task, or null if none was found.</param>
<param name="queueForTargetTask">
The scheduler associated with the found task. Due to security checks inside of
TPL, this scheduler needs to be used to execute that task.
</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.QueueTask(System.Threading.Tasks.Task)">
<summary>Queues a task to the scheduler.</summary>
<param name="task">The task to be queued.</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.ProcessPrioritizedAndBatchedTasks">
<summary>
Process tasks one at a time in the best order.
This should be run in a Task generated by QueueTask.
It's been separated out into its own method to show up better in Parallel Tasks.
</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.NotifyNewWorkItem">
<summary>
Notifies the pool that there's a new item to be executed in one of the round-robin
queues.
</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
<summary>Tries to execute a task synchronously on the current thread.</summary>
<param name="task">The task to execute.</param>
<param name="taskWasPreviouslyStacked">
Whether the task was previously queued.
</param>
<returns>true if the task was executed; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.GetScheduledTasks">
<summary>Gets the tasks scheduled to this scheduler.</summary>
<returns>An enumerable of all tasks queued to this scheduler.</returns>
<remarks>
This does not include the tasks on sub-schedulers. Those will be retrieved by the
debugger separately.
</remarks>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.MaximumConcurrencyLevel">
<summary>Gets the maximum concurrency level to use when processing tasks.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.Dispose">
<summary>Initiates shutdown of the scheduler.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.ActivateNewQueue">
<summary>Creates and activates a new scheduling queue for this scheduler.</summary>
<returns>The newly created and activated queue at priority 0.</returns>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.ActivateNewQueue(System.Int32)">
<summary>Creates and activates a new scheduling queue for this scheduler.</summary>
<param name="priority">The priority level for the new queue.</param>
<returns>The newly created and activated queue at the specified priority.</returns>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.RemoveQueue_NeedsLock(System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue)">
<summary>Removes a scheduler from the group.</summary>
<param name="queue">The scheduler to be removed.</param>
</member>
<member name="T:System.Threading.Tasks.Schedulers.StackedTaskScheduler.QueueGroup">
<summary>A group of queues a the same priority level.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler.QueueGroup.NextQueueIndex">
<summary>The starting index for the next round-robin traversal.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.QueueGroup.CreateSearchOrder">
<summary>Creates a search order through this group.</summary>
<returns>An enumerable of indices for this group.</returns>
</member>
<member name="T:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue">
<summary>
Provides a scheduling queue associatd with a StackedTaskScheduler.
</summary>
</member>
<member name="T:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.StackedTaskSchedulerQueueDebugView">
<summary>A debug view for the queue.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.StackedTaskSchedulerQueueDebugView._queue">
<summary>The queue.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.StackedTaskSchedulerQueueDebugView.#ctor(System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue)">
<summary>Initializes the debug view.</summary>
<param name="queue">The queue to be debugged.</param>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.StackedTaskSchedulerQueueDebugView.Priority">
<summary>
Gets the priority of this queue in its associated scheduler.
</summary>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.StackedTaskSchedulerQueueDebugView.Id">
<summary>Gets the ID of this scheduler.</summary>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.StackedTaskSchedulerQueueDebugView.ScheduledTasks">
<summary>Gets all of the tasks scheduled to this queue.</summary>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.StackedTaskSchedulerQueueDebugView.AssociatedScheduler">
<summary>
Gets the StackedTaskScheduler with which this queue is associated.
</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue._pool">
<summary>The scheduler with which this pool is associated.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue._workItems">
<summary>The work items stored in this queue.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue._disposed">
<summary>Whether this queue has been disposed.</summary>
</member>
<member name="F:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue._priority">
<summary>Gets the priority for this queue.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.#ctor(System.Int32,System.Threading.Tasks.Schedulers.StackedTaskScheduler)">
<summary>Initializes the queue.</summary>
<param name="priority">The priority associated with this queue.</param>
<param name="pool">The scheduler with which this queue is associated.</param>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.WaitingTasks">
<summary>Gets the number of tasks waiting in this scheduler.</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.GetScheduledTasks">
<summary>Gets the tasks scheduled to this scheduler.</summary>
<returns>An enumerable of all tasks queued to this scheduler.</returns>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.QueueTask(System.Threading.Tasks.Task)">
<summary>Queues a task to the scheduler.</summary>
<param name="task">The task to be queued.</param>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.TryExecuteTaskInline(System.Threading.Tasks.Task,System.Boolean)">
<summary>Tries to execute a task synchronously on the current thread.</summary>
<param name="task">The task to execute.</param>
<param name="taskWasPreviouslyStacked">
Whether the task was previously queued.
</param>
<returns>true if the task was executed; otherwise, false.</returns>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.ExecuteTask(System.Threading.Tasks.Task)">
<summary>Runs the specified ask.</summary>
<param name="task">The task to execute.</param>
</member>
<member name="P:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.MaximumConcurrencyLevel">
<summary>
Gets the maximum concurrency level to use when processing tasks.
</summary>
</member>
<member name="M:System.Threading.Tasks.Schedulers.StackedTaskScheduler.StackedTaskSchedulerQueue.Dispose">
<summary>
Signals that the queue should be removed from the scheduler as soon as the
queue is empty.
</summary>
</member>
</members>
</doc>