diff options
author | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-08-07 15:05:23 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss@sss.chaoslab.ru> | 2015-08-07 15:05:23 +0300 |
commit | 5a4cbe950cd653385fc6e93aa860542b01bdf1bc (patch) | |
tree | 5a97277e5bb479b2d60147bb13f3c28ebc177a9b /client-qt/udm-client-qt/udm_main.cpp | |
parent | 1461988ab8387f86d929cbba70bc4839447693f6 (diff) |
protocol:
renamed some vars to avoid collision with openssl
client-qt:
implemented ssl support
some work on connect_widget
Diffstat (limited to 'client-qt/udm-client-qt/udm_main.cpp')
-rw-r--r-- | client-qt/udm-client-qt/udm_main.cpp | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/client-qt/udm-client-qt/udm_main.cpp b/client-qt/udm-client-qt/udm_main.cpp index 02c0f9a..f85dc5d 100644 --- a/client-qt/udm-client-qt/udm_main.cpp +++ b/client-qt/udm-client-qt/udm_main.cpp @@ -32,11 +32,13 @@ udm_main::udm_main(QWidget *parent) auto menu_main = this->menuBar()->addMenu(tr("Main")); auto action_connect = menu_main->addAction(tr("Connect")); connect(action_connect, SIGNAL(triggered()), this, SLOT(show_connect_widget())); + auto action_exit = menu_main->addAction(tr("Exit")); + connect(action_exit, SIGNAL(triggered(bool)), this, SLOT(close())); //TODO: something better } udm_main::~udm_main() { - + //TODO: clear all remaining data } void udm_main::show_connect_widget() @@ -48,16 +50,31 @@ void udm_main::show_connect_widget() w->show(); } -void udm_main::client_connect(QString &host, QString &password, int port) +void udm_main::client_pre_connect_init() { 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,QString,int)), session, SLOT(client_connect(QString,QString,int))); - connect(this, SIGNAL(run_client_io_loop()), session, SLOT(run_io_service())); - connect(session, SIGNAL(terminate_thread()), thread_client_session, SLOT(terminate())); +} +void udm_main::client_connect_finalize() +{ + //connect(session, SIGNAL(terminate_thread()), thread_client_session, SLOT(terminate())); session->moveToThread(thread_client_session); thread_client_session->start(); +} + +void udm_main::client_connect(QString &host, QString &password, int port) +{ + client_pre_connect_init(); + connect(this, SIGNAL(connect_signal(QString,QString,int)), session, SLOT(client_connect(QString,QString,int))); + client_connect_finalize(); emit connect_signal(host, password, port); - emit run_client_io_loop(); +} + +void udm_main::client_connect_ssl(QString &host, QString &password, int port, QString &ssl_ca, QString &ssl_crt, QString &ssl_key) +{ + client_pre_connect_init(); + connect(this, SIGNAL(connect_signal(QString,QString,int,QString,QString)), session, SLOT(client_connect(QString,QString,int,QString,QString))); + client_connect_finalize(); + emit connect_signal_ssl(host, password, port, ssl_ca, ssl_crt, ssl_key); } |