windows-nt/Source/XPSP1/NT/termsrv/remdsk/rds/t120/mst120/erncpcm.hpp
2020-09-26 16:20:57 +08:00

138 lines
8.3 KiB
C++

#ifdef ENABLE_PC
/****************************************************************************/
/* */
/* ERNCPCM.HPP */
/* */
/* Physical Connection Manager class for the Reference System Node */
/* Controller. */
/* */
/* Copyright Data Connection Ltd. 1995 */
/* */
/****************************************************************************/
/* Changes: */
/* */
/* 16Jun95 NFC Created. */
/* */
/****************************************************************************/
#ifndef __ERNCPCM_HPP_
#define __ERNCPCM_HPP_
#include "erncpc.hpp"
class DCRNCConference;
class DCRNCPhysicalConnectionManager
{
friend class DCRNCConferenceManager;
public:
/************************************************************************/
/* FUNCTION: DCRNCPhysicalConnectionManager Constructor. */
/* */
/* DESCRIPTION: */
/* */
/* This is the constructor for the physical connection manager. */
/* */
/* PARAMETERS: */
/* */
/* pSuccess - pointer to BOOL holding result of constructor on return.*/
/* */
/* RETURNS: */
/* */
/* Nothing (result is returned in the pSuccess parameter). */
/* */
/************************************************************************/
DCRNCPhysicalConnectionManager(NCSTATUS * pStatus);
/************************************************************************/
/* FUNCTION: DCRNCPhysicalConnectionManager Destructor. */
/* */
/* DESCRIPTION: */
/* */
/* This is the destructor for the physical conection manager class. */
/* */
/* PARAMETERS: */
/* */
/* None. */
/* */
/* RETURNS: */
/* */
/* Nothing. */
/* */
/************************************************************************/
virtual ~DCRNCPhysicalConnectionManager();
/************************************************************************/
/* FUNCTION: GetConnection(). */
/* */
/* DESCRIPTION: */
/* */
/* This function returns a physical connection to the calling */
/* conference. In order to start the connection, the conference must */
/* call the connections Connect() entry point. */
/* */
/* PARAMETERS: */
/* */
/* ppConnection - pointer to pointer to connection (returned). */
/* */
/* RETURNS: */
/* */
/* 0 - success. */
/* PCM_RC_NO_TRANSPORTS - there are no transports of the requested type */
/* to create a connection with. */
/* PCM_RC_INTERNAL_ERROR - an internal error occurred whilst trying */
/* to establish the connection. */
/* */
/************************************************************************/
NCSTATUS GetConnection(PRNC_NODE_DETAILS pNodeDetails,
PPHYSICAL_CONNECTION * ppConnection,
CEvent * pEvent,
BOOL bIsConferenceActive);
/************************************************************************/
/* FUNCTION: NotifyConnectionEnded() */
/* */
/* DESCRIPTION: */
/* */
/* This function is called by an instance of a PHYSICAL_CONNECTION */
/* when it has ended/become redundant. */
/* */
/* PARAMETERS: */
/* */
/* pConnection - pointer to connection which has ended. */
/* */
/* RETURNS: */
/* */
/* Nothing. */
/* */
/************************************************************************/
void NotifyConnectionEnded(PPHYSICAL_CONNECTION pConnection,
NCSTATUS Reason);
protected:
/************************************************************************/
/* Array of connections. */
/************************************************************************/
COBLIST connectionList;
};
extern DCRNCPhysicalConnectionManager *g_pPhysConnManager;
/****************************************************************************/
/* */
/* CONSTANTS */
/* */
/****************************************************************************/
/****************************************************************************/
/* Return codes. */
/****************************************************************************/
#define PCM_RC_INTERNAL_ERROR 1
#define PCM_RC_NO_TRANSPORTS 2
#endif /* __ERNCPCM_HPP_ */
#endif // ENABLE_PC