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:
owner The contact's owner
id The contact's id
name Room name
uri Room uri
nick Optional room nick


Member Function Documentation

MucRoomMember& resource (  )  [inline]

Retrieve room resource

Returns:
Room resource

bool ownMember ( MucRoomMember item  )  const [inline]

Check if a given resource is the contact's member

Parameters:
item Member 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:
item Member id to check
Returns:
True if the given resource member is the contact itself

References ClientResource::toString().

bool available (  )  const [inline]

Check if the user has joined the room

Returns:
True if the user is in the room

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 canChangeSubject (  )  const [inline]

Check if the user can change room subject

Returns:
True if the user can change room subject

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:
member Room member
Returns:
True if the user can kick the member

bool canBan ( MucRoomMember member  )  const

Check if the user can ban a given room member

Parameters:
member Room member
Returns:
True if the user can ban the member

Message* buildMucRoom ( const char *  oper  )  [inline]

Build a muc.room message. Add the room parameter

Parameters:
oper Operation parameter
Returns:
Message pointer

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

Message* buildJoin ( bool  join,
bool  history = true,
unsigned int  sNewer = 0 
)

Build a muc.room message used to login/logoff

Parameters:
join True to login, false to logoff
history True to request room history. Ignored if join is false
sNewer Request history newer then given seconds. Ignored if 0 or history is false
Returns:
Message pointer

virtual MucRoom* mucRoom (  )  [inline, virtual]

Return a MucRoom contact from this one

Returns:
MucRoom pointer or 0

Reimplemented from ClientContact.

virtual ClientResource* status ( bool  ref = false  )  [inline, virtual]

Find the resource with the lowest status (room resource)

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

Reimplemented from ClientContact.

MucRoomMember* findMember ( const String nick  ) 

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

Parameters:
nick Nick 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:
contact Member's contact
instance Member's instance
Returns:
MucRoomMember pointer or 0 if not found

MucRoomMember* findMemberById ( const String id  ) 

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

Parameters:
id Member id to find
Returns:
MucRoomMember pointer or 0 if not found

bool hasChat ( const String id  ) 

Check if a given member has chat displayed

Parameters:
id Member id
Returns:
True if the member has chat displayed

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

Flash chat window/item to notify the user

Parameters:
id Member id
on True to start, false to stop flashing

virtual void getChatInput ( const String id,
String text,
const String name = "message" 
) [virtual]

Retrieve the contents of the chat input widget

Parameters:
id Member id
text Chat input text
name Chat input 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:
id Member id
text Chat input text
name Chat input widget name

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:
id Member id
text Chat history text
richText Retrieve rich/plain text flag
name Chat history widget name

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:
id Member id
text Chat history text
richText Set rich/plain text flag
name Chat history widget name

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

Add an entry to chat history

Parameters:
id Member id
what Item to add (chat_in, chat_out, ...)
params Chat history item parameters (it will be consumed and zeroed)
name Chat history widget name

virtual void setChatProperty ( const String id,
const String name,
const String prop,
const String value 
) [virtual]

Set a chat widget' property

Parameters:
id Member id
name Widget name
prop Property name
value Property value

virtual bool showChat ( const String id,
bool  visible,
bool  active = false 
) [virtual]

Show or hide a member's chat

Parameters:
id Member id
visible True to show, false to hide
active True to activate the chat
Returns:
True on success

virtual void createChatWindow ( const String id,
bool  force = false,
const char *  name = 0 
) [virtual]

Create a member's chat

Parameters:
id Member id
force True to destroy the current one if any
name The window's name. Defaults to global name if empty

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

Update member parameters in chat window

Parameters:
id Member id
params Parameters to set

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

void destroyChatWindow ( const String id = String::empty()  ) 

Close a member's chat or all chats

Parameters:
id Member id. Let it empty to clear all chats

virtual ClientResource* findResource ( const String id,
bool  ref = false 
) [virtual]

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

Parameters:
id The id of the desired member
ref True to obtain a referenced pointer
Returns:
ClientResource pointer or 0 if not found

Reimplemented from ClientContact.

virtual ClientResource* appendResource ( const String nick  )  [virtual]

Append a member having a given nick

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

Reimplemented from ClientContact.

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:
res The resource to insert
Returns:
True on success, false a resource with the same name already exists

Reimplemented from ClientContact.

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

Remove a contact having a given nick

Parameters:
nick The contact nick
delChat True to delete the chat
Returns:
True if the contact was removed

virtual void destroyed (  )  [protected, virtual]

Remove from owner. Destroy the chat window. Release data

Reimplemented from ClientContact.


Member Data Documentation

Room password


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

Generated on Sat May 28 18:28:24 2011 for Yate by  doxygen 1.5.6