14 #include "tbb/spin_mutex.h"
44 virtual void addPrinter(
DtPrinter* printer);
47 virtual void addAndManagePrinter(
DtPrinter* printer);
51 virtual void removePrinter(
DtPrinter* printer);
56 virtual DtOutputStream& printError(
const DtString& channel =
"");
57 virtual DtOutputStream& printWarn(
const DtString& channel =
"");
58 virtual DtOutputStream& printInfo(
const DtString& channel =
"");
59 virtual DtOutputStream& printVerbose(
const DtString& channel =
"");
60 virtual DtOutputStream& printDebug(
const DtString& channel =
"");
64 virtual int channelNotifyLevel(
const DtString& channel);
65 virtual void setChannelNotifyLevel(
const DtString& channel,
69 virtual void setChannelPrefix(
const DtString& channel,
72 virtual bool channelEnabled(
const DtString& channel);
73 virtual void setChannelEnabled(
const DtString& channel,
76 virtual void addDefaultStream(
int notifyLevel, DtOutputStream&
stream);
78 virtual DtOutputStream& defaultStream(
int notifyLevel);
81 virtual void printStatus(
const DtString& channel =
"");
86 DtOutputStreamBuffer*,
int&,
int,
DtPrinter*,
const std::string&);
87 virtual void setStreamCreatorFcn(DtOutputChannelStreamCreatorFcn fcn);
89 typedef DtOutputStreamBuffer* (*DtOutputStreamBufferCreatorFcn)();
90 virtual void setStreamBufferCreatorFcn(DtOutputStreamBufferCreatorFcn fcn);
92 virtual DtOutputStreamBuffer* createStreamBuffer();
94 virtual void setManageDefaultStreams(
bool manage);
96 virtual std::vector<DtString> allChannels()
const;
99 virtual DtOutputStream& streamForChannel(
const DtString& channel,
int notifyLevel);
102 int &globalThresholdRef,
int threshold = 1,
DtPrinter *dflt_printer = 0,
103 const std::string& prefix =
"");
105 virtual void attachToAllStreams(
DtPrinter* printer);
106 virtual void detachFromAllStreams(
DtPrinter* printer);
110 virtual void addAllPrinters(DtOutputStream*
stream);
149 #ifdef DtObjectDebugger_Enable
155 DtOutputStreamBuffer *b,
156 int &globalThresholdRef,
159 const std::string& prefix =
"")
160 : DtOutputStream(b, globalThresholdRef, threshold, dflt_printer)
170 virtual void write(
const std::string &str )
174 DtOutputStream::write(std::string(
"[") +
myPrefix +
"]: " + str);
178 DtOutputStream::write(str);
193 DtOutputStreamBuffer *b,
194 int &globalThresholdRef,
197 const std::string& prefix =
"")
200 threshold, dflt_printer, prefix);
bool enabled
Definition: outputChannelManager.h:40
DtOutputStreamBuffer * getBuffer()
Definition: outputChannelManager.h:187
ChannelSettings(int nl=DtNlInfo, const DtString &p="", bool enabled=false)
Definition: outputChannelManager.h:29
virtual ~DtChannelSpecificOutputStream()
Definition: outputChannelManager.h:166
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
DtOutputStreamBuffer myNullStreamBuffer
Definition: outputChannelManager.h:135
std::vector< DefaultStreamInfo > myDefaultStreams
Definition: outputChannelManager.h:133
int notifyLevel
Definition: outputChannelManager.h:38
ChannelSettingsMap myChannelSettingsMap
Definition: outputChannelManager.h:117
#define DT_DEFINE_OBJECT_DEBUGGER_NAME(type)
Definition: objectCounter.h:265
typedef int(ZCALLBACK *close_file_func) OF((voidpf opaque
Default on in debug, off in release.
Definition: objectCounter.h:31
std::vector< DtPrinter * > myPrinters
Definition: outputChannelManager.h:113
Definition: outputChannelManager.h:148
tbb::spin_mutex myMutex
Definition: outputChannelManager.h:145
virtual void setPrefix(const DtString &str)
Definition: outputChannelManager.h:182
The DtOutputChannelManager class manages default streams and channel-specific streams by notify level...
Definition: outputChannelManager.h:21
std::string myPrefix
Definition: outputChannelManager.h:204
std::vector< DtChannelSpecificOutputStream * > StreamVector
Definition: outputChannelManager.h:121
Definition: outputChannelManager.h:125
DtOutputStreamBufferCreatorFcn myStreamBufferCreatorFcn
Definition: outputChannelManager.h:139
virtual void write(const std::string &str)
Definition: outputChannelManager.h:170
DtString prefix
Definition: outputChannelManager.h:39
bool myManageDefaultStreams
Definition: outputChannelManager.h:141
DtOutputChannelStreamCreatorFcn myStreamCreatorFcn
Definition: outputChannelManager.h:138
int & myGlobalNotifyReference
Definition: outputChannelManager.h:119
std::auto_ptr< DtOutputStream > myNullStream
Definition: outputChannelManager.h:136
voidpf stream
Definition: ioapi.h:39
DtOutputStreamBuffer * myBuffer
Definition: outputChannelManager.h:205
std::map< DtString, ChannelSettings * > ChannelSettingsMap
Definition: outputChannelManager.h:116
Definition: outputChannelManager.h:27
A version of DtRwList that contains a homogeneous list of a templated RW type.
Definition: rwTemplatedList.h:26
static DtChannelSpecificOutputStream * creator(DtOutputStreamBuffer *b, int &globalThresholdRef, int threshold=1, DtPrinter *dflt_printer=0, const std::string &prefix="")
Definition: outputChannelManager.h:192
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
DtOutputStreamBuffer * buffer
Definition: outputChannelManager.h:130
std::map< DtString, StreamVector > ChannelMap
Definition: outputChannelManager.h:122
DtOutputStream * stream
Definition: outputChannelManager.h:129
std::vector< DtPrinter * > myManagedPrinters
Definition: outputChannelManager.h:114
ChannelMap myChannelMap
Definition: outputChannelManager.h:123
DtChannelSpecificOutputStream(DtOutputStreamBuffer *b, int &globalThresholdRef, int threshold=1, DtPrinter *dflt_printer=0, const std::string &prefix="")
Definition: outputChannelManager.h:154