//========= Copyright Valve Corporation, All rights reserved. ============// // // Purpose: Engine voice interface // // $NoKeywords: $ //=============================================================================// #ifndef IENGINEVOICE_H #define IENGINEVOICE_H #ifdef _WIN32 #pragma once #endif #include "basetypes.h" #define IENGINEVOICE_INTERFACE_VERSION "IEngineVoice001" abstract_class IEngineVoice { public: virtual bool IsHeadsetPresent( int iController ) = 0; virtual bool IsLocalPlayerTalking( int iController ) = 0; virtual void AddPlayerToVoiceList( XUID xPlayer, int iController ) = 0; virtual void RemovePlayerFromVoiceList( XUID xPlayer, int iController ) = 0; virtual void GetRemoteTalkers( int *pNumTalkers, XUID *pRemoteTalkers ) = 0; virtual bool VoiceUpdateData( int iController ) = 0; virtual void GetVoiceData( int iController, const byte **ppvVoiceDataBuffer, unsigned int *pnumVoiceDataBytes ) = 0; virtual void VoiceResetLocalData( int iController ) = 0; virtual void SetPlaybackPriority( XUID remoteTalker, int iController, int iAllowPlayback ) = 0; virtual void PlayIncomingVoiceData( XUID xuid, const byte *pbData, unsigned int dwDataSize, const bool *bAudiblePlayers = NULL ) = 0; virtual void RemoveAllTalkers() = 0; }; #endif // IENGINEVOICE_H