Interface Definition Language

IDL


  • modules -- for clustering
  • interfaces -- correspond with objects
  • attributes -- may be read only
  • operations -- best effort invocation
  • exceptions -- for handling failure

Language bindings

  • C, Smalltalk, C++, Java

See www.infosys.tuwien.ac.at/Research/Corba/OMG


slide: Interface Definition Language -- IDL



  module universe { 
universe
interface world { void hello(); void ask(in string x); string tell(); oneway void halt(); }; };

slide: universe.idl


Basic types

Constructed types

Object references


slide: Types and values


Operations

Exceptions


  exception out_of_range { long count; }
  
  interface writer {
    void position(in long pos) raises(out_of_range);
    }
  

slide: Operations and exceptions


Interfaces and inheritance

Multiple (interface) inheritance

>
  interface A {  };
  interface B {  };
  interface C : A { };
  interface D : B, A { };
  

slide: Interfaces and inheritance


  interface iterator { 
iterator
Object next(); };

Language bindings

The Object interface


  interface Object { 
PIDL
InterfaceDef get_interface(); Object duplicate(); ... }

slide: Language bindings