#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