Yate
ClientAccountList Class Reference

A client account list. More...

#include <yatecbase.h>

Inheritance diagram for ClientAccountList:
String Mutex GenObject Lockable

Public Member Functions

 ClientAccountList (const char *name, ClientAccount *localContacts=0)
 ~ClientAccountList ()
ObjListaccounts ()
ClientAccountlocalContacts () const
bool isLocalContact (ClientContact *c) const
bool isLocalContact (const String &id) const
virtual ClientAccountfindAccount (const String &id, bool ref=false)
virtual ClientContactfindContactByUri (const String &account, const String &uri, bool ref=false)
virtual ClientContactfindContact (const String &account, const String &id, bool ref=false)
virtual ClientContactfindContact (const String &builtId, bool ref=false)
virtual ClientContactfindContactByInstance (const String &id, String *instance=0, bool ref=false)
virtual MucRoomfindRoom (const String &id, bool ref=false)
virtual MucRoomfindRoomByMember (const String &id, bool ref=false)
virtual ClientContactfindAnyContact (const String &id, bool ref=false)
virtual ClientAccountfindSingleRegAccount (const String *skipProto=0, bool ref=false)
virtual bool appendAccount (ClientAccount *account)
virtual void removeAccount (const String &id)
Public Member Functions inherited from String
 String ()
 String (const char *value, int len=-1)
 String (char value, unsigned int repeat=1)
 String (int32_t value)
 String (uint32_t value)
 String (int64_t value)
 String (uint64_t value)
 String (bool value)
 String (double value)
 String (const String &value)
 String (const String *value)
virtual ~String ()
virtual void * getObject (const String &name) const
const char * c_str () const
const char * safe () const
const char * safe (const char *defStr) const
unsigned int length () const
bool null () const
int lenUtf8 (uint32_t maxChar=0x10ffff, bool overlong=false) const
int fixUtf8 (const char *replace=0, uint32_t maxChar=0x10ffff, bool overlong=false)
unsigned int encodeFlags (const TokenDict *tokens) const
uint64_t encodeFlags (const TokenDict64 *tokens) const
StringdecodeFlags (unsigned int flags, const TokenDict *tokens, bool unknownflag=true)
StringdecodeFlags (uint64_t flags, const TokenDict64 *tokens, bool unknownflag=true)
bool checkBOM () const
bool stripBOM ()
unsigned int hash () const
void clear ()
char at (int index) const
String substr (int offs, int len=-1) const
StringtrimBlanks ()
StringtrimSpaces ()
virtual const StringtoString () const
int toInteger (int defvalue=0, int base=0, int minvalue=INT_MIN, int maxvalue=INT_MAX, bool clamp=true) const
int toInteger (const TokenDict *tokens, int defvalue=0, int base=0) const
int toInteger (const TokenDictStr *tokens, int defvalue=0, int base=0) const
long int toLong (long int defvalue=0, int base=0, long int minvalue=LONG_MIN, long int maxvalue=LONG_MAX, bool clamp=true) const
int64_t toInt64 (int64_t defvalue=0, int base=0, int64_t minvalue=LLONG_MIN, int64_t maxvalue=LLONG_MAX, bool clamp=true) const
int64_t toInt64Dict (const TokenDict64 *tokens, int64_t defvalue=0, int base=0) const
int64_t toInt64Dict (const TokenDictStr64 *tokens, int64_t defvalue=0, int base=0) const
uint64_t toUInt64 (uint64_t defvalue=0, int base=0, uint64_t minvalue=0, uint64_t maxvalue=ULLONG_MAX, bool clamp=true) const
double toDouble (double defvalue=0.0) const
bool toBoolean (bool defvalue=false) const
bool isBoolean () const
StringtoUpper ()
StringtoLower ()
char operator[] (signed int index) const
char operator[] (unsigned int index) const
 operator const char * () const
