//========= 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