OPAL  Version 3.10.4
OpalIMManager Class Reference

#include <im.h>

Data Structures

class  CompositionIndicationTimeout_Work
class  IM_Work
class  MessageSent_Work
class  NewConversation_Work
class  NewConversationCallBack
class  NewIncomingIM_Work

Public Types

typedef PNotifierTemplate
< OpalIMContext & > 
NewConversationNotifier

Public Member Functions

 OpalIMManager (OpalManager &manager)
 ~OpalIMManager ()
OpalIMContext::SentStatus OnIncomingMessage (OpalIM *im, PString &conversationId, PSafePtr< OpalConnection > conn=NULL)
void OnCompositionIndicationTimeout (const PString &conversationId)
void AddContext (PSafePtr< OpalIMContext > context)
void RemoveContext (OpalIMContext *context)
void GarbageCollection ()
PSafePtr< OpalIMContextFindContextByIdWithLock (const PString &key, PSafetyMode mode=PSafeReadWrite)
PSafePtr< OpalIMContextFindContextByNamesWithLock (const PString &local, const PString &remote, PSafetyMode mode=PSafeReadWrite)
PSafePtr< OpalIMContextFindContextForMessageWithLock (OpalIM &im, OpalConnection *conn=NULL)
void AddNotifier (const NewConversationNotifier &notifier, const PString &scheme)
bool RemoveNotifier (const NewConversationNotifier &notifier, const PString &scheme)
void AddWork (IM_Work *work)
virtual void InternalOnNewConversation (const PString &conversation)
virtual void InternalOnNewIncomingIM (const PString &conversation)
virtual void InternalOnMessageSent (const PString &conversation, const OpalIMContext::MessageSentInfo &info)
virtual void InternalOnCompositionIndicationTimeout (const PString &conversationId)

Protected Types

typedef PSafeDictionary
< PString, OpalIMContext
ContextsByConversationId
typedef std::multimap
< std::string, PString > 
ContextsByNames

Protected Attributes

PQueuedThreadPool< IM_Workm_imThreadPool
PTime m_lastGarbageCollection
OpalManagerm_manager
bool m_deleting
ContextsByConversationId m_contextsByConversationId
PMutex m_contextsByNamesMutex
ContextsByNames m_contextsByNames
PMutex m_notifierMutex
PList< NewConversationCallBackm_callbacks

Member Typedef Documentation

typedef PSafeDictionary<PString, OpalIMContext> OpalIMManager::ContextsByConversationId
protected
typedef std::multimap<std::string, PString> OpalIMManager::ContextsByNames
protected

Constructor & Destructor Documentation

OpalIMManager::OpalIMManager ( OpalManager manager)
OpalIMManager::~OpalIMManager ( )

Member Function Documentation

void OpalIMManager::AddContext ( PSafePtr< OpalIMContext context)
void OpalIMManager::AddNotifier ( const NewConversationNotifier notifier,
const PString &  scheme 
)
void OpalIMManager::AddWork ( IM_Work work)
PSafePtr<OpalIMContext> OpalIMManager::FindContextByIdWithLock ( const PString &  key,
PSafetyMode  mode = PSafeReadWrite 
)
PSafePtr<OpalIMContext> OpalIMManager::FindContextByNamesWithLock ( const PString &  local,
const PString &  remote,
PSafetyMode  mode = PSafeReadWrite 
)
PSafePtr<OpalIMContext> OpalIMManager::FindContextForMessageWithLock ( OpalIM im,
OpalConnection conn = NULL 
)
void OpalIMManager::GarbageCollection ( )
virtual void OpalIMManager::InternalOnCompositionIndicationTimeout ( const PString &  conversationId)
virtual
virtual void OpalIMManager::InternalOnMessageSent ( const PString &  conversation,
const OpalIMContext::MessageSentInfo info 
)
virtual
virtual void OpalIMManager::InternalOnNewConversation ( const PString &  conversation)
virtual
virtual void OpalIMManager::InternalOnNewIncomingIM ( const PString &  conversation)
virtual
void OpalIMManager::OnCompositionIndicationTimeout ( const PString &  conversationId)
OpalIMContext::SentStatus OpalIMManager::OnIncomingMessage ( OpalIM im,
PString &  conversationId,
PSafePtr< OpalConnection conn = NULL 
)
void OpalIMManager::RemoveContext ( OpalIMContext context)
bool OpalIMManager::RemoveNotifier ( const NewConversationNotifier notifier,
const PString &  scheme 
)

Field Documentation

PList<NewConversationCallBack> OpalIMManager::m_callbacks
protected
ContextsByConversationId OpalIMManager::m_contextsByConversationId
protected
ContextsByNames OpalIMManager::m_contextsByNames
protected
PMutex OpalIMManager::m_contextsByNamesMutex
protected
bool OpalIMManager::m_deleting
protected
PQueuedThreadPool<IM_Work> OpalIMManager::m_imThreadPool
protected
PTime OpalIMManager::m_lastGarbageCollection
protected
OpalManager& OpalIMManager::m_manager
protected
PMutex OpalIMManager::m_notifierMutex
protected

The documentation for this class was generated from the following file: