#include <interface.h>
Inheritance diagram for modules::Interface:
Public Member Functions | |
virtual | ~Interface () |
Destructor. | |
virtual Interface * | supports (PSIID sid) |
Determines whether the interface supports an optional feature. | |
Static Public Attributes | |
static PSIID const | IID = 0x4227894c |
The interface unique identifier. |
Interfaces are used by modules to expose functionality that may or may not be available depending on the module. They are obtained by other modules through the Module::factory() and Module::interface() functions, depending on whether the interface object returned is unique to the module (and owned by it) of if it is owned by the caller.
Each interface must have its own IID (Interface IDentifier), a unique number that will be used for identification when a module is looking for the availability of a specific interface.
Optionally, interfaces may override the supports() function to add a way to query for optional feature support.
Determines whether the interface supports an optional feature.
The default implementation always returns 0.
[in] | fid | The ID of the feature to test for availability. The possible values for this parameter is up to the implementer. |
Reimplemented in databases::Database.