This is the function which writes the stream physically to a device. If you want to add a new device this must be done here.
If the backlog is enabled, the contents are put into the backlog. if fWindow is NULL the contents are flushed to cout, otherwise to the window defined by fWindow.
In addition the contents are flushed to the log-file if open. If fIsNull is true any output on the screen (cout or fWindow) is suppressed.
188 const string sout = string(fBase, len);
189 wprintw(
fWindow,
"%s", sout.c_str());
193 if (fBase[len-1]==
'\n')
200 cout.write(fBase, len);
203 if (fBase[len-1]==
'\n')
218 if (fBase[len-1]==
'\n')
222 const char *
reset =
"\033[0m";
Queue< std::string > fQueueFile
Mutex securing output to fWindow.
std::vector< char > fBacklog
Pointer to an ncurses Window.
bool fEnableBacklog
Switch to toggle off physical output to the screen.
std::mutex fMuxCout
Mutex securing file access.
char * fPPtr
Buffer to store the data in.
WINDOW * fWindow
Pointer to end of buffer.
std::map< int, int > fAttributes
Backlog storage.
std::mutex fMuxBacklog
Switch to toggle storage in the backlog on or off.
bool fIsNull
Stream for redirection to a log-file.
char fBase[fgBufferSize+1]
std::mutex fMuxWindow
Mutex securing output to cout.