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

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

Create a binary leaf node.

Parameters:
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.

Parameters:
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.

Parameters:
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.

Parameters:
id The id for this node.
subtags Array with all valid subtags.

Definition at line 7428 of file newgrf.cpp.


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