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

#include <client_buffer.hpp>

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

obby::basic_local_buffer< Document, Selector > obby::basic_buffer< Document, Selector > List of all members.

Public Types

typedef basic_local_buffer<
Document, Selector >::base_document_info_type 
base_document_info_type
typedef basic_client_document_info<
Document, Selector > 
document_info_type
typedef basic_local_buffer<
Document, Selector >::base_net_type 
base_net_type
typedef net6::basic_client<
Selector > 
net_type
typedef net6::default_accumulator<
bool, false > 
login_accumulator
typedef sigc::signal< void > signal_welcome_type
typedef sigc::signal< void,
login::error
signal_login_failed_type
typedef sigc::signal< void > signal_close_type
typedef sigc::signal< bool,
connection_settings
& >::template accumulated<
login_accumulator
signal_prompt_name_type
typedef sigc::signal< bool,
connection_settings
& >::template accumulated<
login_accumulator
signal_prompt_colour_type
typedef sigc::signal< bool,
connection_settings
& >::template accumulated<
login_accumulator
signal_prompt_global_password_type
typedef sigc::signal< bool,
connection_settings
& >::template accumulated<
login_accumulator
signal_prompt_user_password_type

Public Member Functions

 basic_client_buffer ()
void connect (const std::string &hostname, unsigned int port=6522)
void disconnect ()
void login (const std::string &name, const obby::colour &colour)
bool is_logged_in () const
virtual void document_create (const std::string &title, const std::string &encoding, const std::string &content="")
virtual void document_remove (base_document_info_type &doc)
document_info_typedocument_find (unsigned int owner_id, unsigned int id) const
virtual const userget_self () const
virtual const std::string & get_name () const
virtual void send_message (const std::string &message)
virtual void send_command (const command_query &query)
virtual void set_password (const std::string &password)
virtual void set_colour (const colour &colour)
void set_enable_keepalives (bool enable)
 Send keepalives to the server, if enabled.
signal_welcome_type welcome_event () const
signal_close_type close_event () const
signal_login_failed_type login_failed_event () const
signal_prompt_name_type prompt_name_event () const
signal_prompt_colour_type prompt_colour_event () const
signal_prompt_global_password_type prompt_global_password_event () const
signal_prompt_user_password_type prompt_user_password_event () const

Protected Member Functions

void register_signal_handlers ()
virtual base_document_info_typenew_document_info (const user *owner, unsigned int id, const std::string &title, unsigned int suffix, const std::string &encoding)
virtual base_document_info_typenew_document_info (const user *owner, unsigned int id, const std::string &title, const std::string &encoding, const std::string &content)
virtual base_document_info_typenew_document_info (const net6::packet &pack)
virtual base_net_typenew_net ()
void on_join (const net6::user &user6, const net6::packet &pack)
void on_part (const net6::user &user6, const net6::packet &pack)
void on_close ()
void on_encrypted ()
void on_data (const net6::packet &pack)
void on_login_failed (net6::login::error error)
void on_login_extend (net6::packet &pack)
virtual bool execute_packet (const net6::packet &pack)
virtual void on_net_welcome (const net6::packet &pack)
virtual void on_net_document_create (const net6::packet &pack)
virtual void on_net_document_remove (const net6::packet &pack)
virtual void on_net_message (const net6::packet &pack)
virtual void on_net_emote_message (const net6::packet &pack)
virtual void on_net_user_colour (const net6::packet &pack)
virtual void on_net_user_colour_failed (const net6::packet &pack)
virtual void on_net_sync_init (const net6::packet &pack)
virtual void on_net_sync_usertable_user (const net6::packet &pack)
virtual void on_net_sync_doclist_document (const net6::packet &pack)
virtual void on_net_sync_final (const net6::packet &pack)
virtual void on_net_document (const net6::packet &pack)
virtual void on_net_command_result (const net6::packet &pack)
void on_command_emote (const command_query &query, const command_result &result)
virtual void session_close ()
 Closes the session.
void session_close_impl ()
 Implementation of session_close() that does not call a base function.

Protected Attributes

