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.&nbsp; It is a nice system and seems very well<br>designed.&nbsp; But it is a bit rough and so I was led to find Gob2.&nbsp; 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.&nbsp; I have spent<br>some time trying to add interface support to gob2.&nbsp; 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.&nbsp; At this point I have a patch and wanted<br>to find out if anybody else is interested.&nbsp; 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&nbsp; 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.&nbsp; I had a look at the mailing list archives and it seems they might be broken; or <br>is it just otherwise low activity?&nbsp; I attach the patch in this email.&nbsp; 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--