Yate
Public Member Functions | Public Attributes | Protected Member Functions
MucRoom Class Reference

An account's MUC room contact. More...

#include <yatecbase.h>

Inheritance diagram for MucRoom:
ClientContact RefObject GenObject

List of all members.

Public Member Functions

 MucRoom (ClientAccount *owner, const char *id, const char *name, const char *uri, const char *nick=0)
MucRoomMember & resource ()
bool ownMember (MucRoomMember *item) const
bool ownMember (const String &item) const
bool available () const
bool canChat () const
bool canChatPrivate () const
bool canChangeSubject () const
bool canInvite () const
bool canKick (MucRoomMember *member) const
bool canBan (MucRoomMember *member) const
Message * buildMucRoom (const char *oper)
Message * buildJoin (bool join, bool history=true, unsigned int sNewer=0)
virtual MucRoom * mucRoom ()
virtual ClientResource * status (bool ref=false)
MucRoomMember * findMember (const String &nick)
MucRoomMember * findMember (const String &contact, const String &instance)
MucRoomMember * findMemberById (const String &id)
bool hasChat (const String &id)
virtual void flashChat (const String &id, bool on=true)
virtual void getChatInput (const String &id, String &text, const String &name="message")
virtual void setChatInput (const String &id, const String &text=String::empty(), const String &name="message")
virtual void getChatHistory (const String &id, String &text, bool richText=false, const String &name="history")
virtual void setChatHistory (const String &id, const String &text, bool richText=false, const String &name="history")
virtual void addChatHistory (const String &id, const String &what, NamedList *&params, const String &name="history")
virtual void setChatProperty (const String &id, const String &name, const String &prop, const String &value)
virtual bool showChat (const String &id, bool visible, bool active=false)
virtual void createChatWindow (const String &id, bool force=false, const char *name=0)
virtual void updateChatWindow (const String &id, const NamedList &params)
virtual bool isChatActive (const String &id)
void destroyChatWindow (const String &id=String::empty())
virtual ClientResource * findResource (const String &id, bool ref=false)
virtual ClientResource * appendResource (const String &nick)
virtual bool insertResource (ClientResource *res)
virtual bool removeResource (const String &nick, bool delChat=false)

Public Attributes

String m_password

Protected Member Functions

virtual void destroyed ()

Detailed Description

An account's MUC room contact.

This class holds a client account's MUC room contact. The list of resources contains MucRoomMember items. Contact nick is held by own MucRoomMember name The contact uri is the room uri The contact name is the room name The contact resource member uri is the account's uri


Constructor & Destructor Documentation

MucRoom ( ClientAccount *  owner,
const char *  id,
const char *  name,
const char *  uri,
const char *  nick = 0 
) [explicit]

Constructor. Append itself to the owner's list

Parameters:
ownerThe contact's owner
idThe contact's id
nameRoom name
uriRoom uri
nickOptional room nick

Member Function Documentation

virtual void addChatHistory ( const String &  id,
const String &  what,
NamedList *&  params,
const String &  name = "history" 
) [virtual]

Add an entry to chat history

Parameters:
idMember id
whatItem to add (chat_in, chat_out, ...)
paramsChat history item parameters (it will be consumed and zeroed)
nameChat history widget name
virtual ClientResource* appendResource ( const String &  nick) [virtual]

Append a member having a given nick

Parameters:
nickMember nick
Returns:
ClientResource pointer or 0 if a resource with the given name already exists

Reimplemented from ClientContact.

bool available ( ) const [inline]

Check if the user has joined the room

Returns:
True if the user is in the room
Message* buildJoin ( bool  join,
bool  history = true,
unsigned int  sNewer = 0 
)

Build a muc.room message used to login/logoff

Parameters:
joinTrue to login, false to logoff
historyTrue to request room history. Ignored if join is false
sNewerRequest history newer then given seconds. Ignored if 0 or history is false
Returns:
Message pointer
Message* buildMucRoom ( const char *  oper) [inline]

Build a muc.room message. Add the room parameter

Parameters:
operOperation parameter
Returns:
Message pointer

References NamedList::addParam(), and Client::buildMessage().

bool canBan ( MucRoomMember *  member) const

Check if the user can ban a given room member

Parameters:
memberRoom member
Returns:
True if the user can ban the member
bool canChangeSubject ( ) const [inline]

Check if the user can change room subject

Returns:
True if the user can change room subject
bool canChat ( ) const [inline]

Check if room chat can be sent

Returns:
True if the user is allowed to send chat to room
bool canChatPrivate ( ) const [inline]

Check if private chat can be sent

Returns:
True if the user is allowed to send private chat
bool canInvite ( ) const [inline]

Check if join invitations can be sent

Returns:
True if the user is allowed to invite contacts
bool canKick ( MucRoomMember *  member) const

Check if the user can kick a given room member

