Class Hierarchy

The generated Eiffel code reflects the architecture of the component described in the definition file. Each interface corresponds to a deferred Eiffel class that includes one deferred feature per interface function. The deferred features are implemented in the heir inheriting from all interfaces. This central class will be referred to as Eiffel coclass in the rest of this document.

EiffelCOM System Basic Architecture

In a client application the Eiffel coclass inherits from the class ECOM_QUERIABLE, which is part of the EiffelCOM library. This class includes the feature make_from_other to initialize the component from another instance of ECOM_INTERFACE

EiffelCOM System Basic Architecture

In a server application the Eiffel coclass inherits from the class ECOM_STUB, which is part of the EiffelCOM library. This class includes the feature create_item to initialize the component for COM. 

The Interface_proxy folder includes Eiffel classes wrapping interfaces that are sent to or received by the component. Such interfaces will be referred to as client implemented interfaces in the rest of the document. These classes inherit from both the deferred interface class and ECOM_QUERIABLE.

Client  Implemented Interfaces

The Interface_stub folder includes Eiffel classes implementing interfaces that are sent by the component. Such interfaces will be referred to as server implemented interfaces in the rest of the document. These classes inherit from both the deferred interface class and ECOM_STUB.

Server Implemented Interfaces

For both Eiffel coclass and Implemented interfaces, the INTERFACE class contains no implementation; it only defines the signatures of the functions that are part of the interface. The actual implementation lies in the heir of that class.

How you should use the generated classes in your system depends on whether you want to access an existing component (client) or build a new component in Eiffel (server).

See Also:
Introduction Dialog and Main Window, Generated Code Type Dialog, Definition File Dialog, Eiffel Project File Dialog, Destination Folder Dialog, IDL Marshaling Definition Dialog, Type Library Marshaling Definition Dialog, Final Dialog, COM Definition File Processing, Eiffel Project Processing, Generated Files, Class Hierarchy, Accessing a Component, Building a Component