From: Frank V. C. <fr...@co...> - 2000-10-19 11:23:13
|
As I have been reading the posting to this group for a few weeks, every once in a while I see things like: > I want our stuff to be compatable with the CoreLinux++ stuff so once we > hammer the details out a bit we should pass it by them and see their > thoughts on the subject. I thought it would be to our mutual benefits to give everyone a "heads up" to where we are in the similar endeavor. The relevant framework requirement (although lightly worded): http://corelinux.sourceforge.net/doc/requirements/req4865.php And the UML design for the framework abstraction and one implementation level: http://corelinux.sourceforge.net/doc/design/4865.php What we have been doing to facilitate this view is building up the MetaType, because C++ RTTI just isn't enough, so that when we get to these frameworks, we can reason with the objects in a more dynamic fashion. We are avoiding any IDL for the short term, obviously at the cost of adding more code, but clearly see the usefulness of the capability in the near term. To support the IDL type thingy, we need a prepared infrastructure that is denied us by lack of resources. So, we have been approaching it in the following way, and our current CVS cut of framework library reflects this work: 1. Creation of the MetaType, and subsequent fundemental type wrappers (Real, Integer, SmallInteger, etc.) which generate the information and support needed for the types (size, parents, attributes, factory) in this endeavor. This is done through macros defined at edit time. 2. Type attribute accessor/mutator enablement (again through macros), the most useful one being that which takes and returns void pointers to values which then call instance methods to cast types appropriatley. What the run-time MetaType instance (e.g. MetaTypeInteger) gives us are mainly arrays of structures which can be coupled with the type instance (e.g. Integer myInteger;) to execute against (like your DynamicMethodCall). Christophe/Hans (CoreLinux++ team members): You may want to join the somelib-devel as I may forget to cross post these exchanges. Thoughts anywhere/anyone? -- Frank V. Castellucci http://corelinux.sourceforge.net OOA/OOD/C++ Standards and Guidelines for Linux |