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) |
![]() | |
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 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.
|
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 |
Referenced by MimeLinesBody::addLine(), ClientChannel::addSlave(), CapturedEvent::append(), MimeMultipartBody::appendBody(), and MimeBody::appendHdr().
GenObject* at | ( | int | index | ) | const |
Get the object at a specific index in list
index | Index of the object to retrieve |
Referenced by ObjList::operator[]().
|
inline |
Get the automatic delete flag
void clear | ( | ) |
Clear the list and optionally delete all contained objects
Referenced by MessageDispatcher::clear(), XmlFragment::clearChildren(), and NamedList::clearParams().
void compact | ( | ) |
Remove all empty objects in the list
unsigned int count | ( | ) | const |
Get the number of non-null objects in the list
Referenced by Configuration::count(), NamedList::count(), and ClientChannel::slavesCount().
|
static |
A static empty object list
Referenced by XmlParent::getChildren().
Get the item in the list that holds an object
obj | Pointer to the object to search for |
Referenced by ClientChannel::addSlave(), UIFactory::canBuild(), ClientDir::findChildName(), XmlElement::findNextChild(), and NamedInt::lookup().
|
inline |
Get the object associated to this list item
Referenced by ClientDir::findChildName(), MessageDispatcher::hasHandlers(), MessageDispatcher::hasHooks(), MessageDispatcher::hasMessages(), and NamedInt::lookup().
|
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 |
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 |
ObjList* last | ( | ) | const |
Get the last item in the list
unsigned int length | ( | ) | const |
Get the number of elements in the list
Referenced by NamedList::length(), and Configuration::sections().
|
inline |
Get the next item in the list
Referenced by MessageDispatcher::hasHandlers(), MessageDispatcher::hasHooks(), and MessageDispatcher::hasMessages().
ObjList* operator+ | ( | int | index | ) | const |
Pointer-like indexing operator
index | Index of the list item to retrieve |
|
inline |
Array-like indexing operator with signed parameter
index | Index of the object to retrieve |
References ObjList::at().
|
inline |
Array-like indexing operator with unsigned parameter
index | Index of the object to retrieve |
References ObjList::at().
Array-like indexing operator
str | String value of the object to locate |
GenObject* remove | ( | bool | delobj = true | ) |
Delete this list item
delobj | True to delete the object (default) |
Referenced by XmlFragment::pop(), HashList::remove(), MimeMultipartBody::removeBody(), MimeBody::removeHdr(), and ClientChannel::removeSlave().
Delete the list item that holds a given object
obj | Object to search in the list |
delobj | True to delete the object (default) |
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) |
Set the object associated to this list item
obj | Pointer to the new object to set |
delold | True to delete the old object (default) |
|
inline |
Set the automatic delete flag
autodelete | True to delete on destruct, false otherwise |
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 |
Referenced by NamedList::setParam().
ObjList* skipNext | ( | ) | const |
Advance in the list skipping over NULL holding items
Referenced by XmlElement::findNextChild(), and NamedInt::lookupName().
ObjList* skipNull | ( | ) | const |
Skip over NULL holding items in the list
Referenced by DataTranslator::getConsumers(), XmlParent::hasChildren(), NamedInt::lookupName(), ClientContact::online(), NamedIterator::operator=(), and NamedIterator::reset().
void sort | ( | int(*)(GenObject *obj1, GenObject *obj2, void *context) | callbackCompare, |
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. |