Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes

AbiCollabSessionManager Class Reference

#include <AbiCollabSessionManager.h>

List of all members.

Public Member Functions

virtual ~AbiCollabSessionManager (void)
bool registerDialogs (void)
bool unregisterDialogs (void)
XAP_Dialog_Id getDialogShareId ()
XAP_Dialog_Id getDialogJoinId ()
XAP_Dialog_Id getDialogAccountsId ()
XAP_Dialog_Id getDialogAddAccountId ()
XAP_Dialog_Id getDialogEditAccountId ()
XAP_Dialog_Id getDialogAddBuddyId ()
void loadProfile ()
void storeProfile ()
bool destroySession (PD_Document *pDoc)
bool destroySession (AbiCollab *pSession)
void disconnectSession (AbiCollab *pSession)
void disconnectSessions ()
AbiCollabgetSession (PD_Document *pDoc)
AbiCollabgetSessionFromDocumentId (const UT_UTF8String &sDocumentId)
AbiCollabgetSessionFromSessionId (const UT_UTF8String &sSessionId)
const UT_GenericVector
< AbiCollab * > & 
getSessions (void) const
AbiCollabstartSession (PD_Document *pDoc, UT_UTF8String &sNewSessionId, AccountHandler *pAclAccount, bool bLocallyOwned, XAP_Frame *pFrame, const UT_UTF8String &masterDescriptor)
void closeSession (AbiCollab *pSession, bool canConfirm)
void closeSessions ()
void joinSessionInitiate (BuddyPtr pBuddy, DocHandle *pDocHandle)
void joinSession (const UT_UTF8String &sSessionId, PD_Document *pDoc, const UT_UTF8String &docUUID, UT_sint32 iRev, UT_sint32 iAuthorId, BuddyPtr pCollaborator, AccountHandler *pAclAccount, bool bLocallyOwned, XAP_Frame *pFrame)
void joinSession (AbiCollab *pSession, BuddyPtr pCollaborator)
void disjoinSession (const UT_UTF8String &sSessionId)
bool isLocallyControlled (PD_Document *pDoc)
bool isInSession (PD_Document *pDoc)
bool isActive (const UT_UTF8String &sSessionId)
void removeBuddy (BuddyPtr pBuddy, bool graceful=true)
void updateAcl (AbiCollab *pSession, AccountHandler *pAccount, const std::vector< std::string > acl)
XAP_FramefindFrameForSession (AbiCollab *pSession)
bool registerAccountHandlers (void)
bool unregisterAccountHandlers (void)
const std::map< UT_UTF8String,
AccountHandlerConstructor > & 
getRegisteredAccountHandlers (void)
bool addAccount (AccountHandler *pHandler)
const std::vector
< AccountHandler * > & 
getAccounts () const
void destroyAccounts ()
bool destroyAccount (AccountHandler *pHandler)
void setDocumentHandles (BuddyPtr buddy, const UT_GenericVector< DocHandle * > &vDocHandle)
BuddyPtr constructBuddy (const std::string &identifier, BuddyPtr pBuddy)
bool processPacket (AccountHandler &handler, Packet *pPacket, BuddyPtr buddy)
void registerEventListener (EventListener *pListener)
void unregisterEventListener (EventListener *pListener)
void signal (const Event &event, BuddyPtr pSource=BuddyPtr())
void beginAsyncOperation (AbiCollab *pSession)
void endAsyncOperation (AbiCollab *pSession)
void beginAsyncOperation (AccountHandler *pSession)
void endAsyncOperation (AccountHandler *pSession)
void unregisterSniffers (void)
 AbiCollabSessionManager (void)

Static Public Member Functions

static AbiCollabSessionManagergetManager ()
static UT_Error serializeDocument (const PD_Document *pDoc, std::string &document, bool encodeBase64=true)
static UT_Error deserializeDocument (PD_Document **pDoc, const std::string &document, bool isEncodedBase64=true)

Private Member Functions

bool _setupFrame (XAP_Frame **pFrame, PD_Document *pDoc)
void _deleteSession (AbiCollab *pSession)
void _deleteAccount (AccountHandler *pHandler)
bool _nullUpdate ()
bool _canInitiateSessionTakeover (AbiCollab *pSession)

Private Attributes

