aboutsummaryrefslogtreecommitdiff
path: root/mp/src/public/iclientvirtualreality.h
blob: b24cd26d2636d5c8ccf47f2e4e3210b99fb50af6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
//========= 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