16 #include "tbb/spin_mutex.h"
43 DtOutputStreamBuffer*,
int&,
int,
DtPrinter*,
const std::string& );
45 typedef DtOutputStreamBuffer* (*DtOutputStreamBufferCreatorFcn)();
54 virtual void addPrinter(
DtPrinter* printer );
57 virtual void addAndManagePrinter(
DtPrinter* printer );
61 virtual void removePrinter(
DtPrinter* printer );
66 virtual DtOutputStream& printError(
const DtString& channel =
"" );
67 virtual DtOutputStream& printWarn(
const DtString& channel =
"" );
68 virtual DtOutputStream& printInfo(
const DtString& channel =
"" );
69 virtual DtOutputStream& printVerbose(
const DtString& channel =
"" );
70 virtual DtOutputStream& printDebug(
const DtString& channel =
"" );
74 virtual int channelNotifyLevel(
const DtString& channel );
75 virtual void setChannelNotifyLevel(
const DtString& channel,
int level );
78 virtual void setChannelPrefix(
const DtString& channel,
81 virtual bool channelEnabled(
const DtString& channel );
82 virtual void setChannelEnabled(
const DtString& channel,
85 virtual void addDefaultStream(
int notifyLevel, DtOutputStream&
stream );
87 virtual DtOutputStream& defaultStream(
int notifyLevel );
90 virtual void printStatus(
const DtString& channel =
"" );
94 virtual void setStreamCreatorFcn( DtOutputChannelStreamCreatorFcn fcn );
96 virtual void setStreamBufferCreatorFcn( DtOutputStreamBufferCreatorFcn fcn );
98 virtual DtOutputStreamBuffer* createStreamBuffer();
100 virtual void setManageDefaultStreams(
bool manage );
102 virtual std::vector<DtString> allChannels()
const;
106 virtual DtOutputStream& streamForChannel(
const DtString& channel,
int notifyLevel );
109 DtPrinter* default_printer = 0,
const std::string& prefix =
"" );
111 virtual void attachToAllStreams(
DtPrinter* printer );
112 virtual void detachFromAllStreams(
DtPrinter* printer );
116 virtual void addAllPrinters( DtOutputStream*
stream );
160 #ifdef DtObjectDebugger_Enable
167 DtPrinter* default_printer = 0,
const std::string& prefix =
"" )
168 : DtOutputStream( b, globalThresholdRef, threshold, default_printer )
178 virtual void write(
const std::string &str )
182 DtOutputStream::write( std::string(
"[") +
myPrefix +
"]: " + str );
186 DtOutputStream::write( str );
201 DtPrinter* default_printer = 0,
const std::string& prefix =
"" )
bool enabled
Definition: outputChannelManager.h:38
DtOutputStreamBuffer * getBuffer()
Definition: outputChannelManager.h:195
ChannelSettings(int nl=DtNlInfo, const DtString &p="", bool enabled=false)
Definition: outputChannelManager.h:29
virtual ~DtChannelSpecificOutputStream()
Definition: outputChannelManager.h:174
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:144
std::vector< DefaultStreamInfo > myDefaultStreams
Definition: outputChannelManager.h:142
int notifyLevel
Definition: outputChannelManager.h:36
ChannelSettingsMap myChannelSettingsMap
Definition: outputChannelManager.h:134
#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::map< DtString, ChannelSettings * > ChannelSettingsMap
Definition: outputChannelManager.h:133
std::vector< DtPrinter * > myPrinters
Definition: outputChannelManager.h:130
Definition: outputChannelManager.h:159
tbb::spin_mutex myMutex
Definition: outputChannelManager.h:154
virtual void setPrefix(const DtString &str)
Definition: outputChannelManager.h:190
The DtOutputChannelManager class manages default streams and channel-specific streams by notify level...
Definition: outputChannelManager.h:23
std::string myPrefix
Definition: outputChannelManager.h:208
std::vector< DtChannelSpecificOutputStream * > StreamVector
Definition: outputChannelManager.h:138
Definition: outputChannelManager.h:120
DtOutputStreamBufferCreatorFcn myStreamBufferCreatorFcn
Definition: outputChannelManager.h:148
virtual void write(const std::string &str)
Definition: outputChannelManager.h:178
DtString prefix
Definition: outputChannelManager.h:37
bool myManageDefaultStreams
Definition: outputChannelManager.h:150
DtOutputChannelStreamCreatorFcn myStreamCreatorFcn
Definition: outputChannelManager.h:147
int & myGlobalNotifyReference
Definition: outputChannelManager.h:136
std::auto_ptr< DtOutputStream > myNullStream
Definition: outputChannelManager.h:145
voidpf stream
Definition: ioapi.h:39
DtOutputStreamBuffer * myBuffer
Definition: outputChannelManager.h:209
Definition: outputChannelManager.h:27
A version of DtRwList that contains a homogeneous list of a templated RW type. The templated type spe...
Definition: rwTemplatedList.h:26
#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:125
std::map< DtString, StreamVector > ChannelMap
Definition: outputChannelManager.h:139
DtOutputStream * stream
Definition: outputChannelManager.h:124
std::vector< DtPrinter * > myManagedPrinters
Definition: outputChannelManager.h:131
ChannelMap myChannelMap
Definition: outputChannelManager.h:140
DtChannelSpecificOutputStream(DtOutputStreamBuffer *b, int &globalThresholdRef, int threshold=1, DtPrinter *default_printer=0, const std::string &prefix="")
Definition: outputChannelManager.h:166
static DtChannelSpecificOutputStream * creator(DtOutputStreamBuffer *b, int &globalThresholdRef, int threshold=1, DtPrinter *default_printer=0, const std::string &prefix="")
Definition: outputChannelManager.h:200