7#ifndef ABSTRACTCLIENT_H
8#define ABSTRACTCLIENT_H
12#include <libcockatrice/protocol/pb/response.pb.h>
13#include <libcockatrice/protocol/pb/serverinfo_user.pb.h>
16class CommandContainer;
18class GameEventContainer;
20class Event_ServerIdentification;
22class Event_RemoveFromList;
23class Event_UserJoined;
25class Event_ServerMessage;
27class Event_GameJoined;
28class Event_UserMessage;
29class Event_NotifyUser;
30class Event_ConnectionClosed;
31class Event_ServerShutdown;
32class Event_ReplayAdded;
ClientStatus
Definition abstract_client.h:36
@ StatusLoggingIn
Definition abstract_client.h:42
@ StatusLoggedIn
Definition abstract_client.h:43
@ StatusActivating
Definition abstract_client.h:41
@ StatusRequestingForgotPassword
Definition abstract_client.h:44
@ StatusConnecting
Definition abstract_client.h:39
@ StatusDisconnecting
Definition abstract_client.h:38
@ StatusDisconnected
Definition abstract_client.h:37
@ StatusSubmitForgotPasswordReset
Definition abstract_client.h:45
@ StatusSubmitForgotPasswordChallenge
Definition abstract_client.h:46
@ StatusGettingPasswordSalt
Definition abstract_client.h:47
@ StatusRegistering
Definition abstract_client.h:40
void roomEventReceived(const RoomEvent &event)
void userMessageEventReceived(const Event_UserMessage &event)
static PendingCommand * prepareAdminCommand(const ::google::protobuf::Message &cmd)
Definition abstract_client.cpp:191
void addToListEventReceived(const Event_AddToList &event)
QString email
Definition abstract_client.h:95
void removeFromListEventReceived(const Event_RemoveFromList &event)
void gameEventContainerReceived(const GameEventContainer &event)
void serverMessageEventReceived(const Event_ServerMessage &event)
void gameJoinedEventReceived(const Event_GameJoined &event)
void notifyUserEventReceived(const Event_NotifyUser &event)
QMap< QString, bool > clientFeatures
Definition abstract_client.h:130
bool getServerSupportsPasswordHash() const
Definition abstract_client.h:116
void ignoreListReceived(const QList< ServerInfo_User > &ignoreList)
void processProtocolItem(const ServerMessage &item)
Definition abstract_client.cpp:61
bool serverSupportsPasswordHash
Definition abstract_client.h:96
~AbstractClient() override
Definition abstract_client.cpp:57
QString userName
Definition abstract_client.h:95
QString realName
Definition abstract_client.h:95
void sendCommand(const CommandContainer &cont)
Definition abstract_client.cpp:144
void buddyListReceived(const QList< ServerInfo_User > &buddyList)
void serverIdentificationEventReceived(const Event_ServerIdentification &event)
int nextCmdId
Definition abstract_client.h:85
QString token
Definition abstract_client.h:95
void connectionClosedEventReceived(const Event_ConnectionClosed &event)
int getNewCmdId()
Definition abstract_client.h:98
void maxPingTime(int seconds, int maxSeconds)
static PendingCommand * prepareModeratorCommand(const ::google::protobuf::Message &cmd)
Definition abstract_client.cpp:183
QMutex clientMutex
Definition abstract_client.h:86
QString country
Definition abstract_client.h:95
void replayAddedEventReceived(const Event_ReplayAdded &event)
void listRoomsEventReceived(const Event_ListRooms &event)
void statusChanged(ClientStatus _status)
void userInfoChanged(const ServerInfo_User &userInfo)
void setStatus(ClientStatus _status)
Definition abstract_client.cpp:135
AbstractClient(QObject *parent=nullptr)
Definition abstract_client.cpp:23
void sigQueuePendingCommand(PendingCommand *pend)
QString password
Definition abstract_client.h:95
ClientStatus getStatus() const
Definition abstract_client.h:108
const QString & getUserName() const
Definition abstract_client.h:120
QMap< int, PendingCommand * > pendingCommands
Definition abstract_client.h:94
virtual void sendCommandContainer(const CommandContainer &cont)=0
ClientStatus status
Definition abstract_client.h:87
void serverShutdownEventReceived(const Event_ServerShutdown &event)
void registerAcceptedNeedsActivate()
void queuePendingCommand(PendingCommand *pend)
Definition abstract_client.cpp:155
void userJoinedEventReceived(const Event_UserJoined &event)
static PendingCommand * prepareRoomCommand(const ::google::protobuf::Message &cmd, int roomId)
Definition abstract_client.cpp:174
void userLeftEventReceived(const Event_UserLeft &event)
static PendingCommand * prepareSessionCommand(const ::google::protobuf::Message &cmd)
Definition abstract_client.cpp:166
Definition featureset.h:9
Definition pending_command.h:15