Ticket UUID: | 1842600 | |||
Title: | Additional public API's for tclOO | |||
Type: | RFE | Version: | None | |
Submitter: | wiede | Created on: | 2007-12-02 10:31:06 | |
Subsystem: | 35. TclOO Package | Assigned To: | dkf | |
Priority: | 8 | Severity: | ||
Status: | Closed | Last Modified: | 2008-05-08 22:28:31 | |
Resolution: | Fixed | Closed By: | dkf | |
Closed on: | 2008-05-08 15:28:31 | |||
Description: |
These are some additional public API's which would allow (at least for itcl-ng) to not need tclOOInt.h in the code. see attached files (Include part and code part). | |||
User Comments: |
dkf added on 2008-05-08 22:28:31:
Logged In: YES user_id=79902 Originator: NO I've now got TclOOObjectSetMixins and TclOOClassSetMixins in the internal stub table. While I'm not yet sure that the API is perfect (hence they're not public) they're probably good enough if you're already using tclOOInt.h. wiede added on 2008-01-07 00:31:14: Logged In: YES user_id=558925 Originator: YES I am now using all the new interfaces you are providing. Thanks for providing them. I am now also using the mixin management as you suggested. dkf added on 2008-01-06 06:05:57: Logged In: YES user_id=79902 Originator: NO Everything done except the mixin management; that's a lot more complex because being a mixin requires a correct relationship back the other way. And the appropriate epoch also has to be incremented to flush all relevant caches too. It's currently easier to use Tcl_EvalObjv to invoke 'oo::define mixin' with the right arguments... dkf added on 2008-01-03 22:14:25: Logged In: YES user_id=79902 Originator: NO I'm not sure that those two mixin-related functions are the right ones to expose. They're a bit low-level, and are just there to make managing the data structures easy. Other functions are all now exposed either publicly or through the private stubs table. wiede added on 2007-12-12 22:26:56: Logged In: YES user_id=558925 Originator: YES In the meantime I have figured out, that it would be enough to have the following functions of TclOO in the internal stubs table: TclOOAddToMixinSubs TclOORemoveFromMixinSubs TclOONewForwardMethod TclOONewForwardClassMethod and (see RFE 1842588) Tcl_ObjectSetMapMethodNameProc (or maybe better naming: TclOOObjectSetMapMethodNameProc) wiede added on 2007-12-02 17:32:08: File Added - 256948: itclNeededFromTclOO.h Logged In: YES user_id=558925 Originator: YES File Added: itclNeededFromTclOO.h wiede added on 2007-12-02 17:31:08: File Added - 256947: itclNeededFromTclOO.c |