const userm_self
connection_settings m_settings
bool m_enable_keepalives
signal_welcome_type m_signal_welcome
signal_close_type m_signal_close
signal_login_failed_type m_signal_login_failed
signal_prompt_name_type m_signal_prompt_name
signal_prompt_colour_type m_signal_prompt_colour
signal_prompt_global_password_type m_signal_prompt_global_password
signal_prompt_user_password_type m_signal_prompt_user_password

Private Member Functions

net_typenet6_client ()
const net_typenet6_client () const

Classes

struct  connection_settings

Detailed Description

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

Buffer to establish a connection to a basic_server_buffer.

Definition at line 35 of file client_buffer.hpp.


Member Typedef Documentation

template<typename Document, typename Selector>
typedef basic_local_buffer<Document, Selector>:: base_document_info_type obby::basic_client_buffer< Document, Selector >::base_document_info_type

Reimplemented from obby::basic_local_buffer< Document, Selector >.

Definition at line 48 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef basic_client_document_info<Document, Selector> obby::basic_client_buffer< Document, Selector >::document_info_type

Reimplemented from obby::basic_local_buffer< Document, Selector >.

Definition at line 51 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef basic_local_buffer<Document, Selector>:: base_net_type obby::basic_client_buffer< Document, Selector >::base_net_type

Reimplemented from obby::basic_local_buffer< Document, Selector >.

Definition at line 55 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef net6::basic_client<Selector> obby::basic_client_buffer< Document, Selector >::net_type

Reimplemented from obby::basic_local_buffer< Document, Selector >.

Definition at line 57 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef net6::default_accumulator<bool, false> obby::basic_client_buffer< Document, Selector >::login_accumulator

Definition at line 60 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef sigc::signal<void> obby::basic_client_buffer< Document, Selector >::signal_welcome_type

Definition at line 63 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef sigc::signal<void, login::error> obby::basic_client_buffer< Document, Selector >::signal_login_failed_type

Definition at line 65 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef sigc::signal<void> obby::basic_client_buffer< Document, Selector >::signal_close_type

Definition at line 67 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef sigc::signal<bool, connection_settings&>::template accumulated<login_accumulator> obby::basic_client_buffer< Document, Selector >::signal_prompt_name_type

Definition at line 71 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef sigc::signal<bool, connection_settings&>::template accumulated<login_accumulator> obby::basic_client_buffer< Document, Selector >::signal_prompt_colour_type

Definition at line 74 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef sigc::signal<bool, connection_settings&>::template accumulated<login_accumulator> obby::basic_client_buffer< Document, Selector >::signal_prompt_global_password_type

Definition at line 77 of file client_buffer.hpp.

template<typename Document, typename Selector>
typedef sigc::signal<bool, connection_settings&>::template accumulated<login_accumulator> obby::basic_client_buffer< Document, Selector >::signal_prompt_user_password_type

Definition at line 80 of file client_buffer.hpp.


Constructor & Destructor Documentation

template<typename Document, typename Selector>
obby::basic_client_buffer< Document, Selector >::basic_client_buffer (  ) 

Creates a new client_buffer that is not connected to anywhere.

Definition at line 344 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::on_command_emote(), and obby::command_queue::result_event().


Member Function Documentation

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::connect ( const std::string &  hostname,
unsigned int  port = 6522 
)

Connects to the given host where a obby server is assumed to be running. After the connection has been established, signal_welcome will be emitted after the server sent us some initial data At this point the login function may be used to login as a user with a given colour. TODO: Ask username and colour parameters already here and login implicitly after having called connect().

Parameters:
hostname Host name to connect to. If hostname is not an IP address, a DNS lookup will be performed.
port Port to connect to. 6522 is the default obby port.

Definition at line 358 of file client_buffer.hpp.

References obby::IPV6_ENABLED, obby::basic_client_buffer< Document, Selector >::m_enable_keepalives, obby::basic_client_buffer< Document, Selector >::net6_client(), obby::basic_client_buffer< Document, Selector >::new_net(), and obby::basic_client_buffer< Document, Selector >::register_signal_handlers().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::disconnect (  ) 

Disconnects from a server. Note that documents and users are still available until reconnection. get_self() will still return the local user. is_logged_in() will returns false since the connection is lost.

Definition at line 405 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::session_close().

