#ifndef SPWPACKETRECEIVER_H #define SPWPACKETRECEIVER_H #include #include class spwpacketreceiver : public QObject { Q_OBJECT public: explicit spwpacketreceiver(QObject *parent = 0); ~spwpacketreceiver(); int fetchRMAPPacket(); void acquireCCSDSSemaphore() {ccsdsPacketSEMAPHORE->acquire();} void acquireRMAPSemaphore() {rmapPacketSEMAPHORE->acquire();} unsigned char* ccsdsPacket; char* rmapPacket; char* spwPacket; unsigned int rmapPacketSize; unsigned int ccsdsPacketSize; QSemaphore* rmapPacketSEMAPHORE; QSemaphore* ccsdsPacketSEMAPHORE; QTcpSocket* gresbReceptionSocket; public slots: int receiveSPWPacket(unsigned char requestID = 0); // request ID by default is 0 for CCSDS void processCCSDSPacket(unsigned char *ccsdsPacket, unsigned int size); signals: void ccsdsPacketAvailable(unsigned char* ccsdsPacket, unsigned int size); void sendMessage(QString message); }; #endif // SPWPACKETRECEIVER_H