add send info

This commit is contained in:
Guillermo Roche 2020-05-13 00:58:32 +02:00
parent e5078b4969
commit 726d990d20
5 changed files with 30 additions and 3 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.8.2, 2020-05-07T01:43:45. --> <!-- Written by QtCreator 4.8.2, 2020-05-11T02:55:05. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>

View File

@ -2,12 +2,14 @@
#define DATA_ACCES_H #define DATA_ACCES_H
#include <iostream> #include <iostream>
#include <list>
class data_acces class data_acces
{ {
public: public:
data_acces(); data_acces();
virtual std::string get_passwd(std::string username) = 0; virtual std::string get_passwd(std::string username) = 0;
virtual std::list<std::string> get_pinfo()=0;
}; };
#endif // DATA_ACCES_H #endif // DATA_ACCES_H

View File

@ -18,3 +18,22 @@ std::string msql_acces::get_passwd(std::string username){
delete res; delete res;
return ret; return ret;
} }
std::list<std::string> msql_acces::get_pinfo(){
sql::PreparedStatement *pstmt = con->prepareStatement("select * from packages");
sql::ResultSet *res = pstmt->executeQuery();
std::list<std::string> 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;
}

View File

@ -13,6 +13,7 @@ class msql_acces : public data_acces
public: public:
msql_acces(); msql_acces();
std::string get_passwd(std::string username); std::string get_passwd(std::string username);
std::list<std::string> get_pinfo();
private: private:
sql::Connection *con; sql::Connection *con;
sql::Driver *driver; sql::Driver *driver;

View File

@ -1,6 +1,6 @@
#include "session_manager.h" #include "session_manager.h"
#include "msql_acces.h" #include "msql_acces.h"
#include "config_package.h"
#include <unistd.h> #include <unistd.h>
#include <sys/wait.h> #include <sys/wait.h>
#include <iostream> #include <iostream>
@ -44,6 +44,7 @@ void session_manager::start_dialog(){
int session_manager::execute(){ int session_manager::execute(){
char* n_package = new char[256]; char* n_package = new char[256];
this->read_data(n_package, 256); this->read_data(n_package, 256);
config_package conf = config_package(n_package);
this->args=new char*[4]; this->args=new char*[4];
this->args[0]="emerge"; this->args[0]="emerge";
this->args[1]="--ask"; this->args[1]="--ask";
@ -69,7 +70,11 @@ int session_manager::execute(){
} }
void session_manager::send_information(){ void session_manager::send_information(){
std::list<std::string> 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){ int session_manager::read_data(char* input, int size){