fix client install comunication
This commit is contained in:
		
							parent
							
								
									9f7dbd6cf7
								
							
						
					
					
						commit
						5f772f4db8
					
				| @ -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-11T02:55:05. --> | <!-- Written by QtCreator 4.8.2, 2020-05-16T01:41:19. --> | ||||||
| <qtcreator> | <qtcreator> | ||||||
|  <data> |  <data> | ||||||
|   <variable>EnvironmentId</variable> |   <variable>EnvironmentId</variable> | ||||||
|  | |||||||
| @ -75,7 +75,7 @@ void conexion_client(int client){ | |||||||
|   }else{ |   }else{ | ||||||
|       session_manager* session = new session_manager(client); |       session_manager* session = new session_manager(client); | ||||||
|       while(session->validate_pass()); |       while(session->validate_pass()); | ||||||
|       session->execute(); |       session->start_dialog(); | ||||||
|       delete (session); |       delete (session); | ||||||
|       close(client); |       close(client); | ||||||
|   } |   } | ||||||
|  | |||||||
| @ -122,7 +122,7 @@ void conexion_client(SSL_CTX *ctx,int client){ | |||||||
|       else { |       else { | ||||||
|           session_manager* session = new session_manager_ssl(ssl); |           session_manager* session = new session_manager_ssl(ssl); | ||||||
|           while(!session->validate_pass()); |           while(!session->validate_pass()); | ||||||
|           session->execute(); |           session->start_dialog(); | ||||||
|           //SSL_write(ssl,std::to_string(la->execute()).data() , sizeof (int));
 |           //SSL_write(ssl,std::to_string(la->execute()).data() , sizeof (int));
 | ||||||
|           delete (session); |           delete (session); | ||||||
|         } |         } | ||||||
|  | |||||||
| @ -12,6 +12,7 @@ public: | |||||||
|   virtual std::list<std::string> get_pinfo()=0; |   virtual std::list<std::string> get_pinfo()=0; | ||||||
|   virtual void write_install(std::string package, std::string user)=0; |   virtual void write_install(std::string package, std::string user)=0; | ||||||
|   virtual void write_remove(std::string)=0; |   virtual void write_remove(std::string)=0; | ||||||
|  |   virtual bool get_package_exists(std::string package)=0; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| #endif // DATA_ACCES_H
 | #endif // DATA_ACCES_H
 | ||||||
|  | |||||||
| @ -52,3 +52,14 @@ void msql_acces::write_remove(std::string package){ | |||||||
|   pstmt->setString(1,package); |   pstmt->setString(1,package); | ||||||
|   pstmt->executeUpdate(); |   pstmt->executeUpdate(); | ||||||
| } | } | ||||||
|  | 
 | ||||||
|  | bool msql_acces::get_package_exists(std::string package){ | ||||||
|  |   sql::PreparedStatement *pstmt = con->prepareStatement("select count(id) from packages where name=?"); | ||||||
|  |   pstmt->setString(1,package); | ||||||
|  |   sql::ResultSet *res = pstmt->executeQuery(); | ||||||
|  |   int ret=0; | ||||||
|  |   while(res->next()) | ||||||
|  |     ret = res->getInt(1); | ||||||
|  | 
 | ||||||
|  |   return ret>0; | ||||||
|  | } | ||||||
|  | |||||||
| @ -16,6 +16,7 @@ public: | |||||||
|   std::list<std::string> get_pinfo(); |   std::list<std::string> get_pinfo(); | ||||||
|   void write_install(std::string package, std::string user); |   void write_install(std::string package, std::string user); | ||||||
|   void write_remove(std::string); |   void write_remove(std::string); | ||||||
|  |   bool get_package_exists(std::string package); | ||||||
| private: | private: | ||||||
|   sql::Connection *con; |   sql::Connection *con; | ||||||
|   sql::Driver *driver; |   sql::Driver *driver; | ||||||
|  | |||||||
| @ -45,8 +45,9 @@ void session_manager::start_dialog(){ | |||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int session_manager::execute(){ | int session_manager::execute(){ | ||||||
|   char* n_package = new char[256]; |   char* n_package = new char[250]; | ||||||
|   this->read_data(n_package, 256); |   this->read_data(n_package, 5); | ||||||
|  |   this->read_data(n_package, 250); | ||||||
|   char* use_conf=new char[256]; |   char* use_conf=new char[256]; | ||||||
|   this->read_data(use_conf,2); |   this->read_data(use_conf,2); | ||||||
|   if(strcmp(use_conf,"y")==0){ |   if(strcmp(use_conf,"y")==0){ | ||||||
| @ -62,7 +63,9 @@ int session_manager::execute(){ | |||||||
|   if(result=="err"){ |   if(result=="err"){ | ||||||
|       return -1; |       return -1; | ||||||
|     }else{ |     }else{ | ||||||
|       this->data->write_install(n_package, user); |       if(!this->data->get_package_exists(result)){ | ||||||
|  |           this->data->write_install(result, user); | ||||||
|  |         } | ||||||
|       return 1; |       return 1; | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -74,7 +77,7 @@ int session_manager::remove(){ | |||||||
|   if(result=="err"){ |   if(result=="err"){ | ||||||
|       return -1; |       return -1; | ||||||
|     }else{ |     }else{ | ||||||
|       this->data->write_remove(n_package); |       this->data->write_remove(result); | ||||||
|       return 1; |       return 1; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user