X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fdevices%2Finputfile.hpp;h=41698e6d6be45638b7d00f24cb139deb9f2c6f6a;hb=1b56c646e7dd253775b4d6cfceaf327fd8ffd297;hp=55688fd453394f4bd00980a75456fbc76b26f918;hpb=5237f0c50352b523c6a0c3d7f931081ecdbdecaa;p=pulseview.git diff --git a/pv/devices/inputfile.hpp b/pv/devices/inputfile.hpp index 55688fd4..41698e6d 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 @@ -25,23 +24,32 @@ #include -#include "device.hpp" +#include "file.hpp" + +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 Device +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); + + void open(); - void create(); + void close(); void start(); @@ -50,11 +58,13 @@ public: void stop(); private: - const std::shared_ptr context_; - const std::shared_ptr input_; - const std::string file_name_; + const shared_ptr context_; + const shared_ptr format_; + const map options_; + shared_ptr input_; - std::atomic interrupt_; + ifstream *f; + atomic interrupt_; }; } // namespace devices