summaryrefslogtreecommitdiff
path: root/client-qt/udm-client-qt/client_session.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client-qt/udm-client-qt/client_session.cpp')
-rw-r--r--client-qt/udm-client-qt/client_session.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/client-qt/udm-client-qt/client_session.cpp b/client-qt/udm-client-qt/client_session.cpp
index 60f462c..c034aa1 100644
--- a/client-qt/udm-client-qt/client_session.cpp
+++ b/client-qt/udm-client-qt/client_session.cpp
@@ -59,9 +59,10 @@ tcp::socket& client_session::socket()
return socket_;
}
-void client_session::client_connect(QString host, int port)
+void client_session::client_connect(QString host, QString password, int port)
{
//TODO: settings for connection timeout
+ this->pasword = password;
boost::asio::ip::tcp::resolver r(io_service_);
boost::asio::ip::tcp::endpoint ep;
ep.port(port);
@@ -77,6 +78,7 @@ void client_session::handle_connect(const boost::system::error_code &e)
//TODO: settings for reconnect count and timeout
emit client_connected(false, QString::fromStdString(e.message()));
BOOST_LOG_TRIVIAL(error)<<__FILE__<<":"<<__LINE__<<"\t"<<typeid(this).name()<<"::"<<__func__<<"\terror: "<<e.message();
+ delete this; //suicide
}
else
{
@@ -159,6 +161,15 @@ void client_session::run_io_service()
io_service_.run();
}
+client_session::~client_session()
+{
+ //TODO: check this, reimplement
+ io_service_.stop();
+ boost::asio::io_service *s = &io_service_;
+ delete s;
+ emit terminate_thread();
+}
+
/*boost::asio::io_service &client_session::io_service()
{
return io_service_;