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)
MucRoomMemberresource ()
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
MessagebuildMucRoom (const char *oper)
MessagebuildJoin (bool join, bool history=true, unsigned int sNewer=0)
virtual MucRoommucRoom ()
virtual ClientResourcestatus (bool ref=false)
MucRoomMemberfindMember (const String &nick)
MucRoomMemberfindMember (const String &contact, const String &instance)
MucRoomMemberfindMemberById (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 ClientResourcefindResource (const String &id, bool ref=false)
virtual ClientResourceappendResource (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: