hl2_src-leak-2017/src/dedicated/isys.h

45 lines
1.1 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
// $NoKeywords: $
//=============================================================================//
#if !defined( ISYS_H )
#define ISYS_H
#ifdef _WIN32
#pragma once
#endif
#include "interface.h"
class CDedicatedAppSystemGroup;
abstract_class ISys
{
public:
virtual ~ISys( void ) { }
virtual bool LoadModules( CDedicatedAppSystemGroup *pAppSystemGroup ) = 0;
virtual void Sleep( int msec ) = 0;
virtual bool GetExecutableName( char *out ) = 0;
virtual void ErrorMessage( int level, const char *msg ) = 0;
virtual void WriteStatusText( char *szText ) = 0;
virtual void UpdateStatus( int force ) = 0;
virtual long LoadLibrary( char *lib ) = 0;
virtual void FreeLibrary( long library ) = 0;
virtual bool CreateConsoleWindow( void ) = 0;
virtual void DestroyConsoleWindow( void ) = 0;
virtual void ConsoleOutput ( char *string ) = 0;
virtual char *ConsoleInput ( int index, char *buf, int buflen ) = 0;
virtual void Printf( PRINTF_FORMAT_STRING const char *fmt, ...) FMTFUNCTION( 2, 3 ) = 0;
};
extern ISys *sys;
#endif // ISYS_H