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.
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.
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.
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.
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