* 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 <http://www.gnu.org/licenses/>.
*/
#ifndef PULSEVIEW_PV_DEVICE_INPUTFILE_HPP
#include <libsigrokcxx/libsigrokcxx.hpp>
-#include "device.hpp"
+#include "file.hpp"
namespace pv {
namespace devices {
-class InputFile final : public Device
+class InputFile final : public File
{
private:
static const std::streamsize BufferSize;
std::shared_ptr<sigrok::InputFormat> format,
const std::map<std::string, Glib::VariantBase> &options);
- void create();
+ void open();
+
+ void close();
void start();
private:
const std::shared_ptr<sigrok::Context> context_;
- const std::shared_ptr<sigrok::Input> input_;
- const std::string file_name_;
+ const std::shared_ptr<sigrok::InputFormat> format_;
+ const std::map<std::string, Glib::VariantBase> options_;
+ std::shared_ptr<sigrok::Input> input_;
+ std::ifstream *f;
std::atomic<bool> interrupt_;
};