35 lines
1.0 KiB
C++
35 lines
1.0 KiB
C++
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
|
|
// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
|
|
// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
|
|
// PARTICULAR PURPOSE.
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved
|
|
//
|
|
#pragma once
|
|
|
|
//
|
|
// Pure virtual class which defines a "Chat Transport"
|
|
//
|
|
class CChatTransport
|
|
{
|
|
protected:
|
|
HWND _AppWindow;
|
|
public:
|
|
CChatTransport(HWND hWnd) : _AppWindow(hWnd)
|
|
{
|
|
}
|
|
virtual ~CChatTransport(void) {};
|
|
enum ChatTransportType
|
|
{
|
|
ChatTransportWave,
|
|
ChatTransportWasapi
|
|
};
|
|
virtual bool Initialize(bool UseCaptureDevice) = 0;
|
|
virtual void Shutdown() = 0;
|
|
virtual bool StartChat(bool HideFromVolumeMixer) = 0;
|
|
virtual void StopChat() = 0;
|
|
virtual ChatTransportType TransportType() = 0;
|
|
virtual bool HandlesMessage(HWND hWnd, UINT message) = 0;
|
|
virtual INT_PTR CALLBACK MessageHandler(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) = 0;
|
|
};
|