|
|
A client contact The contact is using the owner's mutex to lock it's operations
enum Subscription { SubFrom = 0x01, SubTo = 0x02, } | Subscription |
Subscription flags
explicit ClientContact (ClientAccount* owner, const char* id, const char* name = 0,
const char* uri = 0)
| ClientContact |
Constructor. Append itself to the owner's list
Parameters:
owner | The contact's owner |
id | The contact's id |
name | Optional display name. Defaults to the id's value if 0 |
uri | Optional contact URI |
explicit ClientContact (ClientAccount* owner, const NamedList& params, const char* id = 0,
const char* uri = 0)
| ClientContact |
Constructor. Build a contact from a list of parameters. Append itself to the owner's list
Parameters:
owner | The contact's owner |
params | The list of parameters used to build this contact |
id | Optional contact id |
uri | Optional contact URI |
inline ClientAccount* account ()
| account |
Get this contact's account
Returns: This contact's account
inline const String& accountName ()
| accountName |
[const]
Get this contact account's name (id)
Returns: This contact account name (id) or an empty string if none
inline const URI& uri ()
| uri |
[const]
Get this contact's URI
Returns: This contact's URI
inline void setUri (const char* u)
| setUri |
Set this contact's URI
Parameters:
u | New contact URI |
inline const String& subscriptionStr ()
| subscriptionStr |
[const]
Retrieve contact subscription
Returns: Contact subscription string
inline bool subscriptionFrom ()
| subscriptionFrom |
[const]
Check if contact is subscribed to our presence
Returns: True if contact is subscribed to our presence
inline bool subscriptionTo ()
| subscriptionTo |
[const]
Check we are subscribed to contact's presence
Returns: True if we are subscribed to contact's presence
bool setSubscription (const String& value)
| setSubscription |
Set contact's subscription
Parameters:
value | Subscription value |
Returns: True if changed
inline ObjList& resources ()
| resources |
Get the resource list of this contact
Returns: The resource list of this contact
inline bool online ()
| online |
[const]
Check if the contact is online (the online flag is set or has at least 1 resource in list)
Returns: True if the contact is online
inline void setOnline (bool on)
| setOnline |
Set the online flag
Parameters:
on | The new value for online flag |
inline ObjList& groups ()
| groups |
Get the group list of this contact
Returns: The group list of this contact
inline bool local (bool defVal = false)
| local |
[const]
Check if the contact is locally saved
Parameters:
defVal | Default value to return if parameter is invalid |
Returns: True if the contact is locally saved
inline void setLocal (bool on)
| setLocal |
Set contact locally saved flag
Parameters:
on | The new value for locally saved flag |
inline bool remote (bool defVal = false)
| remote |
[const]
Check if the contact is saved on server
Parameters:
defVal | Default value to return if parameter is invalid |
Returns: True if the contact is saved on server
inline void setRemote (bool on)
| setRemote |
Set contact server saved flag
Parameters:
on | The new value for server saved flag |
inline void setDockedChat (bool on)
| setDockedChat |
Set/reset the docked chat flag for non MucRoom contact
Parameters:
on | The new value for docked chat flag |
inline void getContactSection (String& buf)
| getContactSection |
Remove account prefix from contact id and URI unescape the result
Parameters:
buf | Destination buffer |
const String& toString ()
| toString |
[const virtual]
Get a string representation of this object
Returns: The contact's id
Reimplemented from GenObject.
MucRoom* mucRoom ()
| mucRoom |
[virtual]
Return a MucRoom contact from this one
Returns: MucRoom pointer or 0
inline String& buildInstanceId (String& dest, const String& inst = String::empty())
| buildInstanceId |
Build a contact instance id to be used in UI
Parameters:
dest | Destination string |
inst | Instance name |
Returns: Destination string
inline void buildIdHash (String& buf, const String& prefix = String::empty())
| buildIdHash |
Build a string from prefix and contact id hash
Parameters:
buf | Destination string |
prefix | Optional prefix |
inline bool isChatWnd (Window* wnd)
| isChatWnd |
Check if a window is this contact's chat
Parameters:
wnd | The window to check |
Returns: True if the given window is this contact's chat
bool hasChat ()
| hasChat |
Check if this contact has a chat widget (window or docked item)
Returns: True if this contact has a chat window or docked item
void flashChat (bool on = true)
| flashChat |
[virtual]
Flash chat window/item to notify the user
Parameters:
on | True to start, false to stop flashing |
bool sendChat (const char* body, const String& res = String::empty(),
const String& type = String::empty(), const char* state = "active")
| sendChat |
[virtual]
Send chat to contact (enqueue a msg.execute message)
Parameters:
body | Chat body |
res | Optional target instance |
type | Optional message type parameter |
state | Optional chat state |
Returns: True on success
void getChatInput (String& text, const String& name = "message")
| getChatInput |
[virtual]
Retrieve the contents of the chat input widget
Parameters:
text | Chat input text |
name | Chat input widget name |
void setChatInput (const String& text = String::empty(),
const String& name = "message")
| setChatInput |
[virtual]
Set the chat input widget text
Parameters:
text | Chat input text |
name | Chat input widget name |
void getChatHistory (String& text, bool richText = false,
const String& name = "history")
| getChatHistory |
[virtual]
Retrieve the contents of the chat history widget
Parameters:
text | Chat history text |
richText | Retrieve rich/plain text flag |
name | Chat history widget name |
void setChatHistory (const String& text, bool richText = false,
const String& name = "history")
| setChatHistory |
[virtual]
Set the contents of the chat history widget
Parameters:
text | Chat history text |
richText | Set rich/plain text flag |
name | Chat history widget name |
void addChatHistory (const String& what, NamedList*& params,
const String& name = "history")
| addChatHistory |
[virtual]
Add an entry to chat history
Parameters:
what | Item to add (chat_in, chat_out, ...) |
params | Chat history item parameters (it will be consumed and zeroed) |
name | Chat history widget name |
void getChatProperty (const String& name, const String& prop, String& value)
| getChatProperty |
[virtual]
Retrieve a chat widget' property
Parameters:
name | Widget name |
prop | Property name |
value | Destination buffer |
void setChatProperty (const String& name, const String& prop, const String& value)
| setChatProperty |
[virtual]
Set a chat widget' property
Parameters:
name | Widget name |
prop | Property name |
value | Property value |
inline bool isChatVisible ()
| isChatVisible |
Check if this contact's chat window is visible
Returns: True if this contact's chat window is visible
bool showChat (bool visible, bool active = false)
| showChat |
[virtual]
Show or hide this contact's chat window or docked item
Parameters:
visible | True to show, false to hide the window or destroy the docked item |
active | True to activate the window or select the docked item if shown |
Returns: True on success
Window* getChatWnd ()
| getChatWnd |
Get the chat window
Returns: Valid Window pointer or 0
void createChatWindow (bool force = false, const char* name = 0)
| createChatWindow |
[virtual]
Create the chat window
Parameters:
force | True to destroy the current one if any |
name | The window's name. Defaults to global name if empty |
void updateChatWindow (const NamedList& params, const char* title = 0,
const char* icon = 0)
| updateChatWindow |
[virtual]
Update contact parameters in chat window
Parameters:
params | Parameters to set |
title | Optional window title to set (ignored if docked) |
icon | Optional window icon to set (ignored if docked) |
bool isChatActive ()
| isChatActive |
[virtual]
Check if the contact chat is active
Returns: True if the contact's chat window/page is active
void destroyChatWindow ()
| destroyChatWindow |
Close the chat window or destroy docked chat item
String* findGroup (const String& group)
| findGroup |
[virtual]
Find a group this contact might belong to
Parameters:
group | The name of the group to find |
Returns: String pointer or 0 if not found
bool appendGroup (const String& group)
| appendGroup |
[virtual]
Append a group to this contact
Parameters:
group | Group's name |
Returns: False if the group already exists
bool removeGroup (const String& group)
| removeGroup |
[virtual]
Remove a contact's group
Parameters:
group | Group's name |
Returns: False if the group was not found
bool setGroups (const NamedList& list, const String& param)
| setGroups |
[virtual]
Replace contact's groups from a list of parameters
Parameters:
list | The list of parameters |
param | The parameter name to handle |
Returns: True if the list changed
ClientResource* status (bool ref = false)
| status |
[virtual]
Find the resource with the lowest status
Parameters:
ref | True to obtain a referenced pointer |
Returns: ClientResource pointer or 0 if not found
ClientResource* findResource (const String& id, bool ref = false)
| findResource |
[virtual]
Find a resource having a given id
Parameters:
id | The id of the desired resource |
ref | True to obtain a referenced pointer |
Returns: ClientResource pointer or 0 if not found
ClientResource* findAudioResource (bool ref = false)
| findAudioResource |
[virtual]
Get the first resource with audio capability
Parameters:
ref | True to obtain a referenced pointer |
Returns: ClientResource pointer or 0 if not found
ClientResource* findFileTransferResource (bool ref = false)
| findFileTransferResource |
[virtual]
Get the first resource with file transfer capability capability
Parameters:
ref | True to obtain a referenced pointer |
Returns: ClientResource pointer or 0 if not found
ClientResource* appendResource (const String& id)
| appendResource |
[virtual]
Append a resource having a given id
Parameters:
id | The id of the desired resource |
Returns: ClientResource pointer or 0 if a resource with the given name already exists
bool insertResource (ClientResource* res)
| insertResource |
[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
bool removeResource (const String& id)
| removeResource |
[virtual]
Remove a resource having a given id
Parameters:
id | The id of the desired resource |
Returns: True if the resource was removed
inline NamedList& share ()
| share |
Retrieve files and folders we share with this contact
Returns: List of files and folders we share with this contact
inline bool haveShare ()
| haveShare |
[const]
Check if the list of share contains something
Returns: True if share list is not empty
void updateShare ()
| updateShare |
[virtual]
(re)load share list
void saveShare ()
| saveShare |
[virtual]
Save share list
void clearShare ()
| clearShare |
[virtual]
Clear share list
bool setShareDir (const String& name, const String& path, bool save = true)
| setShareDir |
[virtual]
Set a directory we share with this contact If share name is not empty it must be unique. Fails if another share has the same name
Parameters:
name | Share name |
path | Directory path |
save | True to save now if changed |
Returns: True if changed
bool removeShare (const String& name, bool save = true)
| removeShare |
[virtual]
Remove a share item
Parameters:
name | Share name |
save | True to save now if changed |
Returns: True if changed
inline ObjList& shared ()
| shared |
Retrieve shared data
Returns: Shared data list
bool haveShared ()
| haveShared |
[const]
Check if the list of shared contains something
Returns: True if shared list is not empty
ClientDir* getShared (const String& name, bool create = false)
| getShared |
[virtual]
Retrieve shared data for a given resource
Parameters:
name | Resource name |
create | True to create if not found |
Returns: True if changed
bool removeShared (const String& name = String::empty(), ClientDir** removed = 0)
| removeShared |
[virtual]
Remove shared data
Parameters:
name | Resource name to remove, empty to remove all |
removed | Optional pointer to removed directory |
Returns: True if changed
inline String& buildContactId (String& dest, const String& account,
const String& contact)
| buildContactId |
[static]
Build a contact id to be used in UI (all strings are URI escaped using extra '|' character)
Parameters:
dest | Destination string |
account | Account owning the contact |
contact | The contact's id |
Returns: Destination string
inline void splitContactId (const String& src, String& account)
| splitContactId |
[static]
Retrieve the account part of a contact id
Parameters:
src | Source string |
account | Account id (URI unescaped) |
void splitContactInstanceId (const String& src, String& account,
String& contact, String* instance = 0)
| splitContactInstanceId |
[static]
Split a contact instance id in account/contact/instance parts
Parameters:
src | Source string |
account | Account id (URI unescaped) |
contact | Contact id |
instance | Optional pointer to a String to be filled with instance id (URI unescaped) |
inline String& buildContactInstanceId (String& dest, const String& cId,
const String& inst = String::empty())
| buildContactInstanceId |
[static]
Build a contact instance id to be used in UI
Parameters:
dest | Destination string |
cId | Contact id |
inst | Instance name |
Returns: Destination string
static String s_chatPrefix | s_chatPrefix |
static String s_dockedChatWnd | s_dockedChatWnd |
static String s_dockedChatWidget | s_dockedChatWidget |
static String s_mucsWnd | s_mucsWnd |
static String s_chatInput | s_chatInput |
String m_name | m_name |
NamedList m_params | m_params |
explicit ClientContact (ClientAccount* owner, const char* id, bool mucRoom)
| ClientContact |
[protected]
Constructor. Append itself to the owner's list
Parameters:
owner | The contact's owner |
id | The contact's id |
mucRoom | True if this contact is a MUC room |
void removeFromOwner ()
| removeFromOwner |
[protected]
Remove from owner
void destroyed ()
| destroyed |
[protected virtual]
Remove from owner. Destroy the chat window. Release data
Reimplemented from RefObject.
ClientAccount* m_owner | m_owner |
[protected]
bool m_online | m_online |
[protected]
String m_id | m_id |
[protected]
String m_subscription | m_subscription |
[protected]
Flags32 m_sub | m_sub |
[protected]
URI m_uri | m_uri |
[protected]
ObjList m_resources | m_resources |
[protected]
ObjList m_groups | m_groups |
[protected]
bool m_dockedChat | m_dockedChat |
[protected]
String m_chatWndName | m_chatWndName |
[protected]
NamedList m_share | m_share |
[protected]
ObjList m_shared | m_shared |
[protected]
Generated by: paulc on bussard on Fri May 8 12:37:22 2015, using kdoc 2.0a54. |