This library acts as the C++ counterpart to ipcSkillProcess.
Building requries at least:
- GCC version 4.8.5
- GNU Make 3.82
Run the included Makefile
$ makeTo use the library link against libvc.so and don't forget to include
libvc.h. If your compiler doesn't find the library make sure it is
added to the LD_LIBRARY_PATH environment variable.
To use the functions defined in this library a class must be derived from
LibVC. For example:
class VirtuosoInterface: public LibVC
{
explicit VirtuosoInterface(size_t bs, int wfd, int rfd): LibVC(bs, wfd, rfd)
{
//...
}
}An Object of this class is now capable of communicating with Virtuoso if it
is launched as a child process with ipcSkillProcess.
int writeSkillRequest(const std::string &skillCommand)
This function writes the given string skillCommand to the file descriptor
wfd defined in the ctor. On success this function returns the amount of bytes
written, otherwise -1 is returned. The response given by Virtuoso to the skillCommand
is buffered and available for reading with readSkillResponse. If it is not
read before executing another writeSkillRequest the response will be overriten.
std::string readSkillResponse()
This function returns the response to the last writeSkillRequest call.
void setWritefd(int &wfd)
With this function the file descriptor to which writeSkillRequest writes
can be manually changed. This is necessary if the x_cmdDesc in the initial
ipcSkillProcess call is set to something different.
int getWritefd()
Returns the current file descriptor to which SKILL commands are written.
void setReadfd(int &rfd)
This function changes the current file descriptor from which the SKILL response
is read and buffered. This is necessary if the x_resDesc in the initial
ipcSkillProcess call is set to something different.
int getReadfd()
Returns the current file descriptor from which the SKILL response is read.
void setBufSize(std::size_t &bs)
With this function the size of the buffer for SKILL responses can be adjusted.
std::size_t getBufSize()
Returns the current size of the buffer holding the SKILL response.
int closeConnection()
Closes the connection to the SKILL parent process.