File indexing completed on 2024-05-12 05:39:52

0001 #ifndef MESSAGEDISPATCHER_H
0002 #define MESSAGEDISPATCHER_H
0003 
0004 #include "channelmodel.h"
0005 #include "network_global.h"
0006 #include "networkmessage.h"
0007 #include "serverconnection.h"
0008 #include <QByteArray>
0009 #include <QObject>
0010 
0011 class NetworkLink;
0012 class NetworkMessageReader;
0013 /**
0014  * @brief The MessageDispatcher class
0015  */
0016 class NETWORK_EXPORT MessageDispatcher : public QObject
0017 {
0018     Q_OBJECT
0019 
0020 public:
0021     explicit MessageDispatcher(QObject* parent= nullptr);
0022 
0023     static QString cat2String(NetworkMessageHeader* head);
0024     static QString act2String(NetworkMessageHeader* head);
0025 signals:
0026     void messageForAdmin(NetworkMessageReader*, Channel* channel, ServerConnection* emitter);
0027     void playerNameChanged(const QString& uuid, const QString& name);
0028 
0029 public slots:
0030     void dispatchMessage(QByteArray msg, Channel* channel, ServerConnection* emitter);
0031 };
0032 
0033 #endif // MESSAGEDISPATCHER_H