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.

40 lines
1.5 KiB

  1. //========= Copyright Valve Corporation, All rights reserved. ============//
  2. //
  3. //=======================================================================================//
  4. #ifndef REPLAYBROWSER_ITEMMANAGER_H
  5. #define REPLAYBROWSER_ITEMMANAGER_H
  6. #ifdef _WIN32
  7. #pragma once
  8. #endif
  9. #include "utllinkedlist.h"
  10. #include <vgui_controls/Panel.h>
  11. //-----------------------------------------------------------------------------
  12. // Purpose:
  13. //-----------------------------------------------------------------------------
  14. typedef int ReplayItemHandle_t;
  15. //-----------------------------------------------------------------------------
  16. // Purpose: Layer of abstraction between UI and replay demos or rendered movies
  17. //-----------------------------------------------------------------------------
  18. class IQueryableReplayItem;
  19. abstract_class IReplayItemManager : public IBaseInterface
  20. {
  21. public:
  22. virtual int GetItemCount() = 0;
  23. virtual void GetItems( CUtlLinkedList< IQueryableReplayItem *, int > &items ) = 0;
  24. virtual IQueryableReplayItem *GetItem( ReplayItemHandle_t hItem ) = 0;
  25. virtual bool AreItemsMovies() = 0;
  26. virtual void DeleteItem( vgui::Panel *pPage, ReplayItemHandle_t hItem, bool bNotifyUI ) = 0;
  27. };
  28. IReplayItemManager *GetReplayItemManager();
  29. IReplayItemManager *GetReplayMovieItemManager();
  30. // Find an item and put the item manager in ppItemManager
  31. IQueryableReplayItem *FindReplayItem( ReplayItemHandle_t hItem, IReplayItemManager **ppItemManager );
  32. #endif // REPLAYBROWSER_ITEMMANAGER_H