projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
pv::DeviceManager now manages opening/closing devices
[pulseview.git]
/
pv
/
sigsession.h
diff --git
a/pv/sigsession.h
b/pv/sigsession.h
index 8520a1e7fe5acbbdfcafc0645fd5bce94654a24c..ae33c3a8a508713acde59c650cfadaeb256e634e 100644
(file)
--- a/
pv/sigsession.h
+++ b/
pv/sigsession.h
@@
-36,6
+36,8
@@
namespace pv {
namespace pv {
+class DeviceManager;
+
namespace data {
class Analog;
class AnalogSnapshot;
namespace data {
class Analog;
class AnalogSnapshot;
@@
-58,17
+60,25
@@
public:
};
public:
};
public:
- SigSession();
+ SigSession(
DeviceManager &device_manager
);
~SigSession();
~SigSession();
+ struct sr_dev_inst* get_device() const;
+
+ /**
+ * Sets device instance that will be used in the next capture session.
+ */
+ void set_device(struct sr_dev_inst *sdi);
+
+ void release_device(struct sr_dev_inst *sdi);
+
void load_file(const std::string &name,
boost::function<void (const QString)> error_handler);
capture_state get_capture_state() const;
void load_file(const std::string &name,
boost::function<void (const QString)> error_handler);
capture_state get_capture_state() const;
- void start_capture(struct sr_dev_inst* sdi,
- uint64_t record_length,
+ void start_capture(uint64_t record_length,
boost::function<void (const QString)> error_handler);
void stop_capture();
boost::function<void (const QString)> error_handler);
void stop_capture();
@@
-105,6
+115,13
@@
private:
const struct sr_datafeed_packet *packet, void *cb_data);
private:
const struct sr_datafeed_packet *packet, void *cb_data);
private:
+ DeviceManager &_device_manager;
+
+ /**
+ * The device instance that will be used in the next capture session.
+ */
+ struct sr_dev_inst *_sdi;
+
mutable boost::mutex _sampling_mutex;
capture_state _capture_state;
mutable boost::mutex _sampling_mutex;
capture_state _capture_state;