IDL modules

IDL modules form a namespace to group related types and interfaces, similar to C++ namespaces. For example, type Date in module MJD is specified as MJD::Date. Module names must begin with a letter. Modules can be nested by declaring the nested module inside the parent module. For example, to declare interfaces and types in the namespace com::mycompany, use the syntax below and add them to the declaration of module mycompany:

module com
{
    module foo
    {
        ...
    };
};