Registration macros
[Macros]

Defines

#define Register_ResultFilter(NAME, CLASSNAME)
#define Register_ResultRecorder(NAME, CLASSNAME)
#define Define_NED_Math_Function(NAME, ARGCOUNT)
#define Define_NED_Math_Function2(NAME, FUNCTION, ARGCOUNT)
#define Define_NED_Math_Function3(NAME, ARGCOUNT, CATEGORY, DESCRIPTION)
#define Define_NED_Math_Function4(NAME, FUNCTION, ARGCOUNT, CATEGORY, DESCRIPTION)
#define Define_Function(NAME, ARGCOUNT)
#define Define_Function2(NAME, FUNCTION, ARGCOUNT)
#define Define_Function3(NAME, ARGCOUNT, CATEGORY, DESCRIPTION)
#define Define_Function4(NAME, FUNCTION, ARGCOUNT, CATEGORY, DESCRIPTION)
#define Define_NED_Function(FUNCTION, SIGNATURE)
#define Define_NED_Function2(FUNCTION, SIGNATURE, CATEGORY, DESCRIPTION)
#define Register_Class(CLASSNAME)
#define Register_Abstract_Class(CLASSNAME)
#define Define_Module(CLASSNAME)
#define Define_Channel(CLASSNAME)
#define Register_ClassDescriptor(DESCRIPTORCLASS)
#define Module_Class_Members(CLASSNAME, BASECLASS, STACK)
#define Register_GlobalConfigOption(ID, NAME, TYPE, DEFAULTVALUE, DESCRIPTION)
#define Register_PerRunConfigOption(ID, NAME, TYPE, DEFAULTVALUE, DESCRIPTION)
#define Register_GlobalConfigOptionU(ID, NAME, UNIT, DEFAULTVALUE, DESCRIPTION)
#define Register_PerRunConfigOptionU(ID, NAME, UNIT, DEFAULTVALUE, DESCRIPTION)
#define Register_PerObjectConfigOption(ID, NAME, KIND, TYPE, DEFAULTVALUE, DESCRIPTION)
#define Register_PerObjectConfigOptionU(ID, NAME, KIND, UNIT, DEFAULTVALUE, DESCRIPTION)
#define Register_MessagePrinter(CLASSNAME)

Define Documentation

#define Define_Function ( NAME,
ARGCOUNT   ) 

DEPRECATED MACRO.

Use Define_NED_Math_Function() instead.

#define Define_Function2 ( NAME,
FUNCTION,
ARGCOUNT   ) 

DEPRECATED MACRO.

Use Define_NED_Math_Function2() instead.

#define Define_Function3 ( NAME,
ARGCOUNT,
CATEGORY,
DESCRIPTION   ) 

DEPRECATED MACRO.

Use Define_NED_Math_Function3() instead.

#define Define_Function4 ( NAME,
FUNCTION,
ARGCOUNT,
CATEGORY,
DESCRIPTION   ) 

DEPRECATED MACRO.

Use Define_NED_Math_Function4() instead.

#define Define_NED_Function ( FUNCTION,
SIGNATURE   ) 

Registers a C/C++ function for use in NED and ini files; see cNEDFunction.

FUNCTION is a pointer to the function, and SIGNATURE is the function's signature in NED.

The C++ function should have the following signature:

 cNEDValue f(cComponent *context, cNEDValue argv[], int argc)
 

SIGNATURE is a string with the following syntax: returntype functionname(argtype1 argname1, ...), where a type can be one of 'bool', 'int', 'double', 'quantity' ('double' with measurement unit), 'string', 'xml' and 'any'. Optional arguments are denoted by appending a '?' to their names. To let the function accept any number of additional arguments of arbitrary types, add ',...' to the signature.

Example:

 Define_NED_Function(uniformFunc,"quantity uniform(quantity a, quantity b, long rng?)")
 
#define Define_NED_Math_Function ( NAME,
ARGCOUNT   ) 

Registers a C/C++ mathematical function for use in NED and ini files.

The function may take 0, 1, 2 or 3 double arguments, and must return a double. Corresponding C/C++ typedefs: MathFuncNoArg, MathFunc1Arg, MathFunc2Args, MathFunc3Args, MathFunc4Args.

Commonly used <math.h> functions have Define_NED_Math_Function() lines in the OMNeT++ simulation kernel.

See also:
Define_NED_Function
#define Define_NED_Math_Function2 ( NAME,
FUNCTION,
ARGCOUNT   ) 

Like Define_NED_Math_Function(), but takes three arguments, the second one being the pointer to the function.

This macro allows registering a function with a different name from its implementation.

#define Module_Class_Members ( CLASSNAME,
BASECLASS,
STACK   ) 

This macro has been previously marked as deprecated, and was removed in OMNeT++ 4.0.

Existing occurrences should be replaced with a public default constructor. That is,

 Module_Class_Members(Foo, cSimpleModule, 0)
 

should become

 public:
   Foo() : cSimpleModule() {}
 
#define Register_Abstract_Class ( CLASSNAME   ) 

Register an abstract class.

Registration makes it possible to dynamically test whether an object is a subclass of the registered class (see cObjectFactory::isInstance()). The class must be a subclass of cObject, otherwise a compile-time error will occur: "cannot convert..."

See also:
cObjectFactory, cObjectFactory::isInstance()
#define Register_Class ( CLASSNAME   ) 

Register class.

This defines a factory object which makes it possible to create an object by the passing class name to the createOne() function. The class must be a subclass of cObject, otherwise a compile-time error will occur: "cannot convert..."

See also:
cObjectFactory, cObjectFactory::createOne(), cObjectFactory::isInstance()
#define Register_ClassDescriptor ( DESCRIPTORCLASS   ) 

Internal.

Registers a class descriptor which provides reflection information.

#define Register_ResultFilter ( NAME,
CLASSNAME   ) 

Registers a result filter.

The class must be a subclass of cResultFilter. Registered result filters can be used in the source= and record= attributes of @statistic properties in NED files, and with the **.result-recording-modes= configuration option.

#define Register_ResultRecorder ( NAME,
CLASSNAME   ) 

Registers a result recorder.

The class must be a subclass of cResultRecorder. Registered result recorders can be used in the record= attributes of @statistic properties in NED files, and with the **.result-recording-modes= configuration option.

Generated on Tue Dec 2 11:16:28 2014 for OMNeT++ Simulation Library by  doxygen 1.6.3