Gerrit Voss
Tue, 31 Jul 2007 07:53:26 -0700
Hi, On Tue, 2007-07-31 at 07:35 -0500, Allen Bierbaum wrote: > [EMAIL PROTECTED] wrote: > > Author: vossg > > Date: Tue Jul 31 01:57:53 2007 > > New Revision: 862 > > Trac changeset: http://opensg.vrsource.org/trac/changeset/862 > > ViewVC: http://realityforge.vrsource.org/viewvc/opensg?view=rev&revision=862 > > > [..] > > Log: > > changed : redesign generic interface > > Anytime I see something like "redesign generic interface" I have to ask, > can you give us more details about this change. > What does this change fix/add and is it part of a bigger effort? Foremost the original 2 generic interface was crap. Especially the need to explicitly carry the FieldDesc/FC around was not the brightest idea ever. So there was a general need to change it. So it basically moves back to retrieve a single polymorphic object that is able to handle all field access either by giving direct access to the field (get/edit for all value fields and get for pointer fields) or by providing a wrapper in case the field can not be modified directly (edit pointer fields). Similar it provides the virtual interface to handle fields in an abstract way (e.g. fromString, toStream for the loaders/writer). As fields in 2 are not polymorphic it had to be something else so on the highest level in looks like class ReflexivceContainer { GetHandlePtr getField (UInt32 fieldId); EditHandlePtr editField(UInt32 fieldId); }; where GetHandle / EditHandle are the polymorphic objects. As to the bigger effort it is half of finally clearing all the basic stuff (the other half is RefPtr use internally) so we can move on and clean all the small stuff that needs to be done to get closer to an alpha state. As Dirk is currently looking into the RefPtr stuff I committed this one early though it is still not complete. It does at least what the available loader/writer need but for example some of the clone stuff is not complete. So it is still evolving (in terms of completeness) but as the current head is in an experimental/unstable state anyway I mainly preferred not to let Dirks and my tree diverge to much. So there wasn't any big announcement because half of the puzzle is still missing (RefPtr). But I don't expect fundamental changes to it right now (hopefully, except if the fields ever become polymorphic again). regards, gerrit ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Opensg-core mailing list Opensg-core@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensg-core