OpenTTD
Public Member Functions | Data Fields
AllowedSubtags Struct Reference

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

Detailed Description

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 7501 of file newgrf.cpp.

Constructor & Destructor Documentation

AllowedSubtags::AllowedSubtags ( )
inline

Create empty subtags object used to identify the end of a list.

Definition at line 7503 of file newgrf.cpp.

AllowedSubtags::AllowedSubtags ( uint32  id,
DataHandler  handler 
)
inline

Create a binary leaf node.

Parameters
idThe id for this node.
handlerThe callback function to call.

Definition at line 7513 of file newgrf.cpp.

AllowedSubtags::AllowedSubtags ( uint32  id,
TextHandler  handler 
)
inline

Create a text leaf node.

Parameters
idThe id for this node.
handlerThe callback function to call.

Definition at line 7525 of file newgrf.cpp.

AllowedSubtags::AllowedSubtags ( uint32  id,
BranchHandler  handler 
)
inline

Create a branch node with a callback handler.

Parameters
idThe id for this node.
handlerThe callback function to call.

Definition at line 7537 of file newgrf.cpp.

AllowedSubtags::AllowedSubtags ( uint32  id,
AllowedSubtags subtags 
)
inline

Create a branch node with a list of sub-nodes.

Parameters
idThe id for this node.
subtagsArray with all valid subtags.

Definition at line 7550 of file newgrf.cpp.

References subtags.


The documentation for this struct was generated from the following file: