31 #ifndef OPAL_LIDS_CAPI_EP_H
32 #define OPAL_LIDS_CAPI_EP_H
45 class OpalCapiFunctions;
46 class OpalCapiConnection;
47 struct OpalCapiMessage;
102 const PString & party,
103 void * userData = NULL,
104 unsigned int options = 0,
122 virtual OpalCapiConnection * CreateConnection(
125 unsigned int options,
136 unsigned OpenControllers();
144 bool GetFreeLine(
unsigned & controller,
unsigned & bearer);
146 virtual void ProcessMessage(
const OpalCapiMessage & message);
147 void ProcessConnectInd(
const OpalCapiMessage & message);
148 virtual bool PutMessage(OpalCapiMessage & message);
150 OpalCapiFunctions * m_capi;
152 unsigned m_applicationId;
153 PSyncPoint m_listenCompleted;
156 Controller() : m_active(false) { }
159 vector<bool> m_bearerInUse;
161 typedef std::vector<Controller> ControllerVector;
162 ControllerVector m_controllers;
164 struct IdToConnMap :
public std::map<DWORD, PSafePtr<OpalCapiConnection> >
166 bool Forward(
const OpalCapiMessage & message, DWORD
id);
169 IdToConnMap m_cbciToConnection;
170 IdToConnMap m_plciToConnection;
171 IdToConnMap m_ncciToConnection;
173 friend class OpalCapiConnection;
190 OpalCapiEndPoint & endpoint,
191 unsigned int options,
229 const PString & calleeName,
312 virtual void ProcessMessage(
const OpalCapiMessage & message);
313 virtual bool PutMessage(OpalCapiMessage & message);
315 OpalCapiEndPoint & m_endpoint;
316 unsigned m_controller;
321 PSyncPoint m_disconnected;
323 friend class OpalCapiEndPoint;
324 friend struct OpalCapiEndPoint::IdToConnMap;
325 friend class OpalCapiMediaStream;
341 OpalCapiConnection & conn,
355 virtual PBoolean
Close();
386 OpalCapiConnection & m_connection;
387 PQueueChannel m_queue;
388 PSyncPoint m_written;
389 PAdaptiveDelay m_delay;
391 friend class OpalCapiConnection;
397 #endif // OPAL_LIDS_CAPI_EP_H