27 #ifndef OPAL_LIDS_CAPI_EP_H
28 #define OPAL_LIDS_CAPI_EP_H
39 #include <ptclib/qchannel.h>
42 class OpalCapiFunctions;
43 class OpalCapiConnection;
44 struct OpalCapiMessage;
47 #define OPAL_OPT_CAPI_B_PROTO "B-Proto"
96 const PString & party,
97 void * userData = NULL,
98 unsigned int options = 0,
120 virtual OpalCapiConnection * CreateConnection(
123 unsigned int options,
134 unsigned OpenControllers();
139 PString GetDriverInfo()
const;
147 bool GetFreeLine(
unsigned & controller,
unsigned & bearer);
148 PDECLARE_NOTIFIER(PThread, OpalCapiEndPoint, ProcessMessages);
149 virtual void ProcessMessage(
const OpalCapiMessage & message);
150 void ProcessConnectInd(
const OpalCapiMessage & message);
151 virtual bool PutMessage(OpalCapiMessage & message);
153 OpalCapiFunctions * m_capi;
155 unsigned m_applicationId;
156 PSyncPoint m_listenCompleted;
159 Controller() : m_active(false) { }
161 bool GetFreeLine(
unsigned & bearer);
164 vector<bool> m_bearerInUse;
166 typedef std::vector<Controller> ControllerVector;
167 ControllerVector m_controllers;
168 PDECLARE_MUTEX( m_controllerMutex);
170 struct IdToConnMap :
public std::map<unsigned, PSafePtr<OpalCapiConnection> >
172 bool Forward(
const OpalCapiMessage & message,
unsigned id);
173 PDECLARE_MUTEX(m_mutex);
176 IdToConnMap m_cbciToConnection;
177 IdToConnMap m_plciToConnection;
179 friend class OpalCapiConnection;
196 OpalCapiEndPoint & endpoint,
197 unsigned int options,
235 const PString & calleeName,
321 virtual void ProcessMessage(
const OpalCapiMessage & message);
322 virtual bool PutMessage(OpalCapiMessage & message);
325 unsigned m_controller;
330 PSyncPoint m_disconnected;
332 PBYTEArray m_Bprotocol;
334 friend class OpalCapiEndPoint;
335 friend struct OpalCapiEndPoint::IdToConnMap;
336 friend class OpalCapiMediaStream;
352 OpalCapiConnection & conn,
394 PQueueChannel m_queue;
395 PSyncPoint m_written;
396 PAdaptiveDelay m_delay;
398 friend class OpalCapiConnection;
404 #endif // OPAL_LIDS_CAPI_EP_H
virtual PStringList GetAvailableStringOptions() const
virtual void OnReleased()
virtual OpalMediaFormatList GetMediaFormats() const =0
Definition: manager.h:150
Definition: endpoint.h:65
virtual OpalMediaStream * CreateMediaStream(const OpalMediaFormat &mediaFormat, unsigned sessionID, PBoolean isSource)
virtual PBoolean SendUserInputTone(char tone, unsigned duration=0)
virtual PBoolean SetConnected()
virtual PSafePtr< OpalConnection > MakeConnection(OpalCall &call, const PString &party, void *userData=NULL, unsigned int options=0, OpalConnection::StringOptions *stringOptions=NULL)=0
OpalEndPoint & m_endpoint
Definition: connection.h:1961
Definition: connection.h:530
virtual PBoolean SetAlerting(const PString &calleeName, PBoolean withMedia)
virtual PBoolean SetUpConnection()
virtual PString GetDestinationAddress()
virtual bool IsNetworkConnection() const =0
Definition: connection.h:415
virtual void OnApplyStringOptions()
Call back for connection to act on changed string options.
virtual OpalMediaFormatList GetMediaFormats() const