XAP_Dialog_Id m_iDialogShare
XAP_Dialog_Id m_iDialogJoin
XAP_Dialog_Id m_iDialogAccounts
XAP_Dialog_Id m_iDialogAddAccount
XAP_Dialog_Id m_iDialogEditAccount
XAP_Dialog_Id m_iDialogAddBuddy
UT_GenericVector< AbiCollab * > m_vecSessions
std::map< UT_UTF8String,
AccountHandlerConstructor
m_regAccountHandlers
std::vector< AccountHandler * > m_vecAccounts
UT_GenericVector< EventListener * > m_vecEventListeners
std::map< AbiCollab *, int > m_asyncSessionOps
std::map< AccountHandler *, int > m_asyncAccountOps
std::vector< IE_ImpSniffer * > m_vImpSniffers

Static Private Attributes

static AbiCollabSessionManagerm_pManager = NULL

Constructor & Destructor Documentation

AbiCollabSessionManager::~AbiCollabSessionManager ( void   )  [virtual]
AbiCollabSessionManager::AbiCollabSessionManager ( void   ) 

References m_pManager.


Member Function Documentation

bool AbiCollabSessionManager::_canInitiateSessionTakeover ( AbiCollab pSession  )  [private]
void AbiCollabSessionManager::_deleteAccount ( AccountHandler pHandler  )  [private]
void AbiCollabSessionManager::_deleteSession ( AbiCollab pSession  )  [private]
bool AbiCollabSessionManager::_nullUpdate (  )  [private]

Referenced by _deleteAccount(), and _deleteSession().

bool AbiCollabSessionManager::_setupFrame ( XAP_Frame **  pFrame,
PD_Document pDoc 
) [private]
bool AbiCollabSessionManager::addAccount ( AccountHandler pHandler  ) 
void AbiCollabSessionManager::beginAsyncOperation ( AccountHandler pSession  ) 
void AbiCollabSessionManager::beginAsyncOperation ( AbiCollab pSession  ) 
void AbiCollabSessionManager::closeSession ( AbiCollab pSession,
bool  canConfirm 
)
void AbiCollabSessionManager::closeSessions (  ) 
BuddyPtr AbiCollabSessionManager::constructBuddy ( const std::string &  identifier,
BuddyPtr  pBuddy 
)
UT_Error AbiCollabSessionManager::deserializeDocument ( PD_Document **  pDoc,
const std::string &  document,
bool  isEncodedBase64 = true 
) [static]
bool AbiCollabSessionManager::destroyAccount ( AccountHandler pHandler  ) 
void AbiCollabSessionManager::destroyAccounts ( void   ) 
bool AbiCollabSessionManager::destroySession ( PD_Document pDoc  ) 
bool AbiCollabSessionManager::destroySession ( AbiCollab pSession  ) 
void AbiCollabSessionManager::disconnectSession ( AbiCollab pSession  ) 
void AbiCollabSessionManager::disconnectSessions (  ) 
void AbiCollabSessionManager::disjoinSession ( const UT_UTF8String sSessionId  ) 
void AbiCollabSessionManager::endAsyncOperation ( AbiCollab pSession  ) 
void AbiCollabSessionManager::endAsyncOperation ( AccountHandler pSession  ) 
XAP_Frame * AbiCollabSessionManager::findFrameForSession ( AbiCollab pSession  ) 
const std::vector<AccountHandler *>& AbiCollabSessionManager::getAccounts (  )  const [inline]
XAP_Dialog_Id AbiCollabSessionManager::getDialogAccountsId (  )  [inline]

References m_iDialogAccounts.

XAP_Dialog_Id AbiCollabSessionManager::getDialogAddAccountId (  )  [inline]

References m_iDialogAddAccount.

XAP_Dialog_Id AbiCollabSessionManager::getDialogAddBuddyId (  )  [inline]

References m_iDialogAddBuddy.

XAP_Dialog_Id AbiCollabSessionManager::getDialogEditAccountId (  )  [inline]

References m_iDialogEditAccount.

XAP_Dialog_Id AbiCollabSessionManager::getDialogJoinId (  )  [inline]

References m_iDialogJoin.

XAP_Dialog_Id AbiCollabSessionManager::getDialogShareId (  )  [inline]

References m_iDialogShare.

AbiCollabSessionManager * AbiCollabSessionManager::getManager (  )  [static]

References m_pManager.