Stringassign (const char *value, int len=-1)
Stringassign (char value, unsigned int repeat=1)
Stringhexify (const void *data, unsigned int len, char sep=0, bool upCase=false)
Stringoperator= (const String &value)
Stringoperator= (const String *value)
Stringoperator= (const char *value)
Stringoperator= (char value)
Stringoperator= (int32_t value)
Stringoperator= (uint32_t value)
Stringoperator= (int64_t value)
Stringoperator= (uint64_t value)
Stringoperator= (bool value)
Stringoperator= (double value)
Stringoperator+= (const char *value)
Stringoperator+= (char value)
Stringoperator+= (int32_t value)
Stringoperator+= (uint32_t value)
Stringoperator+= (int64_t value)
Stringoperator+= (uint64_t value)
Stringoperator+= (bool value)
Stringoperator+= (double value)
bool operator== (const char *value) const
bool operator!= (const char *value) const
bool operator== (const String &value) const
bool operator!= (const String &value) const
bool operator&= (const char *value) const
bool operator|= (const char *value) const
Stringoperator<< (const char *value)
Stringoperator<< (char value)
Stringoperator<< (int32_t value)
Stringoperator<< (uint32_t value)
Stringoperator<< (int64_t value)
Stringoperator<< (uint64_t value)
Stringoperator<< (bool value)
Stringoperator<< (double value)
Stringoperator>> (const char *skip)
Stringoperator>> (char &store)
Stringoperator>> (UChar &store)
Stringoperator>> (int &store)
Stringoperator>> (unsigned int &store)
Stringoperator>> (bool &store)
Stringappend (const char *value, int len)
Stringappend (const char *value, const char *separator=0, bool force=false)
Stringappend (const ObjList *list, const char *separator=0, bool force=false)
Stringappend (const ObjList &list, const char *separator=0, bool force=false)
Stringappend (char value, unsigned int len=1)
Stringappend (double value, unsigned int decimals=3)
Stringinsert (unsigned int pos, const char *value, int len=-1)
Stringinsert (unsigned int pos, char value, unsigned int len=1)
Stringprintf (const char *format,...)
Stringprintf (unsigned int length, const char *format,...)
StringprintfAppend (const char *format,...)
StringprintfAppend (unsigned int length, const char *format,...)
StringappendFixed (unsigned int fixedLength, const char *str, unsigned int len=-1, char fill=' ', int align=Left)
StringappendFixed (unsigned int fixedLength, const String &str, char fill=' ', int align=Left)
int find (char what, unsigned int offs=0) const
int find (const char *what, unsigned int offs=0) const
int rfind (char what) const
int rfind (const char *what) const
bool startsWith (const char *what, bool wordBreak=false, bool caseInsensitive=false) const
bool endsWith (const char *what, bool wordBreak=false, bool caseInsensitive=false) const
bool startSkip (const char *what, bool wordBreak=true, bool caseInsensitive=false)
StringreplaceChars (const char *what, const char *repl, bool inPlace=false, int wLen=-1, int rLen=-1, bool *chg=0)
StringremoveChars (const char *what, int wLen=-1, bool *chg=0)
StringextractTo (const char *sep, String &store)
StringextractTo (const char *sep, bool &store)
StringextractTo (const char *sep, int &store, int base=0)
StringextractTo (const char *sep, int &store, const TokenDict *tokens, int base=0)
StringextractTo (const char *sep, double &store)
virtual bool matches (const String &value) const
bool matches (const Regexp &rexp)
int matchOffset (int index=0) const
int matchLength (int index=0) const
String matchString (int index=0) const
String replaceMatches (const String &templ) const
int matchCount () const
ObjListsplit (ObjList &list, char separator, bool emptyOK=true) const
ObjListsplit (ObjList &list, const Regexp &reg, bool emptyOK=true) const
ObjListsplit (char separator, bool emptyOK=true) const
ObjListsplit (const Regexp &reg, bool emptyOK=true) const
String msgEscape (char extraEsc=0) const
String msgUnescape (int *errptr=0, char extraEsc=0) const
String sqlEscape (char extraEsc=0) const
StringuriEscapeTo (String &buf, char extraEsc=0, const char *noEsc=0) const
String uriEscape (char extraEsc=0, const char *noEsc=0) const
StringuriUnescapeTo (String &buf, bool setPartial=false, int *errptr=0) const
StringuriUnescapeStr (bool setPartial=false, int *errptr=0)
String uriUnescape (int *errptr=0, bool setPartial=true) const
Public Member Functions inherited from GenObject
 GenObject ()
