|
Yate
|
An object list class. More...
#include <yateclass.h>
Public Member Functions | |
| ObjList () | |
| virtual | ~ObjList () |
| virtual void * | getObject (const String &name) const |
| unsigned int | length () const |
| unsigned int | count () const |
| GenObject * | get () const |
| GenObject * | set (const GenObject *obj, bool delold=true) |
| ObjList * | next () const |
| ObjList * | last () const |
| ObjList * | skipNull () const |
| ObjList * | skipNext () const |
| GenObject * | at (int index) const |
| ObjList * | operator+ (int index) const |
| GenObject * | operator[] (signed int index) const |
| GenObject * | operator[] (unsigned int index) const |
| GenObject * | operator[] (const String &str) const |
| ObjList * | find (const GenObject *obj) const |
| ObjList * | find (const String &str) const |
| int | index (const GenObject *obj) const |
| int | index (const String &str) const |
| ObjList * | insert (const GenObject *obj, bool compact=true) |
| ObjList * | append (const GenObject *obj, bool compact=true) |
| ObjList * | setUnique (const GenObject *obj, bool compact=true) |
| GenObject * | remove (bool delobj=true) |
| GenObject * | remove (GenObject *obj, bool delobj=true) |
| GenObject * | remove (const String &str, bool delobj=true) |
| void | clear () |
| void | compact () |
| bool | autoDelete () |
| void | setDelete (bool autodelete) |
| void | sort (int(*callbackCompare)(GenObject *obj1, GenObject *obj2, void *context), void *context=0) |
Public Member Functions inherited from GenObject | |
| GenObject () | |
| virtual | ~GenObject () |
| virtual bool | alive () const |
| virtual void | destruct () |
| virtual const String & | toString () const |
| virtual const String & | traceId () const |
| NamedCounter * | getObjCounter () const |
| NamedCounter * | setObjCounter (NamedCounter *counter) |
Static Public Member Functions | |
| static const ObjList & | empty () |
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 () |
An object list class.
A simple single-linked object list handling class
| ObjList | ( | ) |
Creates a new, empty list.
Referenced by append(), empty(), find(), find(), JBEntityCapsList::findCaps(), XMPPFeatureList::get(), insert(), last(), next(), operator+(), setUnique(), skipNext(), skipNull(), and sort().
|
virtual |
Destroys the list and everything in it.
Append an object to the end of the list
| obj | Pointer to the object to append |
| compact | True to replace NULL values in list if possible |
References compact(), GenObject::GenObject(), and ObjList().
Referenced by JGRtpMediaList::add(), XMPPFeatureList::add(), XMPPFeatureList::add(), XMPPFeatureList::add(), and JGSession::sendContent().
| GenObject * at | ( | int | index | ) | const |
Get the object at a specific index in list
| index | Index of the object to retrieve |
References GenObject::GenObject(), and index().
Referenced by operator[](), and operator[]().
|
inline |
Get the automatic delete flag
| void clear | ( | ) |
Clear the list and optionally delete all contained objects
Referenced by XMPPFeatureList::reset().
| void compact | ( | ) |
Remove all empty objects in the list
Referenced by append(), insert(), and setUnique().
| unsigned int count | ( | ) | const |
Get the number of non-null objects in the list
|
static |
A static empty object list
References ObjList().
Referenced by XmlParent::getChildren().
Get the item in the list that holds an object
| obj | Pointer to the object to search for |
References GenObject::GenObject(), and ObjList().
Referenced by ClientDir::findChildName(), XmlElement::findNextChild(), XMPPFeatureList::get(), NamedInt::lookup(), and JBEngine::remoteDomainDef().
|
inline |
Get the object associated to this list item
References GenObject::GenObject().
Referenced by ClientDir::findChildName(), XMPPFeatureList::get(), NamedInt::lookup(), and JBEngine::remoteDomainDef().
|
virtual |
Get a pointer to a derived class given that class name
| name | Name of the class we are asking for |
Reimplemented from GenObject.
| int index | ( | const GenObject * | obj | ) | const |
Get the position in list of a GenObject by a pointer to it
| obj | Pointer to the object to search for |
References GenObject::GenObject().
Referenced by at(), operator+(), operator[](), and operator[]().
| int index | ( | const String & | str | ) | const |
Insert an object at this point
| obj | Pointer to the object to insert |
| compact | True to replace NULL values in list if possible |
References compact(), GenObject::GenObject(), and ObjList().
| ObjList * last | ( | ) | const |
| unsigned int length | ( | ) | const |
Get the number of elements in the list
|
inline |
| ObjList * operator+ | ( | int | index | ) | const |
Array-like indexing operator
| str | String value of the object to locate |
References GenObject::GenObject().
|
inline |
Array-like indexing operator with signed parameter
| index | Index of the object to retrieve |
References at(), GenObject::GenObject(), and index().
|
inline |
Array-like indexing operator with unsigned parameter
| index | Index of the object to retrieve |
References at(), GenObject::GenObject(), and index().
| GenObject * remove | ( | bool | delobj = true | ) |
Delete this list item
| delobj | True to delete the object (default) |
References GenObject::GenObject().
Referenced by HashList::remove(), HashList::remove(), and XMPPFeatureList::remove().
Delete the first list item that holds an object with a iven value
| str | String value (toString) of the object to remove |
| delobj | True to delete the object (default) |
References GenObject::GenObject().
Delete the list item that holds a given object
| obj | Object to search in the list |
| delobj | True to delete the object (default) |
References GenObject::GenObject().
Set the object associated to this list item
| obj | Pointer to the new object to set |
| delold | True to delete the old object (default) |
References GenObject::GenObject().
|
inline |
Set the automatic delete flag
| autodelete | True to delete on destruct, false otherwise |
Referenced by JGSession::sendContent().
Set unique entry in this list. If not found, append it to the list
| obj | Pointer to the object to uniquely set in the list |
| compact | True to replace NULL values in list if possible |
References compact(), GenObject::GenObject(), and ObjList().
| ObjList * skipNext | ( | ) | const |
Advance in the list skipping over NULL holding items
References ObjList().
Referenced by JBEntityCapsList::findCaps(), XmlElement::findNextChild(), and NamedInt::lookupName().
| ObjList * skipNull | ( | ) | const |
Skip over NULL holding items in the list
References ObjList().
Referenced by JBEntityCapsList::findCaps(), DataTranslator::getConsumers(), XmlParent::hasChildren(), NamedInt::lookupName(), and NamedIterator::operator=().
| void sort | ( | int(* | callbackCompare )(GenObject *obj1, GenObject *obj2, void *context), |
| void * | context = 0 ) |
Sort this list
| callbackCompare | pointer to a callback function that should compare two objects.
obj1 First object of the comparation
obj2 Second object of the comparation
context Data context
return 0 if the objects are equal; positive value if obj2 > obj1; negative value if obj1 > obj2
Note: the function should expect receiving null pointers
|
| context | Context data. |
References GenObject::GenObject(), and ObjList().