OpalIMManager Class Reference

#include <im.h>

Collaboration diagram for OpalIMManager:

[legend]

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

Data Structures

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

Member Typedef Documentation

typedef PSafeDictionary<PString, OpalIMContext> OpalIMManager::ContextsByConversationId [protected]

typedef std::multimap<std::string, PString> OpalIMManager::ContextsByNames [protected]

typedef PNotifierTemplate<OpalIMContext &> OpalIMManager::NewConversationNotifier


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:
Generated on 14 Aug 2013 for OPAL by  doxygen 1.4.7