From kde-core-devel Fri Oct 26 15:04:28 2001 From: ian reinhart geiser Date: Fri, 26 Oct 2001 15:04:28 +0000 To: kde-core-devel Subject: Extra DCOP features (request for comment/review/any attention from core guys what so ever) X-MARC-Message: https://marc.info/?l=kde-core-devel&m=100410871902772 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--------------Boundary-00=_G7JT0EQUH9DZP27GTZJH" --------------Boundary-00=_G7JT0EQUH9DZP27GTZJH Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Okay since we are about a week from the freeze I figured it would be moronic to ask for a feature in KDElibs without a patch. Basicly Simon and I have been going arround on the issue of API duplication in my DCOP interfaces. We agree it is bad and it is there. The problem was we lacked a good way to make current DCOP library functions fit well into my grand vision/delusion of how DCOP should work from the users point of view. On IRC today we agreed that DCOPPropertiesProxy was a good way to go, but there where some limitations that did not allow the interface to be as strait forward to the user as it could be. The issue is we could process the commands correctly with DCOPObject::processDynamic but we needed a separate function to list the properties. This prompted me to add to the DCOPObject class. For consistancy sake I am proposing the addition of DCOPObject::functionsDynamic() and DCOPObject::interfacesDynamic(). These would offer both consistancy and flexability to the DCOP object. With the addition of this we will be able to completely eliminate API duplication for these interfaces. I have tested this patch locallly and nothing breaks during the build process It does break BC so I would like to apply it yet today. I have yet to test all of KDE with it, I have only seen that KDE libs builds with it and that KDE base has yet to show any errors during build. Thanks - -ian reinhart geiser - -- ======================================== Play Rogue, visit exotic locations, meet strange creatures and kill them. ======================================== -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE72Xt8Py62TRm8dvgRAvm+AKDqOtFeSt3JH4EBT1cGeG3JHTZyZQCfa7Uq rw31q/FFB8UIX6LjbNLiRU8= =vL8Z -----END PGP SIGNATURE----- --------------Boundary-00=_G7JT0EQUH9DZP27GTZJH Content-Type: text/x-diff; charset="iso-8859-1"; name="dcop_features.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="dcop_features.patch" SW5kZXg6IGRjb3BvYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2tkZS9rZGVs aWJzL2Rjb3AvZGNvcG9iamVjdC5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjcKZGlmZiAt dSAtMyAtcCAtdSAtcjEuMjcgZGNvcG9iamVjdC5jcHAKLS0tIGRjb3BvYmplY3QuY3BwCTIwMDEv MDkvMTIgMTQ6MTM6MTgJMS4yNworKysgZGNvcG9iamVjdC5jcHAJMjAwMS8xMC8yNiAxNDo1OToz OQpAQCAtMTU5LDE3ICsxNTksMjcgQEAgYm9vbCBEQ09QT2JqZWN0Ojpwcm9jZXNzRHluYW1pYygg Y29uc3QgUQogewogICAgIHJldHVybiBGQUxTRTsKIH0KK1FDU3RyaW5nTGlzdCBEQ09QT2JqZWN0 OjppbnRlcmZhY2VzRHluYW1pYygpCit7CisgICAgUUNTdHJpbmdMaXN0IHJlc3VsdDsKKyAgICBy ZXR1cm4gcmVzdWx0OworfQogCi1RQ1N0cmluZ0xpc3QgRENPUE9iamVjdDo6aW50ZXJmYWNlcygp CitRQ1N0cmluZ0xpc3QgRENPUE9iamVjdDo6ZnVuY3Rpb25zRHluYW1pYygpCiB7CiAgICAgUUNT dHJpbmdMaXN0IHJlc3VsdDsKKyAgICByZXR1cm4gcmVzdWx0OworfQorUUNTdHJpbmdMaXN0IERD T1BPYmplY3Q6OmludGVyZmFjZXMoKQoreworICAgIFFDU3RyaW5nTGlzdCByZXN1bHQgPSBpbnRl cmZhY2VzRHluYW1pYygpOwogICAgIHJlc3VsdCA8PCAiRENPUE9iamVjdCI7CiAgICAgcmV0dXJu IHJlc3VsdDsKIH0KIAogUUNTdHJpbmdMaXN0IERDT1BPYmplY3Q6OmZ1bmN0aW9ucygpCiB7Ci0g ICAgUUNTdHJpbmdMaXN0IHJlc3VsdDsKKyAgICBRQ1N0cmluZ0xpc3QgcmVzdWx0ID0gZnVuY3Rp b25zRHluYW1pYygpOwogICAgIHJlc3VsdCA8PCAiUUNTdHJpbmdMaXN0IGludGVyZmFjZXMoKSI7 CiAgICAgcmVzdWx0IDw8ICJRQ1N0cmluZ0xpc3QgZnVuY3Rpb25zKCkiOwogICAgIHJldHVybiBy ZXN1bHQ7CkluZGV4OiBkY29wb2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUva2Rl L2tkZWxpYnMvZGNvcC9kY29wb2JqZWN0LmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMzUKZGlm ZiAtdSAtMyAtcCAtdSAtcjEuMzUgZGNvcG9iamVjdC5oCi0tLSBkY29wb2JqZWN0LmgJMjAwMS8x MC8xOCAxNTowNjo0MwkxLjM1CisrKyBkY29wb2JqZWN0LmgJMjAwMS8xMC8yNiAxNDo1OTo0MApA QCAtMTE5LDYgKzExOSwzMSBAQCBwdWJsaWM6CiAgIHZpcnR1YWwgYm9vbCBwcm9jZXNzRHluYW1p Yyhjb25zdCBRQ1N0cmluZyAmZnVuLCBjb25zdCBRQnl0ZUFycmF5ICZkYXRhLAogCQkJICAgICAg UUNTdHJpbmcmIHJlcGx5VHlwZSwgUUJ5dGVBcnJheSAmcmVwbHlEYXRhKTsKIAorICAgLyoqCisg ICAqIFRoaXMgZnVuY3Rpb24gaXMgb2YgaW50ZXJlc3Qgd2hlbiB5b3UgdXNlZCBhbiBJREwgY29t cGlsZXIKKyAgICogdG8gZ2VuZXJhdGUgdGhlIGltcGxlbWVudGF0aW9uIGZvciBAcmVmIGZ1bmN0 aW9ucygpIGJ1dAorICAgKiB5b3Ugc3RpbGwgd2FudCB0byBsaXN0IHNvbWUgZnVuY3Rpb25zIGR5 bmFtaWNhbGx5LgorICAgKiBEeW5hbWljYWxseSBtZWFucyB0aGF0IHRoZSBtZXRob2RzIG1heSBh cHBlYXIgYW5kIHZhbmlzaAorICAgKiBkdXJpbmcgcnVudGltZS4KKyAgICoKKyAgICogQHJldHVy biBAcCBBIGxpc3Qgb2YgdGhlIGFkZGl0aW9uYWwgZnVuY3Rpb25zLCBkZWZhdWx0IGlzIGFuIGVt cHR5IGxpc3QuCisgICAqCisgICAqIEBzZWUgZnVuY3Rpb25zKCksCisgICAqLworICB2aXJ0dWFs IFFDU3RyaW5nTGlzdCBmdW5jdGlvbnNEeW5hbWljKCk7CisKKyAgICAvKioKKyAgICogVGhpcyBm dW5jdGlvbiBpcyBvZiBpbnRlcmVzdCB3aGVuIHlvdSB1c2VkIGFuIElETCBjb21waWxlcgorICAg KiB0byBnZW5lcmF0ZSB0aGUgaW1wbGVtZW50YXRpb24gZm9yIEByZWYgaW50ZXJmYWNlcygpIGJ1 dAorICAgKiB5b3Ugc3RpbGwgd2FudCB0byBsaXN0IHNvbWUgaW50ZXJmYWNlcyBkeW5hbWljYWxs eS4KKyAgICogRHluYW1pY2FsbHkgbWVhbnMgdGhhdCB0aGV5IG1heSBhcHBlYXIgYW5kIHZhbmlz aAorICAgKiBkdXJpbmcgcnVudGltZS4KKyAgICoKKyAgICogQHJldHVybiBAcCBBIGxpc3Qgb2Yg dGhlIGFkaXRpb25hbCBpbnRlcmZhY2VzLCBkZWZhdWx0IGlzIGFuIGVtcHR5IGxpc3QuCisgICAq CisgICAqIEBzZWUgaW50ZXJmYWNlcygpLAorICAgKi8KKyAgdmlydHVhbCBRQ1N0cmluZ0xpc3Qg aW50ZXJmYWNlc0R5bmFtaWMoKTsKIAogICAvKioKICAgICogUmV0dXJucyB0aGUgbmFtZXMgb2Yg dGhlIGludGVyZmFjZXMsIHNwZWNpZmljIG9uZXMgbGFzdC4gVGhlCg== --------------Boundary-00=_G7JT0EQUH9DZP27GTZJH--