/* Copyright © 2015 Gluzskiy Alexandr (sss) This file is part of Unknown Download Manager (UDM). UDM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. UDM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with UDM. If not, see . */ #ifndef UDM_MAIN_H #define UDM_MAIN_H #include #include "../../protocol/udm.pb.h" class client_session; class QLabel; namespace boost { namespace asio { class io_service; } } class udm_main : public QMainWindow { Q_OBJECT public: udm_main(QWidget *parent = 0); ~udm_main(); public slots: void show_connect_widget(); void client_connect(QString &host, QString &password, int port); void client_connect_ssl(QString &host, QString &password, int port, QString &ssl_ca, QString &ssl_crt, QString &ssl_key); void server_message_received(server_msg msg); void client_connected(bool success, QString error_text); signals: void connect_signal(QString host, QString password, int port); void connect_signal_ssl(QString host, QString password, int port, QString ssl_ca, QString ssl_crt, QString ssl_key); private: void client_pre_connect_init(); void client_connect_finalize(); QThread *thread_client_session; client_session *session; boost::asio::io_service *io_service_; QString auth_token; QLabel *lbl_state; }; #endif // UDM_MAIN_H