31 lines
1 KiB
C++
31 lines
1 KiB
C++
#ifndef SERVER_ABSTRACTUSERINTERFACE
|
|
#define SERVER_ABSTRACTUSERINTERFACE
|
|
|
|
#include "serverinfo_user_container.h"
|
|
#include "pb/server_message.pb.h"
|
|
|
|
class Response;
|
|
class SessionEvent;
|
|
class GameEventContainer;
|
|
class RoomEvent;
|
|
|
|
class Server;
|
|
|
|
class Server_AbstractUserInterface : public ServerInfo_User_Container {
|
|
protected:
|
|
Server *server;
|
|
public:
|
|
Server_AbstractUserInterface(Server *_server) : server(_server) { }
|
|
Server_AbstractUserInterface(Server *_server, const ServerInfo_User_Container &other) : ServerInfo_User_Container(other), server(_server) { }
|
|
virtual ~Server_AbstractUserInterface() { }
|
|
|
|
virtual void sendProtocolItem(const Response &item) = 0;
|
|
virtual void sendProtocolItem(const SessionEvent &item) = 0;
|
|
virtual void sendProtocolItem(const GameEventContainer &item) = 0;
|
|
virtual void sendProtocolItem(const RoomEvent &item) = 0;
|
|
void sendProtocolItemByType(ServerMessage::MessageType type, const ::google::protobuf::Message &item);
|
|
|
|
static SessionEvent *prepareSessionEvent(const ::google::protobuf::Message &sessionEvent);
|
|
};
|
|
|
|
#endif
|