You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
89 lines
2.2 KiB
89 lines
2.2 KiB
/*******************************************************************************
|
|
|
|
Module Name:
|
|
|
|
bgapp.h
|
|
|
|
Abstract:
|
|
|
|
Defines CBridgeApp class
|
|
|
|
Author:
|
|
|
|
Qianbo Huai (qhuai) Jan 27 2000
|
|
|
|
*******************************************************************************/
|
|
|
|
#ifndef _BGAPP_H
|
|
#define _BGAPP_H
|
|
|
|
/*//////////////////////////////////////////////////////////////////////////////
|
|
////*/
|
|
class CBridgeApp
|
|
{
|
|
public:
|
|
// init tapi objects
|
|
CBridgeApp (HRESULT *phr);
|
|
// release tapi objects
|
|
~CBridgeApp ();
|
|
|
|
// create h323 call
|
|
HRESULT CreateH323Call (IDispatch *pEvent);
|
|
// create sdp call
|
|
HRESULT CreateSDPCall (CBridgeItem *pItem);
|
|
// bridge calls
|
|
HRESULT BridgeCalls (CBridgeItem *pItem);
|
|
|
|
// get h323 call if exists
|
|
HRESULT HasH323Call (IDispatch *pEvent, CBridgeItem **ppItem);
|
|
HRESULT HasCalls ();
|
|
|
|
// disconnect one call
|
|
HRESULT DisconnectCall (CBridgeItem *pItem, DISCONNECT_CODE);
|
|
// disconnect all calls
|
|
HRESULT DisconnectAllCalls (DISCONNECT_CODE);
|
|
HRESULT RemoveCall (CBridgeItem *pItem);
|
|
|
|
// alter a substream to display
|
|
HRESULT NextSubStream ();
|
|
// show specified participant
|
|
HRESULT ShowParticipant (ITBasicCallControl *pSDPCall, ITParticipant *pPartcipant);
|
|
|
|
private:
|
|
// create bridge terminals
|
|
HRESULT CreateBridgeTerminals (CBridgeItem *pItem);
|
|
// get streams from call
|
|
HRESULT GetStreams (CBridgeItem *pItem);
|
|
// select bridge terminals
|
|
HRESULT SelectBridgeTerminals (CBridgeItem *pItem);
|
|
|
|
HRESULT SetupParticipantInfo (CBridgeItem *pItem);
|
|
HRESULT SetMulticastMode (CBridgeItem *pItem);
|
|
|
|
// helper
|
|
HRESULT FindAddress (
|
|
long dwAddrType,
|
|
BSTR bstrAddrName,
|
|
long lMediaType,
|
|
ITAddress **ppAddr
|
|
);
|
|
BOOL AddressSupportsMediaType (ITAddress *pAddr, long lMediaType);
|
|
BOOL IsStream (
|
|
ITStream *pStream,
|
|
long lMediaType,
|
|
TERMINAL_DIRECTION tdDirection
|
|
);
|
|
|
|
private:
|
|
ITTAPI *m_pTapi;
|
|
|
|
ITAddress *m_pH323Addr;
|
|
ITAddress *m_pSDPAddr;
|
|
|
|
long m_lH323MediaType;
|
|
long m_lSDPMediaType;
|
|
|
|
CBridgeItemList *m_pList;
|
|
};
|
|
|
|
#endif // _BGAPP_H
|