Next: 4.4 Building a LuaCOM
Up: 4. Implementing COM objects
Previous: 4.2 Is it really
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
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.
- a name, differentiating one CoClass from others in the same
type library;
- Lua Application Object
- It's the Lua table used to implement
the Application Object.
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