Resources | Resources |



Defining interfaces in IDL

A key feature of Brew MP is support for interfaces across languages and environments. For example, a developer can access many of the same APIs in C/C++ and Lua. This abstraction is independent of the language used to implement the underlying component. A component may be implemented in Lua and accessed from C/C++, or vice versa.

Brew MP provides an Interface Definition Language (IDL) capability to allow developers to create high-level specifications for interfaces that can then be mapped to many other languages.

The IDL mechanism does the following:

  • Describes interfaces in a clean and concise manner.
  • Automates correct header-file generation across languages.
  • Enforces rules to simplify development of inter-process code. Brew MP also provides a compiler to auto-generate proxies.
  • Enables interpreted environments by way of auto-generated language-specific proxies, avoiding the need to define and implement protocols for each area of functionality.

Brew MP's IDL support is based on OMG (CORBA) IDL with some specific omissions and additions to support Brew MP. The IDL mechanism currently supports C/C++ and Lua. For more information on IDL, see the QIDL Reference, and the QIDL Compiler section of the Brew MP Tools Reference, both of which are in on the Brew MP website.