#include <AbiCollab.h>

| AbiCollab::AbiCollab | ( | PD_Document * | pDoc, | |
| const UT_UTF8String & | sSessionId, | |||
| XAP_Frame * | pFrame | |||
| ) |
References _setDocument(), and startRecording().
| AbiCollab::AbiCollab | ( | const UT_UTF8String & | sSessionId, | |
| PD_Document * | pDoc, | |||
| const UT_UTF8String & | docUUID, | |||
| UT_sint32 | iRev, | |||
| Buddy * | pControler, | |||
| XAP_Frame * | pFrame | |||
| ) |
| AbiCollab::~AbiCollab | ( | void | ) | [virtual] |
| void AbiCollab::addCollaborator | ( | Buddy * | pCollaborator | ) |
| void AbiCollab::removeCollaborator | ( | const Buddy * | pCollaborator | ) |
| void AbiCollab::removeCollaboratorsForAccount | ( | AccountHandler * | pHandler | ) |
References _removeCollaborator(), Buddy::getHandler(), m_vecCollaborators, UT_continue_if_fail, UT_DEBUGMSG, and UT_return_if_fail.
Referenced by AbiCollabSessionManager::destroyAccount().
| const std::vector<Buddy*>& AbiCollab::getCollaborators | ( | ) | const [inline] |
References m_vecCollaborators.
Referenced by AbiCollabSessionManager::closeSession(), AbiCollabSessionManager::destroyAccount(), and AbiCollabSessionManager::disjoinSession().
| bool AbiCollab::isController | ( | const Buddy * | pCollaborator | ) | const [inline] |
| ABI_Collab_Import* AbiCollab::getImport | ( | void | ) | [inline] |
| ABI_Collab_Export* AbiCollab::getExport | ( | void | ) | [inline] |
| void AbiCollab::push | ( | Packet * | pPacket | ) |
Send this packet. Note, the specified packet does still belong to the calling class. So if we want to store it (for masking), we HAVE to clone it first
References _fillRemoteRev(), Packet::clone(), Buddy::getHandler(), Buddy::getName(), m_bExportMasked, m_bIsReverting, m_pRecorder, m_vecCollaborators, m_vecMaskedPackets, AccountHandler::send(), SessionRecorderInterface::storeOutgoing(), UT_ASSERT_HARMLESS, UT_DEBUGMSG, UT_return_if_fail, UT_SHOULD_NOT_HAPPEN, and UT_UTF8String::utf8_str().
Referenced by ABI_Collab_Import::_handleCollision(), ABI_Collab_Export::_handleNewPacket(), ABI_Collab_Export::change(), import(), and ABI_Collab_Export::signal().
| void AbiCollab::maskExport | ( | ) |
References AbiCollab::PacketVector::clear(), m_bExportMasked, and m_vecMaskedPackets.
Referenced by import().
| const std::vector< Packet * > & AbiCollab::unmaskExport | ( | ) | [virtual] |
| bool AbiCollab::isExportMasked | ( | void | ) | const [inline] |
References m_bExportMasked.
| void AbiCollab::import | ( | SessionPacket * | pPacket, | |
| const Buddy & | collaborator | |||
| ) |
References Buddy::clone(), Packet::clone(), Buddy::getName(), ABI_Collab_Import::import(), AbstractChangeRecordSessionPacket::isInstanceOf(), isLocallyControlled(), m_bDoingMouseDrag, m_Import, m_pActivePacket, m_pRecorder, m_vecCollaborators, m_vecIncomingQueue, maskExport(), push(), SessionRecorderInterface::storeIncoming(), unmaskExport(), UT_DEBUGMSG, UT_return_if_fail, and UT_UTF8String::utf8_str().
Referenced by AbiCollabSessionManager::processPacket().
| void AbiCollab::addChangeAdjust | ( | ChangeAdjust * | pAdjust | ) |
| const AbstractChangeRecordSessionPacket* AbiCollab::getActivePacket | ( | ) | const [inline] |
References m_pActivePacket.
Referenced by ABI_Collab_Export::_handleNewPacket(), and ABI_Collab_Export::change().
| PD_Document* AbiCollab::getDocument | ( | void | ) | const [inline] |
References m_pDoc.
Referenced by AccountHandler::_handlePacket(), AbiCollabSessionManager::destroySession(), AbiCollabSessionManager::disconnectSession(), AbiCollabSessionManager::disjoinSession(), AbiCollabSessionManager::getSession(), AbiCollabSessionManager::getSessionFromDocumentId(), AbiCollabSessionManager::isInSession(), AbiCollabSessionManager::isLocallyControlled(), AbiCollabSessionManager::processPacket(), and AbiCollabSessionManager::removeBuddy().
| const UT_UTF8String AbiCollab::getSessionId | ( | ) | const [inline] |
References m_sId.
Referenced by ABI_Collab_Import::_handleCollision(), AccountHandler::_handlePacket(), AbiCollabSessionManager::closeSession(), PacketFactory< _PacketType >::create(), AbiCollabSessionManager::destroyAccount(), AbiCollabSessionManager::disconnectSession(), DiskSessionRecorder::DiskSessionRecorder(), AbiCollabSessionManager::getSessionFromSessionId(), FakeAccountHandler::initialize(), AbiCollabSessionManager::isActive(), AbiCollabSessionManager::joinSession(), AbiCollabSaveInterceptor::saveRemotely(), ABI_Collab_Export::signal(), and startRecording().
| bool AbiCollab::isLocallyControlled | ( | ) | const [inline] |
References m_pController.
Referenced by ABI_Collab_Import::_handleCollision(), AccountHandler::_handlePacket(), ABI_Collab_Import::_shouldIgnore(), AbiCollabSessionManager::closeSession(), DiskSessionRecorder::DiskSessionRecorder(), import(), AbiCollabSessionManager::isLocallyControlled(), AbiCollabSessionManager::removeBuddy(), s_abicollab_join(), and startRecording().
| void AbiCollab::setIsReverting | ( | bool | bIsReverting | ) | [inline] |
| bool AbiCollab::isRecording | ( | ) | [inline] |
| void AbiCollab::startRecording | ( | SessionRecorderInterface * | pRecorder | ) |
References ABI_Collab_Export::getAdjusts(), PD_Document::getCRNumber(), AD_Document::getDocUUIDString(), AD_Document::getFilename(), UT_GenericVector< T >::getItemCount(), UT_GenericVector< T >::getNthItem(), getSessionId(), isLocallyControlled(), m_Export, JoinSessionRequestResponseEvent::m_iRev, m_pDoc, m_pRecorder, JoinSessionRequestResponseEvent::m_sDocumentId, JoinSessionRequestResponseEvent::m_sDocumentName, JoinSessionRequestResponseEvent::m_sZABW, AbiCollabSessionManager::serializeDocument(), SessionRecorderInterface::storeOutgoing(), UT_ASSERT, UT_ASSERT_HARMLESS, UT_go_basename_from_uri(), UT_OK, UT_return_if_fail, and UT_SHOULD_NOT_HAPPEN.
Referenced by AbiCollab(), and s_abicollab_record().
| void AbiCollab::stopRecording | ( | ) |
| void AbiCollab::signalMouse | ( | EV_EditBits | eb, | |
| UT_sint32 | xPos, | |||
| UT_sint32 | yPos | |||
| ) | [virtual] |
Implements EV_MouseListener.
References _releaseMouseDrag(), EV_EMB__MASK__, EV_EMB_BUTTON0, EV_EMO__MASK__, EV_EMO_DOUBLEDRAG, EV_EMO_DOUBLERELEASE, EV_EMO_DRAG, EV_EMO_RELEASE, m_bDoingMouseDrag, and UT_DEBUGMSG.
| void AbiCollab::_releaseMouseDrag | ( | ) |
References DELETEP, m_bDoingMouseDrag, m_vecIncomingQueue, UT_ASSERT_HARMLESS, UT_continue_if_fail, and UT_SHOULD_NOT_HAPPEN.
Referenced by signalMouse().
| void AbiCollab::_removeCollaborator | ( | UT_sint32 | index | ) | [private] |
References Buddy::getName(), ABI_Collab_Import::getRemoteRevisions(), m_Import, m_vecCollaborators, UT_DEBUGMSG, UT_return_if_fail, and UT_UTF8String::utf8_str().
Referenced by removeCollaborator(), and removeCollaboratorsForAccount().
| void AbiCollab::_setDocument | ( | PD_Document * | pDoc, | |
| XAP_Frame * | pFrame | |||
| ) | [private] |
| void AbiCollab::_setDocListenerId | ( | UT_uint32 | iDocListenerId | ) | [inline, private] |
References _PCT_FirstChangeRecord, _PCT_LastChangeRecord, Buddy::getName(), GlobSessionPacket::getPackets(), ABI_Collab_Import::getRemoteRevisions(), m_Import, PCT_GlobSessionPacket, ChangeRecordSessionPacket::setRemoteRev(), UT_continue_if_fail, UT_return_if_fail, and UT_UTF8String::utf8_str().
Referenced by push().
friend class ABI_Collab_Export [friend] |
PD_Document* AbiCollab::m_pDoc [private] |
Referenced by _setDocument(), getDocument(), startRecording(), and ~AbiCollab().
XAP_Frame* AbiCollab::m_pFrame [private] |
Referenced by getFrame().
ABI_Collab_Import AbiCollab::m_Import [private] |
Referenced by _fillRemoteRev(), _removeCollaborator(), AbiCollab(), getImport(), and import().
ABI_Collab_Export AbiCollab::m_Export [private] |
Referenced by _setDocument(), AbiCollab(), addChangeAdjust(), getExport(), and startRecording().
std::vector<Buddy*> AbiCollab::m_vecCollaborators [private] |
Referenced by _removeCollaborator(), addCollaborator(), getCollaborators(), import(), push(), removeCollaborator(), and removeCollaboratorsForAccount().
UT_uint32 AbiCollab::m_iDocListenerId [private] |
Referenced by _setDocListenerId(), _setDocument(), and ~AbiCollab().
bool AbiCollab::m_bExportMasked [private] |
Referenced by isExportMasked(), maskExport(), push(), and unmaskExport().
UT_UTF8String AbiCollab::m_sId [private] |
Referenced by getSessionId().
Buddy* AbiCollab::m_pController [private] |
Referenced by isController(), and isLocallyControlled().
CommandLine* AbiCollab::m_pCommandLine [private] |
bool AbiCollab::m_bCloseNow [private] |
const AbstractChangeRecordSessionPacket* AbiCollab::m_pActivePacket [private] |
Referenced by getActivePacket(), and import().
bool AbiCollab::m_bIsReverting [private] |
Referenced by addChangeAdjust(), push(), and setIsReverting().
SessionRecorderInterface* AbiCollab::m_pRecorder [private] |
Referenced by import(), isRecording(), push(), startRecording(), stopRecording(), and ~AbiCollab().
UT_sint32 AbiCollab::m_iMouseLID [private] |
Referenced by _setDocument(), and ~AbiCollab().
bool AbiCollab::m_bDoingMouseDrag [private] |
Referenced by _releaseMouseDrag(), import(), and signalMouse().
std::vector<std::pair<SessionPacket*,Buddy*> > AbiCollab::m_vecIncomingQueue [private] |
Referenced by _releaseMouseDrag(), and import().
AbiCollab::PacketVector AbiCollab::m_vecMaskedPackets [protected] |
Referenced by maskExport(), push(), and unmaskExport().
1.5.5