summaryrefslogtreecommitdiff
path: root/client-qt/udm-client-qt/udm_main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client-qt/udm-client-qt/udm_main.cpp')
-rw-r--r--client-qt/udm-client-qt/udm_main.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/client-qt/udm-client-qt/udm_main.cpp b/client-qt/udm-client-qt/udm_main.cpp
index 8d9bb0c..103f8b7 100644
--- a/client-qt/udm-client-qt/udm_main.cpp
+++ b/client-qt/udm-client-qt/udm_main.cpp
@@ -21,8 +21,10 @@
#include "udm_main.h"
#include <QMenuBar>
+#include <QThread>
#include "connect_widget.h"
+#include "client_session.h"
udm_main::udm_main(QWidget *parent)
: QMainWindow(parent)
@@ -41,5 +43,19 @@ void udm_main::show_connect_widget()
{
connect_widget *w = new connect_widget;
//TODO: make connection to other slots related to connection
+ //TODO: destroy widget on close
w->show();
}
+
+void udm_main::client_connect(QString &host, int port)
+{
+ thread_client_session = new QThread(this);
+ io_service_ = new boost::asio::io_service;
+ session = new client_session(0, io_service_); //parent must be 0 here
+ connect(this, SIGNAL(connect_signal(QString,int)), session, SLOT(client_connect(QString,int)));
+ connect(this, SIGNAL(run_client_io_loop()), session, SLOT(run_io_service()));
+ session->moveToThread(thread_client_session);
+ thread_client_session->start();
+ emit connect_signal(host, port);
+ emit run_client_io_loop();
+}