diff options
Diffstat (limited to 'replay/thinkmanager.h')
| -rw-r--r-- | replay/thinkmanager.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/replay/thinkmanager.h b/replay/thinkmanager.h new file mode 100644 index 0000000..76385cc --- /dev/null +++ b/replay/thinkmanager.h @@ -0,0 +1,44 @@ +//========= Copyright Valve Corporation, All rights reserved. ============// +// +//=======================================================================================// + +#ifndef FLUSHMANAGER_H +#define FLUSHMANAGER_H +#ifdef _WIN32 +#pragma once +#endif + +//---------------------------------------------------------------------------------------- + +#include "utllinkedlist.h" +#include "ithinkmanager.h" + +//---------------------------------------------------------------------------------------- + +class IThinker; + +//---------------------------------------------------------------------------------------- + +// +// Generic think manager - only worries about CGenericPersistentManagers for +// now though - not a CGenericPersistentManager's Think() can result in subtle +// bugs where files don't get saved properly. +// +class CThinkManager : public IThinkManager +{ +public: + virtual void AddThinker( IThinker *pThinker ); + virtual void RemoveThinker( IThinker *pThinker ); + + void Think(); + + CUtlLinkedList< IThinker *, int > m_lstManagers; +}; + +//---------------------------------------------------------------------------------------- + +extern IThinkManager *g_pThinkManager; + +//---------------------------------------------------------------------------------------- + +#endif // FLUSHMANAGER_H |