Device: Extend open() API for long-running tasks

This commit is contained in:
Paul Hollinsky
2021-04-29 19:08:31 -04:00
parent 3d4e0a27e3
commit b7c7d4349a
3 changed files with 56 additions and 9 deletions
@@ -6,6 +6,7 @@
#include <memory>
#include "icsneo/communication/message/message.h"
#include "icsneo/api/eventmanager.h"
#include "icsneo/device/device.h"
namespace icsneo {
@@ -18,10 +19,10 @@ public:
virtual const char* getName() const = 0;
// Return false to block opening
virtual bool onDeviceOpen() { return true; }
virtual bool onDeviceOpen(Device::OpenFlags flags, const Device::OpenStatusHandler& handler) { return true; }
// Return true to indicate that communication should now be back
virtual bool onDeviceCommunicationDead() { return false; }
virtual bool onDeviceCommunicationDead(Device::OpenFlags flags, const Device::OpenStatusHandler& handler) { return false; }
virtual void onGoOnline() {}
virtual void onGoOffline() {}