|
MayaFlux 0.2.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 | ~IInputBackend ()=default |
| virtual bool | initialize ()=0 |
| Initialize the input backend. | |
| virtual void | start ()=0 |
| Start listening for input events. | |
| virtual void | stop ()=0 |
| Stop listening for input events. | |
| virtual void | shutdown ()=0 |
| Shutdown and release all resources. | |
| virtual bool | is_initialized () const =0 |
| Check if backend is initialized. | |
| virtual bool | is_running () const =0 |
| Check if backend is actively listening. | |
| virtual std::vector< InputDeviceInfo > | get_devices () const =0 |
| Get list of available devices. | |
| virtual size_t | refresh_devices ()=0 |
| Refresh the device list. | |
| virtual bool | open_device (uint32_t device_id)=0 |
| Open a device for input. | |
| virtual void | close_device (uint32_t device_id)=0 |
| Close a previously opened device. | |
| virtual bool | is_device_open (uint32_t device_id) const =0 |
| Check if a device is currently open. | |
| virtual std::vector< uint32_t > | get_open_devices () const =0 |
| Get list of currently open device IDs. | |
| virtual void | set_input_callback (InputCallback callback)=0 |
| Register callback for input values. | |
| virtual void | set_device_callback (DeviceCallback callback)=0 |
| Register callback for device connect/disconnect events. | |
| virtual InputType | get_type () const =0 |
| Get backend type. | |
| virtual std::string | get_name () const =0 |
| Get backend name/identifier string. | |
| virtual std::string | get_version () const =0 |
| Get backend version string. | |
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.