Difference between revisions of "Researching XPIDL and IDL Technologies"

From CDOT Wiki
Jump to: navigation, search
(Interfaces)
(Interfaces)
Line 11: Line 11:
 
To specify an interface's parent, follow the interface name with a colon and the parent name  
 
To specify an interface's parent, follow the interface name with a colon and the parent name  
 
  interface nsIToolbar : nsIParent {
 
  interface nsIToolbar : nsIParent {
 +
};
 +
 +
=== Methods ===
 +
An interface can have both methods and attributes.  Attributes are properties of interface objects that can be read and optionally set.  The following example
 +
- Attributes,  properties of interface objects, can be read and optionally set.
 +
- This is an example of an interface with one method (no return value, no parameters) named fun and an integer-valued attribute named attr
 +
 +
interface nsIFoo {
 +
  attribute long attr;
 +
  void fun();
 
  };
 
  };

Revision as of 13:03, 4 October 2006

Introduction

XPIDL stands for XP Interface Description Language. It is a specification for XPCOM which is a cross platform adapter description language. An adapter description language is used to describe an adapter which unrelated with its machine language. The description of the adapter can use specialized tools to handle automatoc generation of language that is unrelated to the adapter's specifications. Typically XPIDL is frequently used to generate C++ header files and typelib information.

Language

Interfaces

  An interface is declared with the interface keyword, and the simplest possible interface is  
 interface nsToolbar {
 };

To specify an interface's parent, follow the interface name with a colon and the parent name

interface nsIToolbar : nsIParent {
};

Methods

An interface can have both methods and attributes. Attributes are properties of interface objects that can be read and optionally set. The following example - Attributes, properties of interface objects, can be read and optionally set. - This is an example of an interface with one method (no return value, no parameters) named fun and an integer-valued attribute named attr

interface nsIFoo {
  attribute long attr;
  void fun();
};