| //========= Copyright Valve Corporation ============// |
| #pragma once |
| |
| namespace vr |
| { |
| |
| class IVRClientCore |
| { |
| public: |
| /** Initializes the system */ |
| virtual EVRInitError Init( vr::EVRApplicationType eApplicationType, const char *pStartupInfo ) = 0; |
| |
| /** cleans up everything in vrclient.dll and prepares the DLL to be unloaded */ |
| virtual void Cleanup() = 0; |
| |
| /** checks to see if the specified interface/version is supported in this vrclient.dll */ |
| virtual EVRInitError IsInterfaceVersionValid( const char *pchInterfaceVersion ) = 0; |
| |
| /** Retrieves any interface from vrclient.dll */ |
| virtual void *GetGenericInterface( const char *pchNameAndVersion, EVRInitError *peError ) = 0; |
| |
| /** Returns true if any driver has an HMD attached. Can be called outside of Init/Cleanup */ |
| virtual bool BIsHmdPresent() = 0; |
| |
| /** Returns an English error string from inside vrclient.dll which might be newer than the API DLL */ |
| virtual const char *GetEnglishStringForHmdError( vr::EVRInitError eError ) = 0; |
| |
| /** Returns an error symbol from inside vrclient.dll which might be newer than the API DLL */ |
| virtual const char *GetIDForVRInitError( vr::EVRInitError eError ) = 0; |
| }; |
| |
| static const char * const IVRClientCore_Version = "IVRClientCore_003"; |
| |
| |
| } |