OpenTTD Source 20241224-master-gf74b0cf984
|
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_t id, DataHandler handler) | |
Create a binary leaf node. | |
AllowedSubtags (uint32_t id, TextHandler handler) | |
Create a text leaf node. | |
AllowedSubtags (uint32_t id, BranchHandler handler) | |
Create a branch node with a callback handler. | |
AllowedSubtags (uint32_t id, AllowedSubtags *subtags) | |
Create a branch node with a list of sub-nodes. | |
Data Fields | ||
uint32_t | id | |
The identifier for this node. | ||
uint8_t | 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'. More... | ||
TextHandler text | ||
Callback function for a text node, only valid if type == 'T'. More... | ||
struct { | ||
union { | ||
BranchHandler branch | ||
Callback function for a branch node, only valid if type == 'C' && call_handler. More... | ||
AllowedSubtags * subtags | ||
Pointer to a list of subtags, only valid if type == 'C' && !call_handler. More... | ||
} u | ||
bool call_handler | ||
True if there is a callback function for this node, false if there is a list of subnodes. More... | ||
} | ||
} | 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:
Definition at line 8374 of file newgrf.cpp.
|
inline |
Create empty subtags object used to identify the end of a list.
Definition at line 8376 of file newgrf.cpp.
|
inline |
Create a binary leaf node.
id | The id for this node. |
handler | The callback function to call. |
Definition at line 8386 of file newgrf.cpp.
|
inline |
Create a text leaf node.
id | The id for this node. |
handler | The callback function to call. |
Definition at line 8398 of file newgrf.cpp.
|
inline |
Create a branch node with a callback handler.
id | The id for this node. |
handler | The callback function to call. |
Definition at line 8410 of file newgrf.cpp.
|
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 8423 of file newgrf.cpp.
References subtags.
BranchHandler AllowedSubtags::branch |
Callback function for a branch node, only valid if type == 'C' && call_handler.
Definition at line 8438 of file newgrf.cpp.
Referenced by HandleNode().
bool AllowedSubtags::call_handler |
True if there is a callback function for this node, false if there is a list of subnodes.
Definition at line 8441 of file newgrf.cpp.
Referenced by HandleNode().
DataHandler AllowedSubtags::data |
Callback function for a binary node, only valid if type == 'B'.
Definition at line 8434 of file newgrf.cpp.
Referenced by HandleNode().
uint32_t AllowedSubtags::id |
The identifier for this node.
Definition at line 8431 of file newgrf.cpp.
Referenced by HandleNode().
AllowedSubtags* AllowedSubtags::subtags |
Pointer to a list of subtags, only valid if type == 'C' && !call_handler.
Definition at line 8439 of file newgrf.cpp.
Referenced by AllowedSubtags(), and HandleNode().
TextHandler AllowedSubtags::text |
Callback function for a text node, only valid if type == 'T'.
Definition at line 8435 of file newgrf.cpp.
Referenced by HandleNode().
uint8_t AllowedSubtags::type |
The type of the node, must be one of 'C', 'B' or 'T'.
Definition at line 8432 of file newgrf.cpp.
Referenced by HandleNode().