REC RPC library
Classes | Namespaces | Macros
rec_rpc_serialization_Primitive.h File Reference
#include "rec/rpc/serialization/rec_rpc_serialization_Serializable.h"
Include dependency graph for rec_rpc_serialization_Primitive.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  rec::rpc::serialization::Primitive< T >
 Serialization class for primitive objects and values. More...
 

Namespaces

 rec
 
 rec::rpc
 
 rec::rpc::serialization
 

Macros

#define DECLARE_PRIMITIVE_MEMBER(DATATYPE, NAME)
 Complex data container member definition for primitive types. More...
 
#define DEFINE_PRIMITIVE_PARAM(FUNCTIONNAME, DATATYPE)   DEFINE_SERIALIZABLE( FUNCTIONNAME##Param, rec::rpc::serialization::Primitive< DATATYPE > );
 Function parameter type definition. More...
 
#define DEFINE_PRIMITIVE_RESULT(FUNCTIONNAME, DATATYPE)   DEFINE_SERIALIZABLE( FUNCTIONNAME##Result, rec::rpc::serialization::Primitive< DATATYPE > );
 Function result type definition. More...
 
#define DEFINE_PRIMITIVE_TOPICDATA(TOPICNAME, DATATYPE)   DEFINE_SERIALIZABLE( topic##TOPICNAME##Data, rec::rpc::serialization::Primitive< DATATYPE > );
 Topic data type definition. More...
 

Macro Definition Documentation

#define DECLARE_PRIMITIVE_MEMBER (   DATATYPE,
  NAME 
)
Value:
private: \
rec::rpc::serialization::PrimitivePtr< DATATYPE >::Type _##NAME; \
void create_##NAME() { _##NAME = rec::rpc::serialization::PrimitivePtr< DATATYPE >::Type( new rec::rpc::serialization::Primitive< DATATYPE > ); } \
public: \
DATATYPE& NAME() { return *_##NAME; } \
const DATATYPE& NAME() const { return *_##NAME; } \
void set##NAME( const DATATYPE& value ) { _##NAME->setValue( value ); }
Serialization class for primitive objects and values.

Complex data container member definition for primitive types.

Place this macro into the declaration of a rec::rpc::serialization::Complex subclass to add a primitive member. It can be accessed via NAME() (const and non-const).

Parameters
DATATYPEType of the data contained.
NAMEMember name.
See also
rec::rpc::serialization::Complex

Definition at line 179 of file rec_rpc_serialization_Primitive.h.

#define DEFINE_PRIMITIVE_PARAM (   FUNCTIONNAME,
  DATATYPE 
)    DEFINE_SERIALIZABLE( FUNCTIONNAME##Param, rec::rpc::serialization::Primitive< DATATYPE > );

Function parameter type definition.

Parameters
FUNCTIONNAMEName of the RPC function.
DATATYPEType of the data stored in the container.

Definition at line 194 of file rec_rpc_serialization_Primitive.h.

#define DEFINE_PRIMITIVE_RESULT (   FUNCTIONNAME,
  DATATYPE 
)    DEFINE_SERIALIZABLE( FUNCTIONNAME##Result, rec::rpc::serialization::Primitive< DATATYPE > );

Function result type definition.

Parameters
FUNCTIONNAMEName of the RPC function.
DATATYPEType of the data stored in the container.

Definition at line 202 of file rec_rpc_serialization_Primitive.h.

#define DEFINE_PRIMITIVE_TOPICDATA (   TOPICNAME,
  DATATYPE 
)    DEFINE_SERIALIZABLE( topic##TOPICNAME##Data, rec::rpc::serialization::Primitive< DATATYPE > );

Topic data type definition.

Parameters
TOPICNAMEName of the topic.
DATATYPEType of the data stored in the container.

Definition at line 210 of file rec_rpc_serialization_Primitive.h.