Top level container for an Integra Module interface. More...
#include "api/interface_definition.h"
Public Types | |
enum | module_source { MODULE_SHIPPED_WITH_INTEGRA = 1, MODULE_3RD_PARTY, MODULE_EMBEDDED, MODULE_IN_DEVELOPMENT } |
Public Member Functions | |
virtual const GUID & | get_module_guid () const =0 |
Get module's guid. More... | |
virtual const GUID & | get_origin_guid () const =0 |
Get module 'origin' guid. More... | |
virtual module_source | get_module_source () const =0 |
Get module's source. More... | |
virtual const IInterfaceInfo & | get_interface_info () const =0 |
Get info about the module's interface. More... | |
virtual const endpoint_definition_list & | get_endpoint_definitions () const =0 |
Get the module's list of endpoints. More... | |
virtual const widget_definition_list & | get_widget_definitions () const =0 |
Get the module's list of widgets. More... | |
virtual const IImplementationInfo * | get_implementation_info () const =0 |
Get info about the module's implementation. More... | |
Top level container for an Integra Module interface.
Enumeration of module sources
Enumerator | |
---|---|
MODULE_SHIPPED_WITH_INTEGRA |
Modules shipped with integra. These are the modules which were located in CServerStartupInfo::system_module_directory when the session was started |
MODULE_3RD_PARTY |
3rd party modules These are the modules which are located in CServerStartupInfo::third_party_module_directory, including ones installed by IModuleManager during the current session. |
MODULE_EMBEDDED |
Embedded modules. These are the modules which were embedded in .integra files which have been loaded during the current session Embedded modules are only loaded if they aren't already in memory as 'shipped with integra' or '3rd party' Normally they remain in memory even if all instances are deleted, but embedded modules with no instances can be unloaded via IModuleManager::unload_unused_embedded_modules |
MODULE_IN_DEVELOPMENT |
In-development modules. This functionality allows the special loading of modules which haven't been installed, to facilitate a smooth workflow for module developers. See IModuleManager::load_module_in_development |
|
pure virtual |
Get the module's list of endpoints.
|
pure virtual |
Get info about the module's implementation.
|
pure virtual |
Get info about the module's interface.
|
pure virtual |
Get module's guid.
Uniquely identifies each module, and each version of each module. That is to say that different versions of the same module have different module guid.
|
pure virtual |
Get module's source.
Module source is the reason a module is currently loaded - where it came from. See module_source for possible values
|
pure virtual |
Get module 'origin' guid.
Identifies the module's lineage. Different versions of the same module have the same origin id. This allows upgrading from older to newer versions (or sidestepping in the case of divergent development histories)
|
pure virtual |
Get the module's list of widgets.