My Project
Public Member Functions | Protected Member Functions | List of all members
core::ConsoleSession Class Reference

#include <ConsoleSession.h>

Inheritance diagram for core::ConsoleSession:
Inheritance graph
[legend]
Collaboration diagram for core::ConsoleSession:
Collaboration graph
[legend]

Public Member Functions

 ConsoleSession (EPoll &ePoll, TCPServer &server)
 
void writeLog (std::string data)
 
- Public Member Functions inherited from core::TerminalSession
 TerminalSession (EPoll &ePoll, TCPServer &server)
 
int getLines ()
 
void clear ()
 
void clearEOL ()
 
void setCursorLocation (int x, int y)
 
void setColor (int color)
 
void setBackColor (int color)
 
void saveCursor ()
 
void restoreCursor ()
 
void NextLine (int lines)
 
void PreviousLine (int lines)
 
void scrollArea (int start, int end)
 
- Public Member Functions inherited from core::TCPSession
 TCPSession (EPoll &ePoll, TCPServer &server, std::string text="")
 
virtual void output (std::stringstream &data)
 
void send ()
 
void terminate ()
 
virtual bool compareAlias (void *alias)
 
virtual void outputAlias (std::stringstream &out)
 
- Public Member Functions inherited from core::TCPSocket
 TCPSocket (EPoll &ePoll)
 
 TCPSocket (EPoll &ePoll, std::string text)
 
void connect (IPAddress &address)
 
- Public Member Functions inherited from core::Socket
 Socket (EPoll &ePoll, std::string text="")
 
virtual ~Socket ()
 
void shutdown (std::string text="unknown")
 
void setDescriptor (int descriptor)
 Set the descriptor for the socket. More...
 
int getDescriptor ()
 Get the descriptor for the socket.
 
bool eventReceived (struct epoll_event event, long long eventId)
 Parse epoll event and call specified callbacks. More...
 
int write (std::string data)
 
void write (char *buffer, int length)
 
void output (std::stringstream &out)
 
virtual void onRegister ()
 Called before the socket has registered with the epoll processing. More...
 
virtual void onUnregister ()
 
virtual void onUnregistered ()
 Called when the socket has finished unregistering for the epoll processing. More...
 
bool needsToWrite ()
 
void enableSocket ()
 
void disableSocket ()
 

Protected Member Functions

void protocol (coreutils::ZString &data) override
 
- Protected Member Functions inherited from core::TCPSession
virtual void onRegistered () override
 Called after the socket has been registered with epoll processing.
 
virtual void onDataReceived (coreutils::ZString &data) override
 
virtual void onLineReceived (coreutils::ZString &line)
 
virtual void onBlockReceived (coreutils::ZString &block)
 
virtual void onConnected ()
 
void setBlockSize (int size=0)
 
- Protected Member Functions inherited from core::Socket
void setBufferSize (int length)
 
int getBufferSize ()
 
virtual void onDataReceived (std::string data)
 Called when data is received from the socket. More...
 
virtual void receiveData (coreutils::ZString &buffer)
 

Additional Inherited Members

- Public Attributes inherited from core::TCPSession
Commandgrab = NULL
 
TCPServerserver
 
std::stringstream out
 
char uuid [37]
 
void * alias
 
- Public Attributes inherited from core::TCPSocket
IPAddress ipAddress
 
- Public Attributes inherited from core::Socket
bool reset = false
 
volatile bool shutDown = false
 
- Protected Attributes inherited from core::Socket
EPollePoll
 

Detailed Description

ConsoleSession

Extends the session parameters for this TCPSocket derived object. Extend the protocol() method in order to define the behavior and protocol interaction for this socket which is a console session.

Member Function Documentation

◆ protocol()

void core::ConsoleSession::protocol ( coreutils::ZString &  data)
overrideprotectedvirtual

Override the protocol method to manage and control the session communications in your inherited session. If you do not override this method then the Session default will process the 'commands' added to the server object using the processRequest method on the session input.

When data is received within the session two modes are available to pass the data through the protocol method: LINE or BLOCK.

Reimplemented from core::TCPSession.


The documentation for this class was generated from the following files: