summaryrefslogtreecommitdiff
path: root/public/engine/ienginevoice.h
diff options
context:
space:
mode:
Diffstat (limited to 'public/engine/ienginevoice.h')
-rw-r--r--public/engine/ienginevoice.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/public/engine/ienginevoice.h b/public/engine/ienginevoice.h
new file mode 100644
index 0000000..aab5f99
--- /dev/null
+++ b/public/engine/ienginevoice.h
@@ -0,0 +1,42 @@
+//========= 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