ngc 1.5.0
 
Loading...
Searching...
No Matches
_app Class Reference

Trivial SIO application class. More...

Inheritance diagram for _app:
ngcbSIO

Public Member Functions

 _app ()
 
 ~_app ()
 
bool WaitForMainLoopInit (size_t seconds)
 
- Public Member Functions inherited from ngcbSIO
 ngcbSIO ()
 Constructor.
 
virtual ~ngcbSIO ()
 Destructor.
 
char * ErrMsg ()
 Error message.
 
int PortNum (int fd)
 Get port number.
 
int GetIpAddr (const char *name, char *ipAddr)
 Get IP-address.
 
int WaitSocket (int fd, int timeout)
 Wait with timeout until socket becomes readable.
 
int TcpService (const char *service=NULL)
 Open a tcp/ip server socket.
 
int TcpService (int port)
 Open a tcp/ip server socket.
 
int TcpAccept (int srvSocket)
 Accept a tcp/ip connection request from a client.
 
int TcpConnect (const char *service)
 Connect to a tcp/ip socket service.
 
int TcpConnect (int port, const char *host=NULL)
 Connect to a tcp/ip socket service defined by port and host.
 
int TcpClose (int fd)
 Close tcp/ip socket.
 
int TcpRead (int fd, void *buffer, size_t size)
 Read buffer from tcp/ip socket.
 
int TcpWrite (int fd, const void *buffer, size_t size)
 Write buffer to tcp/ip socket.
 
int TcpPuts (int fd, const char *string)
 Put string to tcp/ip socket.
 
int TcpGets (int fd, char *string, int maxLen)
 Get string from tcp/ip socket.
 
int TcpReadRequest (int fd, char *request, int maxSize)
 Read request from tcp/ip socket.
 
int TcpWriteReply (int fd, const char *reply, int success)
 Write reply to tcp/ip socket.
 
int ExecVersion (const char *host)
 Return version of exec daemon or -1 if version cannot be retrieved.
 
int Exec (const char *host, const char *cmd, char *reply, int port=0)
 Execute process on host.
 
int ExecXt (const char *host, const char *cmd, char *reply, const char *geom=NULL)
 Execute process on host (in new terminal)
 
int Kill (const char *host, int pid)
 Terminate process on host.
 
void ExecReply (int fd, char success, const char *reply)
 Send reply to calling process.
 
int Discover (const char *host, const char *name, const char *instance, int *port, int *protocol=NULL)
 Discover command/reply service on host.
 
int Discover (const char *name, const char *instance, int *port, int *protocol=NULL)
 Discover command/reply service on local host.
 
int Connect (const char *host, int port, int protocol, int *evtPort)
 Connect client to command/reply service.
 
int Connect (const char *host, int port, int protocol)
 Connect to command/reply service with specific protocol.
 
int Connect (const char *service, int protocol=ngcbSIO_PROTOCOL_ASCII)
 Connect to command/reply service with specific protocol.
 
void Disconnect ()
 Disconnect from command/reply service.
 
int Connected ()
 Return client connection status.
 
void ReplyBufferSize (size_t size)
 Set reply buffer size of the client interface.
 
int SendRequest (const char *request)
 Send request to server.
 
int GetReply (char *s=NULL)
 Copy reply from server to string.
 
int PrintReply (FILE *fd)
 Print server reply to stream.
 
int ReplyLine (char *line)
 Read next reply line.
 
char * Reply ()
 Reply buffer.
 
int RequestReply (const char *request, char *reply=NULL)
 Run request/reply protocol.
 
int OpenServer (int cmdPort, int evtPort=-1)
 Open socket server.
 
void CloseServer ()
 Close socket server.
 
void StopServer ()
 Terminate server main-loop.
 
int SrvOpened ()
 Returns 1 when server is open.
 
int SrvCmdPort ()
 Get actual server command port.
 
int SrvEvtPort ()
 Get actual server event port.
 
int SrvCmdSocket ()
 Get actual command server socket.
 
int SrvEvtSocket ()
 Get actual event server socket.
 
int OpenPort (int port, int protocol=0)
 Open service port.
 
int ClosePort (int port)
 Close service port.
 
int Port2Fd (int port)
 Return server socket associated to service port.
 
int Fd2Port (int fd)
 Return service port associated to server socket.
 
int ConnectCmd (int srvSocket, int protocol=0)
 Connect command client.
 
int NumCmdClient ()
 Return number of command client connections.
 
