Overview
Warnings
  • You should never include the Component Interface brahms-component.h directly, but one of the language overlays (even if the almost-transparent C overlay). This will allow future changes to remain transparent to your code, and future bug-fixes to be applied to your code without you having to change it.

The Component Interface, specified in C, defines the interface between Components (Process, Data or Utility) and the Engine (see Anatomy). The Component Interface is, therefore, the only part of the BRAHMS framework that the component developer needs to (or can) interact with, and all the reference material the developer needs to begin authoring components is in this section. Correspondingly, there is no part of BRAHMS that can be built without including the Component Interface.

Interaction with the Component Interface should, however, be made via one of the Component Bindings. These provide the same interface (functionally) but in a different language. Authoring in C, you should use the 1266 binding, even though it adds only a few macros on top of the Component Interface. Authoring in C++, you could just use the C binding, but the 1199 C++ binding provides the interface in a format that is much more natural for the C++ developer.

Notes
  • If compiling in C++, all of the Component Interface (except the numeric types for compatibility reasons) is placed in the namespace brahms, so you will need to access the symbols accordingly.