X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdevices%2Finputfile.hpp;h=165010f717f3cffe067eac15c7a50bcd11d4aa1f;hb=8845be3c9c7d5aca02fb2efc4038f4735a5242d6;hp=3efaf795b2ea985c57d69b91e40f3421c107bdfb;hpb=efdec55aec1a137460fa362a381ed1904182bfed;p=pulseview.git diff --git a/pv/devices/inputfile.hpp b/pv/devices/inputfile.hpp index 3efaf795..165010f7 100644 --- a/pv/devices/inputfile.hpp +++ b/pv/devices/inputfile.hpp @@ -17,8 +17,8 @@ * along with this program; if not, see . */ -#ifndef PULSEVIEW_PV_DEVICE_INPUTFILE_HPP -#define PULSEVIEW_PV_DEVICE_INPUTFILE_HPP +#ifndef PULSEVIEW_PV_DEVICES_INPUTFILE_HPP +#define PULSEVIEW_PV_DEVICES_INPUTFILE_HPP #include @@ -26,19 +26,37 @@ #include "file.hpp" +#include + +using std::atomic; +using std::ifstream; +using std::map; +using std::shared_ptr; +using std::streamsize; +using std::string; + namespace pv { namespace devices { class InputFile final : public File { private: - static const std::streamsize BufferSize; + static const streamsize BufferSize; public: - InputFile(const std::shared_ptr &context, - const std::string &file_name, - std::shared_ptr format, - const std::map &options); + InputFile(const shared_ptr &context, + const string &file_name, + shared_ptr format, + const map &options); + + /** + * Constructor that loads a file using the metadata saved by + * save_meta_to_settings() before. + */ + InputFile(const shared_ptr &context, + QSettings &settings); + + void save_meta_to_settings(QSettings &settings); void open(); @@ -51,17 +69,17 @@ public: void stop(); private: - const std::shared_ptr context_; - const std::shared_ptr format_; - const std::map options_; - std::shared_ptr input_; + const shared_ptr context_; + shared_ptr format_; + map options_; + shared_ptr input_; - std::ifstream *f; - std::atomic interrupt_; + ifstream *f; + atomic interrupt_; }; } // namespace devices } // namespace pv -#endif // PULSEVIEW_PV_SESSIONS_INPUTFILE_HPP +#endif // PULSEVIEW_PV_DEVICES_INPUTFILE_HPP