ClienteTFG/session_manager.cpp
2020-05-20 00:09:18 +02:00

63 lines
1.5 KiB
C++

#include "session_manager.h"
#include "read_uses.h"
session_manager::session_manager(conexion* con)
{
this->con=con;
}
bool session_manager::loggin(std::string username, std::string passwd){
return this->con->check_pass(username, passwd);
}
int session_manager::install_command(std::string package){
this->con->write_string("exec");
read_uses uses(package);
this->con->write_string(package);
if(uses.exist_file()){
this->con->write_string("y");
this->con->write_string(*uses.get_uses());
}else{
this->con->write_string("n");
}
std::string buffer;
this->con->read_string(buffer,2);
return atoi(buffer.data());
}
int session_manager::remove_command(std::string package){
this->con->write_string("remv");
this->con->write_string(package);
std::string buffer;
this->con->read_string(buffer,2);
return atoi(buffer.data());
}
std::list<std::string> session_manager::get_packages_info(){
std::list<std::string> ret;
std::string read;
this->con->write_string("info");
while(true){
this->con->read_string(read,256);
if(read=="end:info"){
break;
}
ret.push_back(read);
}
return ret;
}
std::list<std::string> session_manager::get_users_info(){
std::list<std::string> ret;
std::string read;
this->con->write_string("uinf");
while(true){
this->con->read_string(read,256);
if(read=="end:info"){
break;
}
ret.push_back(read);
}
return ret;
}