Referenced by AP_Dialog_CollaborationAccounts::_addAccount(), AP_UnixDialog_CollaborationJoin::_constructModel(), AP_UnixDialog_CollaborationAccounts::_constructModel(), AP_UnixDialog_CollaborationJoin::_constructWindow(), FakeAccountHandler::_createSession(), AP_Dialog_CollaborationAccounts::_deleteAccount(), AbiCollab_Command::_doCmdDebug(), AbiCollab_Command::_doCmdRegression(), AP_Dialog_CollaborationJoin::_eventAddBuddy(), IE_Imp_AbiCollab::_getAccount(), AP_Dialog_CollaborationShare::_getActiveSession(), ServiceAccountHandler::_getConnections(), ServiceAccountHandler::_getPermissions(), ServiceAccountHandler::_handleJoinSessionRequestResponse(), ServiceAccountHandler::_handleMessages(), AccountHandler::_handlePacket(), ServiceAccountHandler::_handleRealmPacket(), AbiCollab::_handleSessionTakeover(), FakeAccountHandler::_import(), ServiceAccountHandler::_listDocuments_cb(), FakeAccountHandler::_loadDocument(), AP_Win32Dialog_CollaborationAccounts::_onCommand(), IE_Imp_AbiCollab::_openDocument(), ServiceAccountHandler::_openDocumentMaster(), AP_Win32Dialog_CollaborationShare::_populateBuddyModel(), AP_UnixDialog_CollaborationShare::_populateBuddyModel(), AP_Dialog_CollaborationShare::_populateShareState(), AP_Win32Dialog_CollaborationShare::_populateWindowData(), AP_Win32Dialog_CollaborationJoin::_populateWindowData(), AP_Win32Dialog_CollaborationEditAccount::_populateWindowData(), AP_Win32Dialog_CollaborationAddAccount::_populateWindowData(), AP_Win32Dialog_CollaborationAccounts::_populateWindowData(), AP_UnixDialog_CollaborationShare::_populateWindowData(), AP_UnixDialog_CollaborationAddBuddy::_populateWindowData(), AP_UnixDialog_CollaborationAddAccount::_populateWindowData(), AP_Dialog_CollaborationJoin::_refreshAccounts(), AP_Dialog_CollaborationJoin::_refreshAllDocHandlesAsync(), AbiCollabSaveInterceptor::_save_cb(), AbiCollab::_setDocument(), ServiceAccountHandler::_setPermissions(), AbiCollab::_shutdownAsMaster(), abi_plugin_register(), abi_plugin_unregister(), TCPAccountHandler::addBuddy(), AccountHandler::addBuddy(), AP_Dialog_CollaborationAccounts::AP_Dialog_CollaborationAccounts(), AP_Dialog_CollaborationJoin::AP_Dialog_CollaborationJoin(), AP_Dialog_CollaborationShare::AP_Dialog_CollaborationShare(), AP_Win32Dialog_CollaborationAccounts::AP_Win32Dialog_CollaborationAccounts(), AP_Win32Dialog_CollaborationAddAccount::AP_Win32Dialog_CollaborationAddAccount(), AP_Win32Dialog_CollaborationAddBuddy::AP_Win32Dialog_CollaborationAddBuddy(), AP_Win32Dialog_CollaborationEditAccount::AP_Win32Dialog_CollaborationEditAccount(), AP_Win32Dialog_CollaborationJoin::AP_Win32Dialog_CollaborationJoin(), AP_Win32Dialog_CollaborationShare::AP_Win32Dialog_CollaborationShare(), AP_Win32Dialog_GenericInput::AP_Win32Dialog_GenericInput(), AP_Win32Dialog_GenericProgress::AP_Win32Dialog_GenericProgress(), TelepathyAccountHandler::buddyDisconnected(), FakeAccountHandler::cleanup(), TelepathyAccountHandler::connect(), TCPAccountHandler::connect(), ServiceAccountHandler::connect(), AP_Dialog_CollaborationAccounts::createEditAccount(), AP_Dialog_CollaborationAccounts::createNewAccount(), Defun_EV_GetMenuItemState_Fn(), XMPPAccountHandler::disconnect(), TelepathyAccountHandler::disconnect(), TCPAccountHandler::disconnect(), ServiceAccountHandler::disconnect(), SugarAccountHandler::disconnectTube(), SugarAccountHandler::disjoinBuddy(), AP_UnixDialog_CollaborationJoin::eventOpen(), TelepathyChatroom::finalize(), ServiceAccountHandler::getSessionsAsync(), ServiceAccountHandler::getShareHint(), TCPAccountHandler::handleEvent(), TelepathyAccountHandler::handleMessage(), AccountHandler::handleMessage(), AbiCollab::initiateSessionTakeover(), AbiCollabSaveInterceptor::intercept(), TelepathyChatroom::isController(), TelepathyChatroom::isLocallyControlled(), ServiceAccountHandler::joinSessionAsync(), SugarAccountHandler::joinTube(), SugarAccountHandler::offerTube(), FakeAccountHandler::process(), ABI_Collab_Export::removeDocument(), s_abicollab_accounts(), s_abicollab_authors(), s_abicollab_join(), s_abicollab_offer(), s_any_accounts_online(), AbiCollabSaveInterceptor::save(), ServiceWin32AccountHandler::ServiceWin32AccountHandler(), ABI_Collab_Export::setNewDocument(), XMPPAccountHandler::setup(), AP_Dialog_CollaborationShare::share(), TelepathyAccountHandler::signal(), SugarAccountHandler::signal(), TelepathyAccountHandler::startSession(), ServiceAccountHandler::startSession(), TCPWin32AccountHandler::TCPWin32AccountHandler(), TelepathyChatroom::TelepathyChatroom(), AP_Dialog_CollaborationAccounts::~AP_Dialog_CollaborationAccounts(), AP_Dialog_CollaborationJoin::~AP_Dialog_CollaborationJoin(), and AP_Dialog_CollaborationShare::~AP_Dialog_CollaborationShare().

