diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-08-03 00:35:31 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-08-03 00:35:31 +0300 |
commit | 6594e57c5084fb7199673e15cb39541e4750d0b1 (patch) | |
tree | ccf954b2e5554dfa838232b461977a2088d8ce5c /client-qt/udm-client-qt/udm_main.cpp | |
parent | b664863a9b06b4dc68fe857d710e0c8b90bdf230 (diff) |
client-qt:
now we have working boost.asio inside qt gui app, thats already something
Diffstat (limited to 'client-qt/udm-client-qt/udm_main.cpp')
-rw-r--r-- | client-qt/udm-client-qt/udm_main.cpp | 16 |
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(); +} |