mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-07-19 08:52:15 -07:00
Move local/remote client and local server files.
Took 32 minutes Took 8 seconds
This commit is contained in:
parent
484e177589
commit
4e7c98829a
47 changed files with 291 additions and 43 deletions
|
|
@ -0,0 +1,31 @@
|
|||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTOUIC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
|
||||
set(HEADERS
|
||||
local_client.h
|
||||
)
|
||||
|
||||
set(SOURCES
|
||||
local_client.cpp
|
||||
)
|
||||
|
||||
if (Qt6_FOUND)
|
||||
qt6_wrap_cpp(MOC_SOURCES ${HEADERS})
|
||||
elseif (Qt5_FOUND)
|
||||
qt5_wrap_cpp(MOC_SOURCES ${HEADERS})
|
||||
endif ()
|
||||
|
||||
add_library(
|
||||
libcockatrice_network_client_local STATIC
|
||||
${MOC_SOURCES}
|
||||
${SOURCES}
|
||||
)
|
||||
|
||||
# add_dependencies(libcockatrice_server libcockatrice_protocol_wrapper)
|
||||
|
||||
target_include_directories(libcockatrice_network_client_local PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
target_link_libraries(
|
||||
libcockatrice_network_client_local PUBLIC ${COCKATRICE_QT_MODULES}
|
||||
)
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
#include "local_client.h"
|
||||
|
||||
#include "../../server/local/local_server_interface.h"
|
||||
|
||||
#include <libcockatrice/protocol/pb/session_commands.pb.h>
|
||||
#include <libcockatrice/server/debug_pb_message.h>
|
||||
|
||||
LocalClient::LocalClient(LocalServerInterface *_lsi,
|
||||
const QString &_playerName,
|
||||
const QString &_clientId,
|
||||
QObject *parent)
|
||||
: AbstractClient(parent), lsi(_lsi)
|
||||
{
|
||||
connect(lsi, &LocalServerInterface::itemToClient, this, &LocalClient::itemFromServer);
|
||||
|
||||
userName = _playerName;
|
||||
|
||||
Command_Login loginCmd;
|
||||
loginCmd.set_user_name(_playerName.toStdString());
|
||||
loginCmd.set_clientid(_clientId.toStdString());
|
||||
sendCommand(prepareSessionCommand(loginCmd));
|
||||
|
||||
Command_JoinRoom joinCmd;
|
||||
joinCmd.set_room_id(0);
|
||||
sendCommand(prepareSessionCommand(joinCmd));
|
||||
}
|
||||
|
||||
LocalClient::~LocalClient()
|
||||
{
|
||||
}
|
||||
|
||||
void LocalClient::sendCommandContainer(const CommandContainer &cont)
|
||||
{
|
||||
qCDebug(LocalClientLog).noquote() << userName << "OUT" << getSafeDebugString(cont);
|
||||
|
||||
lsi->itemFromClient(cont);
|
||||
}
|
||||
|
||||
void LocalClient::itemFromServer(const ServerMessage &item)
|
||||
{
|
||||
qCDebug(LocalClientLog).noquote() << userName << "IN" << getSafeDebugString(item);
|
||||
|
||||
processProtocolItem(item);
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
/**
|
||||
* @file local_client.h
|
||||
* @ingroup Client
|
||||
* @brief TODO: Document this.
|
||||
*/
|
||||
|
||||
#ifndef LOCALCLIENT_H
|
||||
#define LOCALCLIENT_H
|
||||
|
||||
#include "../abstract_client.h"
|
||||
|
||||
#include <QLoggingCategory>
|
||||
|
||||
inline Q_LOGGING_CATEGORY(LocalClientLog, "local_client");
|
||||
|
||||
class LocalServerInterface;
|
||||
|
||||
class LocalClient : public AbstractClient
|
||||
{
|
||||
Q_OBJECT
|
||||
private:
|
||||
LocalServerInterface *lsi;
|
||||
|
||||
public:
|
||||
LocalClient(LocalServerInterface *_lsi,
|
||||
const QString &_playerName,
|
||||
const QString &_clientId,
|
||||
QObject *parent = nullptr);
|
||||
~LocalClient() override;
|
||||
|
||||
void sendCommandContainer(const CommandContainer &cont) override;
|
||||
private slots:
|
||||
void itemFromServer(const ServerMessage &item);
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue