PathEngine home previous: Linking with the SDKnext: Interface Version Numbers
Contents, Programmers Guide, Linking with the SDK, Calling Through Abstract Base Classes

Calling Through Abstract Base Classes

Interfaces to PathEngine, the testbed and objects created by PathEngine are implemented as virtual methods on abstract base classes.

This approach means that direct linkage is only required for initally obtaining a pointer to a root interface.
Other interfaces may then be obtained, and objects created, by calling methods on that root interface.

This approach also enables methods to be added to the interface whilst retaining binary compatibility with code compiled against earlier versions of the interface.

Querying information about an interface

The following methods are provided as standard by the root interfaces (i.e. iPathEngine and iTestBed).
These methods may therefore be used to call against any binaries impementing the interface, in order to query information about the code behind the interface, and to check that the calling code is compatible with the code behind the interface.

virtual const char** getVersionAttributes() const=0;
    virtual tSigned32 getInterfaceMajorVersion() const=0;
    virtual tSigned32 getInterfaceMinorVersion() const=0;
		

Documentation for PathEngine release 5.16 - Copyright © 2002-2008 PathEnginenext: Interface Version Numbers