hl2_src-leak-2017/src/common/replay/ireplaymanager.h

43 lines
1.5 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
//=======================================================================================//
#ifndef IREPLAYMANAGER_H
#define IREPLAYMANAGER_H
#ifdef _WIN32
#pragma once
#endif
//----------------------------------------------------------------------------------------
#include "interface.h"
#include "replay/replayhandle.h"
#include "utllinkedlist.h"
//----------------------------------------------------------------------------------------
class CReplay;
class IQueryableReplayItem;
//----------------------------------------------------------------------------------------
class IReplayManager : public IBaseInterface
{
public:
virtual CReplay *GetReplay( ReplayHandle_t hReplay ) = 0;
virtual CReplay *GetPlayingReplay() = 0;
virtual CReplay *GetReplayForCurrentLife() = 0;
virtual void FlagReplayForFlush( CReplay *pReplay, bool bForceImmediate ) = 0;
virtual void DeleteReplay( ReplayHandle_t hReplay, bool bNotifyUI ) = 0;
virtual int GetReplayCount() const = 0;
virtual int GetUnrenderedReplayCount() = 0; // Get the number of unrendered replays
virtual void GetReplays( CUtlLinkedList< CReplay *, int > &lstReplays ) = 0;
virtual void GetReplaysAsQueryableItems( CUtlLinkedList< IQueryableReplayItem *, int > &lstReplays ) = 0;
virtual float GetDownloadProgress( const CReplay *pReplay ) = 0;
virtual const char *GetReplaysDir() const = 0;
};
//----------------------------------------------------------------------------------------
#endif // IREPLAYMANAGER_H