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,
213 virtual bool IsNetworkConnection()
const;
221 virtual PBoolean SetUpConnection();
233 virtual PBoolean SetAlerting(
234 const PString & calleeName,
242 virtual PBoolean SetConnected();
262 virtual void OnReleased();
270 virtual PString GetDestinationAddress();
306 virtual PBoolean SendUserInputTone(
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,
359 virtual PBoolean ReadData(
368 virtual PBoolean WriteData(
377 virtual PBoolean IsSynchronous()
const;
385 virtual void InternalClose();
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 virtual OpalMediaFormatList GetMediaFormats() const =0
Definition: endpoint.h:67
virtual PSafePtr< OpalConnection > MakeConnection(OpalCall &call, const PString &party, void *userData=NULL, unsigned int options=0, OpalConnection::StringOptions *stringOptions=NULL)=0
Definition: connection.h:462
PDECLARE_NOTIFIER(PThread, OpalEndPoint, ListenerCallback)
Definition: connection.h:353