#include <ngcbSIO.hpp>
Public Member Functions | |
| 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. | |
| virtual void | SetSrvAborted (int flag) |
| Set server-aborted flag. | |
| virtual int | SrvAborted () |
| Returns 1 when server-aborted flag is set. | |
| 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. | |
Public Attributes | |
| int | verboseLevel |
| Verbose level. | |
| int | logLevel |
| Loggin level. | |
| int | ignoreSignal |
| Ignore signal in main-loop select call. | |
Protected Member Functions | |
| virtual int | ProtocolBin (int fd) |
| Binary protocol implementation. | |
| virtual int | ProtocolAscii (int fd) |
| ASCII 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. | |
| virtual void | MainLoopInit () |
| Indicate main-loop initialization. | |
Socket i/o service class
| ngcbSIO::ngcbSIO | ( | ) |
Constructor.
|
virtual |
Destructor.
| void ngcbSIO::Broadcast | ( | const char * | s | ) |
Broadcast string to all event clients.
| void ngcbSIO::Broadcast | ( | const void * | buffer, |
| size_t | size ) |
Broadcat buffer to all event clients.
| void ngcbSIO::CleanupCmd | ( | char * | cmdLine, |
| int * | cmdLen ) |
Clean command string (remove extra spaces etc.)
| int ngcbSIO::ClosePort | ( | int | port | ) |
Close service port.
| void ngcbSIO::CloseServer | ( | ) |
Close socket server.
| int ngcbSIO::Connect | ( | const char * | host, |
| int | port, | ||
| int | protocol ) |
Connect to command/reply service with specific protocol.
| int ngcbSIO::Connect | ( | const char * | host, |
| int | port, | ||
| int | protocol, | ||
| int * | evtPort ) |
Connect client to command/reply service.
| int ngcbSIO::Connect | ( | const char * | service, |
| int | protocol = ngcbSIO_PROTOCOL_ASCII ) |
Connect to command/reply service with specific protocol.
| int ngcbSIO::ConnectCmd | ( | int | srvSocket, |
| int | protocol = 0 ) |
Connect command client.
| int ngcbSIO::Connected | ( | ) |
Return client connection status.
| int ngcbSIO::ConnectEvt | ( | int | srvSocket | ) |
Connect event client.
| void ngcbSIO::DisableStdIn | ( | ) |
Disable input via stdin.
| void ngcbSIO::Disconnect | ( | ) |
Disconnect from command/reply service.
| int ngcbSIO::Discover | ( | const char * | host, |
| const char * | name, | ||
| const char * | instance, | ||
| int * | port, | ||
| int * | protocol = NULL ) |
Discover command/reply service on host.
| int ngcbSIO::Discover | ( | const char * | name, |
| const char * | instance, | ||
| int * | port, | ||
| int * | protocol = NULL ) |
Discover command/reply service on local host.
| void ngcbSIO::EnableStdIn | ( | ) |
Enable input via stdin.
|
inline |
Error message.
| int ngcbSIO::Exec | ( | const char * | host, |
| const char * | cmd, | ||
| char * | reply, | ||
| int | port = 0 ) |
Execute process on host.
| void ngcbSIO::ExecReply | ( | int | fd, |
| char | success, | ||
| const char * | reply ) |
Send reply to calling process.
| int ngcbSIO::ExecVersion | ( | const char * | host | ) |
Return version of exec daemon or -1 if version cannot be retrieved.
| int ngcbSIO::ExecXt | ( | const char * | host, |
| const char * | cmd, | ||
| char * | reply, | ||
| const char * | geom = NULL ) |
Execute process on host (in new terminal)
| int ngcbSIO::Fd2Port | ( | int | fd | ) |
Return service port associated to server socket.
| int ngcbSIO::FdAttach | ( | int | fd | ) |
Attach file-descriptor to the file descriptor event call-back.
|
protectedvirtual |
File descriptor event call-back.
Reimplemented in ngcdcsMRGEVT, and ngcdcsSRV.
| void ngcbSIO::FdDetach | ( | int | fd | ) |
Detach file-descriptor from the file descriptor event call-back.
| int ngcbSIO::GetIpAddr | ( | const char * | name, |
| char * | ipAddr ) |
Get IP-address.
| int ngcbSIO::GetProtocol | ( | int | fd | ) |
Get protocol type assigned to a given socket.
| int ngcbSIO::GetReply | ( | char * | s = NULL | ) |
Copy reply from server to string.
| int ngcbSIO::HaveCmdClient | ( | ) |
Returns 1 in case any command client connection is established.
| int ngcbSIO::HaveEvtClient | ( | ) |
Returns 1 in case any event client connection is established.
| int ngcbSIO::Kill | ( | const char * | host, |
| int | pid ) |
Terminate process on host.
| void ngcbSIO::Lock | ( | ) |
Lock service main-loop.
|
virtual |
Logging function.
Reimplemented in ngcbTCP2DRV, and ngcdcsSRV.
|
virtual |
Logging function.
Reimplemented in ngcdcsSRV.
|
virtual |
Message logger.
| int ngcbSIO::MainLoop | ( | ) |
Enter socket server main-loop.
|
protectedvirtual |
Indicate main-loop initialization.
Reimplemented in _app.
|
protectedvirtual |
Call-back for new event client connection.
Reimplemented in ngcdcsSRV.
| int ngcbSIO::NumCmdClient | ( | ) |
Return number of command client connections.
| int ngcbSIO::NumEvtClient | ( | ) |
Return number of event client connections.
| int ngcbSIO::OpenPort | ( | int | port, |
| int | protocol = 0 ) |
Open service port.
| int ngcbSIO::OpenServer | ( | int | cmdPort, |
| int | evtPort = -1 ) |
Open socket server.
| int ngcbSIO::Port2Fd | ( | int | port | ) |
Return server socket associated to service port.
| int ngcbSIO::PortNum | ( | int | fd | ) |
Get port number.
| int ngcbSIO::PrintReply | ( | FILE * | fd | ) |
Print server reply to stream.
| int ngcbSIO::Protocol | ( | int | fd | ) |
Run protocol when socket becomes readable.
|
protectedvirtual |
|
protectedvirtual |
Binary protocol implementation.
Reimplemented in ngcbTCP2DRV, ngcdcsMRGEVT, and ngcdcsSRV.
|
protectedvirtual |
Call-back to log protocol errors.
| int ngcbSIO::ProtocolType | ( | ) |
Get preferred protocol type.
| void ngcbSIO::ProtocolType | ( | int | protocol | ) |
Set Protocol type.
|
protectedvirtual |
Register command service.
|
inline |
Reply buffer.
| void ngcbSIO::ReplyBufferSize | ( | size_t | size | ) |
Set reply buffer size of the client interface.
| int ngcbSIO::ReplyLine | ( | char * | line | ) |
Read next reply line.
| int ngcbSIO::RequestReply | ( | const char * | request, |
| char * | reply = NULL ) |
Run request/reply protocol.
| int ngcbSIO::SendRequest | ( | const char * | request | ) |
Send request to server.
|
protectedvirtual |
Application specific service protocol.
|
protectedvirtual |
Application specific service connection protocol.
|
virtual |
Set server-aborted flag.
Reimplemented in _app.
|
virtual |
Returns 1 when server-aborted flag is set.
Reimplemented in _app.
| int ngcbSIO::SrvCmdPort | ( | ) |
Get actual server command port.
| int ngcbSIO::SrvCmdSocket | ( | ) |
Get actual command server socket.
| int ngcbSIO::SrvEvtPort | ( | ) |
Get actual server event port.
| int ngcbSIO::SrvEvtSocket | ( | ) |
Get actual event server socket.
| int ngcbSIO::SrvOpened | ( | ) |
Returns 1 when server is open.
| int ngcbSIO::StdIn | ( | ) |
Get file-descriptor associated to the standard input.
| void ngcbSIO::StopServer | ( | ) |
Terminate server main-loop.
| int ngcbSIO::TcpAccept | ( | int | srvSocket | ) |
Accept a tcp/ip connection request from a client.
| int ngcbSIO::TcpClose | ( | int | fd | ) |
Close tcp/ip socket.
| int ngcbSIO::TcpConnect | ( | const char * | service | ) |
Connect to a tcp/ip socket service.
| int ngcbSIO::TcpConnect | ( | int | port, |
| const char * | host = NULL ) |
Connect to a tcp/ip socket service defined by port and host.
| int ngcbSIO::TcpGets | ( | int | fd, |
| char * | string, | ||
| int | maxLen ) |
Get string from tcp/ip socket.
| int ngcbSIO::TcpPuts | ( | int | fd, |
| const char * | string ) |
Put string to tcp/ip socket.
| int ngcbSIO::TcpRead | ( | int | fd, |
| void * | buffer, | ||
| size_t | size ) |
Read buffer from tcp/ip socket.
| int ngcbSIO::TcpReadRequest | ( | int | fd, |
| char * | request, | ||
| int | maxSize ) |
Read request from tcp/ip socket.
| int ngcbSIO::TcpService | ( | const char * | service = NULL | ) |
Open a tcp/ip server socket.
| int ngcbSIO::TcpService | ( | int | port | ) |
Open a tcp/ip server socket.
| int ngcbSIO::TcpWrite | ( | int | fd, |
| const void * | buffer, | ||
| size_t | size ) |
Write buffer to tcp/ip socket.
| int ngcbSIO::TcpWriteReply | ( | int | fd, |
| const char * | reply, | ||
| int | success ) |
Write reply to tcp/ip socket.
|
protectedvirtual |
Call-back when time expires.
Reimplemented in ngcbTCP2DRV, and ngcdcsSRV.
| void ngcbSIO::TimerOff | ( | ) |
Stop timmer.
| void ngcbSIO::TimerOn | ( | ) |
Enable timer.
| void ngcbSIO::TimerSet | ( | int | ms | ) |
Set timer (in milliseconds)
| void ngcbSIO::Unlock | ( | ) |
Unlock service main-loop.
|
protectedvirtual |
Unregister command service.
|
virtual |
Verbose output function.
Reimplemented in ngcbTCP2DRV, and ngcdcsSRV.
|
virtual |
Verbose output function.
Reimplemented in ngcdcsSRV.
| int ngcbSIO::WaitSocket | ( | int | fd, |
| int | timeout ) |
Wait with timeout until socket becomes readable.
| int ngcbSIO::ignoreSignal |
Ignore signal in main-loop select call.
| int ngcbSIO::logLevel |
Loggin level.
| int ngcbSIO::verboseLevel |
Verbose level.