ADTF
IPluginabstract

Plugin interface. More...

Inheritance diagram for IPlugin:
[legend]

Public Types

enum class  tPluginState : uint32_t { Deinitialized = 0 , Initialized = 1 }
 lists the several types of plugin states
 
enum class  tPluginBuildType : uint32_t { Release = 0 , Debug = 1 }
 lists the several types of plugin states
 

Public Member Functions

 ADTF_IID (IPlugin, "plugin.ant.ucom.adtf.iid")
 Marks the IPlugin to be castable with the ucom_cast<> More...
 
virtual const char * GetLabel () const =0
 Returns a label for the plugin. More...
 
virtual iterator_adapter< const tNamedVersion, pointer_iteratorGetVersions () const =0
 Returns the versions of the plugin. More...
 
virtual uint32_t GetBuildType () const =0
 Returns the versions of the plugin. More...
 
virtual tResult SetState (tPluginState eState)=0
 Changes the state of the plugin. More...
 
virtual tPluginState GetState () const =0
 Get plugin state. More...
 
virtual tResult GetClassFactory (iobject_ptr< const IClassFactory > &pClassFactory) const =0
 Retrieve the class factory of the plugin. More...
 
virtual void SetHandle (tHandle hModule)=0
 Sets the native handle (during loading of the plugin) More...
 
virtual tHandle GetHandle () const =0
 Get native handle. More...
 
- Public Member Functions inherited from IObject
 ADTF_IID (IObject, "object.ant.ucom.adtf.iid")
 Marks the IObject to be castable with the ucom_cast() More...
 

Protected Member Functions

 ~IPlugin ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 
- Protected Member Functions inherited from IObject
 ~IObject ()=default
 Protected destructor --> Use implemented Destroy() instead of delete!
 

Detailed Description

Plugin interface.

Definition at line 26 of file plugin_intf.h.

Member Function Documentation

◆ ADTF_IID()

ADTF_IID ( IPlugin  ,
"plugin.ant.ucom.adtf.iid"   
)

Marks the IPlugin to be castable with the ucom_cast<>

See also
ADTF_IID(_interface, _striid)

◆ GetBuildType()

virtual uint32_t GetBuildType ( ) const
pure virtual

Returns the versions of the plugin.

Returns
list of versions to iteratate.

◆ GetClassFactory()

virtual tResult GetClassFactory ( iobject_ptr< const IClassFactory > &  pClassFactory) const
pure virtual

Retrieve the class factory of the plugin.

Parameters
pClassFactoryClass factory reference
Returns
Returns a standard result code.

◆ GetHandle()

virtual tHandle GetHandle ( ) const
pure virtual

Get native handle.

The GetHandle method returns the native handle of a plugin, if the operating system provides such information.

Returns
Returns the native handle of the plugin or nullptr if the operating system does not provide such information.
See also
SetHandle

◆ GetLabel()

virtual const char* GetLabel ( ) const
pure virtual

Returns a label for the plugin.

Returns
The label as null terminated string.

◆ GetState()

virtual tPluginState GetState ( ) const
pure virtual

Get plugin state.

The GetState method returns the plugin state.

Returns
Returns the state of a plugin.

◆ GetVersions()

virtual iterator_adapter<const tNamedVersion, pointer_iterator> GetVersions ( ) const
pure virtual

Returns the versions of the plugin.

Returns
list of versions to iteratate.

◆ SetHandle()

virtual void SetHandle ( tHandle  hModule)
pure virtual

Sets the native handle (during loading of the plugin)

Parameters
[in]hModulehandle of system dependend plugin handle

◆ SetState()

virtual tResult SetState ( tPluginState  eState)
pure virtual

Changes the state of the plugin.

Parameters
[in]eStateThe new state
Returns
Returns a standard result code.