| Wt examples
    3.3.0
    | 
Encapsulate a chat event. More...
#include <SimpleChatServer.h>
| Public Types | |
| enum | Type { Login, Logout, Rename, Message } | 
| Enumeration for the event type.  More... | |
| Public Member Functions | |
| Type | type () const | 
| Get the event type. | |
| const Wt::WString & | user () const | 
| Get the user who caused the event. | |
| const Wt::WString & | message () const | 
| Get the message of the event. | |
| const Wt::WString & | data () const | 
| Get the extra data for this event. | |
| const Wt::WString | formattedHTML (const Wt::WString &user, Wt::TextFormat format) const | 
| Get the message formatted as HTML, rendered for the given user. | |
| Private Member Functions | |
| ChatEvent (const Wt::WString &user, const Wt::WString &message) | |
| ChatEvent (Type type, const Wt::WString &user, const Wt::WString &data=Wt::WString::Empty) | |
| Private Attributes | |
| Type | type_ | 
| Wt::WString | user_ | 
| Wt::WString | data_ | 
| Wt::WString | message_ | 
| Friends | |
| class | SimpleChatServer | 
Encapsulate a chat event.
Definition at line 30 of file SimpleChatServer.h.
| enum ChatEvent::Type | 
| ChatEvent::ChatEvent | ( | const Wt::WString & | user, | 
| const Wt::WString & | message | ||
| ) |  [inline, private] | 
| ChatEvent::ChatEvent | ( | Type | type, | 
| const Wt::WString & | user, | ||
| const Wt::WString & | data = Wt::WString::Empty | ||
| ) |  [inline, private] | 
| const Wt::WString& ChatEvent::data | ( | ) | const  [inline] | 
Get the extra data for this event.
Definition at line 51 of file SimpleChatServer.h.
{ return data_; }
| const WString ChatEvent::formattedHTML | ( | const Wt::WString & | user, | 
| Wt::TextFormat | format | ||
| ) | const | 
Get the message formatted as HTML, rendered for the given user.
The format indicates how the message should be formatted. 
Definition at line 15 of file SimpleChatServer.C.
{
  switch (type_) {
  case Login:
    return WString::fromUTF8("<span class='chat-info'>")
      + WWebWidget::escapeText(user_) + " joined.</span>";
  case Logout:
    return WString::fromUTF8("<span class='chat-info'>")
      + ((user == user_) ?
         WString::fromUTF8("You") :
         WWebWidget::escapeText(user_))
      + " logged out.</span>";
  case Rename:
    return "<span class='chat-info'>"
      + ((user == data_ || user == user_) ?
         "You are" :
         (WWebWidget::escapeText(user_) + " is")) 
      + " now known as " + WWebWidget::escapeText(data_) + ".</span>";
  case Message:{
    WString result;
    result = WString("<span class='")
      + ((user == user_) ?
         "chat-self" :
         "chat-user")
      + "'>" + WWebWidget::escapeText(user_) + ":</span>";
    WString msg
      = (format == XHTMLText ? message_ : WWebWidget::escapeText(message_));
    if (message_.toUTF8().find(user.toUTF8()) != std::string::npos)
      return result + "<span class='chat-highlight'>" + msg + "</span>";
    else
      return result + msg;
  }
  default:
    return "";
  }
}
| const Wt::WString& ChatEvent::message | ( | ) | const  [inline] | 
Get the message of the event.
Definition at line 47 of file SimpleChatServer.h.
{ return message_; }
| Type ChatEvent::type | ( | ) | const  [inline] | 
| const Wt::WString& ChatEvent::user | ( | ) | const  [inline] | 
Get the user who caused the event.
Definition at line 43 of file SimpleChatServer.h.
{ return user_; }
| friend class SimpleChatServer  [friend] | 
Definition at line 78 of file SimpleChatServer.h.
| Wt::WString ChatEvent::data_  [private] | 
Definition at line 63 of file SimpleChatServer.h.
| Wt::WString ChatEvent::message_  [private] | 
Definition at line 64 of file SimpleChatServer.h.
| Type ChatEvent::type_  [private] | 
Definition at line 61 of file SimpleChatServer.h.
| Wt::WString ChatEvent::user_  [private] | 
Definition at line 62 of file SimpleChatServer.h.
 1.7.5.1
 1.7.5.1