mirror of
https://github.com/AxioDL/boo.git
synced 2025-12-13 23:26:16 +00:00
Merge branch 'master' of https://github.com/RetroView/libBoo into ds3
This commit is contained in:
73
lib/inputdev/DeviceBase.cpp
Normal file
73
lib/inputdev/DeviceBase.cpp
Normal file
@@ -0,0 +1,73 @@
|
||||
#include "boo/inputdev/DeviceBase.hpp"
|
||||
#include "boo/inputdev/DeviceToken.hpp"
|
||||
#include "IHIDDevice.hpp"
|
||||
#include <cstdarg>
|
||||
|
||||
namespace boo
|
||||
{
|
||||
|
||||
DeviceBase::DeviceBase(DeviceToken* token)
|
||||
: m_token(token), m_hidDev(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
DeviceBase::~DeviceBase()
|
||||
{
|
||||
delete m_hidDev;
|
||||
}
|
||||
|
||||
void DeviceBase::_deviceDisconnected()
|
||||
{
|
||||
deviceDisconnected();
|
||||
m_token = NULL;
|
||||
if (m_hidDev)
|
||||
{
|
||||
m_hidDev->_deviceDisconnected();
|
||||
delete m_hidDev;
|
||||
m_hidDev = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void DeviceBase::closeDevice()
|
||||
{
|
||||
if (m_token)
|
||||
m_token->_deviceClose();
|
||||
}
|
||||
|
||||
void DeviceBase::deviceError(const char* error, ...)
|
||||
{
|
||||
va_list vl;
|
||||
va_start(vl, error);
|
||||
vfprintf(stderr, error, vl);
|
||||
va_end(vl);
|
||||
}
|
||||
|
||||
bool DeviceBase::sendUSBInterruptTransfer(const uint8_t* data, size_t length)
|
||||
{
|
||||
if (m_hidDev)
|
||||
return m_hidDev->_sendUSBInterruptTransfer(data, length);
|
||||
return false;
|
||||
}
|
||||
|
||||
size_t DeviceBase::receiveUSBInterruptTransfer(uint8_t* data, size_t length)
|
||||
{
|
||||
if (m_hidDev)
|
||||
return m_hidDev->_receiveUSBInterruptTransfer(data, length);
|
||||
return false;
|
||||
}
|
||||
|
||||
bool DeviceBase::sendHIDReport(const uint8_t* data, size_t length, uint16_t message)
|
||||
{
|
||||
if (m_hidDev)
|
||||
return m_hidDev->_sendHIDReport(data, length, message);
|
||||
return false;
|
||||
}
|
||||
|
||||
size_t DeviceBase::receiveReport(uint8_t* data, size_t length, uint16_t message)
|
||||
{
|
||||
if (m_hidDev)
|
||||
return m_hidDev->_recieveReport(data, length, message);
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user