Referenced by obby::basic_client_buffer< Document, Selector >::on_close().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::login ( const std::string &  name,
const obby::colour colour 
)

Sends a login request for this client. If either the login request failed because of name or colour are already in use or a password is required, prompt_*_event() will be emitted. It may be used to choose another name/colour or password. Returning false from those signal handlers tell obby to abort the login process, signal_login_failed will _not_ be emitted in this case.

TODO: Take connection_settings?

Parameters:
name User name for this client.
colour User colour.

Definition at line 420 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::connection_settings::colour, obby::basic_client_buffer< Document, Selector >::m_settings, obby::basic_client_buffer< Document, Selector >::connection_settings::name, and obby::basic_client_buffer< Document, Selector >::net6_client().

Referenced by obby::basic_client_buffer< Document, Selector >::on_login_failed().

template<typename Document, typename Selector>
bool obby::basic_client_buffer< Document, Selector >::is_logged_in (  )  const

Returns TRUE if the client is already logged in.

Definition at line 430 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::net6_client().

Referenced by obby::basic_client_buffer< Document, Selector >::document_create(), obby::basic_client_buffer< Document, Selector >::document_remove(), obby::basic_client_buffer< Document, Selector >::send_command(), obby::basic_client_buffer< Document, Selector >::send_message(), obby::basic_client_buffer< Document, Selector >::set_colour(), and obby::basic_client_buffer< Document, Selector >::set_password().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::document_create ( const std::string &  title,
const std::string &  encoding,
const std::string &  content = "" 
) [virtual]

Requests a new document at the server and sync its initial contents. signal_document_insert will be emitted if the server authorised the creation process.

Implements obby::basic_buffer< Document, Selector >.

Definition at line 443 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::is_logged_in(), obby::basic_client_buffer< Document, Selector >::m_self, obby::basic_client_buffer< Document, Selector >::net6_client(), and obby::basic_client_buffer< Document, Selector >::new_document_info().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::document_remove ( base_document_info_type doc  )  [virtual]

Requests the deletion of a document at the server. signal_document_remove will be emitted if the server authorized the deletion.

Implements obby::basic_buffer< Document, Selector >.

Definition at line 471 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::is_logged_in(), and obby::basic_client_buffer< Document, Selector >::net6_client().

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::document_info_type * obby::basic_client_buffer< Document, Selector >::document_find ( unsigned int  owner_id,
unsigned int  id 
) const

Looks for a document with the given ID which belongs to the user with the given owner ID. Note that we do not take a real user object here because the ID is enough and one might not have a user object to the corresponding ID. So a time-consuming lookup is obsolete.

Reimplemented from obby::basic_local_buffer< Document, Selector >.

Definition at line 491 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::on_net_document_create(), and obby::basic_client_buffer< Document, Selector >::on_net_sync_doclist_document().

template<typename Document, typename Selector>
const obby::user & obby::basic_client_buffer< Document, Selector >::get_self (  )  const [virtual]

Returns the local user.

Implements obby::basic_local_buffer< Document, Selector >.

Definition at line 500 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_self.

Referenced by obby::basic_client_buffer< Document, Selector >::send_message().

template<typename Document, typename Selector>
const std::string & obby::basic_client_buffer< Document, Selector >::get_name (  )  const [virtual]

Returns the name of the local user even if the login process has not already completed.

Reimplemented from obby::basic_local_buffer< Document, Selector >.

Definition at line 514 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_self, obby::basic_client_buffer< Document, Selector >::m_settings, and obby::basic_client_buffer< Document, Selector >::connection_settings::name.

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::send_message ( const std::string &  message  )  [virtual]

Sends a global message to all users.

Implements obby::basic_buffer< Document, Selector >.

Definition at line 523 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::get_self(), obby::basic_client_buffer< Document, Selector >::is_logged_in(), obby::basic_client_buffer< Document, Selector >::m_self, and obby::basic_client_buffer< Document, Selector >::net6_client().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::send_command ( const command_query query  )  [virtual]

Sends a command to the server and asks for execution.

Implements obby::basic_local_buffer< Document, Selector >.

Definition at line 553 of file client_buffer.hpp.

