43 static const PCaselessString &
Prefix();
56 const PString & party,
57 void * userData = NULL,
58 unsigned int options = 0,
95 const PURL & localURL,
96 const PURL & remoteURL,
97 const char * scheme = NULL
117 PSafetyMode mode = PSafeReadWrite
126 PSafetyMode mode = PSafeReadWrite
153 #define PDECLARE_ConversationNotifier(cls, fn) PDECLARE_NOTIFIER2(OpalIMContext, cls, fn, OpalIMContext::ConversationInfo)
156 #define PDECLARE_ASYNC_ConversationNotifier(cls, fn) PDECLARE_ASYNC_NOTIFIER2(OpalIMContext, cls, fn, OpalIMContext::ConversationInfo)
159 #define PCREATE_ConversationNotifier(fn) PCREATE_NOTIFIER2(fn, OpalIMContext::ConversationInfo)
169 const PString & scheme
188 const PURL & localURL,
189 const PURL & remoteURL,
193 const char * conversationID
278 #endif // OPAL_HAS_IM
280 #endif // OPAL_IM_EP_H
OpalManager & m_manager
Definition: im_ep.h:196
virtual PBoolean GarbageCollection()
bool RemoveNotifier(const ConversationNotifier ¬ifier, const PString &scheme)
Definition: manager.h:150
Definition: endpoint.h:65
void AddNotifier(const ConversationNotifier ¬ifier, const PString &scheme)
bool m_deleting
Definition: im_ep.h:209
static const PCaselessString & Prefix()
std::multimap< PString, PString > ContextsByNames
Definition: im_ep.h:201
PSafePtr< OpalIMContext > CreateContext(const PURL &localURL, const PURL &remoteURL, const char *scheme=NULL)
Definition: im_ep.h:94
OpalIMContext * m_context
Definition: im_ep.h:274
PSafeDictionary< PString, OpalIMContext > ContextsByConversationId
Definition: im_ep.h:197
PSafePtr< OpalIMContext > FindContextByIdWithLock(const PString &key, PSafetyMode mode=PSafeReadWrite)
PTime m_lastGarbageCollection
Definition: im_ep.h:208
OpalIMContext::MessageDisposition OnRawMessageReceived(OpalIM &message, OpalConnection *connnection, PString &errorInfo)
Definition: connection.h:530
PSafePtr< OpalIMContext > InternalCreateContext(const PURL &localURL, const PURL &remoteURL, const char *scheme, bool byRemote, OpalCall *call, const char *conversationID)
PNotifierTemplate< OpalIMContext::ConversationInfo > ConversationNotifier
Type for converstaion notifiers.
Definition: im_ep.h:150
ContextsByNames m_contextsByNames
Definition: im_ep.h:202
void RemoveContext(OpalIMContext *context, bool byRemote)
OpalManager & GetManager() const
Definition: im_ep.h:184
virtual OpalMediaFormatList GetMediaFormats() const
virtual PBoolean IsNetworkConnection() const
Definition: im_ep.h:244
virtual void OnConversation(const OpalIMContext::ConversationInfo &info)
virtual void OnReleased()
PSafePtr< OpalIMContext > FindContextForMessageWithLock(OpalIM &im, OpalConnection *conn=NULL)
PSafePtr< OpalIMContext > FindContextByNamesWithLock(const PURL &local, const PURL &remote, PSafetyMode mode=PSafeReadWrite)
std::multimap< PString, ConversationNotifier > ConversationMap
Definition: im_ep.h:205
virtual PBoolean OnSetUpConnection()
ContextsByConversationId m_contextsByConversationId
Definition: im_ep.h:198
Definition: connection.h:415
virtual void OnEstablished()
OpalIMEndPoint(OpalManager &manager)
PDECLARE_MUTEX(m_contextsByNamesMutex)
ConversationMap m_notifiers
Definition: im_ep.h:206
virtual PSafePtr< OpalConnection > MakeConnection(OpalCall &call, const PString &party, void *userData=NULL, unsigned int options=0, OpalConnection::StringOptions *stringOptions=NULL)
OpalIMConnection(OpalCall &call, OpalIMEndPoint &endpoint, void *userData, unsigned options, OpalConnection::StringOptions *stringOptions)