[PATCH] Boxed types in signal parameters

Big Thor <[email protected]> Mon, 07 Nov 2005 13:55:14 +0100
Newsgroups gmane.comp.gnome.devtools.gob.general
Organization http://freemail.web.de/
Message-ID <[email protected]>
This is a multi-part message in MIME format.

--=-------------11313681157448471927
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable


The patch attached allows GOB2 to accept signal parameter types with the f=
orm BOXED=5F<BOXED=5FTYPE>, for instance: BOXED=5FGTK=5FTYPE=5FTREE=5FITER correctly g=
enerates signal code to marshal a (GtkTreeIter*) parameter.

The idea could be extended to also support boxed return types in signals.

This patch is backwards compatible with GOB 2.0.12.

-- bigthor

=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=5F=

Erweitern Sie FreeMail zu einem noch leistungsst=E4rkeren E-Mail-Postfach!	=09
Mehr Infos unter http://freemail.web.de/home/landingpad/=3Fmc=3D021131


--=-------------11313681157448471927
Content-Type: application/octet-stream;
 name="gob2-2.0.12-boxed-signal-params.patch"
Content-Disposition: attachment;
 filename="gob2-2.0.12-boxed-signal-params.patch"
Content-Transfer-Encoding: base64

ZGlmZiAtcnVwIGdvYjItMi4wLjEyLU9SSUcvc3JjL2NoZWNrcy5jIGdvYjItMi4wLjEyL3Ny
Yy9jaGVja3MuYwotLS0gZ29iMi0yLjAuMTItT1JJRy9zcmMvY2hlY2tzLmMJMjAwNS0wNy0y
MiAyMDo0ODowNi4wMDAwMDAwMDAgKzAyMDAKKysrIGdvYjItMi4wLjEyL3NyYy9jaGVja3Mu
YwkyMDA1LTExLTA3IDEyOjU4OjE3LjAwMDAwMDAwMCArMDEwMApAQCAtMzM0LDEyICszMzQs
MTIgQEAgY2hlY2tfc2lnbmFsX2FyZ3MgKENsYXNzICpjKQogCQkJCWNvbnRpbnVlOwogCiAJ
CQlmb3IgKGwgPSBtLT5ndGt0eXBlczsgbCAhPSBOVUxMOyBsID0gbC0+bmV4dCkgewotCQkJ
CWlmIChzdHJjbXAgKGwtPmRhdGEsICJCT1hFRCIpID09IDApIHsKLQkJCQkJZXJyb3JfcHJp
bnRmIChHT0JfRVJST1IsIG0tPmxpbmVfbm8sCi0JCQkJCQkgICAgICAiQk9YRUQgbm90IGFs
bG93ZWQgYXMgIgotCQkJCQkJICAgICAgImEgc2lnbmFsIGFyZ3VtZW50LCB1c2UgIgotCQkJ
CQkJICAgICAgIlBPSU5URVIiKTsKLQkJCQkJY29udGludWU7CisJCQkJaWYgKHN0cm5jbXAg
KGwtPmRhdGEsICJCT1hFRF8iLCA2KSA9PSAwKSB7CisvKiAJCQkJCWVycm9yX3ByaW50ZiAo
R09CX0VSUk9SLCBtLT5saW5lX25vLCAqLworLyogCQkJCQkJICAgICAgIkJPWEVEIG5vdCBh
bGxvd2VkIGFzICIgKi8KKy8qIAkJCQkJCSAgICAgICJhIHNpZ25hbCBhcmd1bWVudCwgdXNl
ICIgKi8KKy8qIAkJCQkJCSAgICAgICJQT0lOVEVSIik7ICovCisgCQkJCQljb250aW51ZTsK
IAkJCQl9IGVsc2UgaWYgKHN0cmNtcCAobC0+ZGF0YSwgIkZMQUdTIikgPT0gMCkgewogCQkJ
CQllcnJvcl9wcmludGYgKEdPQl9FUlJPUiwgbS0+bGluZV9ubywKIAkJCQkJCSAgICAgICJG
TEFHUyBub3QgYWxsb3dlZCBhcyAiCmRpZmYgLXJ1cCBnb2IyLTIuMC4xMi1PUklHL3NyYy9t
YWluLmMgZ29iMi0yLjAuMTIvc3JjL21haW4uYwotLS0gZ29iMi0yLjAuMTItT1JJRy9zcmMv
bWFpbi5jCTIwMDUtMDctMjIgMjE6NTU6MjMuMDAwMDAwMDAwICswMjAwCisrKyBnb2IyLTIu
MC4xMi9zcmMvbWFpbi5jCTIwMDUtMTEtMDcgMTI6NTg6MTEuMDAwMDAwMDAwICswMTAwCkBA
IC03MzcsNiArNzM3LDggQEAgcHJpbnRfc2lnbmFsX21hcnNhbF9hcmdzIChjb25zdCBNZXRo
b2QgKgogCQkJaWYgKHN0cmNtcCAobGktPmRhdGEsICJVTklDSEFSIikgPT0gMCkKIAkJCQkv
KiBoYWNrIGJlY2F1c2UgZ2xpYiBpcyBicmFpbmRhbWFnZWQgKi8KIAkJCQlnZXRfZnVuYyA9
IGdfc3RyZHVwICgiZ192YWx1ZV9nZXRfdWludCIpOworCQkJZWxzZSBpZiAoc3RybmNtcChs
aS0+ZGF0YSwgIkJPWEVEXyIsIDYpID09IDApCisJCQkgICAgICAgIGdldF9mdW5jID0gZ19z
dHJkdXAgKCJnX3ZhbHVlX2dldF9ib3hlZCIpOwogCQkJZWxzZQogCQkJCWdldF9mdW5jID0g
Z19zdHJkdXBfcHJpbnRmCiAJCQkJCSgiZ192YWx1ZV9nZXRfJXMiLCAoY2hhciAqKWxpLT5k
YXRhKTsKQEAgLTEzMDgsOSArMTMxMCwxNiBAQCBhZGRfc2lnbmFscyhDbGFzcyAqYykKIAkJ
CiAJCWlmKCAhIGlzX25vbmUpIHsKIAkJCUdMaXN0ICpsOwotCQkJZm9yKGwgPSBtLT5ndGt0
eXBlcy0+bmV4dDsgbCAhPSBOVUxMOyBsID0gbC0+bmV4dCkKLQkJCQlvdXRfcHJpbnRmKG91
dCwgIixcblx0XHRcdEdfVFlQRV8lcyIsCi0JCQkJCShjaGFyICopbC0+ZGF0YSk7CisJCQlj
aGFyICAqdDsKKwkJCWZvcihsID0gbS0+Z3RrdHlwZXMtPm5leHQ7IGwgIT0gTlVMTDsgbCA9
IGwtPm5leHQpIHsJCQkgIAorCQkJICBpZihzdHJuY21wKGwtPmRhdGEsICJCT1hFRF8iLCA2
KSA9PSAwKQorCQkJICAgIHQ9Z19zdHJkdXAoJihsLT5kYXRhWzZdKSk7CisJCQkgIGVsc2UK
KwkJCSAgICB0PWdfc3RyY29uY2F0KCJHX1RZUEVfIiwgbC0+ZGF0YSwgTlVMTCk7CisJCQkg
IG91dF9wcmludGYob3V0LCAiLFxuXHRcdFx0JXMiLAorCQkJCSAgICAgdCk7CisJCQkgIGdf
ZnJlZSh0KTsKKwkJCX0KIAkJfQogCiAJCW91dF9wcmludGYob3V0LCAiKTtcbiIpOwpAQCAt
MjcxNSw4ICsyNzI0LDggQEAgcHV0X3NpZ25hbF9hcmdzIChNZXRob2QgKm0pCiAJCWNoYXIg
KmNhc3QgPSBnX3N0cmR1cCAoZ2V0X2Nhc3QgKGFsaS0+ZGF0YSwgRkFMU0UpKTsKIAkJLyog
RklYTUU6IFRoaXMgY29kZSBpcyBzbyBmdWNraW5nIHVnbHkgaXQgaHVydHMgKi8KIAkJZ2Jv
b2xlYW4gZG9fc3RhdGljID0gCi0JCQkoc3RyY21wICgoY2hhciAqKWFsaS0+ZGF0YSwgIlNU
UklORyIpID09IDAgfHwKLQkJCSBzdHJjbXAgKChjaGFyICopYWxpLT5kYXRhLCAiQk9YRUQi
KSA9PSAwKTsKKwkJCShzdHJjbXAgICgoY2hhciAqKWFsaS0+ZGF0YSwgIlNUUklORyIpID09
IDAgfHwKKwkJCSBzdHJuY21wICgoY2hhciAqKWFsaS0+ZGF0YSwgIkJPWEVEXyIsIDYpID09
IDApOwogCQljaGFyICpzZXRfZnVuYzsKIAogCQlpZiAoY2FzdCA9PSBOVUxMKSB7CkBAIC0y
NzI2LDE0ICsyNzM1LDIzIEBAIHB1dF9zaWduYWxfYXJncyAoTWV0aG9kICptKQogCQkgICB0
aGUgd2Uga25vdyBhbGwgdGhlIHR5cGVzICovCiAJCWdfYXNzZXJ0IChjYXN0ICE9IE5VTEwp
OwogCisJCWNoYXIgKnQ7CisJCWlmKHN0cm5jbXAoYWxpLT5kYXRhLCAiQk9YRURfIiwgNikg
PT0gMCkKKwkJICB0PWdfc3RyZHVwKCYoYWxpLT5kYXRhWzZdKSk7CisJCWVsc2UKKwkJICB0
PWdfc3RyY29uY2F0KCJHX1RZUEVfIiwgYWxpLT5kYXRhLCBOVUxMKTsKKwogCQlvdXRfcHJp
bnRmIChvdXQsCiAJCQkgICAgIlx0X19fcGFyYW1fdmFsdWVzWyVkXS5nX3R5cGUgPSAwO1xu
IgotCQkJICAgICJcdGdfdmFsdWVfaW5pdCAoJl9fX3BhcmFtX3ZhbHVlc1slZF0sIEdfVFlQ
RV8lcyk7XG4iLAotCQkJICAgIGksIGksIChjaGFyICopYWxpLT5kYXRhKTsKKwkJCSAgICAi
XHRnX3ZhbHVlX2luaXQgKCZfX19wYXJhbV92YWx1ZXNbJWRdLCAlcyk7XG4iLAorCQkJICAg
IGksIGksIHQpOworCQlnX2ZyZWUodCk7CiAKIAkJaWYgKHN0cmNtcCAoYWxpLT5kYXRhLCAi
VU5JQ0hBUiIpID09IDApCiAJCQkvKiBoYWNrIGJlY2F1c2UgZ2xpYiBpcyBicmFpbmRhbWFn
ZWQgKi8KIAkJCXNldF9mdW5jID0gZ19zdHJkdXAgKCJnX3ZhbHVlX3NldF91aW50Iik7CisJ
CWVsc2UgaWYgKHN0cm5jbXAgKGFsaS0+ZGF0YSwgIkJPWEVEXyIsIDYpID09IDApCisJCQlz
ZXRfZnVuYyA9IGdfc3RyZHVwICgiZ192YWx1ZV9zZXRfc3RhdGljX2JveGVkIik7CiAJCWVs
c2UKIAkJCXNldF9mdW5jID0gZ19zdHJkdXBfcHJpbnRmICgiZ192YWx1ZV9zZXQlc18lcyIs
CiAJCQkJCQkgICAgZG9fc3RhdGljID8gIl9zdGF0aWMiIDogIiIsCmRpZmYgLXJ1cCBnb2Iy
LTIuMC4xMi1PUklHL3NyYy91dGlsLmMgZ29iMi0yLjAuMTIvc3JjL3V0aWwuYwotLS0gZ29i
Mi0yLjAuMTItT1JJRy9zcmMvdXRpbC5jCTIwMDQtMDktMjMgMDE6MDM6MTAuMDAwMDAwMDAw
ICswMjAwCisrKyBnb2IyLTIuMC4xMi9zcmMvdXRpbC5jCTIwMDUtMTEtMDcgMTI6NTg6MjMu
MDAwMDAwMDAwICswMTAwCkBAIC0yNjgsNyArMjY4LDEwIEBAIGdldF9jYXN0IChjb25zdCBj
aGFyICp0eXBlLCBnYm9vbGVhbiBzaW0KIAogCWluaXRfdHlwZV9oYXNoICgpOwogCi0JZ3R5
cGUgPSBnX2hhc2hfdGFibGVfbG9va3VwICh0eXBlX2hhc2gsIHR5cGUpOworCWlmKHN0cm5j
bXAodHlwZSwgIkJPWEVEXyIsIDYpID09IDApCSAKKwkgIGd0eXBlID0gZ19oYXNoX3RhYmxl
X2xvb2t1cCAodHlwZV9oYXNoLCAiQk9YRUQiKTsKKwllbHNlCisJICBndHlwZSA9IGdfaGFz
aF90YWJsZV9sb29rdXAgKHR5cGVfaGFzaCwgdHlwZSk7CiAKIAlpZiAoZ3R5cGUgPT0gTlVM
TCB8fAogCSAgICAoc2ltcGxlX29ubHkgJiYK

--=-------------11313681157448471927--

--
to unsubscribe:
send mail to [email protected] with "unsubscribe gob-list" in the subject