libIntegra
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Types | Public Member Functions | List of all members
integra_api::IInterfaceDefinition Class Referenceabstract

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 GUIDget_module_guid () const =0
 Get module's guid. More...
 
virtual const GUIDget_origin_guid () const =0
 Get module 'origin' guid. More...
 
virtual module_source get_module_source () const =0
 Get module's source. More...
 
virtual const IInterfaceInfoget_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 IImplementationInfoget_implementation_info () const =0
 Get info about the module's implementation. More...
 

Detailed Description

Top level container for an Integra Module interface.

Member Enumeration Documentation

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

Member Function Documentation

virtual const endpoint_definition_list& integra_api::IInterfaceDefinition::get_endpoint_definitions ( ) const
pure virtual

Get the module's list of endpoints.

Returns
the endpoints, in an ordered list
virtual const IImplementationInfo* integra_api::IInterfaceDefinition::get_implementation_info ( ) const
pure virtual

Get info about the module's implementation.

Returns
an IImplementationInfo
virtual const IInterfaceInfo& integra_api::IInterfaceDefinition::get_interface_info ( ) const
pure virtual

Get info about the module's interface.

Returns
an IInterfaceInfo
virtual const GUID& integra_api::IInterfaceDefinition::get_module_guid ( ) const
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.

Returns
the module's guid
virtual module_source integra_api::IInterfaceDefinition::get_module_source ( ) const
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

Returns
the module's source
virtual const GUID& integra_api::IInterfaceDefinition::get_origin_guid ( ) const
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)

Returns
the module's 'origin' guid
virtual const widget_definition_list& integra_api::IInterfaceDefinition::get_widget_definitions ( ) const
pure virtual

Get the module's list of widgets.

Returns
the widget definitions, in an ordered list

The documentation for this class was generated from the following file: