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.
56 lines
2.5 KiB
56 lines
2.5 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
//=======================================================================================// |
|
|
|
#ifndef IREPLAYMOVIEMANAGER_H |
|
#define IREPLAYMOVIEMANAGER_H |
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
#include "interface.h" |
|
#include "utlstring.h" |
|
#include "utllinkedlist.h" |
|
#include "replay/replayhandle.h" |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
class IReplayMovie; |
|
class CReplay; |
|
struct RenderMovieParams_t; |
|
class IQueryableReplayItem; |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
abstract_class IReplayMovieManager : public IBaseInterface |
|
{ |
|
public: |
|
virtual int GetMovieCount() = 0; |
|
virtual void GetMovieList( CUtlLinkedList< IReplayMovie * > &list ) = 0; // Fills the list with all movies |
|
virtual IReplayMovie *GetMovie( ReplayHandle_t hMovie ) = 0; |
|
virtual IReplayMovie *CreateAndAddMovie( ReplayHandle_t hReplay ) = 0; // Creates and adds a movie based on the given replay |
|
virtual void DeleteMovie( ReplayHandle_t hMovie ) = 0; // Delete a movie |
|
virtual int GetNumMoviesDependentOnReplay( const CReplay *pReplay ) = 0; // Get the number of movies that depend on the given replay |
|
virtual void GetCachedMovieTitleAndClear( wchar_t *pOut, int nOutBufLength ) = 0; // TODO: This is a hack - fix this |
|
virtual void SetPendingMovie( IReplayMovie *pMovie ) = 0; |
|
virtual IReplayMovie *GetPendingMovie() = 0; |
|
virtual void FlagMovieForFlush( IReplayMovie *pMovie, bool bImmediate ) = 0; |
|
virtual void GetMoviesAsQueryableItems( CUtlLinkedList< IQueryableReplayItem *, int > &lstMovies ) = 0; |
|
virtual const char *GetRenderDir() const = 0; |
|
virtual const char *GetRawExportDir() const = 0; |
|
|
|
// TODO: Is this the best place for code that actually manages rendering? |
|
virtual bool IsRendering() const = 0; |
|
virtual bool RenderingCancelled() const = 0; |
|
virtual void RenderMovie( RenderMovieParams_t const& params ) = 0; // Renders the given replay - or if params.hReplay is -1, render all unrendered replays |
|
virtual void RenderNextMovie() = 0; |
|
virtual void CompleteRender( bool bSuccess, bool bShowBrowser ) = 0; |
|
virtual void CancelRender() = 0; |
|
virtual void ClearRenderCancelledFlag() = 0; |
|
}; |
|
|
|
//---------------------------------------------------------------------------------------- |
|
|
|
#endif // IREPLAYMOVIEMANAGER_H
|