The ECom framework provides facilities to resolve and load the appropriate implementations at run-time, on behalf of the interface definition. It has a client-server architecture, with the additional constraint of the client side session being a singleton per process thread.
the client session class, REComSession
, has functions for creating, destroying, and listing implementations
the server controls access to a registry of available implementations, which is used for interface implementation resolution, and loading.
Client calls to the interface definition for construction, and destruction, translate directly, through REComSession
, into loading, and unloading of the correct implementation library, together with instantiation and destruction of an appropriate
interface implementation.
The framework supplies a default resolver for selecting appropriate implementations. This attempts to match data supplied by the client against a data identifier field in the implementation's registration details. The interface can ask the framework to create the best fit implementation directly, or ask it to return a list of all matching implementations, and then possibly use other methods, such as user selection, to select the one to be created.