X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdevices%2Fdevice.hpp;h=b4518fbee97091f1365c5589603f7ae6f251cf3f;hp=7e0b58ad065600bdc993751f343ff8eb348d4de1;hb=8b2eb22ed4f467f5364e8e9824a12137e2433b7e;hpb=b485408f20c39ae8d05372a5faffe15653c74705;ds=sidebyside
diff --git a/pv/devices/device.hpp b/pv/devices/device.hpp
index 7e0b58ad..b4518fbe 100644
--- a/pv/devices/device.hpp
+++ b/pv/devices/device.hpp
@@ -14,8 +14,7 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * along with this program; if not, see .
*/
#ifndef PULSEVIEW_PV_DEVICES_DEVICE_HPP
@@ -25,6 +24,7 @@
#include
namespace sigrok {
+class ConfigKey;
class Device;
class Session;
} // namespace sigrok
@@ -38,7 +38,7 @@ namespace devices {
class Device
{
protected:
- Device();
+ Device() = default;
public:
virtual ~Device();
@@ -47,6 +47,9 @@ public:
std::shared_ptr device() const;
+ template
+ T read_config(const sigrok::ConfigKey *key, const T default_value = 0);
+
/**
* Builds the full name. It only contains all the fields.
*/
@@ -60,7 +63,11 @@ public:
virtual std::string display_name(
const DeviceManager &device_manager) const = 0;
- virtual void create() = 0;
+ virtual void open() = 0;
+
+ virtual void close() = 0;
+
+ virtual void start();
virtual void run();