[04:03:34] [connected at Tue Nov 4 04:03:34 2003] [04:03:34] <> *** Looking up your hostname... [04:03:34] <> *** Checking ident [04:03:34] <> *** Found your hostname [04:04:05] <> *** No identd (auth) response [04:04:05] <> *** Your host is zelazny.freenode.net[irc.oregonstate.edu/6667], running version dancer-ircd-1.0.32 [04:04:05] [I have joined #peak] [04:04:05] ** zelazny.freenode.net set the topic to PEAK http://peak.telecommunity.com || WikiPages at http://peak.telecommunity.com/DevCenter || IRC-Logs: http://peak.telecommunity.com/irc-logs/ [04:21:25] jack-e|away is now known as jack-e [05:44:35] ** vlado_ has joined us [07:59:30] ** jack-e has joined us [10:06:47] ** lex_ has joined us [11:09:08] ** lex_ has joined us [11:19:48] lex_ is now known as m0nkey [12:00:50] ** Maniac_ has joined us [12:25:22] ** vlado has joined us [12:31:44] * jack-e quotes vlado: i have a class with two base classes, how do i get their interfaces ? [12:32:39] so what's the answer ?:) [12:33:02] do you want to get all interfaces that are implemented by a class ? [12:33:21] yes [12:33:39] i never tried that .. a moment please .. [12:36:42] i don't know .. [12:37:15] there don't seem to be introspection features known from zope3 in the protocols packages interface implementation [12:37:42] perhaps one way would be to use zope3 interfaces package together with peak (never tried that as well) [12:38:11] why do you need to know the interfaces, can't you just adapt(obj, ISomething, None) ? [12:39:28] probably .. [12:40:32] just wondered is that possible [12:41:53] i think pje wanted to keep the overhead of using interfaces as small as possible (and the implementation work) [13:24:43] ** lex_ has joined us [15:06:13] * jack-e is "browsing" the UML/CWM spec with a tool written in peak :)) [15:07:01] * jack-e has worked enough for today .. cu 2morrow [15:07:59] jack-e is now known as jack-e|away [18:21:58] ** pje has joined us [18:22:23] vlado: you can get the declaration data if your classes implement IOpenImplementor [18:23:15] Technically, this is just a way to "listen" to protocol declarations that occur for a given class. [18:24:11] There's not really a whole lot of use for it, though, or at least I haven't thought of any. [18:25:20] Ordinarily, one just uses adapt, as Ulrich suggested. And I did want to discourage interface introspection of the "does X implement Y" style. [18:25:49] It simplifies code enormously to instead define a *new* interface that you want, and define adapters from interfaces that the subject might possess. [18:26:04] And, it's open to extension, since anyone can write an adapter from anything to your new interface. [18:33:06] HTH. Gotta run. [18:33:10] ** pje has left us [23:21:08] ** lex_ has joined us