int HaveCmdClient ()
 Returns 1 in case any command client connection is established.
 
int ConnectEvt (int srvSocket)
 Connect event client.
 
int NumEvtClient ()
 Return number of event client connections.
 
int HaveEvtClient ()
 Returns 1 in case any event client connection is established.
 
void Broadcast (const void *buffer, size_t size)
 Broadcat buffer to all event clients.
 
void Broadcast (const char *s)
 Broadcast string to all event clients.
 
int Protocol (int fd)
 Run protocol when socket becomes readable.
 
int ProtocolType ()
 Get preferred protocol type.
 
void ProtocolType (int protocol)
 Set Protocol type.
 
int GetProtocol (int fd)
 Get protocol type assigned to a given socket.
 
void EnableStdIn ()
 Enable input via stdin.
 
void DisableStdIn ()
 Disable input via stdin.
 
int StdIn ()
 Get file-descriptor associated to the standard input.
 
int FdAttach (int fd)
 Attach file-descriptor to the file descriptor event call-back.
 
void FdDetach (int fd)
 Detach file-descriptor from the file descriptor event call-back.
 
void TimerSet (int ms)
 Set timer (in milliseconds)
 
void TimerOn ()
 Enable timer.
 
void TimerOff ()
 Stop timmer.
 
int MainLoop ()
 Enter socket server main-loop.
 
void Lock ()
 Lock service main-loop.
 
void Unlock ()
 Unlock service main-loop.
 
void CleanupCmd (char *cmdLine, int *cmdLen)
 Clean command string (remove extra spaces etc.)
 
virtual void Verbose (const char *format,...) __attribute__((format(printf
 Verbose output function.
 
virtual void virtual void Verbose (int level, const char *format,...) __attribute__((format(printf
 Verbose output function.
 
virtual void virtual void virtual void Log (const char *format,...) __attribute__((format(printf
 Logging function.
 
virtual void virtual void virtual void virtual void Log (int level, const char *format,...) __attribute__((format(printf
 Logging function.
 
virtual void virtual void virtual void virtual void virtual void LogMsg (const char *msg)
 Message logger.
 

Protected Member Functions

void MainLoopInit () override
 Indicate main-loop initialization.
 
void SetSrvAborted (int flag) override
 Set server-aborted flag.
 
int SrvAborted () override
 Returns 1 when server-aborted flag is set.
 
int ProtocolAscii (int fd) override
 ASCII protocol implementation.
 
- Protected Member Functions inherited from ngcbSIO
virtual int ProtocolBin (int fd)
 Binary protocol implementation.
 
virtual int Service (int fd, int protocol)
 Application specific service protocol.
 
virtual int ServiceConnect (int fd, int protocol)
 Application specific service connection protocol.
 
virtual void ProtocolErr (const char *erms)
 Call-back to log protocol errors.
 
virtual int RegisterService (int fd)
 Register command service.
 
virtual int UnregisterService (int fd)
 Unregister command service.
 
virtual int NewEventConnection (int fd)
 Call-back for new event client connection.
 
virtual int FdCB (int fd)
 File descriptor event call-back.
 
virtual int TimerCB ()
 Call-back when time expires.
 

Additional Inherited Members

- Public Attributes inherited from ngcbSIO
int verboseLevel
 Verbose level.
 
int logLevel
 Loggin level.
 
int ignoreSignal
 Ignore signal in main-loop select call.
 

Detailed Description

Trivial SIO application class.

Constructor & Destructor Documentation

◆ _app()

_app::_app ( )
inline

◆ ~_app()

_app::~_app ( )
inline

Member Function Documentation

◆ MainLoopInit()

void _app::MainLoopInit ( )
inlineoverrideprotectedvirtual

Indicate main-loop initialization.

Reimplemented from ngcbSIO.

◆ ProtocolAscii()

int _app::ProtocolAscii ( int fd)
inlineoverrideprotectedvirtual

ASCII protocol implementation.

Reimplemented from ngcbSIO.

◆ SetSrvAborted()

void _app::SetSrvAborted ( int flag)
inlineoverrideprotectedvirtual

Set server-aborted flag.

Reimplemented from ngcbSIO.

◆ SrvAborted()

int _app::SrvAborted ( )
inlineoverrideprotectedvirtual

Returns 1 when server-aborted flag is set.

Reimplemented from ngcbSIO.

◆ WaitForMainLoopInit()

bool _app::WaitForMainLoopInit ( size_t seconds)
inline

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