Updated debug logic to use a debug class to better control debug logging and centralize the control of it.

This commit is contained in:
Mark Vejvoda
2010-03-19 23:26:00 +00:00
parent c5809e50b5
commit 965a7ac2ba
22 changed files with 1026 additions and 267 deletions

View File

@@ -0,0 +1,73 @@
// ==============================================================
// This file is part of Glest Shared Library (www.glest.org)
//
// Copyright (C) 2001-2008 Marti<74>o Figueroa
//
// You can redistribute this code and/or modify it under
// the terms of the GNU General Public License as published
// by the Free Software Foundation; either version 2 of the
// License, or (at your option) any later version
// ==============================================================
#ifndef _SHARED_UTIL_UTIL_H_
#define _SHARED_UTIL_UTIL_H_
#include <string>
using std::string;
namespace Shared{ namespace Util{
class SystemFlags
{
public:
enum DebugType {
debugSystem,
debugNetwork
};
static bool enableDebugText;
static bool enableNetworkDebugInfo;
static void OutputDebug(DebugType type, const char *fmt, ...);
};
const string sharedLibVersionString= "v0.4.1";
//string fcs
string lastDir(const string &s);
string lastFile(const string &s);
string cutLastFile(const string &s);
string cutLastExt(const string &s);
string ext(const string &s);
string replaceBy(const string &s, char c1, char c2);
string toLower(const string &s);
void copyStringToBuffer(char *buffer, int bufferSize, const string& s);
//numeric fcs
int clamp(int value, int min, int max);
float clamp(float value, float min, float max);
float saturate(float value);
int round(float f);
//misc
bool fileExists(const string &path);
template<typename T>
void deleteValues(T beginIt, T endIt){
for(T it= beginIt; it!=endIt; ++it){
delete *it;
}
}
template<typename T>
void deleteMapValues(T beginIt, T endIt){
for(T it= beginIt; it!=endIt; ++it){
delete it->second;
}
}
}}//end namespace
#endif