89 lines
2.1 KiB
C++
89 lines
2.1 KiB
C++
/*++
|
|
|
|
Copyright (c) 1998-1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
stream.h
|
|
|
|
Abstract:
|
|
|
|
Declaration of the CStream class
|
|
|
|
Author:
|
|
|
|
mquinton 09-24-98
|
|
|
|
Notes:
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef __STREAM_H__
|
|
#define __STREAM_H__
|
|
|
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
|
|
//
|
|
// CStream
|
|
//
|
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++=
|
|
class CStream :
|
|
public CTAPIComObjectRoot<CStream>,
|
|
public CComDualImpl<ITStream, &IID_ITStream, &LIBID_TAPI3Lib>,
|
|
public CObjectSafeImpl
|
|
{
|
|
public:
|
|
|
|
CStream() : m_pName( NULL ),
|
|
m_pCall( NULL )
|
|
{}
|
|
|
|
void FinalRelease();
|
|
|
|
DECLARE_MARSHALQI(CStream)
|
|
DECLARE_TRACELOG_CLASS(CStream)
|
|
|
|
BEGIN_COM_MAP(CStream)
|
|
COM_INTERFACE_ENTRY2(IDispatch, ITStream)
|
|
COM_INTERFACE_ENTRY(ITStream)
|
|
COM_INTERFACE_ENTRY(IObjectSafety)
|
|
COM_INTERFACE_ENTRY_FUNC(IID_IMarshal, 0, IMarshalQI)
|
|
COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pFTM)
|
|
END_COM_MAP()
|
|
|
|
|
|
static HRESULT InternalCreateStream(
|
|
long lMediaType,
|
|
TERMINAL_DIRECTION td,
|
|
ITPhoneMSPCallPrivate * pCall,
|
|
ITStream ** ppStream
|
|
);
|
|
void AddTerminal( ITTerminalPrivate * pTerminal );
|
|
HRESULT RemoveTerminal( ITTerminal * pTerminal );
|
|
|
|
protected:
|
|
|
|
TERMINAL_DIRECTION m_Dir;
|
|
long m_lMediaType;
|
|
BSTR m_pName;
|
|
TerminalArray m_TerminalArray;
|
|
ITPhoneMSPCallPrivate * m_pCall;
|
|
|
|
public:
|
|
|
|
STDMETHOD(get_MediaType)(long * plMediaType);
|
|
STDMETHOD(get_Direction)(TERMINAL_DIRECTION * pTD);
|
|
STDMETHOD(get_Name)(BSTR * ppName);
|
|
STDMETHOD(StartStream)(void);
|
|
STDMETHOD(PauseStream)(void);
|
|
STDMETHOD(StopStream)(void);
|
|
STDMETHOD(SelectTerminal)(ITTerminal * pTerminal);
|
|
STDMETHOD(UnselectTerminal)(ITTerminal * pTerminal);
|
|
STDMETHOD(EnumerateTerminals)(IEnumTerminal ** ppEnumTerminal);
|
|
STDMETHOD(get_Terminals)(VARIANT * pTerminals);
|
|
|
|
};
|
|
|
|
#endif
|