Chapter 11: Integrating domains.

NOTE: You can check the domain declaration syntax simply by launching one of the Hermes interfaces; If something proves wrong, the system should render an error.
NOTE: GROUP versus Non-GROUP builds. The GROUP macro definition allows us to conditionally compile the same code base, to use or omit certain special (un-publishable) domains at build time, through a simple compiler switch rather than require two separate code sources. "Group" specifies those domains destined for internal usage only and not distributable with the base code set. Thus our "export" Hermes package omits source code for the face, video, dow_jones, and nonlin domains, requiring compilation without the "g" (for group) target specifier (discussed below). With this in mind, "outsider" Hermes source code users may want to maintain this partition of distributable and private domains by defining new domains under the domcall.h header file _GROUP section and commenting out (or removing) the face, video, dow_jones, and nonlin entries. Others may simply wish to eliminate _GROUP references altogether and compile as one code base.



NOTE: Some domains (such as the math, string, and time domains) appear trivial, only requiring a few lines of code to implement. As such, not all domains require an underlying communications and data conversion layer; Rather, code for these may well appear directly in the main callDomainName function.



NOTE: The /source/util directory contains the Hermes utility function implementations. Including the util.h header file in the target domain source files will allow reuse of all available Hermes utility functions (don't forget to include the directory in the target domain makefile).