aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/objects/class_list.cpp
diff options
context:
space:
mode:
authorGravatar Noldor2008-10-10 16:41:27 +0000
committerGravatar Noldor2008-10-10 16:41:27 +0000
commit6cdf85ca8f437918f6ca661816cd38c82640674d (patch)
tree0558279dd7b58ef90c117b0d13bb0b9553de231b /src/modules/objects/class_list.cpp
parentLinking fix (diff)
downloadKVIrc-6cdf85ca8f437918f6ca661816cd38c82640674d.tar.gz
KVIrc-6cdf85ca8f437918f6ca661816cd38c82640674d.tar.bz2
KVIrc-6cdf85ca8f437918f6ca661816cd38c82640674d.zip
object module restyling/enhancement(work in progress)
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@2689 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/objects/class_list.cpp')
-rw-r--r--src/modules/objects/class_list.cpp164
1 files changed, 58 insertions, 106 deletions
diff --git a/src/modules/objects/class_list.cpp b/src/modules/objects/class_list.cpp
index 3b2a0608c..935250cf3 100644
--- a/src/modules/objects/class_list.cpp
+++ b/src/modules/objects/class_list.cpp
@@ -137,27 +137,27 @@
KVSO_BEGIN_REGISTERCLASS(KviKvsObject_list,"list","object")
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"count",function_count)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"isEmpty",function_isEmpty)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"clear",function_clear)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"removeAll",function_clear)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"append",function_append)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"prepend",function_prepend)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"insert",function_insert)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"add",function_insert)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"at",function_at)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"item",function_at)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"remove",function_remove)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"removeFirst",function_removeFirst)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"removeLast",function_removeLast)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"removeCurrent",function_removeCurrent)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"moveFirst",function_moveFirst)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"moveNext",function_moveNext)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"movePrev",function_movePrev)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"moveLast",function_moveLast)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"sort",function_sort)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"eof",function_eof)
- KVSO_REGISTER_HANDLER(KviKvsObject_list,"current",function_current)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,count)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,isEmpty)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,clear)
+ KVSO_REGISTER_HANDLER(KviKvsObject_list,"removeAll",clear)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,append)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,prepend)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,insert)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,insert)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,at)
+ KVSO_REGISTER_HANDLER(KviKvsObject_list,"item",at)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,remove)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,removeFirst)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,removeLast)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,removeCurrent)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,moveFirst)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,moveNext)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,movePrev)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,moveLast)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,sort)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,eof)
+ KVSO_REGISTER_HANDLER_NEW(KviKvsObject_list,current)
KVSO_END_REGISTERCLASS(KviKvsObject_list)
@@ -172,9 +172,10 @@ KVSO_BEGIN_DESTRUCTOR(KviKvsObject_list)
m_pDataList = 0;
KVSO_END_CONSTRUCTOR(KviKvsObject_list)
-bool KviKvsObject_list::function_current(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,current)
{
- if(!m_pDataList|!m_pDataList->count())
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
+ if(!m_pDataList->count())
{
c->returnValue()->setNothing();
return true;
@@ -185,79 +186,51 @@ bool KviKvsObject_list::function_current(KviKvsObjectFunctionCall *c)
return true;
}
-bool KviKvsObject_list::function_eof(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,eof)
{
- if(!m_pDataList)
- {
- c->returnValue()->setBoolean(true);
- return true;
- }
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
c->returnValue()->setBoolean(m_pDataList->current() != 0);
return true;
}
-bool KviKvsObject_list::function_moveLast(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,moveLast)
{
- if(!m_pDataList)
- {
- c->returnValue()->setBoolean(false);
- return true;
- }
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
c->returnValue()->setBoolean(m_pDataList->last() != 0);
return true;
}
-bool KviKvsObject_list::function_movePrev(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,movePrev)
{
- if(!m_pDataList)
- {
- c->returnValue()->setBoolean(false);
- return true;
- }
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
c->returnValue()->setBoolean(m_pDataList->prev() != 0);
return true;
}
-bool KviKvsObject_list::function_moveNext(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,moveNext)
{
- if(!m_pDataList)
- {
- c->returnValue()->setBoolean(false);
- return true;
- }
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
c->returnValue()->setBoolean(m_pDataList->next() != 0);
return true;
}
-bool KviKvsObject_list::function_moveFirst(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,moveFirst)
{
- if(!m_pDataList)
- {
- c->returnValue()->setBoolean(false);
- return true;
- }
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
c->returnValue()->setBoolean(m_pDataList->first() != 0);
return true;
}
-bool KviKvsObject_list::function_removeLast(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,removeLast)
{
- if(!m_pDataList)
- {
- c->returnValue()->setBoolean(false);
- return true;
- }
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
c->returnValue()->setBoolean(m_pDataList->removeLast());
return true;
}
-bool KviKvsObject_list::function_removeCurrent(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,removeCurrent)
{
- if(!m_pDataList)
- {
- c->returnValue()->setBoolean(false);
- return true;
- }
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
if(m_pDataList->current())
{
m_pDataList->removeCurrent();
@@ -268,89 +241,76 @@ bool KviKvsObject_list::function_removeCurrent(KviKvsObjectFunctionCall *c)
return true;
}
-bool KviKvsObject_list::function_removeFirst(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,removeFirst)
{
- if(!m_pDataList)
- {
- c->returnValue()->setBoolean(false);
- return true;
- }
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
c->returnValue()->setBoolean(m_pDataList->removeFirst());
return true;
}
-bool KviKvsObject_list::function_remove(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,remove)
{
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
kvs_uint_t uIndex;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("index",KVS_PT_UINT,0,uIndex)
KVSO_PARAMETERS_END(c)
- if(!m_pDataList)
- {
- c->returnValue()->setBoolean(false);
- return true;
- }
c->returnValue()->setBoolean(m_pDataList->remove(uIndex));
return true;
}
-bool KviKvsObject_list::function_at(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,at)
{
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
kvs_uint_t uIndex;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("index",KVS_PT_UINT,0,uIndex)
KVSO_PARAMETERS_END(c)
- if(!m_pDataList)
- {
- c->returnValue()->setNothing();
- return true;
- }
KviKvsVariant * v = m_pDataList->at(uIndex);
if(v)c->returnValue()->copyFrom(*v);
else c->returnValue()->setNothing();
return true;
}
-bool KviKvsObject_list::function_insert(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,insert)
{
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
kvs_uint_t uIndex;
KviKvsVariant * pVar;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("index",KVS_PT_UINT,0,uIndex)
KVSO_PARAMETER("item",KVS_PT_VARIANT,0,pVar)
KVSO_PARAMETERS_END(c)
- if(!m_pDataList)return true;
m_pDataList->insert(uIndex,new KviKvsVariant(*pVar));
return true;
}
-bool KviKvsObject_list::function_prepend(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,prepend)
{
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
KviKvsVariant * pVar;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("item",KVS_PT_VARIANT,0,pVar)
KVSO_PARAMETERS_END(c)
- if(!m_pDataList)return true;
m_pDataList->prepend(new KviKvsVariant(*pVar));
return true;
}
-bool KviKvsObject_list::function_append(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,append)
{
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
KviKvsVariant * pVar;
KVSO_PARAMETERS_BEGIN(c)
KVSO_PARAMETER("item",KVS_PT_VARIANT,0,pVar)
KVSO_PARAMETERS_END(c)
- if(!m_pDataList)return true;
m_pDataList->append(new KviKvsVariant(*pVar));
if (m_pDataList->count()==1) m_pDataList->first();
-
return true;
}
-bool KviKvsObject_list::function_clear(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,clear)
{
- if(!m_pDataList)return true;
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
m_pDataList->clear();
return true;
}
@@ -360,31 +320,23 @@ inline int kvi_compare(const KviKvsVariant * p1,const KviKvsVariant * p2)
return p1->compare(p2);
}
-bool KviKvsObject_list::function_sort(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,sort)
{
- if(!m_pDataList)return true;
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
m_pDataList->sort();
return true;
}
-bool KviKvsObject_list::function_isEmpty(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,isEmpty)
{
- if(!m_pDataList)
- {
- c->returnValue()->setBoolean(true);
- return true;
- }
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
c->returnValue()->setBoolean(m_pDataList->isEmpty());
return true;
}
-bool KviKvsObject_list::function_count(KviKvsObjectFunctionCall *c)
+KVSO_CLASS_FUNCTION(list,count)
{
- if(!m_pDataList)
- {
- c->returnValue()->setInteger(0);
- return true;
- }
+ CHECK_INTERNAL_QPOINTER(m_pDataList)
c->returnValue()->setInteger(m_pDataList->count());
return true;
}