stmm-input-doc  0.17.0
Public Attributes | List of all members
stmi::PluginsDeviceManager::Init Struct Reference

Initialization data. More...

Public Attributes

bool m_bEnableEventClasses = false
 Whether to enable or disable all (but) aEnDisableEventClasses. More...
 
std::vector< Event::Classm_aEnDisableEventClasses
 The event classes to be enabled or disabled according to m_bEnableEventClasses. More...
 
std::string m_sAdditionalPluginPath
 Priority path where to look for plug-ins. More...
 
bool m_bAdditionalPluginPathOnly = false
 Only m_sAdditionalPluginPath should be used. More...
 
bool m_bEnablePlugins = false
 Whether to enable or disable all (but) aEnDisablePlugins. More...
 
std::vector< std::string > m_aEnDisablePlugins
 The plug-in names to be enabled or disabled according to bEnablePlugins. More...
 
std::vector< std::string > m_aGroups
 The group names used to select the plug-ins. More...
 
std::string m_sAppName
 The application name. More...
 
bool m_bVerbose = false
 If true more output can be expected. More...
 

Detailed Description

Initialization data.

If m_bEnableEventClasses is true then all event classes in m_aEnDisableEventClasses are enabled, all others disabled, if false then all event classes supported by this instance are enabled except those in m_aEnDisableEventClasses.

Example: To enable just events of type KeyEvent and PointerEvent set parameters

m_bEnableEventClasses = true,  m_aEnDisableEventClasses = {stmi::KeyEvent::getClass(), stmi::PointerEvent::getClass()}

The m_bEnableEventClasses and m_aEnDisableEventClasses parameters to this function are also passed to the plug-in device managers, which are stored as children of this class. The application name (m_sAppName) is passed to the child plug ins.

If m_bEnablePlugins is true then all plugin names in m_aEnDisablePlugins are enabled, all others disabled, if false then all plugin names found by this instance are enabled except those in m_aEnDisablePlugins.

Example: to enable all plugins (to be understood as "don't disable any plugin name")

m_bEnablePlugins = false,  m_aEnDisablePlugins = {}   (which is the default)

The plug-in names in m_aEnDisablePlugins don't include the first two digits and the".dlp" extension of the corresponding plug-in file.

If m_aGroups is empty, the plugin's groups are ignored (all are loaded). Otherwise, in order to be loaded, the plugin either must have no group declared or at least one of its groups must be in m_aGroups.

Member Data Documentation

◆ m_aEnDisableEventClasses

std::vector<Event::Class> stmi::PluginsDeviceManager::Init::m_aEnDisableEventClasses

The event classes to be enabled or disabled according to m_bEnableEventClasses.

◆ m_aEnDisablePlugins

std::vector<std::string> stmi::PluginsDeviceManager::Init::m_aEnDisablePlugins

The plug-in names to be enabled or disabled according to bEnablePlugins.

◆ m_aGroups

std::vector<std::string> stmi::PluginsDeviceManager::Init::m_aGroups

The group names used to select the plug-ins.

◆ m_bAdditionalPluginPathOnly

bool stmi::PluginsDeviceManager::Init::m_bAdditionalPluginPathOnly = false

Only m_sAdditionalPluginPath should be used.

◆ m_bEnableEventClasses

bool stmi::PluginsDeviceManager::Init::m_bEnableEventClasses = false

Whether to enable or disable all (but) aEnDisableEventClasses.

◆ m_bEnablePlugins

bool stmi::PluginsDeviceManager::Init::m_bEnablePlugins = false

Whether to enable or disable all (but) aEnDisablePlugins.

◆ m_bVerbose

bool stmi::PluginsDeviceManager::Init::m_bVerbose = false

If true more output can be expected.

Default: false.

◆ m_sAdditionalPluginPath

std::string stmi::PluginsDeviceManager::Init::m_sAdditionalPluginPath

Priority path where to look for plug-ins.

Can be empty.

◆ m_sAppName

std::string stmi::PluginsDeviceManager::Init::m_sAppName

The application name.

Can be empty.