MayaFlux 0.2.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 ~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< InputDeviceInfoget_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.
 

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: