neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::i_game_controllers Class Referenceabstract

#include <i_game_controllers.hpp>

Inheritance diagram for neogfx::i_game_controllers:
neolib::services::i_service neogfx::game_controllers

Public Types

typedef neolib::i_vector< i_ref_ptr< i_game_controller > > controller_list
 
typedef neolib::i_map< game_controller_button_ordinal, game_controller_buttonbutton_map_type
 

Public Member Functions

 declare_event (controller_connected, i_game_controller &) declare_event(controller_disconnected
 
virtual ~i_game_controllers ()=default
 
virtual void enumerate_controllers ()=0
 
virtual const controller_listcontrollers () const =0
 
virtual bool have_controller_for (game_player aPlayer) const =0
 
virtual i_game_controllercontroller_for (game_player aPlayer) const =0
 
virtual const i_stringproduct_name (const hid_device_uuid &aProductId) const =0
 
virtual const button_map_typebutton_map (const hid_device_uuid &aProductId) const =0
 
virtual controller_list::iterator add_device (i_game_controller &aController)=0
 
virtual controller_list::iterator remove_device (i_game_controller &aController)=0
 
template<typename Controller , typename... Args>
ref_ptr< Controller > add_controller (Args &&... aArgs)
 
- Public Member Functions inherited from neolib::services::i_service
virtual ~i_service ()=default
 

Static Public Member Functions

static uuid const & iid ()
 

Detailed Description

Definition at line 29 of file i_game_controllers.hpp.

Member Typedef Documentation

◆ button_map_type

◆ controller_list

Constructor & Destructor Documentation

◆ ~i_game_controllers()

virtual neogfx::i_game_controllers::~i_game_controllers ( )
virtualdefault

Member Function Documentation

◆ add_controller()

template<typename Controller , typename... Args>
ref_ptr< Controller > neogfx::i_game_controllers::add_controller ( Args &&...  aArgs)
inline

Definition at line 55 of file i_game_controllers.hpp.

◆ add_device()

virtual controller_list::iterator neogfx::i_game_controllers::add_device ( i_game_controller aController)
pure virtual

Implemented in neogfx::game_controllers.

◆ button_map()

virtual const button_map_type & neogfx::i_game_controllers::button_map ( const hid_device_uuid aProductId) const
pure virtual

Implemented in neogfx::game_controllers.

◆ controller_for()

virtual i_game_controller & neogfx::i_game_controllers::controller_for ( game_player  aPlayer) const
pure virtual

Implemented in neogfx::game_controllers.

◆ controllers()

virtual const controller_list & neogfx::i_game_controllers::controllers ( ) const
pure virtual

Implemented in neogfx::game_controllers.

◆ declare_event()

neogfx::i_game_controllers::declare_event ( controller_connected  ,
i_game_controller  
)

◆ enumerate_controllers()

virtual void neogfx::i_game_controllers::enumerate_controllers ( )
pure virtual

◆ have_controller_for()

virtual bool neogfx::i_game_controllers::have_controller_for ( game_player  aPlayer) const
pure virtual

Implemented in neogfx::game_controllers.

◆ iid()

static uuid const & neogfx::i_game_controllers::iid ( )
inlinestatic

Definition at line 62 of file i_game_controllers.hpp.

◆ product_name()

virtual const i_string & neogfx::i_game_controllers::product_name ( const hid_device_uuid aProductId) const
pure virtual

◆ remove_device()

virtual controller_list::iterator neogfx::i_game_controllers::remove_device ( i_game_controller aController)
pure virtual

Implemented in neogfx::game_controllers.


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