Data structure to store the allowed id/type combinations for action 14. More...
Public Member Functions | |
AllowedSubtags () | |
Create empty subtags object used to identify the end of a list. | |
AllowedSubtags (uint32 id, DataHandler handler) | |
Create a binary leaf node. | |
AllowedSubtags (uint32 id, TextHandler handler) | |
Create a text leaf node. | |
AllowedSubtags (uint32 id, BranchHandler handler) | |
Create a branch node with a callback handler. | |
AllowedSubtags (uint32 id, AllowedSubtags *subtags) | |
Create a branch node with a list of sub-nodes. | |
Data Fields | |
uint32 | id |
The identifier for this node. | |
byte | type |
The type of the node, must be one of 'C', 'B' or 'T'. | |
union { | |
DataHandler data | |
Callback function for a binary node, only valid if type == 'B'. | |
TextHandler text | |
Callback function for a text node, only valid if type == 'T'. | |
struct { | |
union { | |
BranchHandler branch | |
Callback function for a branch node, only valid if type == 'C' && call_handler. | |
AllowedSubtags * subtags | |
Pointer to a list of subtags, only valid if type == 'C' && !call_handler. | |
} u | |
bool call_handler | |
True if there is a callback function for this node, false if there is a list of subnodes. | |
} | |
} | handler |
Data structure to store the allowed id/type combinations for action 14.
The data can be represented as a tree with 3 types of nodes: 1. Branch nodes (identified by 'C' for choice). 2. Binary leaf nodes (identified by 'B'). 3. Text leaf nodes (identified by 'T').
Definition at line 7379 of file newgrf.cpp.
AllowedSubtags::AllowedSubtags | ( | ) | [inline] |
Create empty subtags object used to identify the end of a list.
Definition at line 7381 of file newgrf.cpp.
AllowedSubtags::AllowedSubtags | ( | uint32 | id, | |
DataHandler | handler | |||
) | [inline] |
Create a binary leaf node.
id | The id for this node. | |
handler | The callback function to call. |
Definition at line 7391 of file newgrf.cpp.
AllowedSubtags::AllowedSubtags | ( | uint32 | id, | |
TextHandler | handler | |||
) | [inline] |
Create a text leaf node.
id | The id for this node. | |
handler | The callback function to call. |
Definition at line 7403 of file newgrf.cpp.
AllowedSubtags::AllowedSubtags | ( | uint32 | id, | |
BranchHandler | handler | |||
) | [inline] |
Create a branch node with a callback handler.
id | The id for this node. | |
handler | The callback function to call. |
Definition at line 7415 of file newgrf.cpp.
AllowedSubtags::AllowedSubtags | ( | uint32 | id, | |
AllowedSubtags * | subtags | |||
) | [inline] |
Create a branch node with a list of sub-nodes.
id | The id for this node. | |
subtags | Array with all valid subtags. |
Definition at line 7428 of file newgrf.cpp.