projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Session: document the purpose of sampling_mutex_.
[pulseview.git]
/
pv
/
devices
/
hardwaredevice.cpp
diff --git
a/pv/devices/hardwaredevice.cpp
b/pv/devices/hardwaredevice.cpp
index b98b0e02f8aa9b2e43756af75835d8bae55723b4..d1161aa26669a614bc36fc52e4871bdc1fb68496 100644
(file)
--- a/
pv/devices/hardwaredevice.cpp
+++ b/
pv/devices/hardwaredevice.cpp
@@
-49,11
+49,7
@@
HardwareDevice::HardwareDevice(const std::shared_ptr<sigrok::Context> &context,
}
HardwareDevice::~HardwareDevice() {
}
HardwareDevice::~HardwareDevice() {
- if (device_open_)
- device_->close();
-
- if (session_)
- session_->remove_devices();
+ close();
}
string HardwareDevice::full_name() const {
}
string HardwareDevice::full_name() const {
@@
-99,8
+95,10
@@
string HardwareDevice::display_name(
return join(parts, " ");
}
return join(parts, " ");
}
-void HardwareDevice::create() {
- // Open the device
+void HardwareDevice::open() {
+ if (device_open_)
+ close();
+
try {
device_->open();
} catch(const sigrok::Error &e) {
try {
device_->open();
} catch(const sigrok::Error &e) {
@@
-114,5
+112,15
@@
void HardwareDevice::create() {
session_->add_device(device_);
}
session_->add_device(device_);
}
+void HardwareDevice::close() {
+ if (device_open_)
+ device_->close();
+
+ if (session_)
+ session_->remove_devices();
+
+ device_open_ = false;
+}
+
} // namespace devices
} // namespace pv
} // namespace devices
} // namespace pv