diff options
Diffstat (limited to 'game/server/data_collector.cpp')
| -rw-r--r-- | game/server/data_collector.cpp | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/game/server/data_collector.cpp b/game/server/data_collector.cpp new file mode 100644 index 0000000..d2323b8 --- /dev/null +++ b/game/server/data_collector.cpp @@ -0,0 +1,66 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +// +//=============================================================================// +// data_collector.cpp +// Data collection system +// Author: Michael S. Booth, June 2004 + +#include "cbase.h" +#include "data_collector.h" + +static CDataCollector *collector = NULL; + +//---------------------------------------------------------------------------------------------------------------------- +void StartDataCollection( void ) +{ + if (collector) + { + // already collecting + return; + } + + collector = new CDataCollector; + Msg( "Data colletion started.\n" ); +} +ConCommand data_collection_start( "data_collection_start", StartDataCollection, "Start collecting game event data." ); + + +//---------------------------------------------------------------------------------------------------------------------- +void StopDataCollection( void ) +{ + if (collector) + { + delete collector; + collector = NULL; + + Msg( "Data collection stopped.\n" ); + } +} +ConCommand data_collection_stop( "data_collection_stop", StopDataCollection, "Stop collecting game event data." ); + + +//---------------------------------------------------------------------------------------------------------------------- +CDataCollector::CDataCollector( void ) +{ + // register for all events + gameeventmanager->AddListener( this, true ); +} + +//---------------------------------------------------------------------------------------------------------------------- +CDataCollector::~CDataCollector() +{ + gameeventmanager->RemoveListener( this ); +} + +//---------------------------------------------------------------------------------------------------------------------- +/** + * This is invoked for each event that occurs in the game + */ +void CDataCollector::FireGameEvent( KeyValues *event ) +{ + DevMsg( "Collected event '%s'\n", event->GetName() ); +} |