using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace IPA
|
|
{
|
|
[AttributeUsage(AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
|
|
public sealed class PluginAttribute : Attribute
|
|
{
|
|
// whenever this changes, PluginLoader.LoadMetadata must also change
|
|
public RuntimeOptions RuntimeOptions { get; }
|
|
public PluginAttribute(RuntimeOptions runtimeOptions)
|
|
{
|
|
RuntimeOptions = runtimeOptions;
|
|
}
|
|
}
|
|
|
|
// TODO: figure out a better name for this
|
|
public enum RuntimeOptions
|
|
{
|
|
SingleStartInit,
|
|
DynamicInit,
|
|
|
|
// TODO: do I want this?
|
|
SingleDynamicInit
|
|
}
|
|
|
|
[AttributeUsage(AttributeTargets.Method | AttributeTargets.Constructor, AllowMultiple = false, Inherited = false)]
|
|
public sealed class InitAttribute : Attribute { }
|
|
}
|