#pragma once #include "stdafx.h" #include using std::atomic; #include "IControlDevice.h" #include "../Utilities/SimpleLock.h" class VirtualController : public IControlDevice { list _inputData; bool _paused = false; atomic _queueSize; atomic _waiting; atomic _shutdown; SimpleLock _writeLock; uint8_t _port; uint32_t _minimumBuffer = 3; public: VirtualController(uint8_t port); ~VirtualController(); ButtonState GetButtonState(); void PushState(uint8_t state); };