[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-bindings
Subject: [Kde-bindings] branches/KDE/3.5/kdebindings/korundum
From: Richard Dale <Richard_Dale () tipitina ! demon ! co ! uk>
Date: 2008-03-05 18:31:18
Message-ID: 1204741878.384625.19570.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 782678 by rdale:
* Added a marshaller for QValueList<WId>& as requested by volty on #qtruby
CCMAIL: kde-bindings@kde.org
M +4 -0 ChangeLog
M +66 -0 rubylib/korundum/kdehandlers.cpp
--- branches/KDE/3.5/kdebindings/korundum/ChangeLog #782677:782678
@@ -1,3 +1,7 @@
+2007-03-05 Richard Dale <rdale@foton.es>
+
+ * Added a marshaller for QValueList<WId>& as requested by volty on #qtruby
+
2007-07-06 Richard Dale <rdale@foton.es>
* Fixed bug in DCOPRef's reported by Han Holl, but how has it ever worked?
--- branches/KDE/3.5/kdebindings/korundum/rubylib/korundum/kdehandlers.cpp #782677:782678
@@ -235,6 +235,70 @@
}
}
+void marshall_WIdList(Marshall *m) {
+ switch(m->action()) {
+ case Marshall::FromVALUE:
+ {
+ VALUE list = *(m->var());
+ if (TYPE(list) != T_ARRAY) {
+ m->item().s_voidp = 0;
+ break;
+ }
+ int count = RARRAY(list)->len;
+ QValueList<WId> *valuelist = new QValueList<WId>;
+ long i;
+ for(i = 0; i < count; i++) {
+ VALUE item = rb_ary_entry(list, i);
+ if(TYPE(item) != T_FIXNUM && TYPE(item) != T_BIGNUM) {
+ valuelist->append(0);
+ continue;
+ }
+ valuelist->append(NUM2LONG(item));
+ }
+
+ m->item().s_voidp = valuelist;
+ m->next();
+
+ if (!m->type().isConst()) {
+ rb_ary_clear(list);
+ for(QValueListIterator<WId> it = valuelist->begin();
+ it != valuelist->end();
+ ++it)
+ rb_ary_push(list, LONG2NUM((int)*it));
+ }
+
+ if (m->cleanup()) {
+ delete valuelist;
+ }
+ }
+ break;
+ case Marshall::ToVALUE:
+ {
+ QValueList<WId> *valuelist = (QValueList<WId>*)m->item().s_voidp;
+ if(!valuelist) {
+ *(m->var()) = Qnil;
+ break;
+ }
+
+ VALUE av = rb_ary_new();
+
+ for(QValueListIterator<WId> it = valuelist->begin();
+ it != valuelist->end();
+ ++it)
+ rb_ary_push(av, LONG2NUM(*it));
+
+ *(m->var()) = av;
+
+ if(m->cleanup())
+ delete valuelist;
+ }
+ break;
+ default:
+ m->unsupported();
+ break;
+ }
+}
+
void marshall_KMimeTypeList(Marshall *m) {
switch(m->action()) {
case Marshall::FromVALUE:
@@ -1358,5 +1422,7 @@
{ "KEntryMap&", marshall_QMapKEntryKeyKEntry },
{ "KEntryMap*", marshall_QMapKEntryKeyKEntry },
{ "QMap<QCString,DCOPRef>", marshall_QMapQCStringDCOPRef },
+ { "QValueList<WId>&", marshall_WIdList },
+ { "QValueList<WId>", marshall_WIdList },
{ 0, 0 }
};
_______________________________________________
Kde-bindings mailing list
Kde-bindings@kde.org
https://mail.kde.org/mailman/listinfo/kde-bindings
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic