MAK RTIspy API Documentation for HLA Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Macros
rtiTemplateMsgParams.h File Reference

This file defines the DtRtiMsgParam template which can be used to produce template based message classes. More...

Go to the source code of this file.

Classes

class  DtRtiBaseMsgParam
 The base class for all templated RTI message parameters. More...
 
class  DtRtiMsgParam< ParamType, NetParamType >
 The template for an RTI message parameter. More...
 

Macros

#define DtDECLARE_PARAMETER_METHODS(ParamName, ParamType)
 
#define DtDECLARE_BY_REF_PARAMETER_METHODS(ParamName, ParamType)
 
#define DtDECLARE_UNSIGNED_PARAMETER_METHODS(ParamName, BitSize)
 
#define DtDECLARE_BOOL_PARAMETER_METHODS(ParamName)
 
#define DtDECLARE_INT_PARAMETER_METHODS(ParamName, BitSize)
 
#define DtDECLARE_ENUMERATION_PARAMETER_METHODS(ParamName, EnumType, BitSize)
 
#define DtDECLARE_FLOAT_PARAMETER_METHODS(ParamName, BitSize)
 
#define DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, ParamType)
 
#define DtDEFINE_BY_REF_PARAMETER_METHODS(ClassName, ParamName, ParamType)
 
#define DtDEFINE_UNSIGNED_PARAMETER_METHODS(ClassName, ParamName, BitSize)   DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, DtU##BitSize)
 
#define DtDEFINE_BOOL_PARAMETER_METHODS(ClassName, ParamName)   DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, bool)
 
#define DtDEFINE_INT_PARAMETER_METHODS(ClassName, ParamName, BitSize)   DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, DtInt##BitSize)
 
#define DtDEFINE_ENUMERATION_PARAMETER_METHODS(ClassName, ParamName, EnumType)   DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, EnumType)
 
#define DtDEFINE_FLOAT_PARAMETER_METHODS(ClassName, ParamName, BitSize)   DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, DtFloat##BitSize)
 
#define DtADD_PARAMETER(ParamName)   addParameter(my##ParamName = new ParamName##Type(ParamName##Name));
 

Detailed Description

This file defines the DtRtiMsgParam template which can be used to produce template based message classes.

It also defines easy macros to make creating a new message simpler. To create a parameter: 1) In your class definition use one of the DtDECLARE_<type>_PARAMETER_METHODS macros defined below or in another file. 2) Use the matching DtDEFINE_<type>_PARAMETER_METHODS macro to define the get and set accessor methods for your parameter. 3) In the addAllParameters() method of your message class, use the DtADD_PARAMETER macro (or another type-specific version defined elsewhere) to add your parameter to the class. Make Sure that parameters are added in order to preserve correct byte alignment.

Macro Definition Documentation

