Leaked source code of windows server 2003
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

/*******************************************************************************
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