#include <TCPAccountHandler.h>
Public Member Functions | |
TCPAccountHandler () | |
virtual | ~TCPAccountHandler () |
virtual UT_UTF8String | getStorageType () |
virtual UT_UTF8String | getDescription () |
virtual UT_UTF8String | getDisplayType () |
virtual void | storeProperties () |
virtual ConnectResult | connect () |
virtual bool | disconnect () |
virtual bool | isOnline () |
void | addBuddy (BuddyPtr pBuddy) |
virtual BuddyPtr | constructBuddy (const PropertyMap &props) |
virtual BuddyPtr | constructBuddy (const std::string &descriptor, BuddyPtr pBuddy) |
virtual bool | recognizeBuddyIdentifier (const std::string &identifier) |
virtual bool | allowsManualBuddies () |
virtual void | forceDisconnectBuddy (BuddyPtr buddy) |
virtual bool | hasPersistentAccessControl () |
virtual bool | defaultShareState (BuddyPtr) |
virtual bool | allowsSessionTakeover () |
virtual bool | send (const Packet *packet) |
virtual bool | send (const Packet *, BuddyPtr pBuddy) |
void | handleEvent (boost::shared_ptr< Session > session_ptr) |
Static Public Member Functions | |
static UT_UTF8String | getStaticStorageType () |
Private Member Functions | |
void | _teardownAndDestroyHandler () |
void | _handleMessages (boost::shared_ptr< Session > session_ptr) |
TCPBuddyPtr | _getBuddy (boost::shared_ptr< Session > session_ptr) |
virtual UT_sint32 | _getPort (const PropertyMap &props) |
void | _handleAccept (IOServerHandler *pHandler, boost::shared_ptr< Session > session) |
Private Attributes | |
asio::io_service | m_io_service |
asio::io_service::work | m_work |
asio::thread * | m_thread |
bool | m_bConnected |
IOServerHandler * | m_pDelegator |
std::map< TCPBuddyPtr, boost::shared_ptr< Session > > | m_clients |
TCPAccountHandler::TCPAccountHandler | ( | ) |
TCPAccountHandler::~TCPAccountHandler | ( | ) | [virtual] |
References disconnect(), m_bConnected, and UT_DEBUGMSG.
TCPBuddyPtr TCPAccountHandler::_getBuddy | ( | boost::shared_ptr< Session > | session_ptr | ) | [private] |
References m_clients, UT_ASSERT_HARMLESS, UT_return_val_if_fail, and UT_SHOULD_NOT_HAPPEN.
Referenced by _handleMessages().
UT_sint32 TCPAccountHandler::_getPort | ( | const PropertyMap & | props | ) | [private, virtual] |
Referenced by connect(), and constructBuddy().
void TCPAccountHandler::_handleAccept | ( | IOServerHandler * | pHandler, | |
boost::shared_ptr< Session > | session | |||
) | [private] |
References addBuddy(), IOServerHandler::asyncAccept(), m_clients, UT_DEBUGMSG, UT_return_if_fail, and UT_UTF8String_sprintf().
Referenced by connect().
void TCPAccountHandler::_handleMessages | ( | boost::shared_ptr< Session > | session_ptr | ) | [private] |
References AccountHandler::_createPacket(), _getBuddy(), FREEP, AccountHandler::handleMessage(), UT_continue_if_fail, UT_DEBUGMSG, and UT_return_if_fail.
Referenced by handleEvent().
void TCPAccountHandler::_teardownAndDestroyHandler | ( | ) | [private] |
References DELETEP, m_clients, m_io_service, m_pDelegator, m_thread, IOServerHandler::stop(), and UT_DEBUGMSG.
Referenced by connect(), and disconnect().
void TCPAccountHandler::addBuddy | ( | BuddyPtr | pBuddy | ) |
Reimplemented from AccountHandler.
References AbiCollab::appendAcl(), AbiCollab::getAclAccount(), AbiCollabSessionManager::getManager(), UT_GenericVector< T >::getNthItem(), AccountHandler::getProperty(), AbiCollabSessionManager::getSessions(), UT_GenericVector< T >::size(), UT_continue_if_fail, UT_DEBUGMSG, and UT_return_if_fail.
Referenced by _handleAccept(), and connect().
virtual bool TCPAccountHandler::allowsManualBuddies | ( | ) | [inline, virtual] |
Implements AccountHandler.
virtual bool TCPAccountHandler::allowsSessionTakeover | ( | ) | [inline, virtual] |
Implements AccountHandler.
ConnectResult TCPAccountHandler::connect | ( | ) | [virtual] |
Implements AccountHandler.
References _getPort(), _handleAccept(), _teardownAndDestroyHandler(), addBuddy(), CONNECT_ALREADY_CONNECTED, CONNECT_INTERNAL_ERROR, AbiCollabSessionManager::getManager(), AccountHandler::getProperties(), AccountHandler::getProperty(), handleEvent(), m_bConnected, m_clients, m_io_service, m_pDelegator, m_thread, AbiCollabSessionManager::registerEventListener(), IOServerHandler::run(), run, AbiCollabSessionManager::signal(), UT_DEBUGMSG, and UT_return_val_if_fail.
BuddyPtr TCPAccountHandler::constructBuddy | ( | const PropertyMap & | props | ) | [virtual] |
Implements AccountHandler.
References _getPort(), UT_DEBUGMSG, and UT_return_val_if_fail.
BuddyPtr TCPAccountHandler::constructBuddy | ( | const std::string & | descriptor, | |
BuddyPtr | pBuddy | |||
) | [virtual] |
Implements AccountHandler.
References UT_ASSERT_HARMLESS, and UT_NOT_IMPLEMENTED.
bool TCPAccountHandler::defaultShareState | ( | BuddyPtr | ) | [virtual] |
Reimplemented from AccountHandler.
References AccountHandler::getProperty().
bool TCPAccountHandler::disconnect | ( | void | ) | [virtual] |
Implements AccountHandler.
References _teardownAndDestroyHandler(), AbiCollabSessionManager::getManager(), m_bConnected, AbiCollabSessionManager::signal(), AbiCollabSessionManager::unregisterEventListener(), UT_DEBUGMSG, and UT_return_val_if_fail.
Referenced by handleEvent(), and ~TCPAccountHandler().
void TCPAccountHandler::forceDisconnectBuddy | ( | BuddyPtr | buddy | ) | [virtual] |
Implements AccountHandler.
References m_clients, UT_DEBUGMSG, and UT_return_if_fail.
UT_UTF8String TCPAccountHandler::getDescription | ( | ) | [virtual] |
Implements AccountHandler.
References AccountHandler::getProperty(), and UT_UTF8String_sprintf().
UT_UTF8String TCPAccountHandler::getDisplayType | ( | ) | [virtual] |
Implements AccountHandler.
UT_UTF8String TCPAccountHandler::getStaticStorageType | ( | ) | [static] |
Reimplemented from AccountHandler.
Referenced by getStorageType(), and AbiCollabSessionManager::registerAccountHandlers().
virtual UT_UTF8String TCPAccountHandler::getStorageType | ( | ) | [inline, virtual] |
Implements AccountHandler.
References getStaticStorageType().
void TCPAccountHandler::handleEvent | ( | boost::shared_ptr< Session > | session_ptr | ) |
virtual bool TCPAccountHandler::hasPersistentAccessControl | ( | ) | [inline, virtual] |
Implements AccountHandler.
bool TCPAccountHandler::isOnline | ( | ) | [virtual] |
Implements AccountHandler.
References m_bConnected.
bool TCPAccountHandler::recognizeBuddyIdentifier | ( | const std::string & | identifier | ) | [virtual] |
Implements AccountHandler.
References UT_ASSERT_HARMLESS, and UT_NOT_IMPLEMENTED.
Implements AccountHandler.
References AccountHandler::_createPacketStream(), m_clients, UT_DEBUGMSG, and UT_return_val_if_fail.
bool TCPAccountHandler::send | ( | const Packet * | packet | ) | [virtual] |
Implements AccountHandler.
References AccountHandler::_createPacketStream(), m_clients, UT_ASSERT, UT_DEBUGMSG, and UT_NOT_REACHED.
void TCPAccountHandler::storeProperties | ( | ) | [virtual] |
Implements AccountHandler.
Reimplemented in TCPUnixAccountHandler, and TCPWin32AccountHandler.
References UT_DEBUGMSG.
bool TCPAccountHandler::m_bConnected [private] |
Referenced by connect(), disconnect(), isOnline(), and ~TCPAccountHandler().
std::map<TCPBuddyPtr, boost::shared_ptr<Session> > TCPAccountHandler::m_clients [private] |
Referenced by _getBuddy(), _handleAccept(), _teardownAndDestroyHandler(), connect(), forceDisconnectBuddy(), handleEvent(), and send().
asio::io_service TCPAccountHandler::m_io_service [private] |
Referenced by _teardownAndDestroyHandler(), and connect().
IOServerHandler* TCPAccountHandler::m_pDelegator [private] |
Referenced by _teardownAndDestroyHandler(), and connect().
asio::thread* TCPAccountHandler::m_thread [private] |
Referenced by _teardownAndDestroyHandler(), and connect().
asio::io_service::work TCPAccountHandler::m_work [private] |