chatserver Class Reference

#include <chatserver.h>

List of all members.

Public Member Functions

 chatserver ()
 ~chatserver ()
void leadership_check (room *r)
 check if a channel still has an connected leader
void cleanup (world *w, std::string user)
 remove this user quit last room
void change_password (std::string text)
 change the password on the room
void join_channel (std::string channelname)
 join a room
void message (std::string text)
 send a message to a room
void list_channels (std::string dummy)
 ask for a list of rooms
void channel_info (std::string channel)
 get full information on a room
void title_channel (std::string title)
 change the title of a room
void quit (std::string message)
 leave the world
void channel_type (std::string type)
 set the join type of a room
void invite (std::string name)
 invite someone to your room
void whisper (std::string player)
 send a private message to a member
void leave (std::string channel)
 leave a room
void ignore (std::string player)
 ignore a specific player
void unignore (std::string player)
 show messages from a specific player again
void kick (std::string player)
 kick a member from the room
void mod (std::string player)
 give a member moderation rights
void unmod (std::string player)
 remove moderation rights
void mute (std::string player)
 remove speech from a specific member
void voice (std::string player)
 add speech again of a specific member
void silence (std::string text)
 remove speech from all non moderators
void unsilence (std::string text)
 allow speech from non moderators
void whispers (std::string dummy)
 allow whispers
void nowhispers (std::string text)
 deny whispers
void answer (std::string text)
 automatic answer to all whispers
void crown (std::string player)
 make another member room leader
void handler (channel *ch)
 routine to handle messages and commands from players
void client_handler (channel *ch)
 routines to handle communication with the central server
void ip_addr (std::string host)
 set the ip address of the central server
void session_set (std::string session)
 set the session id with the central server
void set_name (std::string n)
 set the name of the chatserver on the central server
void log_level (std::string level)
 Set the log level.
void log_file (std::string logfile)
 Set the log file.
void do_fork (std::string file)
 fork this task to the background
void main_loop ()
 main connunication loop


Constructor & Destructor Documentation

chatserver::chatserver (  ) 

chatserver::~chatserver (  ) 


Member Function Documentation

void chatserver::leadership_check ( room r  ) 

check if a channel still has an connected leader

Todo:
Cleanup of the room itself after the last person left a room

void chatserver::cleanup ( world w,
std::string  user 
)

remove this user quit last room

void chatserver::change_password ( std::string  text  ) 

change the password on the room

void chatserver::join_channel ( std::string  channelname  ) 

join a room

Let people join a channel.

Todo:
Passwords on channels.
Let people set a password on a channel, skip the check when people are already member.

void chatserver::message ( std::string  text  ) 

send a message to a room

Recieve a message and pass it on to the connected members.

Todo:
flood control
Implement flood control by a test if the same second another message was posted.
Todo:
implement a more relaxed way so send messages to clients
Do not send data immediatly when messages are distributed but on the moment there was already contact with the client or after a timeout of a second.

void chatserver::list_channels ( std::string  dummy  ) 

ask for a list of rooms

void chatserver::channel_info ( std::string  channel  ) 

get full information on a room

void chatserver::title_channel ( std::string  title  ) 

change the title of a room

void chatserver::quit ( std::string  message  ) 

leave the world

void chatserver::channel_type ( std::string  type  ) 

set the join type of a room

Set the type of a channel.

Todo:
add password to channel

void chatserver::invite ( std::string  name  ) 

invite someone to your room

void chatserver::whisper ( std::string  player  ) 

send a private message to a member

void chatserver::leave ( std::string  channel  ) 

leave a room

void chatserver::ignore ( std::string  player  ) 

ignore a specific player

void chatserver::unignore ( std::string  player  ) 

show messages from a specific player again

void chatserver::kick ( std::string  player  ) 

kick a member from the room

void chatserver::mod ( std::string  player  ) 

give a member moderation rights

void chatserver::unmod ( std::string  player  ) 

remove moderation rights

void chatserver::mute ( std::string  player  ) 

remove speech from a specific member

void chatserver::voice ( std::string  player  ) 

add speech again of a specific member

void chatserver::silence ( std::string  text  ) 

remove speech from all non moderators

void chatserver::unsilence ( std::string  text  ) 

allow speech from non moderators

void chatserver::whispers ( std::string  dummy  ) 

allow whispers

void chatserver::nowhispers ( std::string  text  ) 

deny whispers

void chatserver::answer ( std::string  text  ) 

automatic answer to all whispers

void chatserver::crown ( std::string  player  ) 

make another member room leader

void chatserver::handler ( channel ch  ) 

routine to handle messages and commands from players

Todo:
Check if the current cent_payload = 0 and when not let this new connection wait

void chatserver::client_handler ( channel ch  ) 

routines to handle communication with the central server

Todo:
safer implementation of c_member

void chatserver::ip_addr ( std::string  host  ) 

set the ip address of the central server

void chatserver::session_set ( std::string  session  ) 

set the session id with the central server

void chatserver::set_name ( std::string  n  ) 

set the name of the chatserver on the central server

void chatserver::log_level ( std::string  level  ) 

Set the log level.

void chatserver::log_file ( std::string  logfile  ) 

Set the log file.

void chatserver::do_fork ( std::string  file  ) 

fork this task to the background

void chatserver::main_loop (  ) 

main connunication loop


The documentation for this class was generated from the following files:

Generated on Tue Jan 1 17:30:01 2008 for chatserver Class Reference by  doxygen   Visit the project page on SourceForge.net Logo