2 #include "CisInterface.h" 6 #ifndef CISINTERFACE_HPP_ 7 #define CISINTERFACE_HPP_ 26 CisInput(
const char *name) : _pi(cisInput(name)) {}
37 CisInput(
const char *name,
const char *fmt) : _pi(cisInputFmt(name, fmt)) {}
67 int recv(
char *data,
const size_t len) {
return cis_recv(_pi, data, len); }
79 int recv(
const int nargs, ...) {
87 int ret = vcisRecv(_pi, va);
102 return cis_recv_nolimit(_pi, data, len);
123 int ret = vcisRecv_nolimit(_pi, va);
156 CisOutput(
const char *name,
const char *fmt) : _pi(cisOutputFmt(name, fmt)) {}
188 int send(
const char *data,
const size_t len) {
189 return cis_send(_pi, data, len);
200 int send(
const int nargs, ...) {
208 int ret = vcisSend(_pi, va);
221 return cis_send_nolimit(_pi, data, len);
240 int ret = vcisSend_nolimit(_pi, va);
273 CisRpc(
const char *name,
const char *outFormat,
const char *inFormat) :
274 _pi(cisRpc(name, outFormat, inFormat)) {}
306 int send(
const int nargs, ...) {
309 int ret = vrpcSend(_pi, va);
324 int recv(
const int nargs, ...) {
327 int ret = vrpcRecv(_pi, va);
353 CisRpcServer(
const char *name,
const char *inFormat,
const char *outFormat) :
354 CisRpc(cisRpcServer(name, inFormat, outFormat)) {}
384 CisRpcClient(
const char *name,
const char *outFormat,
const char *inFormat) :
385 CisRpc(cisRpcClient(name, outFormat, inFormat)) {}
405 int call(
const int nargs, ...) {
406 cisRpc_t _cpi =
pi();
409 int ret = vrpcCall(_cpi, va);
483 CisInput(cisAsciiFileInput(name)) {}
CisRpc(const char *name, const char *outFormat, const char *inFormat)
Constructor for CisRpc.
Definition: CisInterface.hpp:273
CisOutput(const char *name)
Constructor for CisOutput.
Definition: CisInterface.hpp:148
CisAsciiArrayOutput(const char *name, const char *format_str)
Constructor for CisAsciiArrayOutput.
Definition: CisInterface.hpp:586
CisOutput(const char *name, const char *fmt)
Constructor for CisOutput with format.
Definition: CisInterface.hpp:156
~CisOutput()
Destructor for CisOutput. See cis_free in CisInterface.h for details.
Definition: CisInterface.hpp:170
C++ interface to cisRpc_t functionality.
Definition: CisInterface.hpp:261
~CisRpc()
Destructor for CisRpc. See cis_free in CisInterface.h for details.
Definition: CisInterface.hpp:288
CisOutput(cisOutput_t x)
Empty constructor for inheritance.
Definition: CisInterface.hpp:159
cisRpc_t pi()
Return the cisRpc_t structure.
Definition: CisInterface.hpp:294
CisRpcServer(const char *name, const char *inFormat, const char *outFormat)
Constructor for CisRpcServer.
Definition: CisInterface.hpp:353
C++ interface to cisAsciiTableOutput_t functionality for local files.
Definition: CisInterface.hpp:600
CisAsciiTableOutput_local(const char *name, const char *format_str)
Constructor for CisAsciiTableOutput for local files.
Definition: CisInterface.hpp:563
CisAsciiFileOutput(const char *name)
Constructor for CisAsciiFileOutput.
Definition: CisInterface.hpp:431
CisRpc(cisRpc_t x)
Empty constructor for inheritance.
Definition: CisInterface.hpp:277
CisAsciiArrayOutput_local(const char *name, const char *format_str)
Constructor for CisAsciiArrayOutput for local files.
Definition: CisInterface.hpp:609
int call(const int nargs,...)
Send request to an RPC server from the client and wait for a response. See rpcCall in CisInterface...
Definition: CisInterface.hpp:405
void _destroy_pi()
Alias to allow freeing of underlying C struct at the class level.
Definition: CisInterface.hpp:282
C++ interface to cisAsciiFileOutput_t functionality. The CisAsciiFileOutput class is a basic wrapper ...
Definition: CisInterface.hpp:424
cisOutput_t pi()
Return the cisOutput_t structure.
Definition: CisInterface.hpp:176
C++ interface to cisAsciiTableOutput_t functionality with arrays.
Definition: CisInterface.hpp:577
int send_line(const char *line)
Send a single line to a file or queue.
Definition: CisInterface.hpp:443
CisAsciiTableOutput(const char *name, const char *format_str)
Constructor for CisAsciiTableOutput.
Definition: CisInterface.hpp:540
int send_nolimit(const int nargs,...)
Format and send a message larger than CIS_MSG_MAX to the output queue. See cisSend from CisInterface...
Definition: CisInterface.hpp:232
C++ interface to cisAsciiFileOutput_t functionality for local files. The CisAsciiFileOutput_local cla...
Definition: CisInterface.hpp:455
CisAsciiFileOutput_local(const char *name)
Constructor for CisAsciiFileOutput.
Definition: CisInterface.hpp:462
int send_eof()
Send EOF message to output file, closing it.
Definition: CisInterface.hpp:249
C++ interface to cisAsciiTableOutput_t functionality for local files.
Definition: CisInterface.hpp:554
C++ interface to cisOutput_t functionality.
Definition: CisInterface.hpp:139
C++ interface to cisRpc_t server-side functionality. The CisRpcServer class is a basic wrapper around...
Definition: CisInterface.hpp:341
~CisRpcClient()
Destructor for CisRpcClient. See cis_free in CisInterface.h for details.
Definition: CisInterface.hpp:391
int send(const int nargs,...)
Format and send a message to an RPC output queue. See rpcSend from CisInterface.h for details...
Definition: CisInterface.hpp:306
void _destroy_pi()
Alias to allow freeing of underlying C struct at the class level.
Definition: CisInterface.hpp:164
CisAsciiFileOutput(cisOutput_t x)
Empty constructor for inheritance.
Definition: CisInterface.hpp:435
CisRpcClient(const char *name, const char *outFormat, const char *inFormat)
Constructor for CisRpcClient.
Definition: CisInterface.hpp:384
int send_nolimit(const char *data, const size_t len)
Send a message larger than CIS_MSG_MAX to the output queue. See cis_send_nolimit in CisInterface...
Definition: CisInterface.hpp:220
C++ interface to cisAsciiTableOutput_t functionality.
Definition: CisInterface.hpp:531
int send(const char *data, const size_t len)
Send a message smaller than CIS_MSG_MAX to the output queue. If the message is larger than CIS_MSG_MA...
Definition: CisInterface.hpp:188
~CisRpcServer()
Destructor for CisRpcServer. See cis_free in CisInterface.h for details.
Definition: CisInterface.hpp:360
int send(const int nargs,...)
Format and send a message smaller than CIS_MSG_MAX to the output queue. See cisSend from CisInterface...
Definition: CisInterface.hpp:200
C++ interface to cisRpc_t client-side functionality. The CisRpcClient class is a basic wrapper around...
Definition: CisInterface.hpp:372
int recv(const int nargs,...)
Receive and parse a message from an RPC input queue. See rpcRecv from CisInterface.h for details.
Definition: CisInterface.hpp:324