Remove Debug.cpp/h from Vaca source code.

This commit is contained in:
David Capello 2010-09-23 21:01:36 -03:00
parent 5e253d4a76
commit 803167c06f
7 changed files with 5 additions and 205 deletions

View File

@ -6,7 +6,6 @@ include_directories(include)
add_library(vaca
src/Application.cpp
src/Component.cpp
src/Debug.cpp
src/Event.cpp
src/Exception.cpp
src/Mutex.cpp

View File

@ -1,99 +0,0 @@
// Vaca - Visual Application Components Abstraction
// Copyright (c) 2005-2009 David Capello
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in
// the documentation and/or other materials provided with the
// distribution.
// * Neither the name of the author nor the names of its contributors
// may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
// OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef VACA_DEBUG_H
#define VACA_DEBUG_H
#include "Vaca/base.h"
#include <cassert>
namespace Vaca {
#ifdef NDEBUG
#ifdef __GNUC__
#define VACA_TRACE(msg...)
#else
#define VACA_TRACE(...)
#endif
#else
#ifdef __GNUC__
#define VACA_TRACE(msg...) Vaca::details::trace(__FILE__, __LINE__, msg)
#else
#define VACA_TRACE Vaca::details::make_trace(__FILE__, __LINE__)
#endif
#endif
namespace details {
void VACA_DLL trace(const char* filename, size_t line, const char* msg, ...);
void VACA_DLL closeLogFile();
#ifndef __GNUC__
#include <cstdarg>
#ifdef _MSC_VER
#pragma warning(disable: 4996)
#endif
/**
@internal
Dirty trick for compilers that does not support
macros with ellipsis (...).
*/
struct Tracer {
const char* filename;
size_t line;
void operator()(const char* fmt, ...) {
char buf[1024]; // TODO: overflow
va_list ap;
va_start(ap, fmt);
vsprintf(buf, fmt, ap);
va_end(ap);
Vaca::details::trace(filename, line, buf);
}
};
inline Tracer make_trace(const char* filename, size_t line) {
Tracer tmp;
tmp.filename = filename;
tmp.line = line;
return tmp;
}
#endif
} // namespace details
} // namespace Vaca
#endif // VACA_DEBUG_H

View File

@ -32,7 +32,6 @@
#include "Vaca/Component.h"
#include "Vaca/SharedPtr.h"
#include "Vaca/Property.h"
#include "Vaca/Debug.h"
using namespace Vaca;
@ -45,7 +44,6 @@ using namespace Vaca;
*/
Component::Component()
{
VACA_TRACE("new Component (%p)\n", this);
}
/**
@ -57,7 +55,6 @@ Component::Component()
*/
Component::~Component()
{
VACA_TRACE("delete Component (%p)\n", this);
}
PropertyPtr Component::getProperty(const String& name)

View File

@ -1,96 +0,0 @@
// Vaca - Visual Application Components Abstraction
// Copyright (c) 2005-2009 David Capello
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in
// the documentation and/or other materials provided with the
// distribution.
// * Neither the name of the author nor the names of its contributors
// may be used to endorse or promote products derived from this
// software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
// HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
// STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
// OF THE POSSIBILITY OF SUCH DAMAGE.
#include "Vaca/Debug.h"
#include "Vaca/Mutex.h"
#include "Vaca/ScopedLock.h"
// #include "Vaca/System.h"
// #include "Vaca/Thread.h"
#include <cstdio>
#include <cstdarg>
using namespace std;
using namespace Vaca;
#ifndef NDEBUG
struct Debug;
static bool closed;
static Debug* dbg;
struct Debug
{
Mutex mutex;
FILE* file;
Debug() {
file = fopen("vaca.log", "w");
fprintf(file, "Log file created\n");
}
virtual ~Debug() {
fprintf(file, "Log file closed\n");
fclose(file);
file = NULL;
closed = true;
}
};
#endif
void Vaca::details::trace(const char* filename, size_t line, const char* fmt, ...)
{
#ifndef NDEBUG
if (closed) { return; }
if (!dbg) { dbg = new Debug; }
ScopedLock lock(dbg->mutex);
char buf[1024]; // TODO: overflow
va_list ap;
va_start(ap, fmt);
vsprintf(buf, fmt, ap);
va_end(ap);
// TODO add Thread class
// fprintf(dbg->file, "%s:%d: [%d] %s", filename, line,
// static_cast<unsigned>(::GetCurrentThreadId()), buf);
fprintf(dbg->file, "%s:%d: [%d] %s", filename, line,
static_cast<unsigned>(0), buf);
fflush(dbg->file);
#endif
}
void Vaca::details::closeLogFile()
{
#ifndef NDEBUG
delete dbg;
dbg = NULL;
#endif
}

View File

@ -30,7 +30,6 @@
// OF THE POSSIBILITY OF SUCH DAMAGE.
#include "Vaca/Property.h"
#include "Vaca/Debug.h"
using namespace Vaca;

View File

@ -30,7 +30,6 @@
// OF THE POSSIBILITY OF SUCH DAMAGE.
#include "Vaca/Referenceable.h"
#include "Vaca/Debug.h"
#ifndef NDEBUG
#include "Vaca/Mutex.h"
@ -43,6 +42,9 @@
#endif
#endif
#include <cassert>
#include <iostream>
using namespace Vaca;
#ifndef NDEBUG
@ -59,7 +61,6 @@ Referenceable::Referenceable()
#ifndef NDEBUG
{
ScopedLock hold(s_mutex);
VACA_TRACE("new Referenceable (%d, %p)\n", s_list.size()+1, this);
s_list.push_back(this);
}
#endif
@ -76,7 +77,6 @@ Referenceable::~Referenceable()
#ifndef NDEBUG
{
ScopedLock hold(s_mutex);
VACA_TRACE("delete Referenceable (%d, %p)\n", s_list.size()-1, this);
remove_from_container(s_list, this);
}
#endif
@ -140,7 +140,7 @@ void Referenceable::showLeaks()
for (std::vector<Referenceable*>::iterator
it=s_list.begin(); it!=s_list.end(); ++it) {
VACA_TRACE("leak Referenceable %p\n", *it);
std::clog << "leak Referenceable " << (*it) << "\n";
}
}
#endif

View File

@ -30,8 +30,8 @@
// OF THE POSSIBILITY OF SUCH DAMAGE.
#include "Vaca/String.h"
#include "Vaca/Debug.h"
#include "Vaca/Exception.h"
#include <cassert>
#include <cstdio>
#include <cwchar>
#include <cstdarg>