Parameters:
memberRoom member
Returns:
True if the user can kick the member
virtual void createChatWindow ( const String &  id,
bool  force = false,
const char *  name = 0 
) [virtual]

Create a member's chat

Parameters:
idMember id
forceTrue to destroy the current one if any
nameThe window's name. Defaults to global name if empty
void destroyChatWindow ( const String &  id = String::empty())

Close a member's chat or all chats

Parameters:
idMember id. Let it empty to clear all chats
virtual void destroyed ( ) [protected, virtual]

Remove from owner. Destroy the chat window. Release data

Reimplemented from ClientContact.

MucRoomMember* findMember ( const String &  nick)

Retrieve a room member (or own member) by its nick

Parameters:
nickNick to find
Returns:
MucRoomMember pointer or 0 if not found
MucRoomMember* findMember ( const String &  contact,
const String &  instance 
)

Retrieve a room member (or own member) by its contact and instance

Parameters:
contactMember's contact
instanceMember's instance
Returns:
MucRoomMember pointer or 0 if not found

Retrieve a room member (or own member) by its id

Parameters:
idMember id to find
Returns:
MucRoomMember pointer or 0 if not found
virtual ClientResource* findResource ( const String &  id,
bool  ref = false 
) [virtual]

Retrieve a room member (or own member) by its id

Parameters:
idThe id of the desired member
refTrue to obtain a referenced pointer
Returns:
ClientResource pointer or 0 if not found

Reimplemented from ClientContact.

virtual void flashChat ( const String &  id,
bool  on = true 
) [virtual]

Flash chat window/item to notify the user

Parameters:
idMember id
onTrue to start, false to stop flashing
virtual void getChatHistory ( const String &  id,
String &  text,
bool  richText = false,
const String &  name = "history" 
) [virtual]

Retrieve the contents of the chat history widget

Parameters:
idMember id
textChat history text
richTextRetrieve rich/plain text flag
nameChat history widget name
virtual void getChatInput ( const String &  id,
String &  text,
const String &  name = "message" 
) [virtual]

Retrieve the contents of the chat input widget

Parameters:
idMember id
textChat input text
nameChat input widget name
bool hasChat ( const String &  id)

Check if a given member has chat displayed

Parameters:
idMember id
Returns:
True if the member has chat displayed
virtual bool insertResource ( ClientResource *  res) [inline, virtual]

Insert a resource in the list by its priority. If the resource is already there it will be extracted and re-inserted

Parameters:
resThe resource to insert
Returns:
True on success, false a resource with the same name already exists

Reimplemented from ClientContact.

virtual bool isChatActive ( const String &  id) [virtual]

Check if a member's chat is active

Returns:
True if the members's chat page is active
virtual MucRoom* mucRoom ( ) [inline, virtual]

Return a MucRoom contact from this one

Returns:
MucRoom pointer or 0

Reimplemented from ClientContact.

bool ownMember ( MucRoomMember *  item) const [inline]

Check if a given resource is the contact's member

Parameters:
itemMember pointer to check
Returns:
True if the given resource member is the contact itself
bool ownMember ( const String &  item) const [inline]

Check if a given resource is the contact's member

Parameters:
itemMember id to check
Returns:
True if the given resource member is the contact itself

References ClientResource::toString().

virtual bool removeResource ( const String &  nick,
bool  delChat = false 
) [virtual]

Remove a contact having a given nick

Parameters:
nickThe contact nick
delChatTrue to delete the chat
Returns:
True if the contact was removed
MucRoomMember& resource ( ) [inline]

Retrieve room resource

Returns:
Room resource
virtual void setChatHistory ( const String &  id,
const String &  text,
bool  richText = false,
const String &  name = "history" 
) [virtual]

Set the contents of the chat history widget

Parameters:
idMember id
textChat history text
richTextSet rich/plain text flag
nameChat history widget name
virtual void setChatInput ( const String &  id,
const String &  text = String::empty(),
const String &  name = "message" 
) [virtual]

Set the chat input widget text

Parameters:
idMember id
textChat input text
nameChat input widget name
virtual void setChatProperty ( const String &  id,
const String &  name,
const String &  prop,
const String &  value 
) [virtual]

Set a chat widget' property

Parameters:
idMember id
nameWidget name
propProperty name
valueProperty value
virtual bool showChat ( const String &  id,
bool  visible,
bool  active = false 
) [virtual]

Show or hide a member's chat

Parameters:
idMember id
visibleTrue to show, false to hide
activeTrue to activate the chat
Returns:
True on success
virtual ClientResource* status ( bool  ref = false) [inline, virtual]

Find the resource with the lowest status (room resource)

Parameters:
refTrue to obtain a referenced pointer
Returns:
ClientResource pointer or 0 if not found

Reimplemented from ClientContact.

virtual void updateChatWindow ( const String &  id,
const NamedList &  params 
) [virtual]

Update member parameters in chat window

Parameters:
idMember id
paramsParameters to set

Member Data Documentation

Room password


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