windows-nt/Source/XPSP1/NT/enduser/netmeeting/av/callcont/dcall.h
2020-09-26 16:20:57 +08:00

140 lines
3.8 KiB
C++

/************************************************************************
* *
* INTEL CORPORATION PROPRIETARY INFORMATION *
* *
* This software is supplied under the terms of a license *
* agreement or non-disclosure agreement with Intel Corporation *
* and may not be copied or disclosed except in accordance *
* with the terms of that agreement. *
* *
* Copyright (C) 1997 Intel Corp. All Rights Reserved *
* *
* $Archive: S:\sturgeon\src\gki\vcs\dcall.h_v $
* *
* $Revision: 1.3 $
* $Date: 10 Jan 1997 16:13:46 $
* *
* $Author: CHULME $
* *
* $Log: S:\sturgeon\src\gki\vcs\dcall.h_v $
*
* Rev 1.3 10 Jan 1997 16:13:46 CHULME
* Removed MFC dependency
*
* Rev 1.2 17 Dec 1996 18:22:18 CHULME
* Switch src and destination fields on ARQ for Callee
*
* Rev 1.1 22 Nov 1996 15:25:10 CHULME
* Added VCS log to the header
*************************************************************************/
// dcall.h : interface of the CCall class
// See dcall.cpp for the implementation of this class
/////////////////////////////////////////////////////////////////////////////
#ifndef DCALL_H
#define DCALL_H
class CRegistration;
class CCall
{
private:
CallType m_callType;
SeqAliasAddr *m_pRemoteInfo;
TransportAddress m_RemoteCallSignalAddress;
SeqAliasAddr *m_pDestExtraCallInfo;
TransportAddress m_LocalCallSignalAddress;
BandWidth m_bandWidth;
CallReferenceValue m_callReferenceValue;
ConferenceIdentifier m_conferenceID;
BOOL m_activeMC;
BOOL m_answerCall;
GUID m_CallIdentifier;
unsigned short m_usTimeTilStatus;
UINT m_uRetryResetCount;
UINT m_uRetryCountdown;
UINT m_uMaxRetryCount;
CallReturnInfo m_CallReturnInfo;
BandWidth m_CFbandWidth;
unsigned short m_CFirrFrequency;
enum {
GK_ADM_PENDING,
GK_CALL,
GK_DISENG_PENDING,
GK_DISENGAGED,
GK_BW_PENDING
} m_State;
RasMessage *m_pRasMessage;
unsigned short m_usRetryCount;
public:
CCall();
~CCall();
void SetCallIdentifier(LPGUID pID)
{
m_CallIdentifier = *pID;
}
HANDLE GetHCall(void)
{
return (m_CallReturnInfo.hCall);
}
void SetCallType(unsigned short usChoice)
{
m_callType.choice = usChoice;
}
HRESULT AddRemoteInfo(AliasAddress& rvalue);
void SetRemoteCallSignalAddress(TransportAddress *pTA)
{
m_RemoteCallSignalAddress = *pTA;
}
HRESULT AddDestExtraCallInfo(AliasAddress& rvalue);
HRESULT SetLocalCallSignalAddress(unsigned short usCallTransport);
void SetBandWidth(BandWidth bw)
{
m_bandWidth = bw;
}
void SetCallReferenceValue(CallReferenceValue crv)
{
m_callReferenceValue = crv;
}
void SetConferenceID(ConferenceIdentifier *pCID);
void GenerateConferenceID(void);
void SetActiveMC(BOOL amc)
{
m_activeMC = amc;
}
void SetAnswerCall(BOOL ac)
{
m_answerCall = ac;
}
RasMessage *GetRasMessage(void)
{
return (m_pRasMessage);
}
HRESULT AdmissionRequest(void);
HRESULT AdmissionConfirm(RasMessage *pRasMessage);
HRESULT AdmissionReject(RasMessage *pRasMessage);
HRESULT BandwidthRequest(void);
HRESULT BandwidthConfirm(RasMessage *pRasMessage);
HRESULT BandwidthReject(RasMessage *pRasMessage);
HRESULT SendBandwidthConfirm(RasMessage *pRasMessage);
HRESULT DisengageRequest(void);
HRESULT DisengageConfirm(RasMessage *pRasMessage);
HRESULT DisengageReject(RasMessage *pRasMessage);
HRESULT SendDisengageConfirm(RasMessage *pRasMessage);
HRESULT Retry(void);
HRESULT SendInfoRequestResponse(CallInfoStruct *pCallInfo, RasMessage *pRasMessage, BOOL fThisCallOnly);
BOOL MatchSeqNum(RequestSeqNum seqNum);
BOOL MatchCRV(CallReferenceValue crv);
};
#endif // DCALL_H
/////////////////////////////////////////////////////////////////////////////