1// Base class for all options. 2class Property<string name, string type> { 3 string Name = name; 4 string Type = type; 5 string Definition; 6} 7 8// Sets the description for the property that should be displayed to the user. 9class Desc<string description> { 10 string Description = description; 11} 12 13// Marks the property as global. 14class Global { 15 bit Global = 1; 16} 17 18class DefaultTrue { 19 int DefaultUnsignedValue = 1; 20 bit HasDefaultUnsignedValue = 1; 21 bit HasDefaultBooleanValue = 1; 22} 23 24class DefaultFalse { 25 int DefaultUnsignedValue = 0; 26 bit HasDefaultUnsignedValue = 1; 27 bit HasDefaultBooleanValue = 1; 28} 29 30// Gives the property a default string value. 31class DefaultStringValue<string value> { 32 string DefaultStringValue = value; 33 bit HasDefaultStringValue = 1; 34} 35 36// Gives the property a default enum value. 37class DefaultEnumValue<string value> { 38 string DefaultEnumValue = value; 39 bit HasDefaultEnumValue = 1; 40} 41 42// Gives the property a default string value. 43class DefaultUnsignedValue<int value> { 44 int DefaultUnsignedValue = value; 45 bit HasDefaultUnsignedValue = 1; 46} 47 48// Gives the property enum values. 49class EnumValues<string enum> { 50 string EnumValues = enum; 51} 52 53// Determines the element type for arrays and dictionaries. 54class ElementType<string value> { 55 string ElementType = value; 56 bit HasElementType = 1; 57} 58