#ifndef HARDWAREPACKETENGINE_H
#define HARDWAREPACKETENGINE_H

#include <QObject>
#include <QElapsedTimer>

#include "model/hardware/service/HardwarePacket.h"

class HardwarePacketEngine : public QObject
{
	Q_OBJECT

private:
	HardwarePacket* _hardwarePacket;
	qint32 _lastBatch;
	QElapsedTimer _elapsedTimer;

	quint64 _start;

public:
	HardwarePacketEngine();

    void newData(QByteArray buffer, bool flush = false);
    void init(void);

signals:
	void newPacketReady(const UsPacket& packet);
};

#endif //HARDWAREPACKETENGINE_H