console: add basic code.
This commit is contained in:
@@ -12,8 +12,8 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|||||||
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Network)
|
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Network)
|
||||||
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Network)
|
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Network)
|
||||||
|
|
||||||
add_executable(frelayConsole Console.h Console.cpp main.cpp ../Res/ico.rc)
|
add_executable(frelayConsole Console.h Console.cpp main.cpp Helper.h Helper.cpp ../Res/ico.rc)
|
||||||
target_link_libraries(frelayConsole PRIVATE Protocol Util)
|
target_link_libraries(frelayConsole PRIVATE Protocol Util ClientCore)
|
||||||
|
|
||||||
if(NOT DEFINED COMPILER_USE_MINGW)
|
if(NOT DEFINED COMPILER_USE_MINGW)
|
||||||
target_link_libraries(frelayConsole PRIVATE crashelper)
|
target_link_libraries(frelayConsole PRIVATE crashelper)
|
||||||
|
|||||||
@@ -1 +1,9 @@
|
|||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
|
|
||||||
|
RelayConsole::RelayConsole(QObject* parent) : QObject(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
RelayConsole::~RelayConsole()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,9 +1,15 @@
|
|||||||
#ifndef FRELAY_CONSOLE_H
|
#ifndef FRELAY_CONSOLE_H
|
||||||
#define FRELAY_CONSOLE_H
|
#define FRELAY_CONSOLE_H
|
||||||
|
|
||||||
class RelayConsole
|
#include <ClientCore.h>
|
||||||
{
|
|
||||||
|
|
||||||
|
class RelayConsole : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
RelayConsole(QObject* parent = nullptr);
|
||||||
|
~RelayConsole() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // FRELAY_CONSOLE_H
|
#endif // FRELAY_CONSOLE_H
|
||||||
|
|||||||
38
Console/Helper.cpp
Normal file
38
Console/Helper.cpp
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
#include "Helper.h"
|
||||||
|
|
||||||
|
ConsoleHelper::ConsoleHelper(QObject* parent) : QObject(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
ConsoleHelper::~ConsoleHelper()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConsoleHelper::RunWorker(ClientCore* clientCore)
|
||||||
|
{
|
||||||
|
clientCore_ = clientCore;
|
||||||
|
|
||||||
|
sockWorker_ = new SocketWorker(clientCore_, nullptr);
|
||||||
|
clientCore_->moveToThread(sockWorker_);
|
||||||
|
|
||||||
|
connect(clientCore_, &ClientCore::conSuccess, this, [this]() { qInfo() << QString(tr("Connected.")); });
|
||||||
|
connect(clientCore_, &ClientCore::conFailed, this, [this]() { qInfo() << QString(tr("Connect failed.")); });
|
||||||
|
connect(clientCore_, &ClientCore::connecting, this, [this]() { qInfo() << QString(tr("Connecting...")); });
|
||||||
|
connect(clientCore_, &ClientCore::sigDisconnect, this, [this]() { qInfo() << QString(tr("Disconnected.")); });
|
||||||
|
connect(this, &ConsoleHelper::sigDoConnect, clientCore_, &ClientCore::DoConnect);
|
||||||
|
connect(sockWorker_, &QThread::finished, sockWorker_, &QObject::deleteLater);
|
||||||
|
|
||||||
|
sockWorker_->start();
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConsoleHelper::SetIpPort(const QString& ip, quint16 port)
|
||||||
|
{
|
||||||
|
ip_ = ip;
|
||||||
|
port_ = port;
|
||||||
|
qDebug() << "SetIpPort:" << ip_ << port_;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConsoleHelper::Connect()
|
||||||
|
{
|
||||||
|
emit sigDoConnect(ip_, port_);
|
||||||
|
}
|
||||||
29
Console/Helper.h
Normal file
29
Console/Helper.h
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
#ifndef CONSOLE_HELPER_H
|
||||||
|
#define CONSOLE_HELPER_H
|
||||||
|
|
||||||
|
#include <ClientCore.h>
|
||||||
|
|
||||||
|
class ConsoleHelper : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
ConsoleHelper(QObject* parent = nullptr);
|
||||||
|
~ConsoleHelper() override;
|
||||||
|
|
||||||
|
public:
|
||||||
|
void RunWorker(ClientCore* clientCore);
|
||||||
|
void SetIpPort(const QString& ip, quint16 port);
|
||||||
|
void Connect();
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void sigDoConnect(const QString& ip, quint16 port);
|
||||||
|
|
||||||
|
private:
|
||||||
|
QString ip_;
|
||||||
|
quint16 port_{};
|
||||||
|
SocketWorker* sockWorker_{};
|
||||||
|
ClientCore* clientCore_;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // CONSOLE_HELPER_H
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
#include <Util.h>
|
#include <Util.h>
|
||||||
|
|
||||||
#include "Console.h"
|
#include "Console.h"
|
||||||
|
#include "Helper.h"
|
||||||
|
|
||||||
#ifndef COMPILER_USE_MINGW
|
#ifndef COMPILER_USE_MINGW
|
||||||
#include <crashelper.h>
|
#include <crashelper.h>
|
||||||
@@ -9,6 +10,10 @@
|
|||||||
|
|
||||||
int main(int argc, char* argv[])
|
int main(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
|
if (argc < 3) {
|
||||||
|
std::cerr << "Usage arg is ip port." << std::endl;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#ifndef COMPILER_USE_MINGW
|
#ifndef COMPILER_USE_MINGW
|
||||||
auto configDir = Util::GetCurConfigPath("frelay");
|
auto configDir = Util::GetCurConfigPath("frelay");
|
||||||
@@ -25,5 +30,12 @@ int main(int argc, char* argv[])
|
|||||||
Util::InitLogger("frelayConsole.log", "frelayConsole");
|
Util::InitLogger("frelayConsole.log", "frelayConsole");
|
||||||
qInstallMessageHandler(Util::ConsoleMsgHander);
|
qInstallMessageHandler(Util::ConsoleMsgHander);
|
||||||
|
|
||||||
|
auto* core = new ClientCore();
|
||||||
|
auto* helper = new ConsoleHelper();
|
||||||
|
|
||||||
|
helper->SetIpPort(argv[1], QString("%1").arg(argv[2]).toInt());
|
||||||
|
helper->RunWorker(core);
|
||||||
|
helper->Connect();
|
||||||
|
|
||||||
return app.exec();
|
return app.exec();
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user