NMM Interface Definition Language (NMM-IDL)

Motama GmbH, Saarbruecken, Germany

http://www.motama.com

April 2007

  Copyright (C) 2007,
  Motama GmbH, Saarbruecken, Germany
  http://www.motama.com
 
  Permission is granted to copy, distribute and/or modify this
  document under the terms of the GNU Free Documentation License,
  Version 1.2 or any later version published by the Free Software
  Foundation; with the Invariant Sections being all sections, no
  Front-Cover Texts, and no Back-Cover Texts. A copy of the license
  can be found in the file COPYING.FDL.

  THE DOCUMENT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
  NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE
  DISTRIBUTING THE DOCUMENT BE LIABLE FOR ANY DAMAGES OR OTHER
  LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
  OF OR IN CONNECTION WITH THE DOCUMENT OR THE USE OR OTHER DEALINGS
  IN THE DOCUMENT.

This document describes the usage of the Interface Definition Language (IDL) and compilers used in the NMM project.


Table of Contents
1. Motivation
2. IDL Files
3. Invocation of IDL Compilers
4. Examples

1. Motivation

Within the NMM environment, IDL files are used to describe two things: the interfaces an object supports and the events and object should be able to process instream. From such an IDL description a set of IDL compilers generates source code. Four files are generated. An hpp- and cpp-file for the client side, and an hpp- and cpp-file for the server side. The client side is also called interface class; the server side is also called implementation class. An interface object will be used in an application program to control the server side object. The server class will be used as superclass for a class that wants to implement the interface.