// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #pragma once #include "packet.hpp" class QLocalSocket; /** * @brief Class which encapsulate a QlocalSocket class and deals with our Packet class */ class VSLocalSocket : public QObject { Q_OBJECT public: explicit VSLocalSocket(QObject *parent = nullptr); /** * @brief Sets the QLocalSocket to wrap * @param pointer to the QLocalSocket */ void setSocket(QLocalSocket *socket); signals: /** * @brief Signal emitted when a pcket has been received */ void messageReceived(Packet); /** * @brief Signal emitted when the socket has just connected to the server */ void connected(); /** * @brief Signal emitted when the socket has just disconnected to the server */ void disconnected(); private slots: /** * @brief Slot called when the socket has just connected to the server */ void socketConnected(); /** * @brief Slot called when the socket has just disconnected from the server */ void socketDisconnected(); /** * @brief Slot called when a message is ready to be read */ void messageAvailable(); private: QLocalSocket *socket; };