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();
141 PString GetDriverInfo()
const;
149 bool GetFreeLine(
unsigned & controller,
unsigned & bearer);
151 virtual void ProcessMessage(
const OpalCapiMessage & message);
152 void ProcessConnectInd(
const OpalCapiMessage & message);
153 virtual bool PutMessage(OpalCapiMessage & message);
155 OpalCapiFunctions * m_capi;
157 unsigned m_applicationId;
158 PSyncPoint m_listenCompleted;
161 Controller() : m_active(false) { }
164 vector<bool> m_bearerInUse;
166 typedef std::vector<Controller> ControllerVector;
167 ControllerVector m_controllers;
169 struct IdToConnMap :
public std::map<DWORD, PSafePtr<OpalCapiConnection> >
171 bool Forward(
const OpalCapiMessage & message, DWORD
id);
175 IdToConnMap m_cbciToConnection;
176 IdToConnMap m_plciToConnection;
178 friend class OpalCapiConnection;
195 OpalCapiEndPoint & endpoint,
196 unsigned int options,
234 const PString & calleeName,
317 virtual void ProcessMessage(
const OpalCapiMessage & message);
318 virtual bool PutMessage(OpalCapiMessage & message);
320 OpalCapiEndPoint & m_endpoint;
321 unsigned m_controller;
326 PSyncPoint m_disconnected;
328 friend class OpalCapiEndPoint;
329 friend struct OpalCapiEndPoint::IdToConnMap;
330 friend class OpalCapiMediaStream;
346 OpalCapiConnection & conn,
387 OpalCapiConnection & m_connection;
388 PQueueChannel m_queue;
389 PSyncPoint m_written;
390 PAdaptiveDelay m_delay;
392 friend class OpalCapiConnection;
398 #endif // OPAL_LIDS_CAPI_EP_H