All components should take the form of a class definition file that defines a class derived from one of the component base classes (described below). The name of the class should be exactly the Class Name of the component, with the slashes replaced by underscores, followed by an additional underscore, followed by the release number in numerals. For example, the current numeric source component has class name
The base classes of all three component types are the same, except that the Process base class has two instances of SystemMLInterface representing its input and output interfaces, as follows.
C++ API (1065)
Your class must define the virtual
event() function, and perform all its processing within. The member variables have the following significance.
- Pointer to the time object for this component (which is maintained by the framework). You can access it using
ptime-> (or the old style
time., through the definition of the symbol
time, see Legacy Redirects).
- Pointer to the data object for this component; you should not generally need this.
- The handle of this component, which should be passed to Component Interface functions which request
hCaller (the handle of the caller).
- The component's output object, which is connected to the BRAHMS structured logging system. Any messages for the user should be sent through this object. The
bout object is documented in the 1199 documentation.
- The SystemMLInterface object representing the input interface.
- The SystemMLInterface object representing the output interface.