13 #include "tbb/spin_mutex.h"
43 virtual void addPrinter(
DtPrinter* printer);
46 virtual void addAndManagePrinter(
DtPrinter* printer);
50 virtual void removePrinter(
DtPrinter* printer);
55 virtual DtOutputStream& printError(
const DtString& channel =
"");
56 virtual DtOutputStream& printWarn(
const DtString& channel =
"");
57 virtual DtOutputStream& printInfo(
const DtString& channel =
"");
58 virtual DtOutputStream& printVerbose(
const DtString& channel =
"");
59 virtual DtOutputStream& printDebug(
const DtString& channel =
"");
63 virtual int channelNotifyLevel(
const DtString& channel);
64 virtual void setChannelNotifyLevel(
const DtString& channel,
68 virtual void setChannelPrefix(
const DtString& channel,
71 virtual bool channelEnabled(
const DtString& channel);
72 virtual void setChannelEnabled(
const DtString& channel,
75 virtual void addDefaultStream(
int notifyLevel, DtOutputStream& stream);
77 virtual DtOutputStream& defaultStream(
int notifyLevel);
80 virtual void printStatus(
const DtString& channel =
"");
85 DtOutputStreamBuffer*,
int&, int,
DtPrinter*,
const std::string&);
86 virtual void setStreamCreatorFcn(DtOutputChannelStreamCreatorFcn fcn);
88 typedef DtOutputStreamBuffer* (*DtOutputStreamBufferCreatorFcn)();
89 virtual void setStreamBufferCreatorFcn(DtOutputStreamBufferCreatorFcn fcn);
91 virtual DtOutputStreamBuffer* createStreamBuffer();
93 virtual void setManageDefaultStreams(
bool manage);
95 virtual std::vector<DtString> allChannels();
98 virtual DtOutputStream& streamForChannel(
const DtString& channel,
int notifyLevel);
101 int &globalThresholdRef,
int threshold = 1,
DtPrinter *dflt_printer = 0,
102 const std::string& prefix =
"");
104 virtual void attachToAllStreams(
DtPrinter* printer);
105 virtual void detachFromAllStreams(
DtPrinter* printer);
109 virtual void addAllPrinters(DtOutputStream* stream);
124 typedef std::map<DtOutputStream*, DtOutputStreamBuffer*>
BufferMap;
147 int &globalThresholdRef,
150 const std::string& prefix =
"")
151 : DtOutputStream(b, globalThresholdRef, threshold, dflt_printer)
159 virtual void write(
const std::string &str )
177 int &globalThresholdRef,
180 const std::string& prefix =
"")
183 threshold, dflt_printer, prefix);