|
Kodi Documentation 18.0
Kodi is an open source media player and entertainment hub.
|
#include <Peripheral.h>
Public Member Functions | |
| CInstancePeripheral () | |
| CInstancePeripheral (KODI_HANDLE instance) | |
| ~CInstancePeripheral () override=default | |
Peripheral operations | |
{ | |
| virtual void | GetCapabilities (PERIPHERAL_CAPABILITIES &capabilities) |
| Get the list of features that this add-on provides. More... | |
| virtual PERIPHERAL_ERROR | PerformDeviceScan (unsigned int *peripheral_count, PERIPHERAL_INFO **scan_results) |
| Perform a scan for joysticks. More... | |
| virtual void | FreeScanResults (unsigned int peripheral_count, PERIPHERAL_INFO *scan_results) |
| Free the memory allocated in PerformDeviceScan() More... | |
| virtual PERIPHERAL_ERROR | GetEvents (unsigned int *event_count, PERIPHERAL_EVENT **events) |
| Get all events that have occurred since the last call to GetEvents() More... | |
| virtual void | FreeEvents (unsigned int event_count, PERIPHERAL_EVENT *events) |
| Free the memory allocated in GetEvents() More... | |
| virtual bool | SendEvent (const PERIPHERAL_EVENT *event) |
| Send an input event to the peripheral. More... | |
Public Member Functions inherited from kodi::addon::IAddonInstance | |
| IAddonInstance (ADDON_TYPE type) | |
| virtual | ~IAddonInstance ()=default |
| virtual ADDON_STATUS | CreateInstance (int instanceType, std::string instanceID, KODI_HANDLE instance, KODI_HANDLE &addonInstance) |
| virtual ADDON_STATUS | CreateInstanceEx (int instanceType, std::string instanceID, KODI_HANDLE instance, KODI_HANDLE &addonInstance, const std::string &version) |
Joystick operations | |
| virtual PERIPHERAL_ERROR | GetJoystickInfo (unsigned int index, JOYSTICK_INFO *info) |
| { More... | |
| virtual void | FreeJoystickInfo (JOYSTICK_INFO *info) |
| Free the memory allocated in GetJoystickInfo() More... | |
| virtual PERIPHERAL_ERROR | GetFeatures (const JOYSTICK_INFO *joystick, const char *controller_id, unsigned int *feature_count, JOYSTICK_FEATURE **features) |
| Get the features that allow translating the joystick into the controller profile. More... | |
| virtual void | FreeFeatures (unsigned int feature_count, JOYSTICK_FEATURE *features) |
| Free the memory allocated in GetFeatures() More... | |
| virtual PERIPHERAL_ERROR | MapFeatures (const JOYSTICK_INFO *joystick, const char *controller_id, unsigned int feature_count, const JOYSTICK_FEATURE *features) |
| Add or update joystick features. More... | |
| virtual PERIPHERAL_ERROR | GetIgnoredPrimitives (const JOYSTICK_INFO *joystick, unsigned int *primitive_count, JOYSTICK_DRIVER_PRIMITIVE **primitives) |
| Get the driver primitives that should be ignored while mapping the device. More... | |
| virtual void | FreePrimitives (unsigned int primitive_count, JOYSTICK_DRIVER_PRIMITIVE *primitives) |
| Free the memory allocated in GetIgnoredPrimitives() More... | |
| virtual PERIPHERAL_ERROR | SetIgnoredPrimitives (const JOYSTICK_INFO *joystick, unsigned int primitive_count, const JOYSTICK_DRIVER_PRIMITIVE *primitives) |
| Set the list of driver primitives that are ignored for the device. More... | |
| virtual void | SaveButtonMap (const JOYSTICK_INFO *joystick) |
| Save the button map for the given joystick. More... | |
| virtual void | RevertButtonMap (const JOYSTICK_INFO *joystick) |
| Revert the button map to the last time it was loaded or committed to disk. More... | |
| virtual void | ResetButtonMap (const JOYSTICK_INFO *joystick, const char *controller_id) |
| Reset the button map for the given joystick and controller profile ID. More... | |
| virtual void | PowerOffJoystick (unsigned int index) |
| Powers off the given joystick if supported. More... | |
| const std::string | AddonPath () const |
| const std::string | UserPath () const |
| void | TriggerScan (void) |
| Trigger a scan for peripherals. More... | |
| void | RefreshButtonMaps (const std::string &deviceName="", const std::string &controllerId="") |
| Notify the frontend that button maps have changed. More... | |
| unsigned int | FeatureCount (const std::string &controllerId, JOYSTICK_FEATURE_TYPE type=JOYSTICK_FEATURE_TYPE_UNKNOWN) |
| Return the number of features belonging to the specified controller. More... | |
| JOYSTICK_FEATURE_TYPE | FeatureType (const std::string &controllerId, const std::string &featureName) |
| Return the type of the feature. More... | |
Additional Inherited Members | |
Public Attributes inherited from kodi::addon::IAddonInstance | |
| const ADDON_TYPE | m_type |
|
inline |
|
inlineexplicit |
|
overridedefault |
|
inline |
|
inline |
Return the number of features belonging to the specified controller.
| controllerId | The controller ID to enumerate |
| type[optional] | Type to filter by, or JOYSTICK_FEATURE_TYPE_UNKNOWN for all features |
|
inline |
Return the type of the feature.
| controllerId | The controller ID to check |
| featureName | The feature to check |
|
inlinevirtual |
Free the memory allocated in GetEvents()
Must be called if GetEvents() returns PERIPHERAL_NO_ERROR.
| event_count | The number of events allocated for the events array |
| events | The array of allocated events |
|
inlinevirtual |
Free the memory allocated in GetFeatures()
Must be called if GetFeatures() returns PERIPHERAL_NO_ERROR.
| feature_count | The number of features allocated for the features array |
| features | The array of allocated features |
|
inlinevirtual |
Free the memory allocated in GetJoystickInfo()
|
inlinevirtual |
Free the memory allocated in GetIgnoredPrimitives()
Must be called if GetIgnoredPrimitives() returns PERIPHERAL_NO_ERROR.
| primitive_count | The number of driver primitives allocated for the primitives array |
| primitives | The array of allocated driver primitives |
|
inlinevirtual |
Free the memory allocated in PerformDeviceScan()
Must be called if PerformDeviceScan() returns PERIPHERAL_NO_ERROR.
| peripheral_count | The number of events allocated for the events array |
| scan_results | The array of allocated peripherals |
|
inlinevirtual |
Get the list of features that this add-on provides.
| capabilities | The add-on's capabilities. |
Called by the frontend to query the add-on's capabilities and supported peripherals. All capabilities that the add-on supports should be set to true.
|
inlinevirtual |
Get all events that have occurred since the last call to GetEvents()
|
inlinevirtual |
Get the features that allow translating the joystick into the controller profile.
| joystick | The device's joystick properties; unknown values may be left at their default |
| controller_id | The controller profile being requested, e.g. game.controller.default |
| feature_count | The number of features allocated for the features array |
| features | The array of allocated features |
|
inlinevirtual |
Get the driver primitives that should be ignored while mapping the device.
| joystick | The device's joystick properties; unknown values may be left at their default |
| primitive_count | The number of features allocated for the primitives array |
| primitives | The array of allocated driver primitives to be ignored |
|
inlinevirtual |
{
Get extended info about an attached joystick
| index | The joystick's driver index |
| info | The container for the allocated joystick info |
|
inlinevirtual |
Add or update joystick features.
| joystick | The device's joystick properties; unknown values may be left at their default |
| controller_id | The game controller profile being updated |
| feature_count | The number of features in the features array |
| features | The array of features |
|
inlinevirtual |
Perform a scan for joysticks.
| peripheral_count | Assigned to the number of peripherals allocated |
| scan_results | Assigned to allocated memory |
The frontend calls this when a hardware change is detected. If an add-on detects a hardware change, it can trigger this function using the TriggerScan() callback.
|
inlinevirtual |
Powers off the given joystick if supported.
| index | The joystick's driver index |
|
inline |
Notify the frontend that button maps have changed.
| [optional] | deviceName The name of the device to refresh, or empty/null for all devices |
| [optional] | controllerId The controller ID to refresh, or empty/null for all controllers |
|
inlinevirtual |
Reset the button map for the given joystick and controller profile ID.
| joystick | The device's joystick properties |
| controller_id | The game controller profile being reset |
|
inlinevirtual |
Revert the button map to the last time it was loaded or committed to disk.
| joystick | The device's joystick properties |
|
inlinevirtual |
Save the button map for the given joystick.
| joystick | The device's joystick properties |
|
inlinevirtual |
Send an input event to the peripheral.
| event | The input event |
|
inlinevirtual |
Set the list of driver primitives that are ignored for the device.
| joystick | The device's joystick properties; unknown values may be left at their default |
| primitive_count | The number of driver features in the primitives array |
| primitives | The array of driver primitives to ignore |
Trigger a scan for peripherals.
The add-on calls this if a change in hardware is detected.
|
inline |