#ifndef QG1553OVERUDP_H
#define QG1553OVERUDP_H

#include <qgscopedevice.h>

#include <QObject>


class Qg1553OverUdpWorker;

class Qg1553OverUdp : public QgScopeDevice //public QObject
{
    Q_OBJECT
public:
    explicit Qg1553OverUdp(QObject *parent = 0);

    void* getBuffer(int subaddress);

signals:

public slots:


private:
    void timerEvent(QTimerEvent* evn);

    friend class Qg1553OverUdpWorker;

    class Implementation;
    Implementation& p_;
};



//TODO: move to a private header
class Qg1553OverUdpWorker: public QObject
{
    Q_OBJECT

public:
    Qg1553OverUdpWorker(Qg1553OverUdp*);

public slots:

    void bcFrameGenerate();
    void bcFrameReceive();

    void bcFrameWritten(qint64);

private:
    Qg1553OverUdp* b;
};

#endif // QG1553OVERUDP_H
