mirror of
https://github.com/nillerusr/source-engine.git
synced 2024-12-22 22:27:05 +00:00
65 lines
2.0 KiB
C
65 lines
2.0 KiB
C
|
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||
|
//
|
||
|
//=======================================================================================//
|
||
|
|
||
|
#ifndef SV_PUBLISHMANAGER_H
|
||
|
#define SV_PUBLISHMANAGER_H
|
||
|
#ifdef _WIN32
|
||
|
#pragma once
|
||
|
#endif
|
||
|
|
||
|
//----------------------------------------------------------------------------------------
|
||
|
|
||
|
#include "baserecordingsessionmanager.h"
|
||
|
|
||
|
//----------------------------------------------------------------------------------------
|
||
|
|
||
|
class CServerRecordingSession;
|
||
|
|
||
|
//----------------------------------------------------------------------------------------
|
||
|
|
||
|
//
|
||
|
// Manages and serializes all replay recording session data on the server
|
||
|
//
|
||
|
class CServerRecordingSessionManager : public CBaseRecordingSessionManager
|
||
|
{
|
||
|
typedef CBaseRecordingSessionManager BaseClass;
|
||
|
|
||
|
public:
|
||
|
CServerRecordingSessionManager( IReplayContext *pContext );
|
||
|
~CServerRecordingSessionManager();
|
||
|
|
||
|
void Think();
|
||
|
|
||
|
const char *GetNewSessionName() const;
|
||
|
|
||
|
virtual CBaseRecordingSession *OnSessionStart( int nCurrentRecordingStartTick, const char *pSessionName );
|
||
|
virtual void OnSessionEnd();
|
||
|
|
||
|
void EnableCleanupOnSessionEnd( bool bState );
|
||
|
|
||
|
// Offload session data to external fileserver? Cached once per session based on replay_fileserver_offload_enable.
|
||
|
bool ShouldOffload() const { return m_bOffload; }
|
||
|
|
||
|
protected:
|
||
|
//
|
||
|
// CGenericPersistentManager
|
||
|
//
|
||
|
virtual CBaseRecordingSession *Create();
|
||
|
virtual int GetVersion() const;
|
||
|
virtual bool ShouldSerializeIndexWithFullPath() { return false; } // On the server, write one file per session
|
||
|
virtual IReplayContext *GetReplayContext() const;
|
||
|
|
||
|
virtual bool CanDeleteSession( ReplayHandle_t hSession ) const;
|
||
|
virtual bool ShouldUnloadSessions() const { return true; }
|
||
|
virtual void OnAllSessionsDeleted();
|
||
|
|
||
|
private:
|
||
|
float m_flNextScheduledCleanup;
|
||
|
bool m_bOffload;
|
||
|
};
|
||
|
|
||
|
//----------------------------------------------------------------------------------------
|
||
|
|
||
|
#endif // SV_PUBLISHMANAGER_H
|