//========= Copyright Valve Corporation, All rights reserved. ============// // //=======================================================================================// #ifndef REPLAYBROWSER_ITEMMANAGER_H #define REPLAYBROWSER_ITEMMANAGER_H #ifdef _WIN32 #pragma once #endif #include "utllinkedlist.h" #include //----------------------------------------------------------------------------- // Purpose: //----------------------------------------------------------------------------- typedef int ReplayItemHandle_t; //----------------------------------------------------------------------------- // Purpose: Layer of abstraction between UI and replay demos or rendered movies //----------------------------------------------------------------------------- class IQueryableReplayItem; abstract_class IReplayItemManager : public IBaseInterface { public: virtual int GetItemCount() = 0; virtual void GetItems( CUtlLinkedList< IQueryableReplayItem *, int > &items ) = 0; virtual IQueryableReplayItem *GetItem( ReplayItemHandle_t hItem ) = 0; virtual bool AreItemsMovies() = 0; virtual void DeleteItem( vgui::Panel *pPage, ReplayItemHandle_t hItem, bool bNotifyUI ) = 0; }; IReplayItemManager *GetReplayItemManager(); IReplayItemManager *GetReplayMovieItemManager(); // Find an item and put the item manager in ppItemManager IQueryableReplayItem *FindReplayItem( ReplayItemHandle_t hItem, IReplayItemManager **ppItemManager ); #endif // REPLAYBROWSER_ITEMMANAGER_H