#include <RealmConnection.h>
Public Member Functions | |
| RealmConnection (const std::string &ca_file, const std::string &address, int port, bool tls, const std::string &cookie, UT_uint64 doc_id, bool master, const std::string &session_id, boost::function< void(boost::shared_ptr< RealmConnection >)> sig) | |
| bool | connect () |
| void | disconnect () |
| bool | isConnected () |
| void | addBuddy (RealmBuddyPtr buddy_ptr) |
| void | removeBuddy (UT_uint8 realm_connection_id) |
| RealmBuddyPtr | getBuddy (UT_uint8 realm_connection_id) |
| std::vector< RealmBuddyPtr > & | getBuddies () |
| UT_uint64 | user_id () |
| UT_uint8 | connection_id () |
| UT_uint64 | doc_id () |
| bool | master () |
| void | promote () |
| const std::string & | session_id () |
| PD_Document * | getDocument () |
| void | setDocument (PD_Document *pDoc) |
| SynchronizedQueue < realm::protocolv1::PacketPtr > & | queue () |
| asio::ip::tcp::socket & | socket () |
| void | loadDocumentStart (AP_Dialog_GenericProgress *pDlg, PD_Document **pDoc_, XAP_Frame *pFrame_, const std::string &filename_, bool bLocallyOwned_) |
| boost::shared_ptr < PendingDocumentProperties > | getPendingDocProps () |
| void | loadDocumentEnd () |
Private Member Functions | |
| void | _disconnect () |
| void | _signal () |
| bool | _login () |
| UserJoinedPacketPtr | _receiveUserJoinedPacket () |
| void | _receive () |
| void | _message (const asio::error_code &e, std::size_t bytes_transferred, boost::shared_ptr< std::string > msg_ptr) |
| void | _complete_packet (realm::protocolv1::PacketPtr packet_ptr) |
| void | _complete (const asio::error_code &e, std::size_t bytes_transferred, realm::protocolv1::PacketPtr packet_ptr) |
Private Attributes | |
| asio::io_service | m_io_service |
| std::string | m_ca_file |
| std::string | m_address |
| int | m_port |
| int | m_tls |
| asio::ip::tcp::socket | m_socket |
| boost::shared_ptr< asio::thread > | m_thread_ptr |
| std::string | m_cookie |
| UT_uint64 | m_user_id |
| UT_uint8 | m_connection_id |
| UT_uint64 | m_doc_id |
| bool | m_master |
| std::string | m_session_id |
| PD_Document * | m_pDoc |
| realm::GrowBuffer | m_buf |
| SynchronizedQueue < realm::protocolv1::PacketPtr > | m_packet_queue |
| boost::function< void(boost::shared_ptr < RealmConnection >)> | m_sig |
| std::vector< RealmBuddyPtr > | m_buddies |
| boost::shared_ptr < PendingDocumentProperties > | m_pdp_ptr |
| boost::shared_ptr < tls_tunnel::ClientProxy > | m_tls_tunnel_ptr |
| abicollab::mutex | m_mutex |
| RealmConnection::RealmConnection | ( | const std::string & | ca_file, | |
| const std::string & | address, | |||
| int | port, | |||
| bool | tls, | |||
| const std::string & | cookie, | |||
| UT_uint64 | doc_id, | |||
| bool | master, | |||
| const std::string & | session_id, | |||
| boost::function< void(boost::shared_ptr< RealmConnection >)> | sig | |||
| ) |
| void RealmConnection::_complete | ( | const asio::error_code & | e, | |
| std::size_t | bytes_transferred, | |||
| realm::protocolv1::PacketPtr | packet_ptr | |||
| ) | [private] |
References _complete_packet(), _disconnect(), realm::GrowBuffer::commit(), m_buf, and UT_DEBUGMSG.
Referenced by _complete_packet().
| void RealmConnection::_complete_packet | ( | realm::protocolv1::PacketPtr | packet_ptr | ) | [private] |
References _complete(), _receive(), realm::GrowBuffer::data(), abicollab::service::error(), m_buf, m_packet_queue, m_socket, realm::GrowBuffer::prepare(), SynchronizedQueue< T >::push(), realm::GrowBuffer::size(), UT_DEBUGMSG, and UT_return_if_fail.
Referenced by _complete(), and _message().
| void RealmConnection::_disconnect | ( | ) | [private] |
References m_io_service, m_mutex, m_packet_queue, m_socket, m_thread_ptr, m_tls_tunnel_ptr, Synchronizer::signal(), and UT_DEBUGMSG.
Referenced by _complete(), _message(), and connect().
| bool RealmConnection::_login | ( | ) | [private] |
References _receiveUserJoinedPacket(), realm::protocol::HANDSHAKE_BAD_IDENTIFIER, realm::protocol::HANDSHAKE_INVALID_COOKIE, realm::protocol::HANDSHAKE_OK, realm::protocol::HANDSHAKE_RESERVED, realm::protocol::HANDSHAKE_UNSUPPORTED_PROTOCOL, m_connection_id, m_cookie, m_socket, m_user_id, ServiceAccountHandler::parseUserInfo(), tls_tunnel::read(), UT_ASSERT_HARMLESS, UT_DEBUGMSG, UT_return_val_if_fail, UT_SHOULD_NOT_HAPPEN, and tls_tunnel::write().
Referenced by connect().
| void RealmConnection::_message | ( | const asio::error_code & | e, | |
| std::size_t | bytes_transferred, | |||
| boost::shared_ptr< std::string > | msg_ptr | |||
| ) | [private] |
References _complete_packet(), _disconnect(), realm::protocolv1::Packet::construct(), and UT_DEBUGMSG.
Referenced by _receive().
| void RealmConnection::_receive | ( | ) | [private] |
References _message(), realm::GrowBuffer::clear(), m_buf, m_socket, and UT_DEBUGMSG.
Referenced by _complete_packet(), and connect().
| UserJoinedPacketPtr RealmConnection::_receiveUserJoinedPacket | ( | ) | [private] |
References m_socket, realm::protocolv1::PACKET_USERJOINED, and tls_tunnel::read().
Referenced by _login().
| void RealmConnection::_signal | ( | ) | [private] |
References m_sig.
| void RealmConnection::addBuddy | ( | RealmBuddyPtr | buddy_ptr | ) |
References m_buddies.
| bool RealmConnection::connect | ( | ) |
| UT_uint8 RealmConnection::connection_id | ( | ) | [inline] |
References m_connection_id.
| void RealmConnection::disconnect | ( | void | ) |
References m_mutex, m_socket, and UT_DEBUGMSG.
| std::vector<RealmBuddyPtr>& RealmConnection::getBuddies | ( | ) | [inline] |
References m_buddies.
| RealmBuddyPtr RealmConnection::getBuddy | ( | UT_uint8 | realm_connection_id | ) |
References m_buddies, and UT_continue_if_fail.
| PD_Document* RealmConnection::getDocument | ( | void | ) | [inline] |
References m_pDoc.
| boost::shared_ptr<PendingDocumentProperties> RealmConnection::getPendingDocProps | ( | ) | [inline] |
References m_pdp_ptr.
| bool RealmConnection::isConnected | ( | ) |
References m_socket.
| void RealmConnection::loadDocumentEnd | ( | ) | [inline] |
References m_pdp_ptr.
| void RealmConnection::loadDocumentStart | ( | AP_Dialog_GenericProgress * | pDlg, | |
| PD_Document ** | pDoc_, | |||
| XAP_Frame * | pFrame_, | |||
| const std::string & | filename_, | |||
| bool | bLocallyOwned_ | |||
| ) | [inline] |
References m_pdp_ptr, and UT_return_if_fail.
| bool RealmConnection::master | ( | ) | [inline] |
References m_master.
| void RealmConnection::promote | ( | ) |
References m_buddies, m_master, UT_continue_if_fail, and UT_DEBUGMSG.
| SynchronizedQueue<realm::protocolv1::PacketPtr>& RealmConnection::queue | ( | ) | [inline] |
References m_packet_queue.
| void RealmConnection::removeBuddy | ( | UT_uint8 | realm_connection_id | ) |
References m_buddies, UT_ASSERT_HARMLESS, UT_continue_if_fail, and UT_SHOULD_NOT_HAPPEN.
| const std::string& RealmConnection::session_id | ( | ) | [inline] |
References m_session_id.
| void RealmConnection::setDocument | ( | PD_Document * | pDoc | ) | [inline] |
References m_pDoc.
| asio::ip::tcp::socket& RealmConnection::socket | ( | ) | [inline] |
References m_socket.
std::string RealmConnection::m_address [private] |
Referenced by connect().
std::vector<RealmBuddyPtr> RealmConnection::m_buddies [private] |
Referenced by addBuddy(), getBuddies(), getBuddy(), promote(), and removeBuddy().
realm::GrowBuffer RealmConnection::m_buf [private] |
Referenced by _complete(), _complete_packet(), and _receive().
std::string RealmConnection::m_ca_file [private] |
Referenced by connect().
UT_uint8 RealmConnection::m_connection_id [private] |
Referenced by _login(), and connection_id().
std::string RealmConnection::m_cookie [private] |
Referenced by _login().
UT_uint64 RealmConnection::m_doc_id [private] |
Referenced by doc_id().
asio::io_service RealmConnection::m_io_service [private] |
Referenced by _disconnect(), and connect().
bool RealmConnection::m_master [private] |
abicollab::mutex RealmConnection::m_mutex [private] |
Referenced by _disconnect(), and disconnect().
Referenced by _complete_packet(), _disconnect(), and queue().
PD_Document* RealmConnection::m_pDoc [private] |
Referenced by getDocument(), and setDocument().
boost::shared_ptr<PendingDocumentProperties> RealmConnection::m_pdp_ptr [private] |
Referenced by getPendingDocProps(), loadDocumentEnd(), and loadDocumentStart().
int RealmConnection::m_port [private] |
Referenced by connect().
std::string RealmConnection::m_session_id [private] |
Referenced by session_id().
boost::function<void (boost::shared_ptr<RealmConnection>)> RealmConnection::m_sig [private] |
Referenced by _signal().
asio::ip::tcp::socket RealmConnection::m_socket [private] |
Referenced by _complete_packet(), _disconnect(), _login(), _receive(), _receiveUserJoinedPacket(), connect(), disconnect(), isConnected(), and socket().
boost::shared_ptr<asio::thread> RealmConnection::m_thread_ptr [private] |
Referenced by _disconnect(), and connect().
int RealmConnection::m_tls [private] |
Referenced by connect().
boost::shared_ptr<tls_tunnel::ClientProxy> RealmConnection::m_tls_tunnel_ptr [private] |
Referenced by _disconnect(), and connect().
UT_uint64 RealmConnection::m_user_id [private] |
1.7.1