Use a TraceNoop instance when tracing disabled (to be used in Chromium).
I'm also adding an empty implementation for static methods in the Trace interface since the default implementation relies on TraceImpl. Review URL: http://webrtc-codereview.appspot.com/267013 git-svn-id: http://webrtc.googlecode.com/svn/trunk@946 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
bc91d5af86
commit
cde1e7f42a
@ -34,6 +34,20 @@
|
|||||||
namespace webrtc {
|
namespace webrtc {
|
||||||
static WebRtc_UWord32 levelFilter = kTraceDefault;
|
static WebRtc_UWord32 levelFilter = kTraceDefault;
|
||||||
|
|
||||||
|
#ifdef WEBRTC_NO_TRACE
|
||||||
|
class TraceNoop : public Trace
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TraceNoop()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual ~TraceNoop()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
// Construct On First Use idiom. Avoids "static initialization order fiasco".
|
// Construct On First Use idiom. Avoids "static initialization order fiasco".
|
||||||
Trace* TraceImpl::StaticInstance(TraceCount inc, const TraceLevel level)
|
Trace* TraceImpl::StaticInstance(TraceCount inc, const TraceLevel level)
|
||||||
{
|
{
|
||||||
@ -99,7 +113,7 @@ Trace* TraceImpl::StaticInstance(TraceCount inc, const TraceLevel level)
|
|||||||
{
|
{
|
||||||
delete static_cast<TraceImpl*>(oldValue);
|
delete static_cast<TraceImpl*>(oldValue);
|
||||||
}
|
}
|
||||||
// Re-aqcuire the lock.
|
// Re-acquire the lock.
|
||||||
crtiSect->Enter();
|
crtiSect->Enter();
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@ -179,16 +193,6 @@ Trace* TraceImpl::StaticInstance(TraceCount inc, const TraceLevel level)
|
|||||||
return theTrace;
|
return theTrace;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Trace::CreateTrace()
|
|
||||||
{
|
|
||||||
TraceImpl::StaticInstance(WEBRTC_TRACE_INC);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Trace::ReturnTrace()
|
|
||||||
{
|
|
||||||
TraceImpl::StaticInstance(WEBRTC_TRACE_DEC);
|
|
||||||
}
|
|
||||||
|
|
||||||
TraceImpl* TraceImpl::GetTrace(const TraceLevel level)
|
TraceImpl* TraceImpl::GetTrace(const TraceLevel level)
|
||||||
{
|
{
|
||||||
return (TraceImpl*)StaticInstance(WEBRTC_TRACE_INC_NO_CREATE, level);
|
return (TraceImpl*)StaticInstance(WEBRTC_TRACE_INC_NO_CREATE, level);
|
||||||
@ -196,7 +200,9 @@ TraceImpl* TraceImpl::GetTrace(const TraceLevel level)
|
|||||||
|
|
||||||
Trace* TraceImpl::CreateTrace()
|
Trace* TraceImpl::CreateTrace()
|
||||||
{
|
{
|
||||||
#if defined(_WIN32)
|
#ifdef WEBRTC_NO_TRACE
|
||||||
|
return new TraceNoop();
|
||||||
|
#elif defined(_WIN32)
|
||||||
return new TraceWindows();
|
return new TraceWindows();
|
||||||
#else
|
#else
|
||||||
return new TracePosix();
|
return new TracePosix();
|
||||||
@ -874,17 +880,29 @@ bool TraceImpl::CreateFileName(
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef WEBRTC_NO_TRACE
|
||||||
|
|
||||||
|
void Trace::CreateTrace()
|
||||||
|
{
|
||||||
|
TraceImpl::StaticInstance(WEBRTC_TRACE_INC);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Trace::ReturnTrace()
|
||||||
|
{
|
||||||
|
TraceImpl::StaticInstance(WEBRTC_TRACE_DEC);
|
||||||
|
}
|
||||||
|
|
||||||
WebRtc_Word32 Trace::SetLevelFilter(WebRtc_UWord32 filter)
|
WebRtc_Word32 Trace::SetLevelFilter(WebRtc_UWord32 filter)
|
||||||
{
|
{
|
||||||
levelFilter = filter;
|
levelFilter = filter;
|
||||||
return 0;
|
return 0;
|
||||||
};
|
}
|
||||||
|
|
||||||
WebRtc_Word32 Trace::LevelFilter(WebRtc_UWord32& filter)
|
WebRtc_Word32 Trace::LevelFilter(WebRtc_UWord32& filter)
|
||||||
{
|
{
|
||||||
filter = levelFilter;
|
filter = levelFilter;
|
||||||
return 0;
|
return 0;
|
||||||
};
|
}
|
||||||
|
|
||||||
WebRtc_Word32 Trace::TraceFile(WebRtc_Word8 fileName[FileWrapper::kMaxFileNameSize])
|
WebRtc_Word32 Trace::TraceFile(WebRtc_Word8 fileName[FileWrapper::kMaxFileNameSize])
|
||||||
{
|
{
|
||||||
@ -951,4 +969,45 @@ void Trace::Add(const TraceLevel level, const TraceModule module,
|
|||||||
ReturnTrace();
|
ReturnTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
void Trace::CreateTrace()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void Trace::ReturnTrace()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
WebRtc_Word32 Trace::SetLevelFilter(WebRtc_UWord32 filter)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
WebRtc_Word32 Trace::LevelFilter(WebRtc_UWord32& filter)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
WebRtc_Word32 Trace::TraceFile(WebRtc_Word8 fileName[FileWrapper::kMaxFileNameSize])
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
WebRtc_Word32 Trace::SetTraceFile(const WebRtc_Word8* fileName,
|
||||||
|
const bool addFileCounter)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
WebRtc_Word32 Trace::SetTraceCallback(TraceCallback* callback)
|
||||||
|
{
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Trace::Add(const TraceLevel level, const TraceModule module,
|
||||||
|
const WebRtc_Word32 id, const char* msg, ...)
|
||||||
|
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
} // namespace webrtc
|
} // namespace webrtc
|
||||||
|
Loading…
x
Reference in New Issue
Block a user