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.
108 lines
4.2 KiB
108 lines
4.2 KiB
/*
|
|
* File: t120chan.h
|
|
*
|
|
* T.120 implementation of media channel.
|
|
* Interfaces: ICommChannel, ICtrlCommChan
|
|
*
|
|
* Revision History:
|
|
*
|
|
* 06/11/97 mikev created
|
|
*/
|
|
|
|
|
|
#ifndef _T120CHAN_H
|
|
#define _T120CHAN_H
|
|
|
|
class ImpT120Chan : public ICommChannel, public ICtrlCommChan
|
|
{
|
|
|
|
protected:
|
|
SOCKADDR_IN local_sin;
|
|
SOCKADDR_IN remote_sin;
|
|
|
|
UINT uRef;
|
|
GUID m_MediaID;
|
|
IControlChannel *m_pCtlChan;
|
|
LPIH323PubCap m_pCapObject;
|
|
IH323ConfAdvise *m_pH323ConfAdvise;
|
|
DWORD m_dwFlags;
|
|
DWORD_PTR dwhChannel; //General purpose handle. Whatever
|
|
// creates an instance of this class can use this for whatever it wants
|
|
|
|
public:
|
|
ImpT120Chan ();
|
|
~ImpT120Chan ();
|
|
|
|
// ICtrlCommChannel methods
|
|
STDMETHODIMP_(IControlChannel *) GetControlChannel(VOID) {return m_pCtlChan;};
|
|
STDMETHODIMP StandbyInit(LPGUID lpMID, LPIH323PubCap pCapObject,
|
|
IMediaChannel* pMediaStreamSend)
|
|
{
|
|
return hrSuccess;
|
|
};
|
|
STDMETHODIMP_(BOOL) Init(LPGUID lpMID, IH323ConfAdvise *pH323ConfAdvise,
|
|
BOOL fSendDirection)
|
|
{
|
|
m_MediaID = *lpMID;
|
|
m_pH323ConfAdvise = pH323ConfAdvise;
|
|
return TRUE;
|
|
};
|
|
|
|
STDMETHODIMP GetMediaType(LPGUID pGuid);
|
|
STDMETHODIMP CtrlChanSetProperty(DWORD prop, PVOID pBuf, DWORD cbBuf){return CHAN_E_INVALID_PARAM;};
|
|
STDMETHODIMP PauseNet(BOOL bPause, BOOL bRemote) {return CHAN_E_INVALID_PARAM;};
|
|
STDMETHODIMP BeginControlSession(IControlChannel *pCtlChan, LPIH323PubCap pCapObject);
|
|
STDMETHODIMP EndControlSession();
|
|
STDMETHODIMP OnChannelOpening();
|
|
STDMETHODIMP OnChannelOpen(DWORD dwStatus);
|
|
STDMETHODIMP OnChannelClose(DWORD dwStatus);
|
|
STDMETHODIMP_(UINT) Reset(VOID) {return 0;};
|
|
|
|
STDMETHODIMP_(BOOL) SelectPorts(LPIControlChannel pCtlChannel);
|
|
STDMETHODIMP_(PSOCKADDR_IN) GetLocalAddress(){return &local_sin;};
|
|
|
|
STDMETHODIMP_(PORT) GetLocalRTPPort() {return 0;};
|
|
STDMETHODIMP_(PORT) GetLocalRTCPPort() {return 0;};
|
|
STDMETHODIMP AcceptRemoteAddress (PSOCKADDR_IN pSinD);
|
|
STDMETHODIMP AcceptRemoteRTCPAddress(PSOCKADDR_IN pSinC) {return CHAN_E_INVALID_PARAM;};
|
|
|
|
STDMETHODIMP_(BOOL) IsSendChannel () {return TRUE;};
|
|
STDMETHODIMP_(BOOL) IsChannelOpen(){return ((m_dwFlags & COMCH_OPEN) !=0);};
|
|
STDMETHODIMP_(BOOL) IsOpenPending(){return ((m_dwFlags & COMCH_OPEN_PENDING ) !=0);};
|
|
STDMETHODIMP_(BOOL) IsChannelEnabled(){return ((m_dwFlags & COMCH_ENABLED ) !=0);};
|
|
|
|
|
|
STDMETHODIMP ConfigureCapability(LPVOID lpvRemoteChannelParams, UINT uRemoteParamSize,
|
|
LPVOID lpvLocalParams, UINT uLocalParamSize){return CHAN_E_INVALID_PARAM;};
|
|
STDMETHODIMP GetLocalParams(LPVOID lpvChannelParams, UINT uBufSize){return CHAN_E_INVALID_PARAM;};
|
|
STDMETHODIMP_(PVOID) GetRemoteParams(VOID) {return NULL;}
|
|
STDMETHODIMP_(VOID) SetNegotiatedLocalFormat(DWORD dwF) {return;};
|
|
STDMETHODIMP_(VOID) SetNegotiatedRemoteFormat(DWORD dwF) {return;};
|
|
STDMETHODIMP_(DWORD_PTR) GetHChannel(VOID) {return dwhChannel;};
|
|
STDMETHODIMP_(VOID) SetHChannel (DWORD_PTR dwSetChannel) {dwhChannel = dwSetChannel;};
|
|
|
|
// ICommChannel Methods
|
|
STDMETHODIMP QueryInterface(REFIID riid, LPVOID FAR * ppvObj);
|
|
STDMETHOD_(ULONG,AddRef());
|
|
STDMETHOD_(ULONG,Release());
|
|
|
|
STDMETHOD(GetProperty(DWORD prop, PVOID pBuf, LPUINT pcbBuf)) {return CHAN_E_INVALID_PARAM;};
|
|
STDMETHOD(SetProperty(DWORD prop, PVOID pBuf, UINT cbBuf)) {return CHAN_E_INVALID_PARAM;};
|
|
STDMETHOD(IsChannelOpen(BOOL *pbOpen));
|
|
STDMETHOD(Open(MEDIA_FORMAT_ID idLocalFormat,IH323Endpoint *pConnection));
|
|
STDMETHOD(Close());
|
|
STDMETHOD(SetAdviseInterface(IH323ConfAdvise *pH323ConfAdvise));
|
|
|
|
STDMETHOD(EnableOpen(BOOL bEnable));
|
|
STDMETHOD_(IMediaChannel *, GetMediaChannel(VOID)) {return NULL;};
|
|
STDMETHOD(Preview(MEDIA_FORMAT_ID idLocalFormat, IMediaChannel * pMediaChannel)){return CHAN_E_INVALID_PARAM;};
|
|
STDMETHOD(PauseNetworkStream(BOOL fPause)){return CHAN_E_INVALID_PARAM;};
|
|
STDMETHOD_(BOOL, IsNetworkStreamPaused(VOID)){return TRUE;};
|
|
STDMETHOD_(BOOL, IsRemotePaused(VOID)){return TRUE;};
|
|
STDMETHODIMP_(MEDIA_FORMAT_ID) GetConfiguredFormatID() {return INVALID_MEDIA_FORMAT;};
|
|
STDMETHODIMP GetRemoteAddress(PSOCKADDR_IN pAddrOutput);
|
|
|
|
};
|
|
|
|
#endif // _T120CHAN_H
|
|
|