virtual ~GenObject ()
virtual bool alive () const
virtual void destruct ()
virtual const StringtraceId () const
NamedCountergetObjCounter () const
NamedCountersetObjCounter (NamedCounter *counter)
Public Member Functions inherited from Mutex
 Mutex (bool recursive=false, const char *name=0)
 Mutex (const Mutex &original)
 ~Mutex ()
Mutexoperator= (const Mutex &original)
virtual bool lock (long maxwait=-1)
virtual bool unlock ()
virtual bool locked () const
const char * owner () const
bool recursive () const
virtual MutexlockableMutex ()
Public Member Functions inherited from Lockable
virtual ~Lockable ()
virtual bool check (long maxwait=-1)
virtual bool unlockAll ()
virtual SemaphorelockableSemaphore ()
virtual RWLocklockableRWLock ()

Protected Attributes

ObjList m_accounts

Additional Inherited Members

Public Types inherited from String
enum  Align { Left = 0 , Center , Right }
Static Public Member Functions inherited from String
static const Stringempty ()
static const char * boolText (bool value)
static int lenUtf8 (const char *value, uint32_t maxChar=0x10ffff, bool overlong=false)
static bool checkBOM (const char *str)
static bool stripBOM (const char *&str)
static bool stripBOM (char *&str)
static unsigned int hash (const char *value, unsigned int h=0)
static String msgEscape (const char *str, char extraEsc=0)
static String msgUnescape (const char *str, int *errptr=0, char extraEsc=0)
static String sqlEscape (const char *str, char extraEsc=0)
static StringuriEscapeTo (String &buf, const char *str, char extraEsc=0, const char *noEsc=0)
static StringuriEscapeTo (String &buf, const char *str, const char *extraEsc, const char *noEsc=0)
static String uriEscape (const char *str, char extraEsc=0, const char *noEsc=0)
static String uriEscape (const char *str, const char *extraEsc, const char *noEsc=0)
static StringuriUnescapeTo (String &buf, const char *str, bool setPartial=false, int *errptr=0)
static String uriUnescape (const char *str, int *errptr=0, bool setPartial=true)
static const Stringatom (const String *&str, const char *val)
static unsigned int c_starts_with (const char *str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
static unsigned int c_ends_with (const char *str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
static unsigned int c_skip (const char *&str, const char *what, int lenStr=-1, int lenWhat=-1, bool caseInsensitive=false)
static unsigned int c_skip_chars (const char *&str, const char *what, int len=-1, bool skipFound=true)
static char * c_replace_chars (const char *str, const char *what, const char *repl=0, bool inPlace=false, int wLen=-1, int rLen=-1, bool *chg=0)
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 NamedCountergetObjCounter (const String &name, bool create=true)
static ObjListgetObjCounters ()
Static Public Member Functions inherited from Mutex
static int count ()
static int locks ()
static bool efficientTimedLock ()
Static Public Member Functions inherited from Lockable
static void wait (unsigned long maxwait)
static unsigned long wait ()
static void startUsingNow ()
static void enableSafety (bool safe=true)
static bool safety ()
Protected Member Functions inherited from String
virtual void changed ()

Detailed Description

A client account list.

This class holds an account list

Constructor & Destructor Documentation

◆ ClientAccountList()

ClientAccountList ( const char * name,
ClientAccount * localContacts = 0 )
inlineexplicit

Constructor

Parameters
nameList's name used for debug purposes
localContactsOptional account owning locally stored contacts

References localContacts(), Mutex::Mutex(), and String::String().

◆ ~ClientAccountList()

Destructor

Member Function Documentation

◆ accounts()

ObjList & accounts ( )
inline

Get the accounts list

Returns
The accounts list

◆ appendAccount()

virtual bool appendAccount ( ClientAccount * account)
virtual

Append a new account. The account's reference counter is increased before

Parameters
accountThe account to append
Returns
True on succes, false if an account with the same id already exists

◆ findAccount()

virtual ClientAccount * findAccount ( const String & id,
bool ref = false )
virtual

Find an account

Parameters
idThe account's id
refTrue to get a referenced pointer
Returns
ClientAccount pointer or 0 if not found

References String::String().

◆ findAnyContact()

virtual ClientContact * findAnyContact ( const String & id,
bool ref = false )
virtual

Find any contact (regular or MUC room) by its id

Parameters
idThe id of the desired contact
refTrue to obtain a referenced pointer
Returns
ClientContact pointer (may be account's own contact) or 0 if not found

References String::String().

◆ findContact() [1/2]

virtual ClientContact * findContact ( const String & account,
const String & id,
bool ref = false )
virtual

Find an account's contact

Parameters
accountThe account's id
idThe contact's id
refTrue to get a referenced pointer
Returns
ClientContact pointer or 0 if not found

References String::String().

◆ findContact() [2/2]

virtual ClientContact * findContact ( const String & builtId,
bool ref = false )
virtual

Find an account's contact from a built id

Parameters
builtIdThe string containign the account and the contact
refTrue to get a referenced pointer
Returns
ClientContact pointer or 0 if not found

References String::String().

◆ findContactByInstance()

virtual ClientContact * findContactByInstance ( const String & id,
String * instance = 0,
bool ref = false )
virtual

Find a contact an instance id

Parameters
idThe id
instanceOptional pointer to String to be filled with instance id
refTrue to get a referenced pointer
Returns
ClientContact pointer or 0 if not found

References String::String().

◆ findContactByUri()

virtual ClientContact * findContactByUri ( const String & account,
const String & uri,
bool ref = false )
virtual

Find an account's contact by its URI (build an id from account and uri)

Parameters
accountThe account's id
uriThe contact's uri
refTrue to get a referenced pointer
Returns
ClientContact pointer or 0 if not found

References String::String().

◆ findRoom()

virtual MucRoom * findRoom ( const String & id,
bool ref = false )
virtual

Find a MUC room by its id

Parameters
idRoom id
refTrue to obtain a referenced pointer
Returns
MucRoom pointer or 0 if not found

References String::String().

◆ findRoomByMember()

virtual MucRoom * findRoomByMember ( const String & id,
bool ref = false )
virtual

Find a MUC room by member id

Parameters
idRoom member id
refTrue to obtain a referenced pointer
Returns
MucRoom pointer or 0 if not found

References String::String().

◆ findSingleRegAccount()

virtual ClientAccount * findSingleRegAccount ( const String * skipProto = 0,
bool ref = false )
virtual

Check if there is a single registered account and return it

Parameters
skipProtoOptional account protocol to skip
refTrue to get a referenced pointer
Returns
ClientAccount pointer or 0 if not found

References String::String().

◆ isLocalContact() [1/2]

bool isLocalContact ( ClientContact * c) const

Check if a contact is locally stored

Parameters
cThe contact to check
Returns
True if the contact owner is the account owning locally stored contacts

◆ isLocalContact() [2/2]

bool isLocalContact ( const String & id) const
inline

Check if a contact is locally stored

Parameters
idContact id to check
Returns
True if the contact owner is the account owning locally stored contacts

References String::String().

◆ localContacts()

ClientAccount * localContacts ( ) const
inline

Retrieve the account owning locally stored contacts

Returns
ClientAccount pointer or 0

Referenced by ClientAccountList().

◆ removeAccount()

virtual void removeAccount ( const String & id)
virtual

Remove an account

Parameters
idThe account's id

References String::String().


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