References obby::command_query::append_packet(), obby::basic_client_buffer< Document, Selector >::is_logged_in(), and obby::basic_client_buffer< Document, Selector >::net6_client().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::set_password ( const std::string &  password  )  [virtual]

Set user password.

Definition at line 573 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::is_logged_in(), and obby::basic_client_buffer< Document, Selector >::net6_client().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::set_colour ( const colour colour  )  [virtual]

Set user colour.

Implements obby::basic_local_buffer< Document, Selector >.

Definition at line 591 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::is_logged_in(), and obby::basic_client_buffer< Document, Selector >::net6_client().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::set_enable_keepalives ( bool  enable  ) 

Send keepalives to the server, if enabled.

With this option enabled, the client sends keepalive packets to the server when the connection is otherwise idle to make sure that the connection has not gone away.

Definition at line 609 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_enable_keepalives, and obby::basic_client_buffer< Document, Selector >::net6_client().

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::signal_welcome_type obby::basic_client_buffer< Document, Selector >::welcome_event (  )  const

Signal which will be emitted after the first packet, the welcome packet, is received. This is a good place to perform a call to the login function. Note that you cannot login earlier because the server's public key is not known at that time.

Definition at line 620 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_signal_welcome.

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::signal_close_type obby::basic_client_buffer< Document, Selector >::close_event (  )  const

Signal which will be emitted if the connection to the server has been lost.

Definition at line 664 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_signal_close.

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::signal_login_failed_type obby::basic_client_buffer< Document, Selector >::login_failed_event (  )  const

Signal which will be emitted if a login request did not succeed.

Definition at line 627 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_signal_login_failed.

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::signal_prompt_name_type obby::basic_client_buffer< Document, Selector >::prompt_name_event (  )  const

Signal which will be emitted if the name is already in use.

Definition at line 634 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_signal_prompt_name.

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::signal_prompt_colour_type obby::basic_client_buffer< Document, Selector >::prompt_colour_event (  )  const

Signal which will be emitted if the colour is already in use.

Definition at line 641 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_signal_prompt_colour.

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::signal_prompt_global_password_type obby::basic_client_buffer< Document, Selector >::prompt_global_password_event (  )  const

Signal which will be emitted if a global password is required.

Definition at line 649 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_signal_prompt_global_password.

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::signal_prompt_user_password_type obby::basic_client_buffer< Document, Selector >::prompt_user_password_event (  )  const

Signal which will be emitted if a user password is required.

Definition at line 657 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_signal_prompt_user_password.

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::register_signal_handlers (  )  [protected]

Registers the signal handlers for the net6::client object. It may be used by derived classes to register these signal handlers.

Definition at line 1152 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::net6_client(), obby::basic_client_buffer< Document, Selector >::on_close(), obby::basic_client_buffer< Document, Selector >::on_data(), obby::basic_client_buffer< Document, Selector >::on_encrypted(), obby::basic_client_buffer< Document, Selector >::on_join(), obby::basic_client_buffer< Document, Selector >::on_login_extend(), obby::basic_client_buffer< Document, Selector >::on_login_failed(), and obby::basic_client_buffer< Document, Selector >::on_part().

Referenced by obby::basic_client_buffer< Document, Selector >::connect().

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::base_document_info_type * obby::basic_client_buffer< Document, Selector >::new_document_info ( const user owner,
unsigned int  id,
const std::string &  title,
unsigned int  suffix,
const std::string &  encoding 
) [protected, virtual]

Creates a new document info object according to the type of buffer.

Definition at line 1173 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::net6_client().

Referenced by obby::basic_client_buffer< Document, Selector >::document_create(), obby::basic_client_buffer< Document, Selector >::on_net_document_create(), and obby::basic_client_buffer< Document, Selector >::on_net_sync_doclist_document().

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::base_document_info_type * obby::basic_client_buffer< Document, Selector >::new_document_info ( const user owner,
unsigned int  id,
const std::string &  title,
const std::string &  encoding,
const std::string &  content 
) [protected, virtual]

Creates a new document info object according to the type of buffer.

Definition at line 1188 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::net6_client().

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::base_document_info_type * obby::basic_client_buffer< Document, Selector >::new_document_info ( const net6::packet &  pack  )  [protected, virtual]

Creates a new document info object according to the type of buffer.

