mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-12 16:46:10 +00:00
Smart pointer usage for input device handle
This commit is contained in:
@@ -172,20 +172,20 @@ public:
|
|||||||
* using the relevant OS API. This thread blocks in a loop until an event is
|
* using the relevant OS API. This thread blocks in a loop until an event is
|
||||||
* received. Device pointers should only be manipulated by this thread using
|
* received. Device pointers should only be manipulated by this thread using
|
||||||
* the deviceConnected() and deviceDisconnected() callbacks. */
|
* the deviceConnected() and deviceDisconnected() callbacks. */
|
||||||
std::unique_ptr<boo::DolphinSmashAdapter> smashAdapter = NULL;
|
std::shared_ptr<boo::DolphinSmashAdapter> smashAdapter;
|
||||||
void deviceConnected(boo::DeviceToken& tok)
|
void deviceConnected(boo::DeviceToken& tok)
|
||||||
{
|
{
|
||||||
/* Device listener thread */
|
/* Device listener thread */
|
||||||
if (!smashAdapter)
|
if (!smashAdapter)
|
||||||
{
|
{
|
||||||
smashAdapter.reset(dynamic_cast<boo::DolphinSmashAdapter*>(tok.openAndGetDevice()));
|
smashAdapter = std::dynamic_pointer_cast<boo::DolphinSmashAdapter>(tok.openAndGetDevice());
|
||||||
smashAdapter->setCallback(&m_dolphinCb);
|
smashAdapter->setCallback(&m_dolphinCb);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void deviceDisconnected(boo::DeviceToken&, boo::DeviceBase* device)
|
void deviceDisconnected(boo::DeviceToken&, boo::DeviceBase* device)
|
||||||
{
|
{
|
||||||
if (smashAdapter.get() == device)
|
if (smashAdapter.get() == device)
|
||||||
smashAdapter.reset(nullptr);
|
smashAdapter.reset();
|
||||||
}
|
}
|
||||||
void SetMotorState(EIOPort port, EMotorState state)
|
void SetMotorState(EIOPort port, EMotorState state)
|
||||||
{
|
{
|
||||||
|
|||||||
2
hecl
2
hecl
Submodule hecl updated: 1327e4b4e8...2d12cfe0d8
Reference in New Issue
Block a user