The NMM Interface Definition Language

April, 30th 2003

Copyright (c) 2002-2005
  NMM work group,
  Computer Graphics Lab,
  Saarland University, Germany,
  http://www.networkmultimedia.org

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 no Invariant Sections,
no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be
found in the file COPYING.FDL.

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.