Yate: MucRoom Class Reference

Yate

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Public Attributes | Protected Member Functions | List of all members
MucRoom Class Reference

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

`#include <yatecbase.h>`

Inheritance diagram for MucRoom:

## 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 Member Functions inherited from ClientContact
| ClientContact (ClientAccount *owner, const char *id, const char *name=0, const char *uri=0)
| ClientContact (ClientAccount *owner, const NamedList &params, const char *id=0, const char *uri=0)
ClientAccount * | account ()
const String & | accountName () const
const URI & | uri () const
void | setUri (const char *u)
const String & | subscriptionStr () const
bool | subscriptionFrom () const
bool | subscriptionTo () const
bool | setSubscription (const String &value)
ObjList & | resources ()
bool | online () const
void | setOnline (bool on)
ObjList & | groups ()
bool | local (bool defVal=false) const
void | setLocal (bool on)
bool | remote (bool defVal=false) const
void | setRemote (bool on)
void | setDockedChat (bool on)
void | getContactSection (String &buf)
virtual const String & | toString () const
String & | buildInstanceId (String &dest, const String &inst=String::empty())
void | buildIdHash (String &buf, const String &prefix=String::empty())
bool | isChatWnd (Window *wnd)
bool | hasChat ()
virtual void | flashChat (bool on=true)
virtual bool | sendChat (const char *body, const String &res=String::empty(), const String &type=String::empty(), const char *state="active")
virtual void | getChatInput (String &text, const String &name="message")
virtual void | setChatInput (const String &text=String::empty(), const String &name="message")
virtual void | getChatHistory (String &text, bool richText=false, const String &name="history")
virtual void | setChatHistory (const String &text, bool richText=false, const String &name="history")
virtual void | addChatHistory (const String &what, NamedList *&params, const String &name="history")
virtual void | getChatProperty (const String &name, const String &prop, String &value)
virtual void | setChatProperty (const String &name, const String &prop, const String &value)
bool | isChatVisible ()
virtual bool | showChat (bool visible, bool active=false)
Window * | getChatWnd ()
virtual void | createChatWindow (bool force=false, const char *name=0)
virtual void | updateChatWindow (const NamedList &params, const char *title=0, const char *icon=0)
virtual bool | isChatActive ()
void | destroyChatWindow ()
virtual String * | findGroup (const String &group)
virtual bool | appendGroup (const String &group)
virtual bool | removeGroup (const String &group)
virtual bool | setGroups (const NamedList &list, const String &param)
virtual ClientResource * | findAudioResource (bool ref=false)
virtual ClientResource * | findFileTransferResource (bool ref=false)
virtual bool | removeResource (const String &id)
NamedList & | share ()
bool | haveShare () const
virtual void | updateShare ()
virtual void | saveShare ()
virtual void | clearShare ()
virtual bool | setShareDir (const String &name, const String &path, bool save=true)
virtual bool | removeShare (const String &name, bool save=true)
ObjList & | shared ()
bool | haveShared () const
virtual ClientDir * | getShared (const String &name, bool create=false)
virtual bool | removeShared (const String &name=String::empty(), ClientDir **removed=0)
Public Member Functions inherited from RefObject
| RefObject ()
virtual | ~RefObject ()
virtual void * | getObject (const String &name) const
virtual bool | alive () const
bool | ref ()
bool | deref ()
int | refcount () const
virtual void | destruct ()
Public Member Functions inherited from GenObject
| GenObject ()
virtual | ~GenObject ()
virtual const String & | traceId () const
NamedCounter * | getObjCounter () const
NamedCounter * | setObjCounter (NamedCounter *counter)

## Public Attributes
String | m_password
Public Attributes inherited from ClientContact
String | m_name
NamedList | m_params

## Protected Member Functions
virtual void | destroyed ()
Protected Member Functions inherited from ClientContact
| ClientContact (ClientAccount *owner, const char *id, bool mucRoom)
void | removeFromOwner ()
Protected Member Functions inherited from RefObject
virtual void | zeroRefs ()
bool | resurrect ()

## Additional Inherited Members
Public Types inherited from ClientContact
enum | Subscription { SubFrom = 0x01, SubTo = 0x02 }
Static Public Member Functions inherited from ClientContact
static String & | buildContactId (String &dest, const String &account, const String &contact)
static void | splitContactId (const String &src, String &account)
static void | splitContactInstanceId (const String &src, String &account, String &contact, String *instance=0)
static String & | buildContactInstanceId (String &dest, const String &cId, const String &inst=String::empty())
Static Public Member Functions inherited from RefObject
static bool | alive (const RefObject *obj)
static bool | efficientIncDec ()
Static Public Member Functions inherited from GenObject
static void * | getObject (const String &name, const GenObject *obj)
static bool | getObjCounting ()
static void | setObjCounting (bool enable)
static NamedCounter * | getObjCounter (const String &name, bool create=true)
static ObjList & | getObjCounters ()
Static Public Attributes inherited from ClientContact
static String | s_chatPrefix
static String | s_dockedChatWnd
static String | s_dockedChatWidget
static String | s_mucsWnd
static String | s_chatInput
Protected Attributes inherited from ClientContact
ClientAccount * | m_owner
bool | m_online
String | m_id
String | m_subscription
Flags32 | m_sub
URI | m_uri
ObjList | m_resources
ObjList | m_groups
bool | m_dockedChat
String | m_chatWndName
NamedList | m_share
ObjList | m_shared

## 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

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 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.

bool available | ( |  | ) | const
| inline

Check if the user has joined the room

Returns
  True if the user is in the room

References ClientResource::online().

Referenced by MucRoom::canChangeSubject(), MucRoom::canChat(), MucRoom::canChatPrivate(), and MucRoom::canInvite().

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

Message* buildMucRoom | ( | const char * | oper | ) |
| inline

Build a muc.room message. Add the room parameter

Parameters

  oper | Operation parameter

Returns
  Message pointer

References ClientContact::accountName(), NamedList::addParam(), Client::buildMessage(), and ClientContact::uri().

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

bool canChangeSubject | ( |  | ) | const
| inline

Check if the user can change room subject

Returns
  True if the user can change room subject

References MucRoom::available().

bool canChat | ( |  | ) | const
| inline

Check if room chat can be sent

Returns
  True if the user is allowed to send chat to room

References MucRoom::available().

bool canChatPrivate | ( |  | ) | const
| inline

Check if private chat can be sent

Returns
  True if the user is allowed to send private chat

References MucRoom::available().

bool canInvite | ( |  | ) | const
| inline

Check if join invitations can be sent

Returns
  True if the user is allowed to invite contacts

References MucRoom::available().

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

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

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 void destroyed | ( |  | ) |
| protectedvirtual

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

  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

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 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 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 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

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 bool insertResource | ( | ClientResource * | res | ) |
| inlinevirtual

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 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 | ( |  | ) |
| inlinevirtual

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

  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().

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

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

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

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

  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 ClientResource* status | ( | bool | ref = `false` | ) |
| inlinevirtual

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.

References RefObject::ref().

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

Update member parameters in chat window

Parameters

  id | Member id
  params | Parameters to set

## Member Data Documentation

String m_password

Room password

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

- yatecbase.h