cis_config
Public Member Functions | List of all members
CisOutput Class Reference

C++ interface to cisOutput_t functionality. More...

#include <CisInterface.hpp>

Inheritance diagram for CisOutput:
CisAsciiFileOutput CisAsciiArrayOutput CisAsciiArrayOutput_local CisAsciiFileOutput_local CisAsciiTableOutput CisAsciiTableOutput_local

Public Member Functions

 CisOutput (const char *name)
 Constructor for CisOutput. More...
 
 CisOutput (const char *name, const char *fmt)
 Constructor for CisOutput with format. More...
 
 CisOutput (cisOutput_t x)
 Empty constructor for inheritance.
 
void _destroy_pi ()
 Alias to allow freeing of underlying C struct at the class level.
 
 ~CisOutput ()
 Destructor for CisOutput. See cis_free in CisInterface.h for details.
 
cisOutput_t pi ()
 Return the cisOutput_t structure. More...
 
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_MAX an error code will be returned. See cis_send in CisInterface.h for details. More...
 
int send (const int nargs,...)
 Format and send a message smaller than CIS_MSG_MAX to the output queue. See cisSend from CisInterface.h for details. More...
 
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.h for details. More...
 
int send_nolimit (const int nargs,...)
 Format and send a message larger than CIS_MSG_MAX to the output queue. See cisSend from CisInterface.h for details. More...
 
int send_eof ()
 Send EOF message to output file, closing it. More...
 

Detailed Description

C++ interface to cisOutput_t functionality.

The CisOutput class is a basic wrapper around the C cisOutput_t structure and associated functions from the CisInterface.h header. It provides the user with C++ style access to basic output via an IPC queue.

Constructor & Destructor Documentation

◆ CisOutput() [1/2]

CisOutput::CisOutput ( const char *  name)
inline

Constructor for CisOutput.

Parameters
[in]nameconstant character pointer to name of output queue. This should be the argument to an output driver in the yaml specification file.

◆ CisOutput() [2/2]

CisOutput::CisOutput ( const char *  name,
const char *  fmt 
)
inline

Constructor for CisOutput with format.

Parameters
[in]nameconstant character pointer to name of output queue. This should be the argument to an output driver in the yaml specification file.
[in]fmtcharacter pointer to format string for formatting variables.

Member Function Documentation

◆ pi()

cisOutput_t CisOutput::pi ( )
inline

Return the cisOutput_t structure.

Returns
cisOutput_t structure underlying the class.

◆ send() [1/2]

int CisOutput::send ( const char *  data,
const size_t  len 
)
inline

Send a message smaller than CIS_MSG_MAX to the output queue. If the message is larger than CIS_MSG_MAX an error code will be returned. See cis_send in CisInterface.h for details.

Parameters
[in]datacharacter pointer to message that should be sent.
[in]lensize_t length of message to be sent.
Returns
int 0 if send succesfull, -1 if send unsuccessful.

◆ send() [2/2]

int CisOutput::send ( const int  nargs,
  ... 
)
inline

Format and send a message smaller than CIS_MSG_MAX to the output queue. See cisSend from CisInterface.h for details.

Parameters
[in]nargsint Number of arguments being passed.
[in]...arguments for formatting.
Returns
integer specifying if the send was succesful. Values >= 0 indicate success.

◆ send_eof()

int CisOutput::send_eof ( )
inline

Send EOF message to output file, closing it.

Returns
int 0 if send was succesfull. All other values indicate errors.

◆ send_nolimit() [1/2]

int CisOutput::send_nolimit ( const char *  data,
const size_t  len 
)
inline

Send a message larger than CIS_MSG_MAX to the output queue. See cis_send_nolimit in CisInterface.h for details.

Parameters
[in]datacharacter pointer to message that should be sent.
[in]lensize_t length of message to be sent.
Returns
int 0 if send succesfull, -1 if send unsuccessful.

◆ send_nolimit() [2/2]

int CisOutput::send_nolimit ( const int  nargs,
  ... 
)
inline

Format and send a message larger than CIS_MSG_MAX to the output queue. See cisSend from CisInterface.h for details.

Parameters
[in]nargsint Number of arguments being passed.
[in]...arguments for formatting.
Returns
integer specifying if the send was succesful. Values >= 0 indicate success.

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