libicsneoc: Resolve DeviceCurrentlyClosed errors

add-device-sharing
David Rebbe 2022-11-03 23:46:14 +00:00
parent 4c0d49f09a
commit 5ff1707c47
4 changed files with 10 additions and 3 deletions

View File

@ -21,7 +21,8 @@ int Communication::messageCallbackIDCounter = 1;
Communication::~Communication() {
if(redirectingRead)
clearRedirectRead();
close();
if(isOpen())
close();
}
bool Communication::open() {

View File

@ -78,7 +78,8 @@ bool Device::SerialStringIsNumeric(const std::string& serial) {
Device::~Device() {
if(isMessagePollingEnabled())
disableMessagePolling();
close();
if(isOpen())
close();
}
uint16_t Device::getTimestampResolution() const {

View File

@ -22,7 +22,7 @@ public:
typedef void(*fn_boolCallback)(bool success);
VCP(const device_eventhandler_t& err, neodevice_t& forDevice);
~VCP() { close(); }
virtual ~VCP();
bool open() { return open(false); }
void openAsync(fn_boolCallback callback);
bool close();

View File

@ -196,6 +196,11 @@ VCP::VCP(const device_eventhandler_t& err, neodevice_t& forDevice) : Driver(err)
detail = std::make_shared<Detail>();
}
VCP::~VCP() {
if(isOpen())
close();
}
bool VCP::IsHandleValid(neodevice_handle_t handle) {
if(handle < 1)
return false;