|
OpenTTD Source 15.0-beta1
|
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().