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