#include <server_document_info.hpp>
Inheritance diagram for obby::basic_server_document_info< Document, Selector >:

Public Types | |
| typedef basic_document_info< Document, Selector > | base_type |
| typedef base_type::document_type | document_type |
| typedef basic_server_buffer< Document, Selector > | buffer_type |
| typedef buffer_type::net_type | net_type |
| typedef jupiter_server< Document > | jupiter_type |
| typedef jupiter_type::record_type | record_type |
Public Member Functions | |
| basic_server_document_info (const buffer_type &buffer, net_type &net, const user *owner, unsigned int id, const std::string &title, const std::string &encoding, const std::string &content) | |
| basic_server_document_info (const buffer_type &buffer, net_type &net, const serialise::object &obj) | |
| virtual void | insert (position pos, const std::string &text) |
| virtual void | erase (position pos, position len) |
| virtual void | rename (const std::string &new_title) |
| void | subscribe_user (const user &user) |
| void | unsubscribe_user (const user &user) |
| virtual void | on_net_packet (const document_packet &pack, const user &from) |
| virtual void | obby_user_join (const user &user) |
| virtual void | obby_user_part (const user &user) |
| virtual void | obby_session_close () |
| Called when the session has been closed. | |
| const buffer_type & | get_buffer () const |
Protected Member Functions | |
| virtual void | user_subscribe (const user &user) |
| virtual void | user_unsubscribe (const user &user) |
| void | insert_impl (position pos, const std::string &text, const user *author) |
| void | erase_impl (position pos, position len, const user *author) |
| void | rename_impl (const std::string &new_title, const user *from) |
| bool | execute_packet (const document_packet &pack, const user &from) |
| virtual void | on_net_rename (const document_packet &pack, const user &from) |
| virtual void | on_net_record (const document_packet &pack, const user &from) |
| virtual void | on_net_subscribe (const document_packet &pack, const user &from) |
| virtual void | on_net_unsubscribe (const document_packet &pack, const obby::user &from) |
| virtual void | on_jupiter_record (const record_type &rec, const user &user, const obby::user *from) |
| void | broadcast_subscription (const user &user) |
| Broadcasts a user subscription to the other users. | |
| void | broadcast_unsubscription (const user &user) |
| Broadcasts user unsubscription to the other users. | |
| void | session_close_impl () |
| Implementation of the session close callback that does not call the base function. | |
| net_type & | get_net6 () |
| const net_type & | get_net6 () const |
Protected Attributes | |
| std::auto_ptr< jupiter_type > | m_jupiter |
Definition at line 44 of file server_document_info.hpp.
| typedef basic_document_info<Document, Selector> obby::basic_server_document_info< Document, Selector >::base_type |
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 48 of file server_document_info.hpp.
| typedef base_type::document_type obby::basic_server_document_info< Document, Selector >::document_type |
Reimplemented from obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 49 of file server_document_info.hpp.
| typedef basic_server_buffer<Document, Selector> obby::basic_server_document_info< Document, Selector >::buffer_type |
Reimplemented from obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 51 of file server_document_info.hpp.
| typedef buffer_type::net_type obby::basic_server_document_info< Document, Selector >::net_type |
Reimplemented from obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 52 of file server_document_info.hpp.
| typedef jupiter_server<Document> obby::basic_server_document_info< Document, Selector >::jupiter_type |
Definition at line 53 of file server_document_info.hpp.
| typedef jupiter_type::record_type obby::basic_server_document_info< Document, Selector >::record_type |
Definition at line 54 of file server_document_info.hpp.
| obby::basic_server_document_info< Document, Selector >::basic_server_document_info | ( | const buffer_type & | buffer, | |
| net_type & | net, | |||
| const user * | owner, | |||
| unsigned int | id, | |||
| const std::string & | title, | |||
| const std::string & | encoding, | |||
| const std::string & | content | |||
| ) |
Definition at line 199 of file server_document_info.hpp.
References obby::basic_document_info< Document, Selector >::assign_document(), obby::basic_server_document_info< Document, Selector >::get_net6(), obby::basic_document_info< Document, Selector >::m_document, obby::basic_server_document_info< Document, Selector >::m_jupiter, obby::basic_document_info< Document, Selector >::m_suffix, obby::basic_document_info< Document, Selector >::m_title, obby::basic_server_document_info< Document, Selector >::on_jupiter_record(), and obby::basic_server_document_info< Document, Selector >::user_subscribe().
| obby::basic_server_document_info< Document, Selector >::basic_server_document_info | ( | const buffer_type & | buffer, | |
| net_type & | net, | |||
| const serialise::object & | obj | |||
| ) |
Deserialises a document from a serialisation object.
Definition at line 246 of file server_document_info.hpp.
References obby::basic_document_info< Document, Selector >::assign_document(), obby::serialise::object::children_begin(), obby::serialise::object::children_end(), obby::basic_document_info< Document, Selector >::m_document, obby::basic_server_document_info< Document, Selector >::m_jupiter, and obby::basic_server_document_info< Document, Selector >::on_jupiter_record().
| void obby::basic_server_document_info< Document, Selector >::insert | ( | position | pos, | |
| const std::string & | text | |||
| ) | [virtual] |
Inserts the given text at the given position into the document.
Implements obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 295 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::insert_impl().
| void obby::basic_server_document_info< Document, Selector >::erase | ( | position | pos, | |
| position | len | |||
| ) | [virtual] |
Erases the given range from the document.
Implements obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 303 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::erase_impl().
| void obby::basic_server_document_info< Document, Selector >::rename | ( | const std::string & | new_title | ) | [virtual] |
Renames the given document.
Implements obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 311 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::rename_impl().
| void obby::basic_server_document_info< Document, Selector >::subscribe_user | ( | const user & | user | ) |
Subscribes the given user to this document.
Definition at line 318 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::broadcast_subscription(), obby::user::get_net6(), obby::basic_server_document_info< Document, Selector >::get_net6(), obby::basic_document_info< Document, Selector >::m_document, obby::basic_document_info< Document, Selector >::m_net, and obby::basic_server_document_info< Document, Selector >::user_subscribe().
Referenced by obby::basic_server_document_info< Document, Selector >::on_net_subscribe().
| void obby::basic_server_document_info< Document, Selector >::unsubscribe_user | ( | const user & | user | ) |
Unsubscribes the given user from this document.
Definition at line 360 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::broadcast_unsubscription(), obby::basic_document_info< Document, Selector >::m_net, and obby::basic_server_document_info< Document, Selector >::user_unsubscribe().
Referenced by obby::basic_server_document_info< Document, Selector >::on_net_unsubscribe().
| void obby::basic_server_document_info< Document, Selector >::on_net_packet | ( | const document_packet & | pack, | |
| const user & | from | |||
| ) | [virtual] |
Called by the buffer if a network event occured that belongs to the document.
Definition at line 378 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::execute_packet(), and obby::document_packet::get_command().
| void obby::basic_server_document_info< Document, Selector >::obby_user_join | ( | const user & | user | ) | [virtual] |
Called by the buffer when a user has joined.
Reimplemented from obby::basic_document_info< Document, Selector >.
Definition at line 391 of file server_document_info.hpp.
| void obby::basic_server_document_info< Document, Selector >::obby_user_part | ( | const user & | user | ) | [virtual] |
Called by the buffer when a user has left.
Reimplemented from obby::basic_document_info< Document, Selector >.
Definition at line 398 of file server_document_info.hpp.
| void obby::basic_server_document_info< Document, Selector >::obby_session_close | ( | ) | [virtual] |
Called when the session has been closed.
Reimplemented from obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 404 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::session_close_impl().
| void obby::basic_server_document_info< Document, Selector >::user_subscribe | ( | const user & | user | ) | [protected, virtual] |
Internal function that subscribes a user to this document.
Reimplemented from obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 412 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::m_jupiter.
Referenced by obby::basic_server_document_info< Document, Selector >::basic_server_document_info(), and obby::basic_server_document_info< Document, Selector >::subscribe_user().
| void obby::basic_server_document_info< Document, Selector >::user_unsubscribe | ( | const user & | user | ) | [protected, virtual] |
Internal function that unsubscribes a user from this document.
Reimplemented from obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 422 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::m_jupiter.
Referenced by obby::basic_server_document_info< Document, Selector >::unsubscribe_user().
| void obby::basic_server_document_info< Document, Selector >::insert_impl | ( | position | pos, | |
| const std::string & | text, | |||
| const user * | author | |||
| ) | [protected] |
Inserts text written by author into the document.
Definition at line 432 of file server_document_info.hpp.
References obby::basic_document_info< Document, Selector >::m_document, and obby::basic_server_document_info< Document, Selector >::m_jupiter.
Referenced by obby::basic_server_document_info< Document, Selector >::insert(), and obby::basic_host_document_info< Document, Selector >::insert().
| void obby::basic_server_document_info< Document, Selector >::erase_impl | ( | position | pos, | |
| position | len, | |||
| const user * | author | |||
| ) | [protected] |
Erases text from the document. The operation is performed by author.
Definition at line 449 of file server_document_info.hpp.
References obby::basic_document_info< Document, Selector >::m_document, and obby::basic_server_document_info< Document, Selector >::m_jupiter.
Referenced by obby::basic_server_document_info< Document, Selector >::erase(), and obby::basic_host_document_info< Document, Selector >::erase().
| void obby::basic_server_document_info< Document, Selector >::rename_impl | ( | const std::string & | new_title, | |
| const user * | from | |||
| ) | [protected] |
Renames the document. The operation is performed by from.
Definition at line 466 of file server_document_info.hpp.
References obby::basic_document_info< Document, Selector >::document_rename(), obby::basic_server_document_info< Document, Selector >::get_net6(), obby::basic_document_info< Document, Selector >::m_buffer, obby::basic_document_info< Document, Selector >::m_net, and obby::basic_document_info< Document, Selector >::m_suffix.
Referenced by obby::basic_server_document_info< Document, Selector >::on_net_rename(), obby::basic_server_document_info< Document, Selector >::rename(), and obby::basic_host_document_info< Document, Selector >::rename().
| bool obby::basic_server_document_info< Document, Selector >::execute_packet | ( | const document_packet & | pack, | |
| const user & | from | |||
| ) | [protected] |
Executes a network packet.
Definition at line 486 of file server_document_info.hpp.
References obby::document_packet::get_command(), obby::basic_server_document_info< Document, Selector >::on_net_record(), obby::basic_server_document_info< Document, Selector >::on_net_rename(), obby::basic_server_document_info< Document, Selector >::on_net_subscribe(), and obby::basic_server_document_info< Document, Selector >::on_net_unsubscribe().
Referenced by obby::basic_server_document_info< Document, Selector >::on_net_packet().
| void obby::basic_server_document_info< Document, Selector >::on_net_rename | ( | const document_packet & | pack, | |
| const user & | from | |||
| ) | [protected, virtual] |
Rename request.
Definition at line 507 of file server_document_info.hpp.
References obby::document_packet::get_param(), and obby::basic_server_document_info< Document, Selector >::rename_impl().
Referenced by obby::basic_server_document_info< Document, Selector >::execute_packet().
| void obby::basic_server_document_info< Document, Selector >::on_net_record | ( | const document_packet & | pack, | |
| const user & | from | |||
| ) | [protected, virtual] |
Change in a document.
Definition at line 520 of file server_document_info.hpp.
References obby::basic_document_info< Document, Selector >::m_buffer, and obby::basic_server_document_info< Document, Selector >::m_jupiter.
Referenced by obby::basic_server_document_info< Document, Selector >::execute_packet().
| void obby::basic_server_document_info< Document, Selector >::on_net_subscribe | ( | const document_packet & | pack, | |
| const user & | from | |||
| ) | [protected, virtual] |
Subscribe request.
Definition at line 536 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::subscribe_user().
Referenced by obby::basic_server_document_info< Document, Selector >::execute_packet().
| void obby::basic_server_document_info< Document, Selector >::on_net_unsubscribe | ( | const document_packet & | pack, | |
| const obby::user & | from | |||
| ) | [protected, virtual] |
Unsubscribe request.
Definition at line 544 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::unsubscribe_user().
Referenced by obby::basic_server_document_info< Document, Selector >::execute_packet().
| void obby::basic_server_document_info< Document, Selector >::on_jupiter_record | ( | const record_type & | rec, | |
| const user & | user, | |||
| const obby::user * | from | |||
| ) | [protected, virtual] |
Callback from jupiter implementation with a record that may be sent to the given user.
Definition at line 552 of file server_document_info.hpp.
References obby::record< Document >::append_packet(), obby::user::get_net6(), and obby::basic_server_document_info< Document, Selector >::get_net6().
Referenced by obby::basic_server_document_info< Document, Selector >::basic_server_document_info().
| void obby::basic_server_document_info< Document, Selector >::broadcast_subscription | ( | const user & | user | ) | [protected] |
Broadcasts a user subscription to the other users.
Definition at line 564 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::get_net6().
Referenced by obby::basic_host_document_info< Document, Selector >::subscribe(), and obby::basic_server_document_info< Document, Selector >::subscribe_user().
| void obby::basic_server_document_info< Document, Selector >::broadcast_unsubscription | ( | const user & | user | ) | [protected] |
Broadcasts user unsubscription to the other users.
Definition at line 573 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::get_net6().
Referenced by obby::basic_host_document_info< Document, Selector >::unsubscribe(), and obby::basic_server_document_info< Document, Selector >::unsubscribe_user().
| void obby::basic_server_document_info< Document, Selector >::session_close_impl | ( | ) | [protected] |
Implementation of the session close callback that does not call the base function.
Reimplemented from obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 581 of file server_document_info.hpp.
References obby::basic_server_document_info< Document, Selector >::m_jupiter.
Referenced by obby::basic_server_document_info< Document, Selector >::obby_session_close().
| const basic_server_document_info< Document, Selector >::buffer_type & obby::basic_server_document_info< Document, Selector >::get_buffer | ( | ) | const |
Returns the buffer to which this document_info belongs.
Reimplemented from obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 588 of file server_document_info.hpp.
References obby::basic_document_info< Document, Selector >::get_buffer().
| basic_server_document_info< Document, Selector >::net_type & obby::basic_server_document_info< Document, Selector >::get_net6 | ( | ) | [protected] |
Returns the underlaying net6 object.
Reimplemented from obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 595 of file server_document_info.hpp.
References obby::basic_document_info< Document, Selector >::get_net6().
Referenced by obby::basic_server_document_info< Document, Selector >::basic_server_document_info(), obby::basic_server_document_info< Document, Selector >::broadcast_subscription(), obby::basic_server_document_info< Document, Selector >::broadcast_unsubscription(), obby::basic_server_document_info< Document, Selector >::on_jupiter_record(), obby::basic_server_document_info< Document, Selector >::rename_impl(), and obby::basic_server_document_info< Document, Selector >::subscribe_user().
| const basic_server_document_info< Document, Selector >::net_type & obby::basic_server_document_info< Document, Selector >::get_net6 | ( | ) | const [protected] |
Returns the underlaying net6 object.
Reimplemented from obby::basic_document_info< Document, Selector >.
Reimplemented in obby::basic_host_document_info< Document, Selector >.
Definition at line 602 of file server_document_info.hpp.
References obby::basic_document_info< Document, Selector >::get_net6().
std::auto_ptr<jupiter_type> obby::basic_server_document_info< Document, Selector >::m_jupiter [protected] |
Definition at line 180 of file server_document_info.hpp.
Referenced by obby::basic_host_document_info< Document, Selector >::basic_host_document_info(), obby::basic_server_document_info< Document, Selector >::basic_server_document_info(), obby::basic_server_document_info< Document, Selector >::erase_impl(), obby::basic_server_document_info< Document, Selector >::insert_impl(), obby::basic_server_document_info< Document, Selector >::on_net_record(), obby::basic_server_document_info< Document, Selector >::session_close_impl(), obby::basic_server_document_info< Document, Selector >::user_subscribe(), obby::basic_host_document_info< Document, Selector >::user_subscribe(), obby::basic_server_document_info< Document, Selector >::user_unsubscribe(), and obby::basic_host_document_info< Document, Selector >::user_unsubscribe().
1.5.1