[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