{
"api/IPA.Logging.Printers.html": {
"href": "api/IPA.Logging.Printers.html",
"title": "",
"keywords": "Classes ColoredConsolePrinter Prints a pretty message to the console. ColorlessConsolePrinter A colorless version of ColoredConsolePrinter , that indiscriminantly prints to standard out. GlobalLogFilePrinter A printer for all messages to a unified log location. GZFilePrinter A LogPrinter abstract class that provides the utilities to write to a GZip file. PluginLogFilePrinter Prints log messages to the file specified by the name. PluginSubLogPrinter Prints log messages to the file specified by the name."
},
"api/IPA.Logging.Printers.PluginSubLogPrinter.html": {
"href": "api/IPA.Logging.Printers.PluginSubLogPrinter.html",
"title": "Class PluginSubLogPrinter",
"keywords": "Class PluginSubLogPrinter Prints log messages to the file specified by the name. Inheritance Object LogPrinter GZFilePrinter PluginSubLogPrinter Implements IDisposable Inherited Members GZFilePrinter.FileWriter GZFilePrinter.StartPrint() GZFilePrinter.EndPrint() GZFilePrinter.Dispose() GZFilePrinter.Dispose(Boolean) Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Logging.Printers Assembly : IPA.Loader.dll Syntax public class PluginSubLogPrinter : GZFilePrinter, IDisposable Constructors | Improve this Doc View Source PluginSubLogPrinter(String, String) Creates a new printer with the given name. Declaration public PluginSubLogPrinter(string mainname, string name) Parameters Type Name Description String mainname the name of the main logger String name the name of the logger Properties | Improve this Doc View Source Filter Provides a filter for this specific printer. Declaration public override Logger.LogLevel Filter { get; set; } Property Value Type Description Logger.LogLevel the filter for this printer Overrides LogPrinter.Filter Methods | Improve this Doc View Source GetFileInfo() Gets the FileInfo for the target file. Declaration protected override FileInfo GetFileInfo() Returns Type Description FileInfo the file to write to Overrides GZFilePrinter.GetFileInfo() | Improve this Doc View Source Print(Logger.Level, DateTime, String, String) Prints an entry to the associated file. Declaration public override void Print(Logger.Level level, DateTime time, string logName, string message) Parameters Type Name Description Logger.Level level the Logger.Level of the message DateTime time the DateTime the message was recorded at String logName the name of the log that sent the message String message the message to print Overrides LogPrinter.Print(Logger.Level, DateTime, String, String) Implements System.IDisposable Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
"api/IPA.Logging.Logger.LogLevel.html": {
"href": "api/IPA.Logging.Logger.LogLevel.html",
"title": "Enum Logger.LogLevel",
"keywords": "Enum Logger.LogLevel An enum providing log level filters. Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax [Flags] public enum LogLevel : byte Fields Name Description All Shows all messages. CriticalOnly Only shows Critical messages. DebugOnly Only shows Debug messages. DebugUp Shows all messages debug and up. ErrorOnly Only shows Error messages. ErrorUp Shows all messages error and up. InfoOnly Only shows info messages. InfoUp Shows all messages info and up. None Allow no messages through. NoticeOnly Only shows notice messages. NoticeUp Shows all messages Notice and up. TraceOnly Only shows Trace messages. Undefined Used for when the level is undefined. WarningOnly Only shows Warning messages. WarningUp Shows all messages warning and up. Extension Methods ReflectionUtil.SetField(String, Object) ReflectionUtil.SetField(String, Object) ReflectionUtil.GetField(String) ReflectionUtil.GetField(String) ReflectionUtil.SetProperty(String, Object) ReflectionUtil.SetProperty(String, Object) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[])"
},
"api/IPA.Logging.Logger.Level.html": {
"href": "api/IPA.Logging.Logger.Level.html",
"title": "Enum Logger.Level",
"keywords": "Enum Logger.Level An enum specifying the level of the message. Resembles Syslog. Namespace : IPA.Logging Assembly : IPA.Loader.dll Syntax public enum Level : byte Fields Name Description Critical A critical error message. Debug A debug message. Error An error message. Info An informational message. None No associated level. These never get shown. Notice A notice. More significant than Info, but less than a warning. Trace A trace message. These are ignored incredibly early. Warning A warning message. Extension Methods ReflectionUtil.SetField(String, Object) ReflectionUtil.SetField(String, Object) ReflectionUtil.GetField(String) ReflectionUtil.GetField(String) ReflectionUtil.SetProperty(String, Object) ReflectionUtil.SetProperty(String, Object) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[]) ReflectionUtil.InvokeMethod(String, Object[])"
},
"api/IPA.Loader.html": {
"href": "api/IPA.Loader.html",
"title": "",
"keywords": "Classes PluginInitInjector The type that handles value injecting into a plugin's initialization methods. PluginManager The manager class for all plugins. PluginMetadata A class which describes a loaded plugin. StateTransitionTransaction Delegates PluginInitInjector.InjectParameter A typed injector for a plugin's Init method. When registered, called for all associated types. If it returns null, the default for the type will be used. PluginManager.PluginDisableDelegate An invoker for the PluginDisabled event. PluginManager.PluginEnableDelegate An invoker for the PluginEnabled event."
},
"api/IPA.Loader.StateTransitionTransaction.html": {
"href": "api/IPA.Loader.StateTransitionTransaction.html",
"title": "Class StateTransitionTransaction",
"keywords": "Class StateTransitionTransaction Inheritance Object StateTransitionTransaction Implements IDisposable Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public sealed class StateTransitionTransaction : IDisposable Properties | Improve this Doc View Source DisabledPlugins Declaration public IEnumerable DisabledPlugins { get; } Property Value Type Description IEnumerable < PluginMetadata > | Improve this Doc View Source EnabledPlugins Declaration public IEnumerable EnabledPlugins { get; } Property Value Type Description IEnumerable < PluginMetadata > | Improve this Doc View Source WillNeedRestart Declaration public bool WillNeedRestart { get; } Property Value Type Description Boolean Methods | Improve this Doc View Source Commit() Declaration public Task Commit() Returns Type Description Task | Improve this Doc View Source Disable(PluginMetadata) Declaration public bool Disable(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta Returns Type Description Boolean | Improve this Doc View Source Dispose() Declaration public void Dispose() | Improve this Doc View Source Enable(PluginMetadata) Declaration public bool Enable(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta Returns Type Description Boolean | Improve this Doc View Source IsDisabled(PluginMetadata) Declaration public bool IsDisabled(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta Returns Type Description Boolean | Improve this Doc View Source IsEnabled(PluginMetadata) Declaration public bool IsEnabled(PluginMetadata meta) Parameters Type Name Description PluginMetadata meta Returns Type Description Boolean Implements System.IDisposable Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
"api/IPA.Loader.PluginInitInjector.html": {
"href": "api/IPA.Loader.PluginInitInjector.html",
"title": "Class PluginInitInjector",
"keywords": "Class PluginInitInjector The type that handles value injecting into a plugin's initialization methods. Inheritance Object PluginInitInjector Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public static class PluginInitInjector Remarks The default injectors and what they provide are shown in this table. Parameter Type Injected Value Logger A StandardLogger specialized for the plugin being injected PluginMetadata The PluginMetadata of the plugin being injected Config A Config object for the plugin being injected. These parameters may have Config.NameAttribute and Config.PreferAttribute to control how it is constructed. For all of the default injectors, only one of each will be generated, and any later parameters will recieve the same value as the first one. Methods | Improve this Doc View Source AddInjector(Type, PluginInitInjector.InjectParameter) Adds an injector to be used when calling future plugins' Init methods. Declaration public static void AddInjector(Type type, PluginInitInjector.InjectParameter injector) Parameters Type Name Description Type type the type of the parameter. PluginInitInjector.InjectParameter injector the function to call for injection."
},
"api/IPA.Loader.PluginInitInjector.InjectParameter.html": {
"href": "api/IPA.Loader.PluginInitInjector.InjectParameter.html",
"title": "Delegate PluginInitInjector.InjectParameter",
"keywords": "Delegate PluginInitInjector.InjectParameter A typed injector for a plugin's Init method. When registered, called for all associated types. If it returns null, the default for the type will be used. Namespace : IPA.Loader Assembly : IPA.Loader.dll Syntax public delegate object InjectParameter(object previous, ParameterInfo param, PluginMetadata meta); Parameters Type Name Description Object previous the previous return value of the function, or null if never called for plugin. ParameterInfo param the ParameterInfo of the parameter being injected. PluginMetadata meta the PluginMetadata for the plugin being loaded. Returns Type Description Object the value to inject into that parameter. Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
"api/IPA.Loader.Features.html": {
"href": "api/IPA.Loader.Features.html",
"title": "",
"keywords": "Classes Feature The root interface for a mod Feature."
},
"api/IPA.Loader.Features.Feature.html": {
"href": "api/IPA.Loader.Features.Feature.html",
"title": "Class Feature",
"keywords": "Class Feature The root interface for a mod Feature. Inheritance Object Feature Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Loader.Features Assembly : IPA.Loader.dll Syntax public abstract class Feature Remarks Avoid storing any data in any subclasses. If you do, it may result in a failure to load the feature. Properties | Improve this Doc View Source InvalidMessage The message to be logged when the feature is not valid for a plugin. This should also be set whenever either BeforeLoad(PluginMetadata) or BeforeInit(PluginMetadata) returns false. Declaration public virtual string InvalidMessage { get; protected set; } Property Value Type Description String the message to show when the feature is marked invalid | Improve this Doc View Source StoreOnPlugin Defines whether or not this feature will be accessible from the plugin metadata once loaded. Declaration protected virtual bool StoreOnPlugin { get; } Property Value Type Description Boolean true if this Feature will be stored on the plugin metadata, false otherwise Methods | Improve this Doc View Source AfterInit(PluginMetadata) Called after a plugin has been fully initialized, whether or not there is an Init method. This should never throw an exception. Declaration public virtual void AfterInit(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin that was just initialized | Improve this Doc View Source AfterInit(PluginMetadata, Object) Called after a plugin has been fully initialized, whether or not there is an Init method. This should never throw an exception. Declaration public virtual void AfterInit(PluginMetadata plugin, object pluginInstance) Parameters Type Name Description PluginMetadata plugin the plugin that was just initialized Object pluginInstance the instance of the plugin being initialized | Improve this Doc View Source BeforeInit(PluginMetadata) Called before a plugin's Init method is called. This will not be called if there is no Init method. This should never throw an exception. An exception will abort the loading of the plugin with an error. Declaration public virtual bool BeforeInit(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin to be initialized Returns Type Description Boolean whether or not to call the Init method | Improve this Doc View Source BeforeLoad(PluginMetadata) Called before a plugin is loaded. This should never throw an exception. An exception will abort the loading of the plugin with an error. Declaration public virtual bool BeforeLoad(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin about to be loaded Returns Type Description Boolean whether or not the plugin should be loaded Remarks The assembly will still be loaded, but the plugin will not be constructed if this returns false . Any features it defines, for example, will still be loaded. | Improve this Doc View Source Evaluate() Evaluates the Feature for use in conditional meta-Features. This should be re-calculated on every call, unless it can be proven to not change. This will be called on every feature that returns true from Initialize(PluginMetadata, String[]) Declaration public virtual bool Evaluate() Returns Type Description Boolean the truthiness of the Feature. | Improve this Doc View Source Initialize(PluginMetadata, String[]) Initializes the feature with the parameters provided in the definition. Note: When no parenthesis are provided, parameters is an empty array. Declaration public abstract bool Initialize(PluginMetadata meta, string[] parameters) Parameters Type Name Description PluginMetadata meta the metadata of the plugin that is being prepared String [] parameters the parameters passed to the feature definition, or null Returns Type Description Boolean true if the feature is valid for the plugin, false otherwise Remarks This gets called BEFORE your Init method. Returning false does not prevent the plugin from being loaded. It simply prevents the feature from being used. | Improve this Doc View Source RequireLoaded(PluginMetadata) Ensures a plugin's assembly is loaded. Do not use unless you need to. Declaration protected void RequireLoaded(PluginMetadata plugin) Parameters Type Name Description PluginMetadata plugin the plugin to ensure is loaded. Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
"api/IPA.InitAttribute.html": {
"href": "api/IPA.InitAttribute.html",
"title": "Class InitAttribute",
"keywords": "Class InitAttribute Marks a method or a constructor as an inialization method. Inheritance Object Attribute InitAttribute Implements _Attribute Inherited Members Attribute.GetCustomAttributes(MemberInfo, Type) Attribute.GetCustomAttributes(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(MemberInfo) Attribute.GetCustomAttributes(MemberInfo, Boolean) Attribute.IsDefined(MemberInfo, Type) Attribute.IsDefined(MemberInfo, Type, Boolean) Attribute.GetCustomAttribute(MemberInfo, Type) Attribute.GetCustomAttribute(MemberInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo) Attribute.GetCustomAttributes(ParameterInfo, Type) Attribute.GetCustomAttributes(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(ParameterInfo, Boolean) Attribute.IsDefined(ParameterInfo, Type) Attribute.IsDefined(ParameterInfo, Type, Boolean) Attribute.GetCustomAttribute(ParameterInfo, Type) Attribute.GetCustomAttribute(ParameterInfo, Type, Boolean) Attribute.GetCustomAttributes(Module, Type) Attribute.GetCustomAttributes(Module) Attribute.GetCustomAttributes(Module, Boolean) Attribute.GetCustomAttributes(Module, Type, Boolean) Attribute.IsDefined(Module, Type) Attribute.IsDefined(Module, Type, Boolean) Attribute.GetCustomAttribute(Module, Type) Attribute.GetCustomAttribute(Module, Type, Boolean) Attribute.GetCustomAttributes(Assembly, Type) Attribute.GetCustomAttributes(Assembly, Type, Boolean) Attribute.GetCustomAttributes(Assembly) Attribute.GetCustomAttributes(Assembly, Boolean) Attribute.IsDefined(Assembly, Type) Attribute.IsDefined(Assembly, Type, Boolean) Attribute.GetCustomAttribute(Assembly, Type) Attribute.GetCustomAttribute(Assembly, Type, Boolean) Attribute.Equals(Object) Attribute.GetHashCode() Attribute.Match(Object) Attribute.IsDefaultAttribute() Attribute._Attribute.GetTypeInfoCount(UInt32) Attribute._Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) Attribute._Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) Attribute._Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) Attribute.TypeId Object.ToString() Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetType() Object.MemberwiseClone() Namespace : IPA Assembly : IPA.Loader.dll Syntax [AttributeUsage(AttributeTargets.Constructor | AttributeTargets.Method, AllowMultiple = false, Inherited = false)] public sealed class InitAttribute : Attribute, _Attribute Remarks If more than one constructor is marked with this attribute, the one with the most parameters, whether or not they can be injected, will be used. Parameter injection is done with PluginInitInjector . Implements System.Runtime.InteropServices._Attribute Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also PluginAttribute PluginInitInjector"
},
"api/IPA.Config.html": {
"href": "api/IPA.Config.html",
"title": "",
"keywords": "Classes Config An abstraction of a config file on disk, which handles synchronizing between a memory representation and the disk representation. Config.NameAttribute Specifies a preferred config name, instead of using the plugin's name. Config.PreferAttribute Specifies that a particular parameter is preferred to use a particular IConfigProvider . If it is not available, also specifies backups. If none are available, the default is used. ConfigProvider A wrapper for an IConfigProvider and the FileInfo to use with it. ModPrefs Allows to get and set preferences for your mod. Interfaces IConfigProvider An interface for configuration providers. IConfigStore A storage for a config structure. IModPrefs Allows to get and set preferences for your mod."
},
"api/IPA.Config.Stores.IValueConverter.html": {
"href": "api/IPA.Config.Stores.IValueConverter.html",
"title": "Interface IValueConverter",
"keywords": "Interface IValueConverter The base interface for a value converter for use by objects generated by Generated(Config, Boolean) . Namespace : IPA.Config.Stores Assembly : IPA.Loader.dll Syntax public interface IValueConverter Remarks The object returned from FromValue(Value, Object) , if fed into ToValue(Object, Object) , should return equivalent Value structures. Similarly, if the result of ToValue(Object, Object) is fed into FromValue(Value, Object) , the resulting object should be equivalent to the one passed to ToValue(Object, Object) . The parent parameter to ToValue(Object, Object) and FromValue(Value, Object) should be (ideally) the the top of the serialization tree, or some other generated object in that tree, rather than some arbitrary object in the middle that is not managed by the generatd config system. Converters do not need to perform null checks, as the serializer and deserializer will do that automatically. Properties | Improve this Doc View Source Type Gets the type that this IValueConverter handles. Declaration Type Type { get; } Property Value Type Description Type Methods | Improve this Doc View Source FromValue(Value, Object) Converts the given Value to the object type handled by this converter. Declaration object FromValue(Value value, object parent) Parameters Type Name Description Value value the Value to deserialize Object parent the object that will own the result Returns Type Description Object the deserialized object | Improve this Doc View Source ToValue(Object, Object) Converts the given object to a Value . Declaration Value ToValue(object obj, object parent) Parameters Type Name Description Object obj the object to convert Object parent the owning object of obj Returns Type Description Value a representation of obj as a Value structure Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[])"
},
"api/IPA.Config.Stores.GeneratedExtension.html": {
"href": "api/IPA.Config.Stores.GeneratedExtension.html",
"title": "Class GeneratedExtension",
"keywords": "Class GeneratedExtension A class providing an extension for Config to make it easy to use generated config stores. Inheritance Object GeneratedExtension Inherited Members Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores Assembly : IPA.Loader.dll Syntax public static class GeneratedExtension Fields | Improve this Doc View Source AssemblyVisibilityTarget The name of the assembly that internals must be visible to to allow internal protection. Declaration public const string AssemblyVisibilityTarget = \"IPA.Config.Generated\" Field Value Type Description String Methods | Improve this Doc View Source Generated(Config, Boolean) Creates a generated IConfigStore of type T , registers it to the Config object, and returns it. This also forces a synchronous config load via LoadSync() if loadSync is true . Declaration public static T Generated(this Config cfg, bool loadSync = true) where T : class Parameters Type Name Description Config cfg the Config to register to Boolean loadSync whether to synchronously load the content, or trigger an async load Returns Type Description T a generated instance of T as a special IConfigStore Type Parameters Name Description T the type to wrap Remarks T must be a public non- sealed class. It can also be internal, but in that case, then your assembly must have the following attribute to allow the generated code to reference it. [assembly: InternalsVisibleTo(IPA.Config.Stores.GeneratedExtension.AssemblyVisibilityTarget)] Only fields and properties that are public or protected will be considered, and only properties where both the getter and setter are public or protected are considered. Any fields or properties with an IgnoreAttribute applied to them are also ignored. Having properties be virtual is not strictly necessary, however it allows the generated type to keep track of changes and lock around them so that the config will auto-save. All of the attributes in the IPA.Config.Stores.Attributes namespace are handled as described by them. If the T declares a public or protected, virtual method Changed() , then that method may be called to artificially signal to the runtime that the content of the object has changed. That method will also be called after the write locks are released when a property is set anywhere in the owning tree. This will only be called on the outermost generated object of the config structure, even if the change being signaled is somewhere deep into the tree. TODO: is this a good idea? Similarly, T can declare a public or protected, virtual method OnReload() , which will be called on the filesystem reader thread after the object has been repopulated with new data values. It will be called after the write lock for this object is released. This will only be called on the outermost generated object of the config structure. TODO: describe details of generated stores"
},
"api/IPA.Config.Stores.Converters.html": {
"href": "api/IPA.Config.Stores.Converters.html",
"title": "",
"keywords": "Classes CollectionConverter A base class for all ICollection type converters, providing most of the functionality. CollectionConverter A CollectionConverter which default constructs a converter for use as the value converter. Converter Provides utility functions for custom converters. Converter Provides generic utilities for converters for certain types. CustomObjectConverter A ValueConverter for objects normally serialized to config via Generated(Config, Boolean) . IListConverter A CollectionConverter for an IList , creating a List when deserializing. IListConverter An IListConverter which default constructs a converter for use as the value converter. ISetConverter A CollectionConverter for an ISet , creating a HashSet when deserializing. ISetConverter An ISetConverter which default constructs a converter for use as the value converter. ListConverter A CollectionConverter for a List . ListConverter A ListConverter which default constructs a converter for use as the value converter. NullableConverter A converter for a Nullable . NullableConverter A converter for a Nullable that default-constructs a converter of type TConverter to use as the underlying converter. Use this in the UseConverterAttribute ."
},
"api/IPA.Config.Stores.Converters.NullableConverter-2.html": {
"href": "api/IPA.Config.Stores.Converters.NullableConverter-2.html",
"title": "Class NullableConverter",
"keywords": "Class NullableConverter A converter for a Nullable that default-constructs a converter of type TConverter to use as the underlying converter. Use this in the UseConverterAttribute . Inheritance Object ValueConverter < Nullable > NullableConverter NullableConverter Implements IValueConverter Inherited Members NullableConverter.FromValue(Value, Object) NullableConverter.ToValue(Nullable, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class NullableConverter : NullableConverter, IValueConverter where T : struct where TConverter : ValueConverter, new() Type Parameters Name Description T the underlying type of the Nullable TConverter the type to use as an underlying converter Constructors | Improve this Doc View Source NullableConverter() Creates a converter with a new TConverter as the underlying converter. Declaration public NullableConverter() See Also NullableConverter(ValueConverter) Implements IValueConverter Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also NullableConverter "
},
"api/IPA.Config.Stores.Converters.ISetConverter-1.html": {
"href": "api/IPA.Config.Stores.Converters.ISetConverter-1.html",
"title": "Class ISetConverter",
"keywords": "Class ISetConverter A CollectionConverter for an ISet , creating a HashSet when deserializing. Inheritance Object ValueConverter < ISet > CollectionConverter > ISetConverter ISetConverter Implements IValueConverter Inherited Members CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(ISet, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(ISet, Object) ValueConverter>.ToValue(ISet, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class ISetConverter : CollectionConverter>, IValueConverter Type Parameters Name Description T the element type of the ISet Constructors | Improve this Doc View Source ISetConverter() Creates an ISetConverter using the default converter for T . Declaration public ISetConverter() See Also CollectionConverter() | Improve this Doc View Source ISetConverter(ValueConverter) Creates an ISetConverter using the specified underlying converter for values. Declaration public ISetConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the underlying ValueConverter to use for the values Methods | Improve this Doc View Source Create(Int32, Object) Creates a new ISet (a HashSet ) for deserialization. Declaration protected override ISet Create(int size, object parent) Parameters Type Name Description Int32 size the size to initialize it to Object parent the object that will own the new object Returns Type Description ISet the new ISet Overrides IPA.Config.Stores.Converters.CollectionConverter>.Create(System.Int32, System.Object) Implements IValueConverter Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also CollectionConverter "
},
"api/IPA.Config.Stores.Converters.IListConverter-2.html": {
"href": "api/IPA.Config.Stores.Converters.IListConverter-2.html",
"title": "Class IListConverter",
"keywords": "Class IListConverter An IListConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter < IList > CollectionConverter > IListConverter IListConverter Implements IValueConverter Inherited Members IListConverter.Create(Int32, Object) CollectionConverter>.BaseConverter CollectionConverter>.Create(Int32, Object) CollectionConverter>.PopulateFromValue(IList, List, Object) CollectionConverter>.FromValue(Value, Object) CollectionConverter>.ToValue(IList, Object) ValueConverter>.ToValue(IList, Object) ValueConverter>.FromValue(Value, Object) ValueConverter>.IValueConverter.ToValue(Object, Object) ValueConverter>.IValueConverter.FromValue(Value, Object) ValueConverter>.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class IListConverter : IListConverter, IValueConverter where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TConverter the type of the converter to use for T Constructors | Improve this Doc View Source IListConverter() Creates an IListConverter using a default constructed TConverter element type. Equivalent to calling IListConverter(ValueConverter) with a default-constructed TConverter . Declaration public IListConverter() See Also IListConverter(ValueConverter) Implements IValueConverter Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also IListConverter "
},
"api/IPA.Config.Stores.Converters.CollectionConverter-3.html": {
"href": "api/IPA.Config.Stores.Converters.CollectionConverter-3.html",
"title": "Class CollectionConverter",
"keywords": "Class CollectionConverter A CollectionConverter which default constructs a converter for use as the value converter. Inheritance Object ValueConverter CollectionConverter CollectionConverter Implements IValueConverter Inherited Members CollectionConverter.BaseConverter CollectionConverter.Create(Int32, Object) CollectionConverter.PopulateFromValue(TCollection, List, Object) CollectionConverter.FromValue(Value, Object) CollectionConverter.ToValue(TCollection, Object) ValueConverter.ToValue(TCollection, Object) ValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.ToValue(Object, Object) ValueConverter.IValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public sealed class CollectionConverter : CollectionConverter, IValueConverter where TCollection : ICollection where TConverter : ValueConverter, new() Type Parameters Name Description T the value type of the collection TCollection the type of the colleciton TConverter the type of the converter to use for T Constructors | Improve this Doc View Source CollectionConverter() Creates a CollectionConverter using a default constructed TConverter element type. Equivalent to calling CollectionConverter(ValueConverter) with a default-constructed TConverter . Declaration public CollectionConverter() See Also CollectionConverter(ValueConverter) Implements IValueConverter Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField(Object, String) ReflectionUtil.GetField(U, String) ReflectionUtil.SetProperty(Object, String, Object) ReflectionUtil.SetProperty(T, String, Object) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(T, String, Object[]) ReflectionUtil.InvokeMethod(Object, String, Object[]) ReflectionUtil.InvokeMethod(U, String, Object[]) See Also CollectionConverter "
},
"api/IPA.Config.Stores.Converters.CollectionConverter-2.html": {
"href": "api/IPA.Config.Stores.Converters.CollectionConverter-2.html",
"title": "Class CollectionConverter",
"keywords": "Class CollectionConverter A base class for all ICollection type converters, providing most of the functionality. Inheritance Object ValueConverter CollectionConverter CollectionConverter IListConverter ISetConverter ListConverter Implements IValueConverter Inherited Members ValueConverter.IValueConverter.ToValue(Object, Object) ValueConverter.IValueConverter.FromValue(Value, Object) ValueConverter.IValueConverter.Type Object.ToString() Object.Equals(Object) Object.Equals(Object, Object) Object.ReferenceEquals(Object, Object) Object.GetHashCode() Object.GetType() Object.MemberwiseClone() Namespace : IPA.Config.Stores.Converters Assembly : IPA.Loader.dll Syntax public class CollectionConverter : ValueConverter, IValueConverter where TCollection : ICollection Type Parameters Name Description T the type of the items in the collection TCollection the instantiated type of collection Constructors | Improve this Doc View Source CollectionConverter() Creates a CollectionConverter using the default converter for the element type. Equivalent to calling CollectionConverter(ValueConverter) with Default . Declaration public CollectionConverter() See Also CollectionConverter(ValueConverter) | Improve this Doc View Source CollectionConverter(ValueConverter) Creates a CollectionConverter using the specified underlying converter. Declaration public CollectionConverter(ValueConverter underlying) Parameters Type Name Description ValueConverter underlying the ValueConverter to use to convert the values Properties | Improve this Doc View Source BaseConverter Gets the converter for the collection's value type. Declaration protected ValueConverter BaseConverter { get; } Property Value Type Description ValueConverter Methods | Improve this Doc View Source Create(Int32, Object) Creates a collection of type TCollection using the size and parent . Declaration protected virtual TCollection Create(int size, object parent) Parameters Type Name Description Int32 size the initial size of the collecion Object parent the object that will own the new collection Returns Type Description TCollection a new instance of TCollection See Also FromValue ( Value , Object ) | Improve this Doc View Source FromValue(Value, Object) Deserializes a List in value into a new TCollection owned by parent . Declaration public override TCollection FromValue(Value value, object parent) Parameters Type Name Description Value value the List to convert to a TCollection Object parent the object that will own the resulting TCollection Returns Type Description TCollection a new TCollection holding the deserialized content of value Overrides IPA.Config.Stores.ValueConverter.FromValue(IPA.Config.Data.Value, System.Object) See Also FromValue ( Value , Object ) | Improve this Doc View Source PopulateFromValue(TCollection, List, Object) Populates the colleciton col with the deserialized values from list with the parent parent . Declaration protected void PopulateFromValue(TCollection col, List list, object parent) Parameters Type Name Description TCollection col the collection to populate List list the values to populate it with Object parent the object that will own the new objects See Also FromValue ( Value , Object ) | Improve this Doc View Source ToValue(TCollection, Object) Serializes a TCollection into a List . Declaration public override Value ToValue(TCollection obj, object parent) Parameters Type Name Description TCollection obj the TCollection to serialize Object parent the object owning obj Returns Type Description Value the List that obj was serialized into Overrides IPA.Config.Stores.ValueConverter.ToValue(TCollection, System.Object) See Also ToValue (T, Object ) Implements IValueConverter Extension Methods ReflectionUtil.SetField(Object, String, Object) ReflectionUtil.SetField(T, String, Object) ReflectionUtil.GetField