#ifndef __ConsoleServer_h__
#define __ConsoleServer_h__

#include "includes"
#include "TCPServerSocket.h"
#include "Service.h"
#include "Command.h"
#include "Session.h"
#include "EPoll.h"

namespace core {
   
   class TCPSocket;
   
   ///
   ///  
   ///
   
   class ConsoleServer : public TCPServerSocket {
      
    public:
      
      //
      //
      //
      
      ConsoleServer(EPoll &ePoll, std::string url, short int port);
      
      //
      //
      //
      
      ~ConsoleServer(); 
      
      void sendToConnectedConsoles(std::string out);
                  
      void output(Session *session) override; ///<Output the consoles array to the console.
            
    protected:
      
      Session * getSocketAccept() override;

   };

}


#endif
