Team Fortress 2 Source Code as on 22/4/2020
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.5 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. //=======================================================================================//
  4. #ifndef IREPLAYMANAGER_H
  5. #define IREPLAYMANAGER_H
  6. #ifdef _WIN32
  7. #pragma once
  8. #endif
  9. //----------------------------------------------------------------------------------------
  10. #include "interface.h"
  11. #include "replay/replayhandle.h"
  12. #include "utllinkedlist.h"
  13. //----------------------------------------------------------------------------------------
  14. class CReplay;
  15. class IQueryableReplayItem;
  16. //----------------------------------------------------------------------------------------
  17. class IReplayManager : public IBaseInterface
  18. {
  19. public:
  20. virtual CReplay *GetReplay( ReplayHandle_t hReplay ) = 0;
  21. virtual CReplay *GetPlayingReplay() = 0;
  22. virtual CReplay *GetReplayForCurrentLife() = 0;
  23. virtual void FlagReplayForFlush( CReplay *pReplay, bool bForceImmediate ) = 0;
  24. virtual void DeleteReplay( ReplayHandle_t hReplay, bool bNotifyUI ) = 0;
  25. virtual int GetReplayCount() const = 0;
  26. virtual int GetUnrenderedReplayCount() = 0; // Get the number of unrendered replays
  27. virtual void GetReplays( CUtlLinkedList< CReplay *, int > &lstReplays ) = 0;
  28. virtual void GetReplaysAsQueryableItems( CUtlLinkedList< IQueryableReplayItem *, int > &lstReplays ) = 0;
  29. virtual float GetDownloadProgress( const CReplay *pReplay ) = 0;
  30. virtual const char *GetReplaysDir() const = 0;
  31. };
  32. //----------------------------------------------------------------------------------------
  33. #endif // IREPLAYMANAGER_H