MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
MayaFlux::Core::IInputBackend Class Referenceabstract

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< InputDeviceInfoget_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
 

Detailed Description

Abstract interface for input device backends.

Follows the same pattern as IAudioBackend and IGraphicsBackend. Each concrete implementation (HID, MIDI, OSC, Serial) provides:

  • Device enumeration
  • Connection lifecycle management
  • Input event delivery via callbacks

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.


The documentation for this class was generated from the following file: