00001 #include "NativeFeatureIncludes.h" 00002 #if _RAKNET_SUPPORT_PacketLogger==1 00003 00004 #include "ThreadsafePacketLogger.h" 00005 #include <string.h> 00006 00007 ThreadsafePacketLogger::ThreadsafePacketLogger() 00008 { 00009 00010 } 00011 ThreadsafePacketLogger::~ThreadsafePacketLogger() 00012 { 00013 char **msg; 00014 while ((msg = logMessages.ReadLock()) != 0) 00015 { 00016 rakFree_Ex((*msg), __FILE__, __LINE__ ); 00017 } 00018 } 00019 void ThreadsafePacketLogger::Update(void) 00020 { 00021 char **msg; 00022 while ((msg = logMessages.ReadLock()) != 0) 00023 { 00024 WriteLog(*msg); 00025 rakFree_Ex((*msg), __FILE__, __LINE__ ); 00026 } 00027 } 00028 void ThreadsafePacketLogger::AddToLog(const char *str) 00029 { 00030 char **msg = logMessages.WriteLock(); 00031 *msg = (char*) rakMalloc_Ex( strlen(str)+1, __FILE__, __LINE__ ); 00032 strcpy(*msg, str); 00033 logMessages.WriteUnlock(); 00034 } 00035 00036 #endif // _RAKNET_SUPPORT_*