You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
979 B
47 lines
979 B
#ifndef DEVICE_HPP
|
|
#define DEVICE_HPP
|
|
|
|
#include "utils.hpp"
|
|
|
|
struct ApiDevice ;
|
|
|
|
// ---------------------------------------------------------------------
|
|
|
|
// This represents an input device (i.e. a mouse or trackball).
|
|
|
|
class Device
|
|
{
|
|
|
|
// constructors/destructor:
|
|
public:
|
|
Device( const ApiDevice* pDevice ) ;
|
|
DISABLE_COPY_ASSIGNMENT( Device ) ;
|
|
|
|
// access methods:
|
|
public:
|
|
int deviceId() const ;
|
|
const std::string& hid() const ;
|
|
int deviceNumber() const ;
|
|
const std::string& displayName() const ;
|
|
bool isEnabled() const ;
|
|
|
|
// miscellaneous methods:
|
|
public:
|
|
void dumpDevice( std::ostream& os , const char* pPrefix="" ) const ;
|
|
|
|
// data members:
|
|
private:
|
|
int mDeviceId ;
|
|
std::string mHID ;
|
|
int mDeviceNumber ;
|
|
std::string mDisplayName ;
|
|
bool mIsEnabled ;
|
|
|
|
} ;
|
|
|
|
// inserter
|
|
std::ostream& operator<<( std::ostream& , const Device& ) ;
|
|
|
|
// ---------------------------------------------------------------------
|
|
|
|
#endif // DEVICE_HPP
|
|
|