42 bool m_allocatedConsole;
64 virtual int Read(
char *buf,
int maxchar);
67 virtual void Execute(
class Debug& dbg,
const char *cmd,
bool structuredCmd,
68 unsigned argn,
const char *
const * argv);
79 OutputStream(
const OutputStream&);
80 OutputStream& operator=(
const OutputStream&);
89 bool m_limitedFileSize;
95 unsigned m_bufferUsed;
98 unsigned m_bufferSize;
104 OutputStream(
const char *filename,
unsigned maxSize);
113 void InternalWrite(
const char *src,
unsigned len);
123 static OutputStream *
Create(
const char *filename,
unsigned maxSize);
141 const char *GetFilename(
void) {
return m_fileName; }
148 void Write(
const char *src);
157 struct SplitListEntry
160 SplitListEntry *next;
163 unsigned stringTypes;
172 OutputStream *stream;
176 struct StreamListEntry
179 StreamListEntry *next;
182 OutputStream *stream;
186 SplitListEntry *m_firstSplit;
189 SplitListEntry **m_lastSplitPtr;
192 StreamListEntry *m_firstStream;
195 StreamListEntry **m_lastStreamPtr;
198 char m_baseFilename[256];
210 static void ExpandMagic(
const char *src,
const char *splitName,
char *buf);
215 virtual int Read(
char *buf,
int maxchar) {
return 0; }
218 virtual void Execute(
class Debug& dbg,
const char *cmd,
bool structuredCmd,
219 unsigned argn,
const char *
const * argv);
221 virtual void Delete(
void);
233 virtual int Read(
char *buf,
int maxchar);
236 virtual void Execute(
class Debug& dbg,
const char *cmd,
bool structuredCmd,
237 unsigned argn,
const char *
const * argv);
238 static DebugIOInterface *
Create(
void);
239 virtual void Delete(
void);
247 virtual int Read(
char *buf,
int maxchar) {
return 0; }
250 virtual void Execute(
class Debug& dbg,
const char *cmd,
bool structuredCmd,
251 unsigned argn,
const char *
const * argv) {}
253 virtual void Delete(
void);
Debug module main class (singleton).
static DebugIOInterface * Create(void)
virtual void Write(StringType type, const char *src, const char *str)
Write out some characters differentiated by the log string type.
virtual void Execute(class Debug &dbg, const char *cmd, bool structuredCmd, unsigned argn, const char *const *argv)
I/O class specific command.
virtual void EmergencyFlush(void)
Emergency shutdown function.
virtual void Delete(void)
Destroys the current I/O class instance.
virtual int Read(char *buf, int maxchar)
Retrieves up to the given number of characters from a command input source.
virtual void Delete(void)
Destroys the current I/O class instance.
virtual void EmergencyFlush(void)
Emergency shutdown function.
virtual int Read(char *buf, int maxchar)
Retrieves up to the given number of characters from a command input source.
static DebugIOInterface * Create(void)
virtual void Write(StringType type, const char *src, const char *str)
Write out some characters differentiated by the log string type.
virtual void Execute(class Debug &dbg, const char *cmd, bool structuredCmd, unsigned argn, const char *const *argv)
I/O class specific command.
StringType
List of possible log string types.
static DebugIOInterface * Create(void)
virtual void Write(StringType type, const char *src, const char *str)
Write out some characters differentiated by the log string type.
virtual void Delete(void)
Destroys the current I/O class instance.
virtual int Read(char *buf, int maxchar)
Retrieves up to the given number of characters from a command input source.
virtual void Execute(class Debug &dbg, const char *cmd, bool structuredCmd, unsigned argn, const char *const *argv)
I/O class specific command.
virtual void EmergencyFlush(void)
Emergency shutdown function.
static DebugIOInterface * Create(void)
virtual void Delete(void)
Destroys the current I/O class instance.
virtual void Write(StringType type, const char *src, const char *str)
Write out some characters differentiated by the log string type.
virtual void EmergencyFlush(void)
Emergency shutdown function.
virtual int Read(char *buf, int maxchar)
Retrieves up to the given number of characters from a command input source.
virtual void Execute(class Debug &dbg, const char *cmd, bool structuredCmd, unsigned argn, const char *const *argv)
I/O class specific command.