mirror of
https://github.com/AxioDL/boo.git
synced 2025-05-15 03:41:23 +00:00
58 lines
1.1 KiB
C++
58 lines
1.1 KiB
C++
#include "inputdev/DeviceBase.hpp"
|
|
#include "inputdev/DeviceToken.hpp"
|
|
#include "IHIDDevice.hpp"
|
|
|
|
namespace boo
|
|
{
|
|
|
|
CDeviceBase::CDeviceBase(CDeviceToken* token)
|
|
: m_token(token), m_hidDev(NULL)
|
|
{
|
|
}
|
|
|
|
CDeviceBase::~CDeviceBase()
|
|
{
|
|
delete m_hidDev;
|
|
}
|
|
|
|
void CDeviceBase::_deviceDisconnected()
|
|
{
|
|
deviceDisconnected();
|
|
m_token = NULL;
|
|
if (m_hidDev)
|
|
{
|
|
m_hidDev->_deviceDisconnected();
|
|
delete m_hidDev;
|
|
m_hidDev = NULL;
|
|
}
|
|
}
|
|
|
|
void CDeviceBase::closeDevice()
|
|
{
|
|
if (m_token)
|
|
m_token->_deviceClose();
|
|
}
|
|
|
|
bool CDeviceBase::sendUSBInterruptTransfer(const uint8_t* data, size_t length)
|
|
{
|
|
if (m_hidDev)
|
|
return m_hidDev->_sendUSBInterruptTransfer(data, length);
|
|
return false;
|
|
}
|
|
|
|
size_t CDeviceBase::receiveUSBInterruptTransfer(uint8_t* data, size_t length)
|
|
{
|
|
if (m_hidDev)
|
|
return m_hidDev->_receiveUSBInterruptTransfer(data, length);
|
|
return false;
|
|
}
|
|
|
|
bool CDeviceBase::sendHIDReport(const uint8_t* data, size_t length)
|
|
{
|
|
if (m_hidDev)
|
|
return m_hidDev->_sendHIDReport(data, length);
|
|
return false;
|
|
}
|
|
|
|
}
|