Wt examples
4.10.4
|
A simple chat server. More...
#include <SimpleChatServer.h>
Classes | |
class | Client |
struct | ClientInfo |
Public Types | |
typedef std::set< Wt::WString > | UserSet |
Typedef for a collection of user names. | |
Public Member Functions | |
SimpleChatServer (Wt::WServer &server) | |
Create a new chat server. | |
SimpleChatServer (const SimpleChatServer &)=delete | |
SimpleChatServer & | operator= (const SimpleChatServer &)=delete |
bool | connect (Client *client, const ChatEventCallback &handleEvent) |
Connects to the chat server. | |
bool | disconnect (Client *client) |
Disconnect from the chat server. | |
bool | login (const Wt::WString &user) |
Try to login with given user name. | |
void | logout (const Wt::WString &user) |
Logout from the server. | |
bool | changeName (const Wt::WString &user, const Wt::WString &newUser) |
Changes the name. | |
Wt::WString | suggestGuest () |
Get a suggestion for a guest user name. | |
void | sendMessage (const Wt::WString &user, const Wt::WString &message) |
Send a message on behalve of a user. | |
UserSet | users () |
Get the users currently logged in. | |
Private Types | |
typedef std::map< Client *, ClientInfo > | ClientMap |
Private Member Functions | |
void | postChatEvent (const ChatEvent &event) |
Private Attributes | |
Wt::WServer & | server_ |
std::recursive_mutex | mutex_ |
ClientMap | clients_ |
UserSet | users_ |
A simple chat server.
Definition at line 84 of file SimpleChatServer.h.
|
private |
Definition at line 154 of file SimpleChatServer.h.
typedef std::set<Wt::WString> SimpleChatServer::UserSet |
Typedef for a collection of user names.
Definition at line 142 of file SimpleChatServer.h.
SimpleChatServer::SimpleChatServer | ( | Wt::WServer & | server | ) |
Create a new chat server.
Definition at line 55 of file SimpleChatServer.C.
|
delete |
Changes the name.
Definition at line 111 of file SimpleChatServer.C.
bool SimpleChatServer::connect | ( | Client * | client, |
const ChatEventCallback & | handleEvent ) |
Connects to the chat server.
The passed callback method is posted to when a new chat event is received.
Returns whether the client has been connected (or false if the client was already connected).
Definition at line 59 of file SimpleChatServer.C.
Try to login with given user name.
Returns false if the login was not successful.
Definition at line 84 of file SimpleChatServer.C.
Logout from the server.
Definition at line 98 of file SimpleChatServer.C.
|
delete |
Definition at line 152 of file SimpleChatServer.C.
Send a message on behalve of a user.
Definition at line 147 of file SimpleChatServer.C.
Wt::WString SimpleChatServer::suggestGuest | ( | ) |
Get a suggestion for a guest user name.
Definition at line 134 of file SimpleChatServer.C.
SimpleChatServer::UserSet SimpleChatServer::users | ( | ) |
Get the users currently logged in.
Definition at line 178 of file SimpleChatServer.C.
|
private |
Definition at line 158 of file SimpleChatServer.h.
|
private |
Definition at line 157 of file SimpleChatServer.h.
|
private |
Definition at line 156 of file SimpleChatServer.h.
|
private |
Definition at line 159 of file SimpleChatServer.h.