hl2_src-leak-2017/src/public/iclientvirtualreality.h

65 lines
1.9 KiB
C++

//========= Copyright Valve Corporation, All rights reserved. ============//
//
// Purpose: Contains the IClientVirtualReality interface, which is implemented in
// client.dll and called by engine.dll
//
// $NoKeywords: $
//
//===========================================================================//
#ifndef ICLIENTVIRTUALREALITY_H
#define ICLIENTVIRTUALREALITY_H
#ifdef _WIN32
#pragma once
#endif
#include "tier1/interface.h"
#include "tier1/refcount.h"
#include "appframework/IAppSystem.h"
//-----------------------------------------------------------------------------
// forward declarations
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// important enumeration
//-----------------------------------------------------------------------------
// NOTE NOTE NOTE!!!! If you up this, grep for "NEW_INTERFACE" to see if there is anything
// waiting to be enabled during an interface revision.
#define CLIENTVIRTUALREALITY_INTERFACE_VERSION "ClientVirtualReality001"
//-----------------------------------------------------------------------------
// The ISourceVirtualReality interface
//-----------------------------------------------------------------------------
abstract_class IClientVirtualReality : public IAppSystem
{
public:
virtual ~IClientVirtualReality() {}
// Placeholder for API revision
virtual bool Connect( CreateInterfaceFn factory ) = 0;
virtual void Disconnect() = 0;
virtual void *QueryInterface( const char *pInterfaceName ) = 0;
virtual InitReturnVal_t Init() = 0;
virtual void Shutdown() = 0;
// the interface
// Draw the main menu in VR mode
virtual void DrawMainMenu() = 0;
};
//-----------------------------------------------------------------------------
extern IClientVirtualReality *g_pClientVR;
#endif // ICLIENTVIRTUALREALITY_H