4.3 Terminology

LuaCOM

next up previous contents Next: 4.4 Building a LuaCOM Up: 4. Implementing COM objects Previous: 4.2 Is it really   Contents

4.3 Terminology

To avoid misunderstandings, here we'll supply the meaning we give to some terms used in this chapter. We don't provide formal definitions: we just want to ease the understanding of some concepts. To better understand these concepts, see COM's documentation.

Component
a piece of software with some functionality that can be used by other components. It's composed by a set of objects that implement this functionality.

Component Object
an object through which all the functionality of a component can be accessed, including its other objects. This object may have many interfaces.

Application Object
A component object with a interface that comprises all the top-level functionality of a component; the client does not need to use other interfaces of the component object. This concept simplifies the understanding of a component, as it puts all its functionalities in an hierarchical manner (an application object together with its sub-objects, which can only be accessed through methods and properties of the application object).

COM server
Some piece of code that implements one or more component objects. A COM server must tell the other applications and components which component objects it makes available. It does so exposing them.

CoClass
A type library describing a component should have a CoClass entry, specifying some information about the component:

  • a name, differentiating one CoClass from others in the same type library;

  • its CLSID, the unique identifier that distinguishes this component from all others;

  • the interfaces of the component object, telling which one is the default. In a typical situation, only one interface will be supplied; thus the component object could be called an Application object for that component;

  • the source interface, that is, the interface the component uses to send events to the client. This interface is not implemented by the component: it just uses objects that implement this interface.

Lua Application Object
It's the Lua table used to implement the Application Object.


next up previous contents
Next: 4.4 Building a LuaCOM Up: 4. Implementing COM objects Previous: 4.2 Is it really   Contents
Fabio Mascarenhas de Queiroz 2005-01-07