const std::map<UT_UTF8String, AccountHandlerConstructor>& AbiCollabSessionManager::getRegisteredAccountHandlers ( void   )  [inline]
AbiCollab * AbiCollabSessionManager::getSession ( PD_Document pDoc  ) 
AbiCollab * AbiCollabSessionManager::getSessionFromDocumentId ( const UT_UTF8String sDocumentId  ) 
AbiCollab * AbiCollabSessionManager::getSessionFromSessionId ( const UT_UTF8String sSessionId  ) 
const UT_GenericVector<AbiCollab *>& AbiCollabSessionManager::getSessions ( void   )  const [inline]
bool AbiCollabSessionManager::isActive ( const UT_UTF8String sSessionId  ) 
bool AbiCollabSessionManager::isInSession ( PD_Document pDoc  ) 
bool AbiCollabSessionManager::isLocallyControlled ( PD_Document pDoc  ) 
void AbiCollabSessionManager::joinSession ( const UT_UTF8String sSessionId,
PD_Document pDoc,
const UT_UTF8String docUUID,
UT_sint32  iRev,
UT_sint32  iAuthorId,
BuddyPtr  pCollaborator,
AccountHandler pAclAccount,
bool  bLocallyOwned,
XAP_Frame pFrame 
)
void AbiCollabSessionManager::joinSession ( AbiCollab pSession,
BuddyPtr  pCollaborator 
)
void AbiCollabSessionManager::joinSessionInitiate ( BuddyPtr  pBuddy,
DocHandle pDocHandle 
)
void AbiCollabSessionManager::loadProfile (  ) 
bool AbiCollabSessionManager::processPacket ( AccountHandler handler,
Packet pPacket,
BuddyPtr  buddy 
)
bool AbiCollabSessionManager::registerAccountHandlers ( void   ) 
bool AbiCollabSessionManager::registerDialogs ( void   ) 
void AbiCollabSessionManager::registerEventListener ( EventListener pListener  ) 
void AbiCollabSessionManager::removeBuddy ( BuddyPtr  pBuddy,
bool  graceful = true 
)
UT_Error AbiCollabSessionManager::serializeDocument ( const PD_Document pDoc,
std::string &  document,
bool  encodeBase64 = true 
) [static]
void AbiCollabSessionManager::setDocumentHandles ( BuddyPtr  buddy,
const UT_GenericVector< DocHandle * > &  vDocHandle 
)
void AbiCollabSessionManager::signal ( const Event event,
BuddyPtr  pSource = BuddyPtr() 
)
AbiCollab * AbiCollabSessionManager::startSession ( PD_Document pDoc,
UT_UTF8String sNewSessionId,
AccountHandler pAclAccount,
bool  bLocallyOwned,
XAP_Frame pFrame,
const UT_UTF8String masterDescriptor 
)
void AbiCollabSessionManager::storeProfile (  ) 
bool AbiCollabSessionManager::unregisterAccountHandlers ( void   ) 
bool AbiCollabSessionManager::unregisterDialogs ( void   ) 
void AbiCollabSessionManager::unregisterEventListener ( EventListener pListener  ) 
void AbiCollabSessionManager::unregisterSniffers ( void   ) 
void AbiCollabSessionManager::updateAcl ( AbiCollab pSession,
AccountHandler pAccount,
const std::vector< std::string >  acl 
)

Member Data Documentation


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