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.

47 lines
1.8 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. //=======================================================================================//
  4. #ifndef IREPLAYCONTEXT_H
  5. #define IREPLAYCONTEXT_H
  6. #ifdef _WIN32
  7. #pragma once
  8. #endif
  9. //----------------------------------------------------------------------------------------
  10. #include "interface.h"
  11. #include "replay/replayhandle.h"
  12. //----------------------------------------------------------------------------------------
  13. class IRecordingSessionManager;
  14. class IRecordingSessionBlockManager;
  15. class IRecordingSession;
  16. class IReplayErrorSystem;
  17. //----------------------------------------------------------------------------------------
  18. class IReplayContext : public IBaseInterface
  19. {
  20. public:
  21. virtual bool Init( CreateInterfaceFn fnCreateFactory ) = 0;
  22. virtual void Shutdown() = 0;
  23. virtual void Think() = 0;
  24. virtual bool IsInitialized() const = 0;
  25. virtual const char *GetRelativeBaseDir() const = 0; // Returns path to wherever the index .dmx lives relative to the game path, e.g. "replay\client\"
  26. virtual const char *GetBaseDir() const = 0; // Returns full directory to wherever the index .dmx lives, e.g. c:\program files (x86)\steam\steamapps\<username>\team fortress 2\tf\replays\<client|server>\ -- NOTE: includes trailing slash
  27. virtual const char *GetReplaySubDir() const = 0; // Returns "client" or "server"
  28. virtual IReplayErrorSystem *GetErrorSystem() = 0;
  29. virtual IRecordingSessionManager *GetRecordingSessionManager() = 0;
  30. virtual IRecordingSessionBlockManager *GetRecordingSessionBlockManager() = 0;
  31. virtual IRecordingSession *GetRecordingSession( ReplayHandle_t hSession ) = 0;
  32. };
  33. //----------------------------------------------------------------------------------------
  34. #endif // IREPLAYCONTEXT_H