text: //========= 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() );
  }
  