// VLC Recorder - Header #ifndef RECORDER_H #define RECORDER_H #include "fgDialog.h" #include "src/Options.h" #include "src/misc.h" #include "main.h" #include <QBuffer> #include <QContextMenuEvent> #include <QDir> #include <QHeaderView> #include <QList> #include <QMenu> #include <QPointer> #include <QProcess> #include <QString> #include <QTime> #include <QTimer> #include <QTcpSocket> #include <QWidget> #define BASE_PORT 9000 // Basic Structure for records typedef struct record { record() { enabled = false; } QTime hstart; QTime hstop; QDate date; QString days; int weekly; QString channel; QString url; QString state; QString path; int port; bool enabled; void debug() const { qWarning() << hstart << hstop << date << days << weekly << channel << url << state << path << port << enabled; } } Record; // Class Recorder : Simple Widget Containing TV Record Schedules class Recorder : public QObject { Q_OBJECT public: Recorder( QWidget* = 0 ); static Recorder* self( QWidget* = 0 ); void addRecord(Record*, bool modif = false); void saveRecords(); Record* getRecord(int); Record* getLastRecord(); int getNbRecords(); inline int getId( Record* rec ) const { return records.indexOf( rec ); } signals: void newRecord(Record*); void recordFinished(Record*); void changeState(int, int); public slots: void checkRecords(); void removeRecord(int); void loadRecords(); private: QTimer *timer; QList<Record*> records; QAbstractSocket *socket, *closeSocket; QProcess vlc; QWidget *parent; bool init; qint16 lastPortUsed; static QPointer<Recorder> pSelf; }; #endif