diff --git a/ServidorTFG.pro.user b/ServidorTFG.pro.user index 912c629..225bbb2 100644 --- a/ServidorTFG.pro.user +++ b/ServidorTFG.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/data_acces.h b/data_acces.h index 682c2a4..9229605 100644 --- a/data_acces.h +++ b/data_acces.h @@ -2,12 +2,14 @@ #define DATA_ACCES_H #include +#include class data_acces { public: data_acces(); virtual std::string get_passwd(std::string username) = 0; + virtual std::list get_pinfo()=0; }; #endif // DATA_ACCES_H diff --git a/msql_acces.cpp b/msql_acces.cpp index d745bed..1bb2ea9 100644 --- a/msql_acces.cpp +++ b/msql_acces.cpp @@ -18,3 +18,22 @@ std::string msql_acces::get_passwd(std::string username){ delete res; return ret; } + +std::list msql_acces::get_pinfo(){ + sql::PreparedStatement *pstmt = con->prepareStatement("select * from packages"); + sql::ResultSet *res = pstmt->executeQuery(); + std::list ret; + std::string aux; + while(res->next()){ + aux=""; + aux += res->getString("name"); + if(res->getBoolean("uses")){ + aux+=":true"; + }else{ + aux+=":false"; + } + aux += ":"+res->getString("created"); + } + delete res; + return ret; +} diff --git a/msql_acces.h b/msql_acces.h index 6dcba2b..ec8ab9f 100644 --- a/msql_acces.h +++ b/msql_acces.h @@ -13,6 +13,7 @@ class msql_acces : public data_acces public: msql_acces(); std::string get_passwd(std::string username); + std::list get_pinfo(); private: sql::Connection *con; sql::Driver *driver; diff --git a/session_manager.cpp b/session_manager.cpp index f2af2b4..c1317ec 100644 --- a/session_manager.cpp +++ b/session_manager.cpp @@ -1,6 +1,6 @@ #include "session_manager.h" #include "msql_acces.h" - +#include "config_package.h" #include #include #include @@ -44,6 +44,7 @@ void session_manager::start_dialog(){ int session_manager::execute(){ char* n_package = new char[256]; this->read_data(n_package, 256); + config_package conf = config_package(n_package); this->args=new char*[4]; this->args[0]="emerge"; this->args[1]="--ask"; @@ -69,7 +70,11 @@ int session_manager::execute(){ } void session_manager::send_information(){ - + std::list lis=this->data->get_pinfo(); + for(std::string info : lis){ + this->write_data(info); + } + this->write_data("end:of:the:info"); } int session_manager::read_data(char* input, int size){