Definition at line 1202 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::net6_client().

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::base_net_type * obby::basic_client_buffer< Document, Selector >::new_net (  )  [protected, virtual]

Creates the underlaying net6 network object corresponding to the buffer's type. TODO: Make server_buffer's and host_buffer's new_net parameterless and call open() appropriately

Definition at line 1209 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::connect().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_join ( const net6::user &  user6,
const net6::packet &  pack 
) [protected]

net6 signal handlers.

Definition at line 670 of file client_buffer.hpp.

References obby::user_table::add_user(), obby::basic_client_buffer< Document, Selector >::m_self, and obby::basic_buffer< Document, Selector >::m_user_table.

Referenced by obby::basic_client_buffer< Document, Selector >::register_signal_handlers().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_part ( const net6::user &  user6,
const net6::packet &  pack 
) [protected]

Definition at line 689 of file client_buffer.hpp.

References obby::user::flags::CONNECTED, obby::user::flags::NONE, and obby::basic_format_string< string_type, stream_type >::str().

Referenced by obby::basic_client_buffer< Document, Selector >::register_signal_handlers().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_close (  )  [protected]

Definition at line 712 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::disconnect(), and obby::basic_client_buffer< Document, Selector >::m_signal_close.

Referenced by obby::basic_client_buffer< Document, Selector >::register_signal_handlers().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_encrypted (  )  [protected]

Definition at line 721 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_signal_welcome.

Referenced by obby::basic_client_buffer< Document, Selector >::register_signal_handlers().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_data ( const net6::packet &  pack  )  [protected]

Definition at line 728 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::execute_packet().

Referenced by obby::basic_client_buffer< Document, Selector >::register_signal_handlers().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_login_failed ( net6::login::error  error  )  [protected]

Definition at line 740 of file client_buffer.hpp.

References obby::login::ERROR_COLOUR_IN_USE, obby::login::ERROR_WRONG_GLOBAL_PASSWORD, obby::login::ERROR_WRONG_USER_PASSWORD, obby::basic_client_buffer< Document, Selector >::login(), obby::basic_client_buffer< Document, Selector >::m_settings, obby::basic_client_buffer< Document, Selector >::m_signal_login_failed, obby::basic_client_buffer< Document, Selector >::m_signal_prompt_colour, obby::basic_client_buffer< Document, Selector >::m_signal_prompt_global_password, obby::basic_client_buffer< Document, Selector >::m_signal_prompt_name, and obby::basic_client_buffer< Document, Selector >::m_signal_prompt_user_password.

Referenced by obby::basic_client_buffer< Document, Selector >::on_net_welcome(), and obby::basic_client_buffer< Document, Selector >::register_signal_handlers().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_login_extend ( net6::packet &  pack  )  [protected]

Definition at line 770 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::connection_settings::colour, obby::basic_client_buffer< Document, Selector >::connection_settings::global_password, obby::basic_client_buffer< Document, Selector >::m_settings, and obby::basic_client_buffer< Document, Selector >::connection_settings::user_password.

Referenced by obby::basic_client_buffer< Document, Selector >::register_signal_handlers().

template<typename Document, typename Selector>
bool obby::basic_client_buffer< Document, Selector >::execute_packet ( const net6::packet &  pack  )  [protected, virtual]

Executes a given network packet.

Definition at line 785 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::on_net_command_result(), obby::basic_client_buffer< Document, Selector >::on_net_document(), obby::basic_client_buffer< Document, Selector >::on_net_document_create(), obby::basic_client_buffer< Document, Selector >::on_net_document_remove(), obby::basic_client_buffer< Document, Selector >::on_net_emote_message(), obby::basic_client_buffer< Document, Selector >::on_net_message(), obby::basic_client_buffer< Document, Selector >::on_net_sync_doclist_document(), obby::basic_client_buffer< Document, Selector >::on_net_sync_final(), obby::basic_client_buffer< Document, Selector >::on_net_sync_init(), obby::basic_client_buffer< Document, Selector >::on_net_sync_usertable_user(), obby::basic_client_buffer< Document, Selector >::on_net_user_colour(), obby::basic_client_buffer< Document, Selector >::on_net_user_colour_failed(), and obby::basic_client_buffer< Document, Selector >::on_net_welcome().

