summaryrefslogtreecommitdiff
path: root/utils/tfstats/eventlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/tfstats/eventlist.cpp')
-rw-r--r--utils/tfstats/eventlist.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/utils/tfstats/eventlist.cpp b/utils/tfstats/eventlist.cpp
new file mode 100644
index 0000000..87d9087
--- /dev/null
+++ b/utils/tfstats/eventlist.cpp
@@ -0,0 +1,61 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: Implementation of CEventList
+//
+// $Workfile: $
+// $Date: $
+//
+//------------------------------------------------------------------------------------------------------
+// $Log: $
+//
+// $NoKeywords: $
+//=============================================================================//
+#include <stdlib.h>
+#include "TFStatsApplication.h"
+#include "EventList.h"
+#include "memdbg.h"
+
+#pragma warning (disable : 4786)
+//------------------------------------------------------------------------------------------------------
+// Function: CEventList::readEventList
+// Purpose: reads and returns a CEventList from a logfile
+// Input: filename - the logfile to read from
+// Output: CEventList*
+//------------------------------------------------------------------------------------------------------
+CEventList* CEventList::readEventList(const char* filename)
+{
+
+ // ifstream ifs(filename);
+ CEventList* plogfile=new TRACKED CEventList();
+ if (!plogfile)
+ {
+ printf("TFStats ran out of memory!\n");
+ return NULL;
+ }
+
+
+ FILE* f=fopen(filename,"rt");
+ if (!f)
+ g_pApp->fatalError("Error opening %s, please make sure that the file exists and is not being accessed by other processes",filename);
+
+ while (!feof(f))
+ {
+ CLogEvent* curr=NULL;
+ curr=new TRACKED CLogEvent(f);
+
+ if (!curr->isValid())
+ {
+ delete curr;
+ break;//eof reached
+ }
+ plogfile->insert(plogfile->end(),curr);
+ }
+ fclose(f);
+#ifndef WIN32
+ chmod(filename,PERMIT);
+#endif
+
+ return plogfile;
+
+}
+