obby::basic_server_document_info< Document, Selector > Class Template Reference

#include <server_document_info.hpp>

Inheritance diagram for obby::basic_server_document_info< Document, Selector >:

obby::basic_document_info< Document, Selector > obby::basic_host_document_info< Document, Selector > List of all members.

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_typeget_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_typeget_net6 ()
const net_typeget_net6 () const

Protected Attributes

std::auto_ptr< jupiter_typem_jupiter

Detailed Description

template<typename Document, typename Selector>
class obby::basic_server_document_info< Document, Selector >

Information about a document that is provided without being subscribed to a document.

Definition at line 44 of file server_document_info.hpp.


Member Typedef Documentation

template<typename Document, typename Selector>
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.

template<typename Document, typename Selector>
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.

template<typename Document, typename Selector>
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.

template<typename Document, typename Selector>
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.

template<typename Document, typename Selector>
typedef jupiter_server<Document> obby::basic_server_document_info< Document, Selector >::jupiter_type

Definition at line 53 of file server_document_info.hpp.

template<typename Document, typename Selector>
typedef jupiter_type::record_type obby::basic_server_document_info< Document, Selector >::record_type

Definition at line 54 of file server_document_info.hpp.


Constructor & Destructor Documentation

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().


Member Function Documentation

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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.

template<typename Document, typename Selector>
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.

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().

template<typename Document, typename Selector>
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().


Member Data Documentation

template<typename Document, typename Selector>
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().


The documentation for this class was generated from the following file:
Generated on Fri Jan 11 10:01:33 2008 for obby by  doxygen 1.5.1