introduction, gob2 interface patch, misc
"Rudi Cilibrasi, Ph.D." <[email protected]> Sun, 22 Apr 2007 11:52:45 +0200
| Newsgroups | gmane.comp.gnome.devtools.gob.general |
|---|---|
| Message-ID | <[email protected]> |
------=_Part_61206_3279005.1177235565519 Content-Type: multipart/alternative; boundary="----=_Part_61207_13862605.1177235565519" ------=_Part_61207_13862605.1177235565519 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi everybody, I have recently started learning about GObject, GType, and DBus. It is a nice system and seems very well designed. But it is a bit rough and so I was led to find Gob2. It seems like just about exactly what I needed for my purposes and so I wanted to use it but I found one small problem: no interface support. I have spent some time trying to add interface support to gob2. Since I have very little experience with GType it is a bit challenging for me, however I think I have made some good progress. At this point I have a patch and wanted to find out if anybody else is interested. I think it is reasonably close to useful but would like more experienced GObject opinions on the matter (maybe help finish whatever is still broken) before I move on to the next part of my project. I would also like to eventually get this functionality into the main Gob2 source base if we can figure out how to properly clean it up. I had a look at the mailing list archives and it seems they might be broken; or is it just otherwise low activity? I attach the patch in this email. Best regards, Rudi -- Democracy is two wolves and a sheep deciding what to eat for lunch. Liberty is a well-armed sheep contesting the vote. ------=_Part_61207_13862605.1177235565519 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi everybody,<br><br>I have recently started learning about GObject, GType, and DBus. It is a nice system and seems very well<br>designed. But it is a bit rough and so I was led to find Gob2. It seems like just about exactly what I needed <br>for my purposes and so I wanted to use it but I found one small problem: no interface support. I have spent<br>some time trying to add interface support to gob2. Since I have very little experience with GType it is a bit <br>challenging for me, however I think I have made some good progress. At this point I have a patch and wanted<br>to find out if anybody else is interested. I think it is reasonably close to useful but would like more experienced <br>GObject opinions on the matter (maybe help finish whatever is still broken) before I move on to the next part of <br>my project. I would also like to eventually get this functionality into the main Gob2 source base if we can figure <br>out how to properly clean it up. I had a look at the mailing list archives and it seems they might be broken; or <br>is it just otherwise low activity? I attach the patch in this email. Best regards,<br><br>Rudi<br clear="all"> <br>-- <br>Democracy is two wolves and a sheep deciding what to eat for lunch.<br>Liberty is a well-armed sheep contesting the vote. ------=_Part_61207_13862605.1177235565519-- ------=_Part_61206_3279005.1177235565519 Content-Type: text/x-patch; name="interface-gob2-2.0.14.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="interface-gob2-2.0.14.patch" X-Attachment-Id: f_f0tbmyhr ZGlmZiAtciBnb2IyLTIuMC4xNC9zcmMvbGV4ZXIubCBnb2JuZXcvc3JjL2xleGVyLmwKNDA3YTQw OCw0MjAKPiBpbnRlcmZhY2UJCXsKPiAJCQlzdGF0aWMgaW50IGZvdW5kX2NsYXNzZXMgPSAwOwo+ IAkJCWxvb2tfZm9yX2luY2x1ZGVzID0gMjsKPiAJCQlCRUdJTihDTEFTU19DT0RFKTsKPiAKPiAJ CQlpZigrK2ZvdW5kX2NsYXNzZXMgPiAxKSB7Cj4gCQkJCWVycm9yX3ByaW50KEdPQl9FUlJPUiwg bGluZV9ubywKPiAJCQkJCSAgICAiT25seSBvbmUgaW50ZXJmYWNlIHBlciBmaWxlIGFsbG93ZWQi KTsKPiAJCQl9Cj4gCj4gCQkJcmV0dXJuIElOVEVSRkFDRTsKPiAJCX0KPiAKZGlmZiAtciBnb2Iy LTIuMC4xNC9zcmMvbWFpbi5jIGdvYm5ldy9zcmMvbWFpbi5jCjEwNjhjMTA2OCwxMDg5CjwgCW91 dF9wcmludGYob3V0LAotLS0KPiAgIGlmICgoKENsYXNzICopY2xhc3MpLT5pc2ludGVyZmFjZSkK PiAgICAgb3V0X3ByaW50ZihvdXQsCj4gCQkgICAiR1R5cGVcbiIKPiAJCSAgICIlc19nZXRfdHlw ZSAodm9pZClcbiIKPiAJCSAgICJ7XG4iCj4gCQkgICAiXHRzdGF0aWMgR1R5cGUgdHlwZSA9IDA7 XG5cbiIKPiAJCSAgICJcdGlmIF9fX0dPQl9VTkxJS0VMWSh0eXBlID09IDApIHtcbiIKPiAJCSAg ICJcdFx0c3RhdGljIGNvbnN0IEdUeXBlSW5mbyBpbmZvID0ge1xuIgo+IAkJICAgIlx0XHRcdHNp emVvZiAoJXNDbGFzcyksXG4iCj4gCQkgICAiXHRcdFx0KEdCYXNlSW5pdEZ1bmMpICVzX2NsYXNz X2luaXQsXG4iCj4gCQkgICAiXHRcdFx0KEdCYXNlRmluYWxpemVGdW5jKSBOVUxMLFxuIgo+IAkJ ICAgIlx0XHRcdChHQ2xhc3NJbml0RnVuYykgTlVMTCxcbiIKPiAJCSAgICJcdFx0XHQoR0NsYXNz RmluYWxpemVGdW5jKSBOVUxMLFxuIgo+IAkJICAgIlx0XHRcdE5VTEwgLyogY2xhc3NfZGF0YSAq LyxcbiIKPiAJCSAgICJcdFx0XHQwLFxuIgo+IAkJICAgIlx0XHRcdDAsXG4iCj4gCQkgICAiXHRc dFx0TlVMTCxcbiIKPiAJCSAgICJcdFx0XHROVUxMXG4iCj4gCQkgICAiXHRcdH07XG5cbiIsCj4g CQkgICBmdW5jYmFzZSwgdHlwZWJhc2UsIGZ1bmNiYXNlKTsKPiAgIGVsc2UKPiAgICAgb3V0X3By aW50ZihvdXQsCjI0MDAsMjQwMWMyNDIxLDI0MjcKPCAKPCAJCWlmKG0tPmNidWYpIHsKLS0tCj4g ICAgIGlmIChjLT5pc2ludGVyZmFjZSkgewo+IAkJCW91dF9wcmludGYob3V0LCAiIHtcbiIpOwo+ IAkJCW91dF9wcmludGYob3V0LCAiICVzX0dFVF9DTEFTUyAoc2VsZiktPiVzIChzZWxmKTsiLAo+ ICAgICAgICAgICAgICAgICAgICAgICAgbWFjcm9iYXNlLCBtLT5pZCk7Cj4gCQkJb3V0X3ByaW50 ZihvdXQsICIgfVxuIik7Cj4gICAgIH0KPiAJCWlmKCFjLT5pc2ludGVyZmFjZSAmJiBtLT5jYnVm KSB7CmRpZmYgLXIgZ29iMi0yLjAuMTQvc3JjL3BhcnNlLnkgZ29ibmV3L3NyYy9wYXJzZS55CjQ3 YTQ4Cj4gc3RhdGljIGdib29sZWFuIGlzaW50ZXJmYWNlID0gRkFMU0U7CjY3NmM2NzcKPCAldG9r ZW4gQ0xBU1MgRlJPTQotLS0KPiAldG9rZW4gQ0xBU1MgSU5URVJGQUNFIEZST00KNjg5LDY5MmM2 OTAsNjk3CjwgcHJvZzoJCWNjb2RlcyBjbGFzcyBjY29kZXMJeyA7IH0KPCAJfAljbGFzcyBjY29k ZXMJCXsgOyB9CjwgCXwJY2NvZGVzIGNsYXNzCQl7IDsgfQo8IAl8CWNsYXNzCQkJeyA7IH0KLS0t Cj4gcHJvZzoJCWNjb2RlcyBpY2xhc3MgY2NvZGVzCXsgOyB9Cj4gCXwJaWNsYXNzIGNjb2RlcwkJ eyA7IH0KPiAJfAljY29kZXMgaWNsYXNzCQl7IDsgfQo+IAl8CWljbGFzcwkJCXsgOyB9Cj4gCTsK PiAKPiBpY2xhc3M6CWNsYXNzCXsgOyB9Cj4gCXwJaW50ZXJmYWNlCQl7IDsgfQo3NjBhNzY2LDc3 OQo+IGludGVyZmFjZToJCWludGVyZmFjZWRlYyAneycgaW50ZXJmYWNlY29kZSAnfScJewo+IAkJ CSgoQ2xhc3MgKiljbGFzcyktPm5vZGVzID0gY2xhc3Nfbm9kZXM7Cj4gICAgICAgICBpc2ludGVy ZmFjZSA9IFRSVUU7Cj4gICAgICAgICAoKENsYXNzICopY2xhc3MpLT5pc2ludGVyZmFjZSA9IFRS VUU7Cj4gCQkJY2xhc3Nfbm9kZXMgPSBOVUxMOwo+IAkJCW5vZGVzID0gZ19saXN0X2FwcGVuZChu b2RlcyxjbGFzcyk7Cj4gCQkJCQkJfQo+IAl8CWludGVyZmFjZWRlYyAneycgJ30nCQl7Cj4gCQkJ KChDbGFzcyAqKWNsYXNzKS0+bm9kZXMgPSBOVUxMOwo+IAkJCWNsYXNzX25vZGVzID0gTlVMTDsK PiAJCQlub2RlcyA9IGdfbGlzdF9hcHBlbmQobm9kZXMsY2xhc3MpOwo+IAkJCQkJCX0KPiAJOwo+ IAo3NzJhNzkyLDg5MAo+IGludGVyZmFjZWRlYzoJSU5URVJGQUNFIFRZUEVUT0tFTiBGUk9NIFRZ UEVUT0tFTiBpbnRlcmZhY2VmbGFncwl7Cj4gCQkJY2xhc3MgPSBub2RlX25ldyAoQ0xBU1NfTk9E RSwKPiAJCQkJCSAgIm90eXBlOnN0ZWFsIiwgJDxpZD4yLAo+IAkJCQkJICAicHR5cGU6c3RlYWwi LCAkPGlkPjQsCj4gCQkJCQkgICJib25vYm9fb2JqZWN0X2NsYXNzOnN0ZWFsIiwgYm9ub2JvX29i amVjdF9jbGFzcywKPiAJCQkJCSAgImdsYWRlX3htbCIsIGdsYWRlX3htbCwKPiAJCQkJCSAgImlu dGVyZmFjZXM6c3RlYWwiLCBpbnRlcmZhY2VzLAo+IAkJCQkJICAiY2h1bmtfc2l6ZTpzdGVhbCIs IGNodW5rX3NpemUsCj4gCQkJCQkgICJhYnN0cmFjdCIsIGFic3RyYWN0LAo+ICAgICAgICAgICAg ICJpc2ludGVyZmFjZSIsIGlzaW50ZXJmYWNlLAo+IAkJCQkJICBOVUxMKTsKPiAJCQlib25vYm9f b2JqZWN0X2NsYXNzID0gTlVMTDsKPiAJCQlnbGFkZV94bWwgPSBGQUxTRTsKPiAJCQljaHVua19z aXplID0gTlVMTDsKPiAJCQlpbnRlcmZhY2VzID0gTlVMTDsKPiAgICAgICBpc2ludGVyZmFjZSA9 IEZBTFNFOwo+IAkJCQkJCX0KPiAJOwo+IAo+IGludGVyZmFjZWZsYWdzOgo+IAl8ICcoJyBUT0tF TiAnKScgaW50ZXJmYWNlZmxhZ3Mgewo+IAkJCWlmKHN0cmNtcCgkPGlkPjIsImFic3RyYWN0Iikg PT0gMCkgewo+IAkJCQlhYnN0cmFjdCA9IFRSVUU7Cj4gCQkJfSBlbHNlIHsKPiAJCQkJeXllcnJv cihfKCJwYXJzZSBlcnJvciIpKTsKPiAJCQkJWVlFUlJPUjsKPiAJCQl9Cj4gCQl9Cj4gCXwgJygn IFRPS0VOIFRPS0VOICcpJyBpbnRlcmZhY2VmbGFncyB7Cj4gCQkJaWYoc3RyY21wKCQ8aWQ+Miwi Y2h1bmtzIikgPT0gMCkgewo+IAkJCQlnX2ZyZWUgKGNodW5rX3NpemUpOwo+IAkJCQljaHVua19z aXplID0gZ19zdHJkdXAoJDxpZD4zKTsKPiAJCQl9IGVsc2UgaWYoc3RyY21wKCQ8aWQ+MiwiQm9u b2JvT2JqZWN0IikgPT0gMCkgewo+IAkJCQlnX2ZyZWUgKGJvbm9ib19vYmplY3RfY2xhc3MpOwo+ IAkJCQlib25vYm9fb2JqZWN0X2NsYXNzID0gZ19zdHJkdXAoJDxpZD4zKTsKPiAJCQl9IGVsc2Ug ewo+IAkJCQl5eWVycm9yKF8oInBhcnNlIGVycm9yIikpOwo+IAkJCQlZWUVSUk9SOwo+IAkJCX0K PiAJCX0KPiAJfCAnKCcgVE9LRU4gVFlQRVRPS0VOICcpJyBpbnRlcmZhY2VmbGFncyB7Cj4gCQkJ aWYgKHN0cmNtcCAoJDxpZD4yLCAiaW50ZXJmYWNlIikgPT0gMCkgewo+IAkJCQlpbnRlcmZhY2Vz ID0gZ19saXN0X2FwcGVuZCAoaW50ZXJmYWNlcywKPiAJCQkJCQkJICAgIGdfc3RyZHVwICgkPGlk PjMpKTsKPiAJCQl9IGVsc2Ugewo+IAkJCQl5eWVycm9yKF8oInBhcnNlIGVycm9yIikpOwo+IAkJ CQlZWUVSUk9SOwo+IAkJCX0KPiAJCX0KPiAJfCAnKCcgVE9LRU4gTlVNQkVSICcpJyBpbnRlcmZh Y2VmbGFncyB7Cj4gCQkJaWYoc3RyY21wKCQ8aWQ+MiwiY2h1bmtzIikgPT0gMCkgewo+IAkJCQln X2ZyZWUgKGNodW5rX3NpemUpOwo+IAkJCQlpZihhdG9pKCQ8aWQ+MykgIT0gMCkKPiAJCQkJCWNo dW5rX3NpemUgPSBnX3N0cmR1cCgkPGlkPjMpOwo+IAkJCQllbHNlCj4gCQkJCQljaHVua19zaXpl ID0gTlVMTDsKPiAJCQl9IGVsc2Ugewo+IAkJCQl5eWVycm9yKF8oInBhcnNlIGVycm9yIikpOwo+ IAkJCQlZWUVSUk9SOwo+IAkJCX0KPiAJCX0KPiAJfCAnKCcgVE9LRU4gU1RSSU5HIFNUUklORyAn KScgaW50ZXJmYWNlZmxhZ3Mgewo+IAkJCWlmIChzdHJjbXAgKCQ8aWQ+MiwgIkdsYWRlWE1MIikg PT0gMCkgewo+IAkJCQlnbGFkZV94bWwgPSBUUlVFOwo+IAkJCQlhZGRfY29uc3RydWN0X2dsYWRl KCQ8aWQ+MywgJDxpZD40LCBOVUxMKTsKPiAJCQl9IGVsc2Ugewo+IAkJCQl5eWVycm9yKF8oInBh cnNlIGVycm9yIikpOwo+IAkJCQlZWUVSUk9SOwo+IAkJCX0KPiAJCX0KPiAJfCAnKCcgVE9LRU4g U1RSSU5HIFNUUklORyBTVFJJTkcgJyknIGludGVyZmFjZWZsYWdzIHsKPiAJCQlpZiAoc3RyY21w ICgkPGlkPjIsICJHbGFkZVhNTCIpID09IDApIHsKPiAJCQkJZ2xhZGVfeG1sID0gVFJVRTsKPiAJ CQkJYWRkX2NvbnN0cnVjdF9nbGFkZSgkPGlkPjMsICQ8aWQ+NCwgJDxpZD41KTsKPiAJCQl9IGVs c2Ugewo+IAkJCQl5eWVycm9yKF8oInBhcnNlIGVycm9yIikpOwo+IAkJCQlZWUVSUk9SOwo+IAkJ CX0KPiAJCX0KPiAJfCAnKCcgVE9LRU4gVE9LRU4gU1RSSU5HICcpJyBpbnRlcmZhY2VmbGFncyB7 Cj4gCQkJaWYgKHN0cmNtcCAoJDxpZD4yLCAiR2xhZGVYTUwiKSA9PSAwKSB7Cj4gCQkJCWdsYWRl X3htbCA9IFRSVUU7Cj4gCQkJCWFkZF9jb25zdHJ1Y3RfZ2xhZGUoJDxpZD4zLCAkPGlkPjQsIE5V TEwpOwo+IAkJCX0gZWxzZSB7Cj4gCQkJCXl5ZXJyb3IoXygicGFyc2UgZXJyb3IiKSk7Cj4gCQkJ CVlZRVJST1I7Cj4gCQkJfQo+IAkJfQo+IAl8ICcoJyBUT0tFTiBUT0tFTiBTVFJJTkcgU1RSSU5H ICcpJyBpbnRlcmZhY2VmbGFncyB7Cj4gCQkJaWYgKHN0cmNtcCAoJDxpZD4yLCAiR2xhZGVYTUwi KSA9PSAwKSB7Cj4gCQkJCWdsYWRlX3htbCA9IFRSVUU7Cj4gCQkJCWFkZF9jb25zdHJ1Y3RfZ2xh ZGUoJDxpZD4zLCAkPGlkPjQsICQ8aWQ+NSk7Cj4gCQkJfSBlbHNlIHsKPiAJCQkJeXllcnJvcihf KCJwYXJzZSBlcnJvciIpKTsKPiAJCQkJWVlFUlJPUjsKPiAJCQl9Cj4gCQl9Cj4gCTsJCj4gCjg3 M2E5OTIsMTAyMAo+IGludGVyZmFjZWNvZGU6CWludGVyZmFjZWNvZGUgaW50ZXJmYWNldGhpbmcJ CQl7IDsgfQo+IAl8CWludGVyZmFjZXRoaW5nCQl7IDsgfQo+IAk7Cj4gCj4gaW50ZXJmYWNldGhp bmc6IAkJbWV0aG9kCQkJCXsgOyB9Cj4gCXwJVE9LRU4gbWV0aG9kCQkJewo+IAkJCWlmIChzdHJj bXAgKCQ8aWQ+MSwgIkJvbm9ib09iamVjdCIpICE9IDApIHsKPiAJCQkJZ19mcmVlICgkPGlkPjEp Owo+IAkJCQl5eWVycm9yIChfKCJwYXJzZSBlcnJvciIpKTsKPiAJCQkJWVlFUlJPUjsKPiAJCQl9 Cj4gCQkJZ19mcmVlICgkPGlkPjEpOwo+IAkJCWxhc3RfYWRkZWRfbWV0aG9kLT5ib25vYm9fb2Jq ZWN0X2Z1bmMgPSBUUlVFOwo+IAkJCQkJCX0KPiAJfAlUT0tFTiBUWVBFVE9LRU4gbWV0aG9kCQkJ ewo+IAkJCWlmIChzdHJjbXAgKCQ8aWQ+MSwgImludGVyZmFjZSIpICE9IDApIHsKPiAJCQkJZ19m cmVlICgkPGlkPjEpOwo+IAkJCQlnX2ZyZWUgKCQ8aWQ+Mik7Cj4gCQkJCXl5ZXJyb3IgKF8oInBh cnNlIGVycm9yIikpOwo+IAkJCQlZWUVSUk9SOwo+IAkJCX0KPiAJCQlnX2ZyZWUgKCQ8aWQ+MSk7 Cj4gCQkJbm9kZV9zZXQgKChOb2RlICopbGFzdF9hZGRlZF9tZXRob2QsCj4gCQkJCSAgImludGVy ZmFjZTpzdGVhbCIsICQ8aWQ+MiwKPiAJCQkJICBOVUxMKTsKPiAJCQkJCQl9Cj4gCXwJJzsnCQkJ CXsgOyB9Cj4gCTsKPiAKZGlmZiAtciBnb2IyLTIuMC4xNC9zcmMvdHJlZWZ1bmNzLmMgZ29ibmV3 L3NyYy90cmVlZnVuY3MuYwoxMDhhMTA5Cj4gCVFVQVJLX2lzaW50ZXJmYWNlLAoyMTZhMjE4Cj4g CWdfaGFzaF90YWJsZV9pbnNlcnQgKHF1YXJrX2h0LCAiaXNpbnRlcmZhY2UiLCBHSU5UX1RPX1BP SU5URVIgKFFVQVJLX2lzaW50ZXJmYWNlKSk7CjM2NWEzNjgKPiAJbmV3LT5pc2ludGVyZmFjZSA9 IHNlbGYtPmlzaW50ZXJmYWNlOwo5NTdhOTYxLDk2NQo+IAkJY2FzZSBRVUFSS19pc2ludGVyZmFj ZTogewo+IAkJCWdib29sZWFuIGlzaW50ZXJmYWNlID0gdmFfYXJnIChfX2FwLCBnYm9vbGVhbik7 Cj4gCQkJc2VsZi0+aXNpbnRlcmZhY2UgPSBpc2ludGVyZmFjZTsKPiAJCQlicmVhazsKPiAJCX0K ZGlmZiAtciBnb2IyLTIuMC4xNC9zcmMvdHJlZWZ1bmNzLmRlZiBnb2JuZXcvc3JjL3RyZWVmdW5j cy5kZWYKNTljNTksNjAKPCAgIEJPT0wJCWFic3RyYWN0ICMgaWYgR19UWVBFX0ZMQUdfQUJTVFJB Q1Qgc2hvdWxkIGJlIHVzZWQKLS0tCj4gICBCT09MCQlhYnN0cmFjdCAgICAjIGlmIEdfVFlQRV9G TEFHX0FCU1RSQUNUIHNob3VsZCBiZSB1c2VkCj4gICBCT09MCQlpc2ludGVyZmFjZSAjIGlmIGl0 IGlzIGFuIGludGVyZmFjZSBpbnN0ZWFkIG9mIGEgY2xhc3MKZGlmZiAtciBnb2IyLTIuMC4xNC9z cmMvdHJlZWZ1bmNzLmggZ29ibmV3L3NyYy90cmVlZnVuY3MuaAoxMjFhMTIyCj4gCWdib29sZWFu IGlzaW50ZXJmYWNlOwo= ------=_Part_61206_3279005.1177235565519 Content-Type: text/plain; charset=us-ascii; name="footer" Content-Transfer-Encoding: 8bit -- to unsubscribe: send mail to [email protected] with "unsubscribe gob-list" in the subject ------=_Part_61206_3279005.1177235565519--