X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdevices%2Finputfile.hpp;h=e08832f608d6247e9febce369f32c3b8aea843e5;hp=588ccdf243e39c87ca52583678249b17cb42167e;hb=1325ce422f1b49ab1f693125105b8c373c2965e5;hpb=dd3fd4df34d129c83f7f5d80ff1e8b998beca63d diff --git a/pv/devices/inputfile.hpp b/pv/devices/inputfile.hpp index 588ccdf2..e08832f6 100644 --- a/pv/devices/inputfile.hpp +++ b/pv/devices/inputfile.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_DEVICE_INPUTFILE_HPP @@ -27,21 +26,41 @@ #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(); - void create(); + void close(); void start(); @@ -50,10 +69,13 @@ public: void stop(); private: - const std::shared_ptr context_; - const std::shared_ptr input_; + const shared_ptr context_; + shared_ptr format_; + map options_; + shared_ptr input_; - std::atomic interrupt_; + ifstream *f; + atomic interrupt_; }; } // namespace devices