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