#define DtADD_PARAMETER (   ParamName)    addParameter(my##ParamName = new ParamName##Type(ParamName##Name));
#define DtDECLARE_BOOL_PARAMETER_METHODS (   ParamName)
Value:
DtDECLARE_PARAMETER_METHODS(ParamName, bool) \
protected: \
ParamName##Type* my##ParamName;
#define DtDECLARE_PARAMETER_METHODS(ParamName, ParamType)
Definition: rtiTemplateMsgParams.h:184
The template for an RTI message parameter.
Definition: rtiTemplateMsgParams.h:95
#define DtDECLARE_BY_REF_PARAMETER_METHODS (   ParamName,
  ParamType 
)
Value:
public: \
static const char* ParamName##Name; \
void set##ParamName(const ParamType& val); \
ParamType get##ParamName() const; \
void get##ParamName(ParamType& val) const;
#define DtDECLARE_ENUMERATION_PARAMETER_METHODS (   ParamName,
  EnumType,
  BitSize 
)
Value:
DtDECLARE_PARAMETER_METHODS(ParamName, EnumType) \
protected: \
ParamName##Type* my##ParamName;
#define DtDECLARE_PARAMETER_METHODS(ParamName, ParamType)
Definition: rtiTemplateMsgParams.h:184
The template for an RTI message parameter.
Definition: rtiTemplateMsgParams.h:95
#define DtDECLARE_FLOAT_PARAMETER_METHODS (   ParamName,
  BitSize 
)
Value:
DtDECLARE_PARAMETER_METHODS(ParamName, MAKRti::DtFloat##BitSize) \
protected: \
ParamName##Type* my##ParamName;
#define DtDECLARE_PARAMETER_METHODS(ParamName, ParamType)
Definition: rtiTemplateMsgParams.h:184
The template for an RTI message parameter.
Definition: rtiTemplateMsgParams.h:95
#define DtDECLARE_INT_PARAMETER_METHODS (   ParamName,
  BitSize 
)
Value:
DtDECLARE_PARAMETER_METHODS(ParamName, MAKRti::DtInt##BitSize) \
protected: \
ParamName##Type* my##ParamName;
#define DtDECLARE_PARAMETER_METHODS(ParamName, ParamType)
Definition: rtiTemplateMsgParams.h:184
The template for an RTI message parameter.
Definition: rtiTemplateMsgParams.h:95
#define DtDECLARE_PARAMETER_METHODS (   ParamName,
  ParamType 
)
Value:
public: \
static const char* ParamName##Name; \
void set##ParamName(ParamType val); \
ParamType get##ParamName() const;
#define DtDECLARE_UNSIGNED_PARAMETER_METHODS (   ParamName,
  BitSize 
)
Value:
DtDECLARE_PARAMETER_METHODS(ParamName, MAKRti::DtU##BitSize) \
protected: \
ParamName##Type* my##ParamName;
#define DtDECLARE_PARAMETER_METHODS(ParamName, ParamType)
Definition: rtiTemplateMsgParams.h:184
The template for an RTI message parameter.
Definition: rtiTemplateMsgParams.h:95
#define DtDEFINE_BOOL_PARAMETER_METHODS (   ClassName,
  ParamName 
)    DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, bool)
#define DtDEFINE_BY_REF_PARAMETER_METHODS (   ClassName,
  ParamName,
  ParamType 
)
Value:
const char* ClassName::ParamName##Name = #ParamName; \
void ClassName::set##ParamName(const ParamType& val) \
{ \
my##ParamName->setParamRef(val); \
} \
ParamType ClassName::get##ParamName() const \
{ \
return my##ParamName->param(); \
} \
void ClassName::get##ParamName(ParamType& val) const \
{ \
my##ParamName->getParam(val); \
}
#define DtDEFINE_ENUMERATION_PARAMETER_METHODS (   ClassName,
  ParamName,
  EnumType 
)    DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, EnumType)
#define DtDEFINE_FLOAT_PARAMETER_METHODS (   ClassName,
  ParamName,
  BitSize 
)    DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, DtFloat##BitSize)
#define DtDEFINE_INT_PARAMETER_METHODS (   ClassName,
  ParamName,
  BitSize 
)    DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, DtInt##BitSize)
#define DtDEFINE_PARAMETER_METHODS (   ClassName,
  ParamName,
  ParamType 
)
Value:
const char* ClassName::ParamName##Name = #ParamName; \
void ClassName::set##ParamName(ParamType val) \
{ \
my##ParamName->setParam(val); \
} \
ParamType ClassName::get##ParamName() const \
{ \
return static_cast<ParamType>(my##ParamName->param()); \
}
#define DtDEFINE_UNSIGNED_PARAMETER_METHODS (   ClassName,
  ParamName,
  BitSize 
)    DtDEFINE_PARAMETER_METHODS(ClassName, ParamName, DtU##BitSize)

Document ID: Generated on Mon Sep 7 15:40:32 EDT 2020 from SVN revision 217499
Copyright © 2005-2020 MAK Technologies Inc. All Rights Reserved (www.mak.com)