using System; namespace BizHawk.Client.ApiHawk { /// /// This class hold logic interraction for the ExternalToolAttribute /// This attribute helps BizHawk to handle ExternalTools /// [AttributeUsage(AttributeTargets.Assembly)] public sealed class BizHawkExternalToolAttribute : Attribute { #region Fields private string _Name; private string _Description; private string _IconResourceName; #endregion #region cTor(s) /// /// Initialize a new instance of /// /// Tool's name /// Small description about the tool itself /// Icon embedded resource name public BizHawkExternalToolAttribute(string name, string description, string iconResourceName) { _Name = name; _Description = description; _IconResourceName = iconResourceName; } /// /// Initialize a new instance of /// /// Tool's name /// Small description about the tool itself public BizHawkExternalToolAttribute(string name, string description) : this(name, description, string.Empty) { } /// /// Initialize a new instance of /// /// Tool's name public BizHawkExternalToolAttribute(string name) :this(name, string.Empty, string.Empty) {} #endregion #region Properties /// /// Gets tool's friendly name /// public string Name { get { return _Name; } } /// /// Gets tool's descriptino /// public string Description { get { return _Description; } } /// /// Get the name of the embedded resource icon /// /// Don't forget to set compile => Embedded reource to the icon file in your project public string IconResourceName { get { return _IconResourceName; } } #endregion } }