Referenced by obby::basic_client_buffer< Document, Selector >::on_data().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_welcome ( const net6::packet &  pack  )  [protected, virtual]

Welcome handling.

Definition at line 832 of file client_buffer.hpp.

References obby::login::ERROR_PROTOCOL_VERSION_MISMATCH, obby::basic_client_buffer< Document, Selector >::on_login_failed(), and obby::PROTOCOL_VERSION.

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_document_create ( const net6::packet &  pack  )  [protected, virtual]

Document commands.

Definition at line 856 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::document_find(), obby::user::get_id(), obby::basic_client_buffer< Document, Selector >::m_self, obby::basic_client_buffer< Document, Selector >::new_document_info(), and obby::basic_format_string< string_type, stream_type >::str().

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_document_remove ( const net6::packet &  pack  )  [protected, virtual]

Definition at line 903 of file client_buffer.hpp.

References obby::basic_document_info< Document, Selector >::unsubscribe_event(), obby::basic_document_info< Document, Selector >::user_begin(), and obby::basic_document_info< Document, Selector >::user_end().

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_message ( const net6::packet &  pack  )  [protected, virtual]

Messaging commands.

Definition at line 930 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_emote_message ( const net6::packet &  pack  )  [protected, virtual]

Definition at line 960 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_user_colour ( const net6::packet &  pack  )  [protected, virtual]

User colour commands.

Definition at line 987 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_user_colour_failed ( const net6::packet &  pack  )  [protected, virtual]

Definition at line 1006 of file client_buffer.hpp.

References obby::basic_local_buffer< Document, Selector >::m_signal_user_colour_failed.

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_sync_init ( const net6::packet &  pack  )  [protected, virtual]

Synchronisation commands.

Definition at line 1014 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::m_self.

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_sync_usertable_user ( const net6::packet &  pack  )  [protected, virtual]

Definition at line 1030 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_sync_doclist_document ( const net6::packet &  pack  )  [protected, virtual]

Definition at line 1053 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::document_find(), obby::user::get_id(), obby::basic_client_buffer< Document, Selector >::m_self, obby::basic_client_buffer< Document, Selector >::new_document_info(), and obby::basic_format_string< string_type, stream_type >::str().

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_sync_final ( const net6::packet &  pack  )  [protected, virtual]

Definition at line 1092 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_document ( const net6::packet &  pack  )  [protected, virtual]

Forwarding commands.

Definition at line 1099 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_net_command_result ( const net6::packet &  pack  )  [protected, virtual]

Commands.

Definition at line 1117 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::execute_packet().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::on_command_emote ( const command_query query,
const command_result result 
) [protected]

Definition at line 1127 of file client_buffer.hpp.

References obby::command_query::get_paramlist(), and obby::basic_client_buffer< Document, Selector >::m_self.

Referenced by obby::basic_client_buffer< Document, Selector >::basic_client_buffer().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::session_close (  )  [protected, virtual]

Closes the session.

Reimplemented from obby::basic_local_buffer< Document, Selector >.

Definition at line 1137 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::session_close_impl().

Referenced by obby::basic_client_buffer< Document, Selector >::disconnect().

template<typename Document, typename Selector>
void obby::basic_client_buffer< Document, Selector >::session_close_impl (  )  [protected]

Implementation of session_close() that does not call a base function.

Reimplemented from obby::basic_local_buffer< Document, Selector >.

Definition at line 1145 of file client_buffer.hpp.

References obby::basic_client_buffer< Document, Selector >::connection_settings::global_password, obby::basic_client_buffer< Document, Selector >::m_settings, and obby::basic_client_buffer< Document, Selector >::connection_settings::user_password.

Referenced by obby::basic_client_buffer< Document, Selector >::session_close().

template<typename Document, typename Selector>
basic_client_buffer< Document, Selector >::net_type & obby::basic_client_buffer< Document, Selector >::net6_client (  )  [private]

This function provides access to the underlaying net6::basic_client object.

