|
Yate
|
An account. More...
#include <yatecbase.h>
Public Member Functions | |
| ClientAccount (const char *proto, const char *user, const char *host, bool startup, ClientContact *contact=0) | |
| ClientAccount (const NamedList ¶ms, ClientContact *contact=0) | |
| const NamedList & | params () const |
| ObjList & | contacts () |
| ObjList & | mucs () |
| ClientContact * | contact () const |
| void | setContact (ClientContact *contact) |
| const String & | protocol () const |
| bool | hasChat () const |
| bool | hasPresence () const |
| bool | startup () const |
| void | startup (bool ok) |
| virtual const String & | toString () const |
| ClientResource * | resource (bool ref) |
| ClientResource & | resource () const |
| void | setResource (ClientResource *res) |
| bool | save (bool ok=true, bool savePwd=true) |
| virtual ClientContact * | findContact (const String &id, bool ref=false) |
| virtual ClientContact * | findContact (const String *name=0, const String *uri=0, const String *skipId=0, bool ref=false) |
| virtual ClientContact * | findContact (const String &id, const String &resid, bool ref=false) |
| virtual ClientContact * | findContactByUri (const String &uri, bool ref=false) |
| virtual MucRoom * | findRoom (const String &id, bool ref=false) |
| virtual MucRoom * | findRoomByUri (const String &uri, bool ref=false) |
| virtual ClientContact * | findAnyContact (const String &id, bool ref=false) |
| virtual ClientContact * | appendContact (const String &id, const char *name, const char *uri=0) |
| virtual ClientContact * | appendContact (const NamedList ¶ms) |
| virtual ClientContact * | removeContact (const String &id, bool delObj=true) |
| virtual void | clearRooms (bool saved, bool temp) |
| virtual Message * | userlogin (bool login, const char *msg="user.login") |
| virtual Message * | userData (bool update, const String &data, const char *msg="user.data") |
| virtual void | fillItemParams (NamedList &list) |
| const String & | dataDir () const |
| virtual bool | setupDataDir (String *errStr=0, bool saveAcc=true) |
| virtual bool | loadDataDirCfg (Configuration *cfg=0, const char *file="account.conf") |
| virtual void | loadContacts (Configuration *cfg=0) |
| virtual bool | clearDataDir (String *errStr=0) |
Public Attributes | |
| NamedList | m_params |
| Configuration | m_cfg |
Protected Member Functions | |
| virtual void | destroyed () |
| virtual void | appendContact (ClientContact *contact, bool muc=false) |
Protected Attributes | |
| ObjList | m_contacts |
| ObjList | m_mucs |
Friends | |
| class | ClientContact |
| class | MucRoom |
An account.
This class holds an account
| ClientAccount | ( | const char * | proto, |
| const char * | user, | ||
| const char * | host, | ||
| bool | startup, | ||
| ClientContact * | contact = 0 |
||
| ) | [explicit] |
Constructor
| proto | The account's protocol |
| user | The account's username |
| host | The account's host |
| startup | True if the account should login at startup |
| contact | Optional account's own contact |
| ClientAccount | ( | const NamedList & | params, |
| ClientContact * | contact = 0 |
||
| ) | [explicit] |
Constructor. Build an account from a list of parameters
| params | The list of parameters used to build this account. The list's name will be used as account id |
| contact | Optional account's own contact |
| virtual ClientContact* appendContact | ( | const String & | id, |
| const char * | name, | ||
| const char * | uri = 0 |
||
| ) | [virtual] |
Build a contact and append it to the list
| id | The contact's id |
| name | The contact's name |
| uri | Optional contact URI |
| virtual ClientContact* appendContact | ( | const NamedList & | params | ) | [virtual] |
Build a contact and append it to the list
| params | Contact parameters |
| virtual bool clearDataDir | ( | String * | errStr = 0 | ) | [virtual] |
Clear account data directory
| errStr | Optional string to be filled with error string |
| virtual void clearRooms | ( | bool | saved, |
| bool | temp | ||
| ) | [virtual] |
Clear MUC rooms. This method is thread safe
| saved | True to clear saved rooms |
| temp | True to clear temporary rooms |
| ClientContact* contact | ( | ) | const [inline] |
Retrieve account own contact
Get this account's contacts. The caller should lock the account while browsing the list
| virtual void destroyed | ( | ) | [protected, virtual] |
Pre-destruction notification, called just before the object is deleted. Unlike in the destructor it is safe to call virtual methods here. Reimplementing this method allows to perform any object cleanups.
Reimplemented from RefObject.
| virtual void fillItemParams | ( | NamedList & | list | ) | [virtual] |
Fill a list used to update a account's list item
| list | Parameter list to fill |
| virtual ClientContact* findAnyContact | ( | const String & | id, |
| bool | ref = false |
||
| ) | [virtual] |
Find any contact (regular or MUC room) by its id
| id | The id of the desired contact |
| ref | True to obtain a referenced pointer |
| virtual ClientContact* findContact | ( | const String & | id, |
| bool | ref = false |
||
| ) | [virtual] |
Find a contact by its id
| id | The id of the desired contact |
| ref | True to obtain a referenced pointer |
| virtual ClientContact* findContact | ( | const String * | name = 0, |
| const String * | uri = 0, |
||
| const String * | skipId = 0, |
||
| bool | ref = false |
||
| ) | [virtual] |
Find a contact by name and/or uri. Account own contact is ignored
| name | Optional name to check (may be a pointer to an empty string) |
| uri | Optional uri to check (may be a pointer to an empty string) |
| skipId | Optional contact to skip |
| ref | True to obtain a referenced pointer |
| virtual ClientContact* findContact | ( | const String & | id, |
| const String & | resid, | ||
| bool | ref = false |
||
| ) | [virtual] |
Find a contact having a given id and resource
| id | The id of the desired contact |
| resid | The id of the desired resource |
| ref | True to obtain a referenced pointer |
| virtual ClientContact* findContactByUri | ( | const String & | uri, |
| bool | ref = false |
||
| ) | [virtual] |
Find a contact by its URI (build an id from account and uri)
| uri | The contact's uri |
| ref | True to get a referenced pointer |
Find a MUC room by its id
| id | Room id |
| ref | True to obtain a referenced pointer |
| virtual MucRoom* findRoomByUri | ( | const String & | uri, |
| bool | ref = false |
||
| ) | [virtual] |
Find a MUC room by its uri
| uri | Room uri |
| ref | True to obtain a referenced pointer |
| bool hasChat | ( | ) | const [inline] |
Check if the account's protocol has chat support
References TelEngine::YSTRING().
| bool hasPresence | ( | ) | const [inline] |
Check if the account's protocol has presence support
References TelEngine::YSTRING().
| virtual void loadContacts | ( | Configuration * | cfg = 0 | ) | [virtual] |
Load contacts from configuration file
| cfg | Optional configuration file to load. Load from account's conf file if 0 |
| virtual bool loadDataDirCfg | ( | Configuration * | cfg = 0, |
| const char * | file = "account.conf" |
||
| ) | [virtual] |
Load configuration file from data directory
| cfg | Optional configuration file to load. Load account's conf file if 0 |
| file | File name. Defaults to 'account.conf' |
Get this account's muc rooms. The caller should lock the account while browsing the list
Get this account's parameters
| virtual ClientContact* removeContact | ( | const String & | id, |
| bool | delObj = true |
||
| ) | [virtual] |
Remove a contact from list. Reset contact's owner
| id | The contact's id |
| delObj | True to delete the object if found |
| ClientResource* resource | ( | bool | ref | ) |
Get this account's resource
| ClientResource& resource | ( | ) | const [inline] |
Get this account's resource
| bool save | ( | bool | ok = true, |
| bool | savePwd = true |
||
| ) |
Save or remove this account to/from client accounts file. Parameters starting with "internal." are not saved
| ok | True to save, false to remove |
| savePwd | True to save the password |
| void setContact | ( | ClientContact * | contact | ) |
Set or reset account own contact
| contact | New account contact (may be NULL to reset it) |
| void setResource | ( | ClientResource * | res | ) |
Set this account's resource
| res | The new account's resource (ignored if 0) |
| virtual bool setupDataDir | ( | String * | errStr = 0, |
| bool | saveAcc = true |
||
| ) | [virtual] |
Set account directory in application data directory. Make sure it exists. Move all files from the old one if changed
| errStr | Optional string to be filled with error string |
| saveAcc | Save data directory parameter in client accounts |
| bool startup | ( | ) | const [inline] |
Check if the account should be logged in at startup
References TelEngine::YSTRING().
| void startup | ( | bool | ok | ) | [inline] |
Set the account's startup login flag
| ok | The account's startup login flag value |
References String::boolText().
Get a string representation of this object
Reimplemented from GenObject.
| virtual Message* userData | ( | bool | update, |
| const String & | data, | ||
| const char * | msg = "user.data" |
||
| ) | [virtual] |
Build a message used to update or query account userdata. Add account MUC rooms if data is 'chatrooms' and update
| update | True to update, false to query |
| data | Data to update or query |
| msg | Optional message name. Default to 'user.data' |
Build a login/logout message from account's data
| login | True to login, false to logout |
| msg | Optional message name. Default to 'user.login' |
1.7.6.1