|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
Abstract interface for input device backends. More...
#include <InputBackend.hpp>
Inheritance diagram for MayaFlux::Core::IInputBackend:
Collaboration diagram for MayaFlux::Core::IInputBackend:Public Member Functions | |
| virtual void | close_device (uint32_t device_id)=0 |
| Close a previously opened device. | |
| virtual std::vector< InputDeviceInfo > | get_devices () const =0 |
| Get list of available devices. | |
| virtual std::string | get_name () const =0 |
| Get backend name/identifier string. | |
| virtual std::vector< uint32_t > | get_open_devices () const =0 |
| Get list of currently open device IDs. | |
| virtual InputType | get_type () const =0 |
| Get backend type. | |
| virtual std::string | get_version () const =0 |
| Get backend version string. | |
| virtual bool | initialize ()=0 |
| Initialize the input backend. | |
| virtual bool | is_device_open (uint32_t device_id) const =0 |
| Check if a device is currently open. | |
| virtual bool | is_initialized () const =0 |
| Check if backend is initialized. | |
| virtual bool | is_running () const =0 |
| Check if backend is actively listening. | |
| virtual bool | open_device (uint32_t device_id)=0 |
| Open a device for input. | |
| virtual size_t | refresh_devices ()=0 |
| Refresh the device list. | |
| virtual void | set_device_callback (DeviceCallback callback)=0 |
| Register callback for device connect/disconnect events. | |
| virtual void | set_input_callback (InputCallback callback)=0 |
| Register callback for input values. | |
| virtual void | shutdown ()=0 |
| Shutdown and release all resources. | |
| virtual void | start ()=0 |
| Start listening for input events. | |
| virtual void | stop ()=0 |
| Stop listening for input events. | |
| virtual | ~IInputBackend ()=default |
Abstract interface for input device backends.
Follows the same pattern as IAudioBackend and IGraphicsBackend. Each concrete implementation (HID, MIDI, OSC, Serial) provides:
Unlike audio (which has separate AudioDevice/AudioStream classes), input backends unify device management and data flow since input devices are typically simpler and don't require the same level of configuration as audio streams.
Definition at line 32 of file InputBackend.hpp.