4c76942a7f
Added a convenience function (move()) to the cAudio source, making it easier to move a source and do velocity for doppler effects with a single call. Internally, audio sources are now stored in an std::vector for better performance. This change also makes it so that it is no longer required for the user to name a source. The user can pass NULL to name to avoid naming it. Some documentation fixes. Added a stress test app, allowing users and developers test how well cAudio performs under pressure.
51 lines
1.7 KiB
C++
51 lines
1.7 KiB
C++
#ifndef CLOGGER_H_INCLUDED
|
|
#define CLOGGER_H_INCLUDED
|
|
|
|
#include <map>
|
|
#include <stdarg.h>
|
|
|
|
#include "../include/ILogger.h"
|
|
#include "../Headers/cMutex.h"
|
|
|
|
namespace cAudio
|
|
{
|
|
class cLogger : public ILogger
|
|
{
|
|
public:
|
|
cLogger();
|
|
virtual ~cLogger() { }
|
|
|
|
virtual void logCritical( const char* sender, const char *msg, ... );
|
|
virtual void logError( const char* sender, const char *msg, ... );
|
|
virtual void logWarning( const char* sender, const char *msg, ... );
|
|
virtual void logInfo( const char* sender, const char *msg, ... );
|
|
virtual void logDebug( const char* sender, const char *msg, ... );
|
|
|
|
virtual const LogLevel& getLogLevel() const { return MinLogLevel; }
|
|
virtual void setLogLevel( const LogLevel& logLevel );
|
|
|
|
//! Register Log Receiver
|
|
//! Note: Any class registered will become owned by the internal thread.
|
|
//! If threading is enabled, you MUST make the receiver threadsafe if you plan to access it in your application while it is registered
|
|
virtual bool registerLogReceiver(ILogReceiver* receiver, const char* name);
|
|
//!Unregister a Log Receiver
|
|
//!Will NOT delete any user added receiver, you must do that yourself
|
|
virtual void unRegisterLogReceiver(const char* name);
|
|
//!Returns whether an log receiver is currently registered
|
|
virtual bool isLogReceiverRegistered(const char* name);
|
|
//!Returns a registered log receiver
|
|
virtual ILogReceiver* getLogReceiver(const char* name);
|
|
|
|
protected:
|
|
void broadcastMessage( LogLevel level, const char* sender, const char* msg, va_list args );
|
|
|
|
cAudioMutex Mutex;
|
|
unsigned long StartTime;
|
|
char TempTextBuf[2048];
|
|
LogLevel MinLogLevel;
|
|
std::map<std::string, ILogReceiver*> Receivers;
|
|
private:
|
|
};
|
|
};
|
|
#endif //! CLOGGER_H_INCLUDED
|