DCL 4.0
Loading...
Searching...
No Matches
XStringWriter.cpp
Go to the documentation of this file.
1
2#include <dcl/Config.h>
3#if __DCL_WINDOWS
4#include <windows.h> // for Thread
5#endif
6#include <dcl/XStringWriter.h>
7
8#if __DCL_HAVE_ALLOC_DEBUG
9#undef __DCL_ALLOC_LEVEL
10#define __DCL_ALLOC_LEVEL __DCL_ALLOC_INTERNAL
11#endif
12
13#if __DCL_DEBUG
14#undef __THIS_FILE__
15static const char_t __THIS_FILE__[] = __T("dcl/XStringWriter.cpp");
16#endif
17
18__DCL_BEGIN_NAMESPACE
19
21
22void XStringWriter::close()
24{
25 Thread::SingleLockMutex lockAndUnlock(__lock);
26 StringWriter::close();
27}
28
29Writer& XStringWriter::write(const wchar_t* _buf, size_t _n)
31{
32 Thread::SingleLockMutex lockAndUnlock(__lock);
33 StringWriter::write(_buf, _n);
34 return *this;
35}
36
37int XStringWriter::vprintf(const wchar_t* _format, va_list _arglist)
39{
40 Thread::SingleLockMutex lockAndUnlock(__lock);
41 return StringWriter::vprintf(_format, _arglist);
42}
43
44size_t XStringWriter::writeTo(Writer& _writer)
46{
47 Thread::SingleLockMutex lockAndUnlock(__lock);
48 return StringWriter::writeTo(_writer);
49}
50
51size_t XStringWriter::flushTo(Writer& _writer)
53{
54 Thread::SingleLockMutex lockAndUnlock(__lock);
55 return StringWriter::flushTo(_writer);
56}
57
58void XStringWriter::reset()
59{
60 Thread::SingleLockMutex lockAndUnlock(__lock);
61 return StringWriter::reset();
62}
63
64__DCL_END_NAMESPACE
#define __THIS_FILE__
Definition _trace.h:14
wchar_t char_t
Definition Config.h:275
#define __DCL_THROWS1(e)
Definition Config.h:167
#define IMPLEMENT_CLASSINFO(class_name, base_class_name)
Definition Object.h:228
#define __T(str)
Definition Object.h:44
SingleLock< Mutex > SingleLockMutex
Definition Thread.h:403
Thread::Mutex __lock