![]() |
Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
|
#include <PeripheralBusAddon.h>
Public Member Functions | |
CPeripheralBusAddon (CPeripherals &manager) | |
~CPeripheralBusAddon (void) override | |
void | UpdateAddons (void) |
bool | GetAddonWithButtonMap (PeripheralAddonPtr &addon) const |
Get peripheral add-on that can provide button maps. | |
bool | GetAddonWithButtonMap (const CPeripheral *device, PeripheralAddonPtr &addon) const |
Get peripheral add-on that can provide button maps for the given device. | |
bool | SendRumbleEvent (const std::string &strLocation, unsigned int motorIndex, float magnitude) |
Set the rumble state of a rumble motor. | |
bool | InitializeProperties (CPeripheral &peripheral) override |
Initialize the properties of a peripheral with a known location. | |
void | Register (const PeripheralPtr &peripheral) override |
Register a new peripheral on this bus. | |
void | GetFeatures (std::vector< PeripheralFeature > &features) const override |
Get all features that are supported by devices on this bus. | |
bool | HasFeature (const PeripheralFeature feature) const override |
Check whether there is at least one device present with the given feature. | |
PeripheralPtr | GetPeripheral (const std::string &strLocation) const override |
Get the instance of the peripheral at the given location. | |
PeripheralPtr | GetByPath (const std::string &strPath) const override |
Get the instance of a peripheral given it's path. | |
bool | SupportsFeature (PeripheralFeature feature) const override |
Check if the bus supports the given feature. | |
unsigned int | GetPeripheralsWithFeature (PeripheralVector &results, const PeripheralFeature feature) const override |
Get all peripheral instances that have the given feature. | |
unsigned int | GetNumberOfPeripherals (void) const override |
unsigned int | GetNumberOfPeripheralsWithId (const int iVendorId, const int iProductId) const override |
void | GetDirectory (const std::string &strPath, CFileItemList &items) const override |
Get all fileitems for a path. | |
void | ProcessEvents (void) override |
Poll for events. | |
void | EnableButtonMapping () override |
Initialize button mapping. | |
void | PowerOff (const std::string &strLocation) override |
Power off the specified device. | |
bool | SplitLocation (const std::string &strLocation, PeripheralAddonPtr &addon, unsigned int &peripheralIndex) const |
![]() | |
CPeripheralBus (const std::string &threadname, CPeripherals &manager, PeripheralBusType type) | |
~CPeripheralBus (void) override | |
PeripheralBusType | Type (void) const |
bool | NeedsPolling (void) const |
virtual bool | InitializeButtonMap (const CPeripheral &peripheral, KODI::JOYSTICK::IButtonMap &buttonMap) const |
Initialize a joystick buttonmap, if possible. | |
virtual bool | HasPeripheral (const std::string &strLocation) const |
Check whether a peripheral is present at the given location. | |
virtual void | OnDeviceAdded (const std::string &strLocation) |
Callback method for when a device has been added. Will perform a device scan. | |
virtual void | OnDeviceChanged (const std::string &strLocation) |
Callback method for when a device has been changed. Will perform a device scan. | |
virtual void | OnDeviceRemoved (const std::string &strLocation) |
Callback method for when a device has been removed. Will perform a device scan. | |
virtual void | Initialise (void) |
Initialise this bus and start a polling thread if this bus needs polling. | |
virtual void | Clear (void) |
Stop the polling thread and clear all known devices on this bus. | |
virtual void | TriggerDeviceScan (void) |
Scan for devices. | |
virtual bool | FindComPort (std::string &strLocation) |
Protected Member Functions | |
bool | PerformDeviceScan (PeripheralScanResults &results) override |
Scan for devices on this bus and add them to the results list. This will have to be implemented for each bus. | |
void | UnregisterRemovedDevices (const PeripheralScanResults &results) override |
![]() | |
void | Process (void) override |
virtual bool | ScanForDevices (void) |
virtual void | RegisterNewDevices (const PeripheralScanResults &results) |
![]() | |
CThread (const char *ThreadName) | |
virtual void | OnStartup () |
virtual void | OnExit () |
WaitResponse | AbortableWait (CEvent &event, std::chrono::milliseconds duration=std::chrono::milliseconds(-1)) |
CThread (IRunnable *pRunnable, const char *ThreadName) | |
virtual | ~CThread () |
void | Create (bool bAutoDelete=false) |
template<typename Rep , typename Period > | |
void | Sleep (std::chrono::duration< Rep, Period > duration) |
bool | IsAutoDelete () const |
virtual void | StopThread (bool bWait=true) |
bool | IsRunning () const |
bool | IsCurrentThread () const |
bool | Join (std::chrono::milliseconds duration) |
bool | SetPriority (const ThreadPriority &priority) |
Set the threads priority. This uses the platforms native threading library to do so. | |
virtual void | OnException () |
Additional Inherited Members | |
![]() | |
enum | WaitResponse { WAIT_INTERRUPTED = -1 , WAIT_SIGNALED = 0 , WAIT_TIMEDOUT = 1 } |
![]() | |
static const std::thread::id | GetCurrentThreadId () |
static CThread * | GetCurrentThread () |
![]() | |
PeripheralVector | m_peripherals |
std::chrono::milliseconds | m_iRescanTime |
bool | m_bNeedsPolling |
CPeripherals & | m_manager |
const PeripheralBusType | m_type |
CCriticalSection | m_critSection |
CEvent | m_triggerEvent |
![]() | |
std::atomic< bool > | m_bStop |
|
explicit |
|
override |
|
overridevirtual |
Initialize button mapping.
Reimplemented from PERIPHERALS::CPeripheralBus.
bool CPeripheralBusAddon::GetAddonWithButtonMap | ( | const CPeripheral * | device, |
PeripheralAddonPtr & | addon ) const |
Get peripheral add-on that can provide button maps for the given device.
bool CPeripheralBusAddon::GetAddonWithButtonMap | ( | PeripheralAddonPtr & | addon | ) | const |
Get peripheral add-on that can provide button maps.
|
overridevirtual |
Get the instance of a peripheral given it's path.
strPath | The path to the peripheral. |
Reimplemented from PERIPHERALS::CPeripheralBus.
|
overridevirtual |
Get all fileitems for a path.
strPath | The path to the directory to get the items from. |
items | The item list. |
Reimplemented from PERIPHERALS::CPeripheralBus.
|
overridevirtual |
Get all features that are supported by devices on this bus.
features | All features. |
Reimplemented from PERIPHERALS::CPeripheralBus.
Reimplemented from PERIPHERALS::CPeripheralBus.
|
overridevirtual |
Reimplemented from PERIPHERALS::CPeripheralBus.
|
overridevirtual |
Get the instance of the peripheral at the given location.
strLocation | The location. |
Reimplemented from PERIPHERALS::CPeripheralBus.
|
overridevirtual |
Get all peripheral instances that have the given feature.
results | The list of results. |
feature | The feature to search for. |
Reimplemented from PERIPHERALS::CPeripheralBus.
|
overridevirtual |
Check whether there is at least one device present with the given feature.
feature | The feature to check for. |
Reimplemented from PERIPHERALS::CPeripheralBus.
|
overridevirtual |
Initialize the properties of a peripheral with a known location.
Reimplemented from PERIPHERALS::CPeripheralBus.
|
overrideprotectedvirtual |
Scan for devices on this bus and add them to the results list. This will have to be implemented for each bus.
results | The result list. |
Implements PERIPHERALS::CPeripheralBus.
|
overridevirtual |
Power off the specified device.
strLocation | The device's location |
Reimplemented from PERIPHERALS::CPeripheralBus.
Poll for events.
Reimplemented from PERIPHERALS::CPeripheralBus.
|
overridevirtual |
Register a new peripheral on this bus.
peripheral | The peripheral to register. |
Reimplemented from PERIPHERALS::CPeripheralBus.
bool CPeripheralBusAddon::SendRumbleEvent | ( | const std::string & | strLocation, |
unsigned int | motorIndex, | ||
float | magnitude ) |
Set the rumble state of a rumble motor.
strLocation | The location of the peripheral with the motor |
motorIndex | The index of the motor being rumbled |
magnitude | The amount of vibration in the closed interval [0.0, 1.0] |
TODO: Move declaration to parent class
bool CPeripheralBusAddon::SplitLocation | ( | const std::string & | strLocation, |
PeripheralAddonPtr & | addon, | ||
unsigned int & | peripheralIndex ) const |
|
overridevirtual |
Check if the bus supports the given feature.
feature | The feature to check for |
Reimplemented from PERIPHERALS::CPeripheralBus.
|
overrideprotectedvirtual |
Reimplemented from PERIPHERALS::CPeripheralBus.