Definition at line 1217 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::connect(), obby::basic_client_buffer< Document, Selector >::document_create(), obby::basic_client_buffer< Document, Selector >::document_remove(), obby::basic_client_buffer< Document, Selector >::is_logged_in(), obby::basic_client_buffer< Document, Selector >::login(), obby::basic_client_buffer< Document, Selector >::new_document_info(), obby::basic_client_buffer< Document, Selector >::register_signal_handlers(), obby::basic_client_buffer< Document, Selector >::send_command(), obby::basic_client_buffer< Document, Selector >::send_message(), obby::basic_client_buffer< Document, Selector >::set_colour(), obby::basic_client_buffer< Document, Selector >::set_enable_keepalives(), and obby::basic_client_buffer< Document, Selector >::set_password().

template<typename Document, typename Selector>
const basic_client_buffer< Document, Selector >::net_type & obby::basic_client_buffer< Document, Selector >::net6_client (  )  const [private]

This function provides access to the underlaying net6::basic_client object.

Definition at line 1226 of file client_buffer.hpp.


Member Data Documentation

template<typename Document, typename Selector>
const user* obby::basic_client_buffer< Document, Selector >::m_self [protected]

Definition at line 316 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::document_create(), obby::basic_client_buffer< Document, Selector >::get_name(), obby::basic_client_buffer< Document, Selector >::get_self(), obby::basic_client_buffer< Document, Selector >::on_command_emote(), obby::basic_client_buffer< Document, Selector >::on_join(), obby::basic_client_buffer< Document, Selector >::on_net_document_create(), obby::basic_client_buffer< Document, Selector >::on_net_sync_doclist_document(), obby::basic_client_buffer< Document, Selector >::on_net_sync_init(), and obby::basic_client_buffer< Document, Selector >::send_message().

template<typename Document, typename Selector>
connection_settings obby::basic_client_buffer< Document, Selector >::m_settings [protected]

Definition at line 318 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::get_name(), obby::basic_client_buffer< Document, Selector >::login(), obby::basic_client_buffer< Document, Selector >::on_login_extend(), obby::basic_client_buffer< Document, Selector >::on_login_failed(), and obby::basic_client_buffer< Document, Selector >::session_close_impl().

template<typename Document, typename Selector>
bool obby::basic_client_buffer< Document, Selector >::m_enable_keepalives [protected]

Definition at line 319 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::connect(), and obby::basic_client_buffer< Document, Selector >::set_enable_keepalives().

template<typename Document, typename Selector>
signal_welcome_type obby::basic_client_buffer< Document, Selector >::m_signal_welcome [protected]

Definition at line 321 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::on_encrypted(), and obby::basic_client_buffer< Document, Selector >::welcome_event().

template<typename Document, typename Selector>
signal_close_type obby::basic_client_buffer< Document, Selector >::m_signal_close [protected]

Definition at line 322 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::close_event(), and obby::basic_client_buffer< Document, Selector >::on_close().

template<typename Document, typename Selector>
signal_login_failed_type obby::basic_client_buffer< Document, Selector >::m_signal_login_failed [protected]

Definition at line 323 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::login_failed_event(), and obby::basic_client_buffer< Document, Selector >::on_login_failed().

template<typename Document, typename Selector>
signal_prompt_name_type obby::basic_client_buffer< Document, Selector >::m_signal_prompt_name [protected]

Definition at line 325 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::on_login_failed(), and obby::basic_client_buffer< Document, Selector >::prompt_name_event().

template<typename Document, typename Selector>
signal_prompt_colour_type obby::basic_client_buffer< Document, Selector >::m_signal_prompt_colour [protected]

Definition at line 326 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::on_login_failed(), and obby::basic_client_buffer< Document, Selector >::prompt_colour_event().

template<typename Document, typename Selector>
signal_prompt_global_password_type obby::basic_client_buffer< Document, Selector >::m_signal_prompt_global_password [protected]

Definition at line 327 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::on_login_failed(), and obby::basic_client_buffer< Document, Selector >::prompt_global_password_event().

template<typename Document, typename Selector>
signal_prompt_user_password_type obby::basic_client_buffer< Document, Selector >::m_signal_prompt_user_password [protected]

Definition at line 328 of file client_buffer.hpp.

Referenced by obby::basic_client_buffer< Document, Selector >::on_login_failed(), and obby::basic_client_buffer< Document, Selector >::prompt_user_password_event().


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