You can subscribe to this list here.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(9) |
Oct
(124) |
Nov
(120) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(6) |
Feb
(34) |
Mar
(49) |
Apr
(81) |
May
(25) |
Jun
(3) |
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(37) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Frank V. C. <fr...@us...> - 2000-11-18 03:35:25
|
Update of /cvsroot/corelinux/clfw/clfw/LibLoad In directory slayer.i.sourceforge.net:/tmp/cvs-serv29061/clfw/LibLoad Modified Files: Library.hpp Log Message: 122753 Library Load Re-implementation Index: Library.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/LibLoad/Library.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** Library.hpp 2000/11/17 13:07:08 1.4 --- Library.hpp 2000/11/18 03:35:20 1.5 *************** *** 32,38 **** --- 32,46 ---- #endif + #if !defined(__LOADER_HPP) #include INCL_Loader + #endif + + #if !defined(__LIBRARYTYPE_HPP) #include INCL_LibraryType + #endif + + #if !defined(__LOADERNOTFOUNDEXCEPTION_HPP) #include INCL_LoaderNotFoundException + #endif #include <string> *************** *** 44,55 **** DECLARE_CLASS( MetaClass ); - CORELINUX_MAP( LibraryType,LoaderPtr,less<LibraryType>, TypeMap ); - DECLARE_CLASS( Library ); /** ! Library supports the registration/deregistration of library loaders ! specific to a LibraryType. If a library is resolvable, the Library ! shall provide a LibraryInstance object for that type of library. @see corelinux::LibraryType @see corelinux::LibraryInstance --- 52,60 ---- DECLARE_CLASS( MetaClass ); DECLARE_CLASS( Library ); /** ! Library supports resolving library library loaders using the ! LibraryType classes described in the 'corelinux' ontology. @see corelinux::LibraryType @see corelinux::LibraryInstance *************** *** 93,122 **** // - /** - Registers a loader associated with a particular - library type. When a request to load a library - is called, the type is resolved to have the - associated loader actually do the work. There - is a one to one association for types. - @param LibraryType describes the type that - the loader can manage - @param Loader the actual loader for the library type - @return Loader pointer if registering this replaces an - existing loader. - @exception NullPointerException if the Loader is null. - */ - - virtual LoaderPtr registerLoader( LibraryTypeRef, LoaderPtr ) - throw (NullPointerException); - - /** - Deregisters the loader associated with the LibraryType - @param LibraryType to deregister - @return Loader associated with type - @exception LoaderNotFoundException if can't be resolved - */ - - virtual LoaderPtr deregisterLoader( LibraryTypeRef ) - throw ( LoaderNotFoundException ); // --- 98,101 ---- *************** *** 154,169 **** throw (NullPointerException, LoaderNotFoundException); - /** - Load is the request to access the identified library - @param std::string pointer to name of library - @param LibraryType reference to identify loader - @return LibraryInstance instance of LibraryInstance - @exception NullPointerException if either argument is null - @exception LoaderNotFoundException if type can't be resolved - */ - - virtual LibraryInstancePtr load( const std::string &, LibraryTypeRef ) - throw (NullPointerException, LoaderNotFoundException); - protected: --- 133,136 ---- *************** *** 177,180 **** --- 144,151 ---- MetaClassPtr findLibraryHandler( CharPtr ); + /// Do the actual load + + LibraryInstancePtr loadInstance( CharPtr , MetaClassPtr ); + // // Operator overloads *************** *** 186,191 **** private: - - TypeMap theLoaderMap; }; --- 157,160 ---- |
|
From: Frank V. C. <fr...@us...> - 2000-11-17 13:07:25
|
Update of /cvsroot/corelinux/clfw/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv9356/clfw Modified Files: MetaClass.hpp Log Message: 122619 Fatten MetaClass interface Index: MetaClass.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/MetaClass.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** MetaClass.hpp 2000/11/15 23:07:20 1.4 --- MetaClass.hpp 2000/11/17 13:07:08 1.5 *************** *** 80,83 **** --- 80,126 ---- /** + get the class description + @return char pointer to description or null + */ + + CharCptr getTypeDescription( void ) const; + + /** + get the domain name (the Ontology) that this + class is a member of + @return char pointer to domain name, or null + */ + + CharCptr getDomainName( void ) const; + + /** + get the parent count + @return Count of parents (0 if root) + */ + + Count getParentCount( void ) const; + + /** + get the instance member (attributes) count + @return Count of data members + */ + + Count getInstanceMemberCount( void ) const; + + /** + get the dispatch functions count + @return Count of dispatch functions + */ + + Count getInstanceFunctionCount( void ) const; + + /** + tells if this is an abstract type + @return true if abstract, false otherwise + */ + + bool isAbstractType( void ) const; + + /** Retrieve the MetaType associated with this MetaClass *************** *** 109,112 **** --- 152,181 ---- throw( InvalidCompositeException ); + /** + Attempts to call the method via a dispatch function on + the object + @param FrameworkEntity pointer to the object + @param char pointer to the named method (used for lookup) + @param void pointer array of arguments + @param void pointer to return value + @exception NullpointerException if object or name are null + @exception DescriptorNotFound if no match + */ + + void dispatch( FrameworkEntityPtr, CharPtr, void **, void * ) + throw( NullPointerException, DescriptorNotFound ); + + /** + Attempts to call the method via a dispatch function on + the object + @param char pointer to the named method (used for lookup) + @param void pointer array of arguments + @param void pointer to return value + @exception NullpointerException if object or name are null + @exception DescriptorNotFound if no match + */ + + void dispatch( CharPtr, void **, void * ) + throw( NullPointerException, DescriptorNotFound ); // |
|
From: Frank V. C. <fr...@us...> - 2000-11-17 13:07:24
|
Update of /cvsroot/corelinux/clfw/clfw/LibLoad In directory slayer.i.sourceforge.net:/tmp/cvs-serv9356/clfw/LibLoad Modified Files: Library.hpp Log Message: 122619 Fatten MetaClass interface Index: Library.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/LibLoad/Library.hpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** Library.hpp 2000/08/31 23:12:42 1.3 --- Library.hpp 2000/11/17 13:07:08 1.4 *************** *** 25,33 **** #if !defined(__CLFWCOMMON_HPP) ! #include <ClfwCommon.hpp> #endif #if !defined(__MAP_HPP) ! #include <Map.hpp> #endif --- 25,33 ---- #if !defined(__CLFWCOMMON_HPP) ! #include <clfw/ClfwCommon.hpp> #endif #if !defined(__MAP_HPP) ! #include <corelinx/Map.hpp> #endif *************** *** 42,45 **** --- 42,46 ---- DECLARE_CLASS( LibraryInstance ); + DECLARE_CLASS( MetaClass ); CORELINUX_MAP( LibraryType,LoaderPtr,less<LibraryType>, TypeMap ); *************** *** 122,125 **** --- 123,157 ---- // Load routines // + + /** + Load is the request to access a Loader that handles the + library type as determined by the name. This will delegate + the work to the first loader it finds that can handle the + file type. + @param Char pointer to name of library + @return LibraryInstance instance of LibraryInstance + @exception NullPointerException if pointer is null + @exception LoaderNotFoundException if type can't be resolved + */ + + virtual LibraryInstancePtr load( CharPtr ) + throw (NullPointerException, LoaderNotFoundException); + + /** + Load is the request to access a Loader that handles the + library type as determined by the MetaClass provided with + the library name. In effect, this overrides searching for + the first handler available. + @param Char pointer to name of library + @param MetaClass pointer to MetaLibraryType derivation + that handles the load + @return LibraryInstance instance of LibraryInstance + @exception NullPointerException if either pointer is null + @exception LoaderNotFoundException if type can't be resolved + */ + + virtual LibraryInstancePtr load( CharPtr, MetaClassPtr ) + throw (NullPointerException, LoaderNotFoundException); + /** Load is the request to access the identified library *************** *** 139,142 **** --- 171,179 ---- Library( LibraryCref ) throw (Assertion); + + + /// Finds a handler for the library type + + MetaClassPtr findLibraryHandler( CharPtr ); // |
|
From: Frank V. C. <fr...@us...> - 2000-11-17 13:07:24
|
Update of /cvsroot/corelinux/clfw/src/testdrivers/exf1 In directory slayer.i.sourceforge.net:/tmp/cvs-serv9356/src/testdrivers/exf1 Modified Files: examp1.cpp Log Message: 122619 Fatten MetaClass interface Index: examp1.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/testdrivers/exf1/examp1.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** examp1.cpp 2000/11/15 23:07:21 1.23 --- examp1.cpp 2000/11/17 13:07:09 1.24 *************** *** 41,44 **** --- 41,46 ---- // + #define LIBRARY_LOAD_FRAMWORK + #if !defined(__CLFWCOMMON_HPP) #include <clfw/ClfwCommon.hpp> *************** *** 85,88 **** --- 87,92 ---- #endif + #include INCL_Library + using namespace corelinux; *************** *** 120,124 **** // ! // Getter template < class T > T &getValue( char *name, FrameworkEntityPtr aFE ) --- 124,130 ---- // ! // ! // Attribute Getter ! // template < class T > T &getValue( char *name, FrameworkEntityPtr aFE ) *************** *** 131,135 **** } ! // Setter template < class T > void setValue --- 137,143 ---- } ! // ! // Attribute Setter ! // template < class T > void setValue *************** *** 147,236 **** template < class T > void dumpParents( T *aMPtr ) { - Iterator<T *> *aIterator(aMPtr->createParentIterator()); - cout << endl << "Meta Parent List : " << endl; ! while( aIterator->isValid() ) { ! cout ! << "\tClass = " << aIterator->getElement()->getInstanceTypeName() ! << endl ! << "\tMetaType = " << aIterator->getElement()->getMetaTypeName() ! << endl; ! aIterator->setNext(); ! } ! aMPtr->destroyIterator( aIterator ); } ! // MetaType or MetaClass Members template < class T > void dumpInstanceMembers( T *aMPtr ) { ! Iterator<MemberDescriptorPtr> *aIterator ! ( ! aMPtr->createMemberIterator() ! ); ! ! while( aIterator->isValid() ) { ! MemberDescriptorCptr anElement( aIterator->getElement() ); ! ! cout << "\tVar name = " << anElement->theTypeVariableName ! << endl; ! cout << "\tVar type = " << anElement->theTypeName ! << endl; ! cout << "\tVar size = " << anElement->theSizeInBytes ! << endl; ! if( anElement->theTypePointer != NULLPTR ) { ! cout << "\tClass type = " ! << anElement->theTypePointer->getInstanceTypeName() << endl; ! } ! else ! { ! cout << "\tNot a FrameworkEntity" << endl; ! } ! if( anElement->theGetter != NULLPTR ) ! { ! cout << "\tHas getter " << endl; ! } ! else ! { ! ; // do nothing ! } ! if( anElement->theSetter != NULLPTR ) ! { ! cout << "\tHas setter " << endl; ! } ! else ! { ! ; // do nothing } - aIterator->setNext(); - } ! aMPtr->destroyIterator( aIterator ); } template < class T > void dumpInstanceFunctions( T *aMPtr ) { ! Iterator<DispatchDescriptorPtr> *aIterator ! ( ! aMPtr->createMethodIterator() ! ); ! while( aIterator->isValid() ) { ! cout << "\tFunction name = " << ! aIterator->getElement()->theClassMethodName << endl; ! aIterator->setNext(); } - - aMPtr->destroyIterator( aIterator ); } --- 155,271 ---- template < class T > void dumpParents( T *aMPtr ) { cout << endl << "Meta Parent List : " << endl; ! if( aMPtr->getParentCount() != 0 ) { ! Iterator<T *> *aIterator(aMPtr->createParentIterator()); ! ! while( aIterator->isValid() ) ! { ! cout ! << "\tClass = " << ! aIterator->getElement()->getInstanceTypeName() << endl ! << "\tMetaType = " ! << aIterator->getElement()->getMetaTypeName() << endl; ! aIterator->setNext(); ! } + aMPtr->destroyIterator( aIterator ); + } + else + { + ; // do nothing + } } ! // ! // MetaType or MetaClass Attribute Control Blocks ! // template < class T > void dumpInstanceMembers( T *aMPtr ) { ! if( aMPtr->getInstanceMemberCount() != 0 ) { ! Iterator<MemberDescriptorPtr> *aIterator ! ( ! aMPtr->createMemberIterator() ! ); ! while( aIterator->isValid() ) { ! MemberDescriptorCptr anElement( aIterator->getElement() ); ! ! cout << "\tVar name = " << anElement->theTypeVariableName << endl; ! cout << "\tVar type = " << anElement->theTypeName ! << endl; ! cout << "\tVar size = " << anElement->theSizeInBytes ! << endl; ! if( anElement->theTypePointer != NULLPTR ) ! { ! cout << "\tClass type = " ! << anElement->theTypePointer->getInstanceTypeName() ! << endl; ! } ! else ! { ! cout << "\tNot a FrameworkEntity" << endl; ! } ! ! if( anElement->theGetter != NULLPTR ) ! { ! cout << "\tHas getter " << endl; ! } ! else ! { ! ; // do nothing ! } ! if( anElement->theSetter != NULLPTR ) ! { ! cout << "\tHas setter " << endl; ! } ! else ! { ! ; // do nothing ! } ! aIterator->setNext(); } ! aMPtr->destroyIterator( aIterator ); ! } ! else ! { ! ; // do nothing ! } } + // + // MetaType or MetaClass Dispatch Control Blocks + // + template < class T > void dumpInstanceFunctions( T *aMPtr ) { ! if( aMPtr->getInstanceFunctionCount() != 0 ) ! { ! Iterator<DispatchDescriptorPtr> *aIterator ! ( ! aMPtr->createMethodIterator() ! ); ! ! while( aIterator->isValid() ) ! { ! cout << "\tFunction name = " << ! aIterator->getElement()->theClassMethodName << endl; ! aIterator->setNext(); ! } ! aMPtr->destroyIterator( aIterator ); ! } ! else { ! ; // do nothing } } *************** *** 254,257 **** --- 289,296 ---- dumpOntology(); + Library aLibrary; + + aLibrary.load( "something.so" ); + } catch( AssertionRef aAssert ) *************** *** 337,342 **** } ! cout << aMetaClass->getType()->getMetaTypeName() << " (" ! << aMetaClass->getType()->getDomainName() << ")" << endl; Iterator<MetaClassPtr> *aIterator( aMetaClass->createIterator()); --- 376,381 ---- } ! cout << aMetaClass->getMetaTypeName() << " (" ! << aMetaClass->getDomainName() << ")" << endl; Iterator<MetaClassPtr> *aIterator( aMetaClass->createIterator()); *************** *** 386,394 **** // ! dumpMetaTypeInformation( (MetaTypePtr)FrameworkEntity::getTypeDescriptor() ); ! dumpMetaTypeInformation( (MetaTypePtr)Number::getTypeDescriptor() ); ! dumpMetaTypeInformation( (MetaTypePtr)UnsignedNumber::getTypeDescriptor() ); ! dumpMetaTypeInformation( (MetaTypePtr)SignedNumber::getTypeDescriptor() ); ! dumpMetaTypeInformation( (MetaTypePtr)UserType::getTypeDescriptor() ); // --- 425,433 ---- // ! dumpMetaTypeInformation( FrameworkEntity::getTypeDescriptor() ); ! dumpMetaTypeInformation( Number::getTypeDescriptor() ); ! dumpMetaTypeInformation( UnsignedNumber::getTypeDescriptor() ); ! dumpMetaTypeInformation( SignedNumber::getTypeDescriptor() ); ! dumpMetaTypeInformation( UserType::getTypeDescriptor() ); // *************** *** 504,508 **** // ! dumpParents<MetaType>( MetaTypePtr( aMTPtr ) ); // --- 543,547 ---- // ! dumpParents<MetaType>( aMTPtr ); // *************** *** 510,514 **** // ! dumpInstanceMembers<MetaType>( MetaTypePtr( aMTPtr ) ); // --- 549,553 ---- // ! dumpInstanceMembers<MetaType>( aMTPtr ); // *************** *** 516,520 **** // ! dumpInstanceFunctions<MetaType>( MetaTypePtr( aMTPtr ) ); } --- 555,559 ---- // ! dumpInstanceFunctions<MetaType>( aMTPtr ); } |
|
From: Frank V. C. <fr...@us...> - 2000-11-17 13:07:24
|
Update of /cvsroot/corelinux/clfw/src/libs/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv9356/src/libs/clfw Modified Files: MetaClass.cpp Log Message: 122619 Fatten MetaClass interface Index: MetaClass.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/clfw/MetaClass.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** MetaClass.cpp 2000/11/15 23:07:21 1.4 --- MetaClass.cpp 2000/11/17 13:07:09 1.5 *************** *** 219,222 **** --- 219,262 ---- } + // get the type description + + CharCptr MetaClass::getTypeDescription( void ) const + { + return theType->getTypeDescription(); + } + + // get the domain name + + CharCptr MetaClass::getDomainName( void ) const + { + return theType->getDomainName(); + } + + // get the parent counter + + Count MetaClass::getParentCount( void ) const + { + return theType->getParentCount(); + } + + // get the instance member (attributes) count + + Count MetaClass::getInstanceMemberCount( void ) const + { + return theType->getInstanceMemberCount(); + } + + // get the dispatch functions count + + Count MetaClass::getInstanceFunctionCount( void ) const + { + return theType->getInstanceFunctionCount(); + } + + bool MetaClass::isAbstractType( void ) const + { + return theType->isAbstractType(); + } + // // Fetch the base type *************** *** 268,271 **** --- 308,336 ---- } } + } + + + void MetaClass::dispatch + ( + FrameworkEntityPtr aEntity, + CharPtr aName, + void **args, + void *ret + ) + throw( NullPointerException, DescriptorNotFound ) + { + theType->dispatch(aEntity,aName,args,ret); + } + + + void MetaClass::dispatch + ( + CharPtr aName, + void **args, + void *ret + ) + throw( NullPointerException, DescriptorNotFound ) + { + theType->dispatch(NULLPTR,aName,args,ret); } |
|
From: Frank V. C. <fr...@us...> - 2000-11-17 13:07:24
|
Update of /cvsroot/corelinux/clfw/doc In directory slayer.i.sourceforge.net:/tmp/cvs-serv9356/doc Modified Files: clfw.cfg.in Log Message: 122619 Fatten MetaClass interface Index: clfw.cfg.in =================================================================== RCS file: /cvsroot/corelinux/clfw/doc/clfw.cfg.in,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** clfw.cfg.in 2000/10/03 23:51:49 1.5 --- clfw.cfg.in 2000/11/17 13:07:08 1.6 *************** *** 3,7 **** # General configuration options #--------------------------------------------------------------------------- ! PROJECT_NAME = CoreLinux++ PROJECT_NUMBER = @CLFW_VERSION@ OUTPUT_DIRECTORY = --- 3,7 ---- # General configuration options #--------------------------------------------------------------------------- ! PROJECT_NAME = "CoreLinux++ Abstract Framework Library" PROJECT_NUMBER = @CLFW_VERSION@ OUTPUT_DIRECTORY = *************** *** 25,29 **** CASE_SENSE_NAMES = YES HIDE_SCOPE_NAMES = NO ! VERBATIM_HEADERS = YES SHOW_INCLUDE_FILES = YES JAVADOC_AUTOBRIEF = YES --- 25,29 ---- CASE_SENSE_NAMES = YES HIDE_SCOPE_NAMES = NO ! VERBATIM_HEADERS = NO SHOW_INCLUDE_FILES = YES JAVADOC_AUTOBRIEF = YES *************** *** 51,55 **** RECURSIVE = YES EXCLUDE = ! EXCLUDE_PATTERNS = EXAMPLE_PATH = ../src/testdrivers/ EXAMPLE_PATTERNS = --- 51,55 ---- RECURSIVE = YES EXCLUDE = ! EXCLUDE_PATTERNS = */corelinux/* EXAMPLE_PATH = ../src/testdrivers/ EXAMPLE_PATTERNS = |
|
From: Frank V. C. <fr...@us...> - 2000-11-17 13:07:24
|
Update of /cvsroot/corelinux/clfw/src/libs/LibLoad In directory slayer.i.sourceforge.net:/tmp/cvs-serv9356/src/libs/LibLoad Modified Files: Library.cpp Log Message: 122619 Fatten MetaClass interface Index: Library.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/LibLoad/Library.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** Library.cpp 2000/08/31 02:18:51 1.2 --- Library.cpp 2000/11/17 13:07:09 1.3 *************** *** 22,34 **** #if !defined(__CLFWCOMMON_HPP) ! #include <ClfwCommon.hpp> #endif #if !defined(__LIBRARY_HPP) #include INCL_Library #endif namespace corelinux { // // Default constructor --- 22,118 ---- #if !defined(__CLFWCOMMON_HPP) ! #include <clfw/ClfwCommon.hpp> #endif + #if !defined(__METASPACE_HPP) + #include <clfw/MetaSpace.hpp> + #endif + + #if !defined(__METACLASS_HPP) + #include <clfw/MetaClass.hpp> + #endif + #if !defined(__LIBRARY_HPP) #include INCL_Library #endif + #include <cstring> + namespace corelinux { + static CharPtr gTestMethod( "handlesType" ); + static CharPtr gGetLoaderMethod( "getLoaderType" ); + + static MetaClassPtr findHandler( CharPtr aName, MetaClassPtr aClass ) + { + MetaClassPtr aPtr( NULLPTR ); + Iterator<DispatchDescriptorPtr> *aMethodIterator + ( + aClass->createMethodIterator() + ); + + // + // If we find the method we need, we check to + // see if the type handles it + // + + while( aMethodIterator->isValid() == true ) + { + if( strcmp + ( + gTestMethod, + aMethodIterator->getElement()->theClassMethodName + ) == 0 ) + { + bool results(false); + + aClass->dispatch + ( + gTestMethod, + (void **)&aName, + (void *) &results + ); + + if( results == true ) + { + aPtr = aClass; + break; + } + else + { + ; // do nothing + } + } + else + { + ; // search next method + } + aMethodIterator->setNext(); + } + + aClass->destroyIterator( aMethodIterator ); + + // + // If we have no luck, we dig deeper + // + + if( aPtr == NULLPTR ) + { + Iterator<MetaClassPtr> *aChildIterator( aClass->createIterator() ); + while( aPtr == NULLPTR && aChildIterator->isValid() == true ) + { + aPtr = findHandler( aName, aChildIterator->getElement() ); + aChildIterator->setNext(); + } + aClass->destroyIterator( aChildIterator ); + + } + else + { + ; // do nothing + } + + return aPtr; + } // // Default constructor *************** *** 134,137 **** --- 218,261 ---- // + // Work the magic of ontologies! + // + + LibraryInstancePtr Library::load( CharPtr aName ) + throw ( NullPointerException, LoaderNotFoundException ) + { + LibraryInstancePtr aInstance( NULLPTR ); + + if( aName == NULLPTR ) + { + throw NullPointerException( LOCATION ); + } + else + { + MetaClassPtr aClass( this->findLibraryHandler( aName ) ); + if( aClass == NULLPTR ) + { + throw LoaderNotFoundException( LOCATION ); + } + else + { + + } + } + + return aInstance; + } + + // + // Go direct to the type handler + // + + LibraryInstancePtr Library::load( CharPtr, MetaClassPtr ) + throw (NullPointerException, LoaderNotFoundException) + { + LibraryInstancePtr aInstance( NULLPTR ); + return aInstance; + } + + // // Request the loader actually load a library instance // *************** *** 160,163 **** --- 284,300 ---- } return aInstance; + } + + // + // Setup the traversal looking for an appropriate handler + // + + MetaClassPtr Library::findLibraryHandler( CharPtr aName ) + { + return findHandler + ( + aName, + MetaSpace::getClassForType( LibraryType::getTypeDescriptor() ) + ); } } |
|
From: Frank V. C. <fr...@us...> - 2000-11-16 19:19:54
|
Update of /cvsroot/corelinux/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv3728 Modified Files: README configure.in Log Message: Prep for 0.2.6 Index: README =================================================================== RCS file: /cvsroot/corelinux/clfw/README,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** README 2000/11/15 04:33:01 1.13 --- README 2000/11/16 19:19:50 1.14 *************** *** 1,4 **** ==================================================== ! CoreLinux++ Framework Source Distribution Beta 0.2.5 ==================================================== --- 1,4 ---- ==================================================== ! CoreLinux++ Framework Source Distribution Beta 0.2.6 ==================================================== Index: configure.in =================================================================== RCS file: /cvsroot/corelinux/clfw/configure.in,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -r1.20 -r1.21 *** configure.in 2000/11/10 04:42:47 1.20 --- configure.in 2000/11/16 19:19:50 1.21 *************** *** 10,14 **** CLFW_MAJOR_VERSION=0 CLFW_MINOR_VERSION=2 ! CLFW_MICRO_VERSION=5 dnl --- 10,14 ---- CLFW_MAJOR_VERSION=0 CLFW_MINOR_VERSION=2 ! CLFW_MICRO_VERSION=6 dnl |
|
From: Frank V. C. <fr...@us...> - 2000-11-16 13:22:07
|
Update of /cvsroot/corelinux/htdocs In directory slayer.i.sourceforge.net:/tmp/cvs-serv28111 Modified Files: download.php news.php Log Message: libcorelinux 0.4.30 and libclfw 0.2.5 Index: download.php =================================================================== RCS file: /cvsroot/corelinux/htdocs/download.php,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** download.php 2000/11/06 23:05:30 1.16 --- download.php 2000/11/16 13:22:04 1.17 *************** *** 4,13 **** $cldoc_release="0.4.29"; ! $cl_release="0.4.29"; ! $cldeb_release="0.4.29"; $cl_release_rpm=1; $cl_release_deb=1; ! $clfw_release="0.2.4"; ! $clfwdeb_release="0.2.4"; $clfw_release_rpm=1; $clfw_release_deb=1; --- 4,13 ---- $cldoc_release="0.4.29"; ! $cl_release="0.4.30"; ! $cldeb_release="0.4.30"; $cl_release_rpm=1; $cl_release_deb=1; ! $clfw_release="0.2.5"; ! $clfwdeb_release="0.2.5"; $clfw_release_rpm=1; $clfw_release_deb=1; Index: news.php =================================================================== RCS file: /cvsroot/corelinux/htdocs/news.php,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -r1.31 -r1.32 *** news.php 2000/11/06 13:18:10 1.31 --- news.php 2000/11/16 13:22:04 1.32 *************** *** 41,44 **** --- 41,57 ---- <? + add_breaking_news("11/16/2000", + "CoreLinux++ 0.4.30 released!", + "New Library Released", + "rel-0-4-30", + "EventSemaphore and example code now working to specification. Corrected minor defects to enable GLIBC 2.0 support."); + + add_breaking_news("11/16/2000", + "libclfw++ 0.2.5 released!", + "New Library Released", + "rel-0-2-5", + "Added MetaSpace, Ontology, and MetaClass. This completes the initial enablement for namespace ontology management + and reflective types. Significant interface changes, requires libcorelinux++ 0.4.30 and libuuid."); + add_breaking_news("11/06/2000", "libclfw++ 0.2.4 released!", *************** *** 370,373 **** --- 383,388 ---- echo "<table compact width=100% border=0>\n"; + add_small_news("11/16","rel-0-4-30","libcorelinux++ 0.4.30"); + add_small_news("11/16","rel-0.2.5","libclfw++ 0.2.5"); add_small_news("11/05","rel-0-2-4","libclfw++ 0.2.4"); add_small_news("10/31","rel-0-2-3","libclfw++ 0.2.3"); |
|
From: Frank V. C. <fr...@us...> - 2000-11-16 12:08:42
|
Update of /cvsroot/corelinux/corelinux In directory slayer.i.sourceforge.net:/tmp/cvs-serv20016 Modified Files: corelinux.spec.in Log Message: Invalid spec Index: corelinux.spec.in =================================================================== RCS file: /cvsroot/corelinux/corelinux/corelinux.spec.in,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** corelinux.spec.in 2000/07/31 02:03:20 1.4 --- corelinux.spec.in 2000/11/16 12:08:39 1.5 *************** *** 132,136 **** %{_libdir}/%{lib_name}.a %{_libdir}/%{lib_name}.la ! %{_mandir}/man3/*.3 %doc debian/README.Redhat --- 132,136 ---- %{_libdir}/%{lib_name}.a %{_libdir}/%{lib_name}.la ! %{_mandir}/man3/*.3.gz %doc debian/README.Redhat |
|
From: Frank V. C. <fr...@us...> - 2000-11-16 11:39:37
|
Update of /cvsroot/corelinux/corelinux In directory slayer.i.sourceforge.net:/tmp/cvs-serv16930 Modified Files: ChangeLog Log Message: 116436 Release 0.4.30 Index: ChangeLog =================================================================== RCS file: /cvsroot/corelinux/corelinux/ChangeLog,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -r1.30 -r1.31 *** ChangeLog 2000/11/01 11:54:59 1.30 --- ChangeLog 2000/11/16 11:39:33 1.31 *************** *** 16,20 **** 0.4.29 to 0.4.30 ---------------- ! Feature 113873 : More docs on frameworks 0.4.28 to 0.4.29 --- 16,20 ---- 0.4.29 to 0.4.30 ---------------- ! Feature 113873 : More docs on frameworks (not released) 0.4.28 to 0.4.29 *************** *** 161,164 **** --- 161,166 ---- ---------------- Defect 113184 : Removed sigaction (not currently used) to allow glibc2.0 systems + Defect 113985 : EventSemaphore change protection + Defect 115535 : Deadlock in example 22 code 0.4.28 to 0.4.29 |
|
From: Christophe Prud'h. <pru...@us...> - 2000-11-16 09:47:11
|
Update of /cvsroot/corelinux/clfw/debian In directory slayer.i.sourceforge.net:/tmp/cvs-serv5335 Modified Files: changelog rules Log Message: updated for 0.2.5 Index: changelog =================================================================== RCS file: /cvsroot/corelinux/clfw/debian/changelog,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** changelog 2000/11/06 19:09:49 1.5 --- changelog 2000/11/16 09:47:08 1.6 *************** *** 1,2 **** --- 1,8 ---- + libclfw (0.2.5-1) unstable; urgency=low + + * new upstream release + + -- Christophe Prud'homme <pru...@mi...> Thu, 16 Nov 2000 04:46:22 -0500 + libclfw (0.2.4-1) unstable; urgency=low Index: rules =================================================================== RCS file: /cvsroot/corelinux/clfw/debian/rules,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** rules 2000/11/06 19:09:49 1.6 --- rules 2000/11/16 09:47:08 1.7 *************** *** 4,8 **** package=libclfw ! version=0.2.4 version_major=0 --- 4,8 ---- package=libclfw ! version=0.2.5 version_major=0 *************** *** 20,26 **** ./configure --prefix=$(top_builddir)/debian/tmp/usr --includedir=`pwd`/debian/tmp/usr/include/clfw make ! rm -rf doc/html doc/latex doc/man && cd doc && doxygen clfw.cfg ! cd doc/latex && for i in *.eps; do epstopdf $$i; done ! cd doc/latex && make pdf && make ps && mv refman.pdf clfw-ref.pdf && mv refman.ps clfw-ref.ps touch build-stamp --- 20,26 ---- ./configure --prefix=$(top_builddir)/debian/tmp/usr --includedir=`pwd`/debian/tmp/usr/include/clfw make ! rm -rf doc/html doc/man && cd doc && doxygen clfw.cfg ! # cd doc/latex && for i in *.eps; do epstopdf $$i; done ! # cd doc/latex && make pdf && make ps && mv refman.pdf clfw-ref.pdf && mv refman.ps clfw-ref.ps touch build-stamp *************** *** 52,56 **** dh_testdir dh_testroot ! dh_installdocs -plibclfw-doc `find doc/latex -name "clfw-ref.p[dfs]*"` dh_installdocs -A debian/README.Redhat debian/README.debian # dh_installexamples -plibclfw-examples debian/README.examples `find src/testdrivers -name "*.[ch]*[pp]*"` --- 52,56 ---- dh_testdir dh_testroot ! # dh_installdocs -plibclfw-doc `find doc/latex -name "clfw-ref.p[dfs]*"` dh_installdocs -A debian/README.Redhat debian/README.debian # dh_installexamples -plibclfw-examples debian/README.examples `find src/testdrivers -name "*.[ch]*[pp]*"` |
|
From: Christophe Prud'h. <pru...@us...> - 2000-11-16 09:45:47
|
Update of /cvsroot/corelinux/corelinux/debian In directory slayer.i.sourceforge.net:/tmp/cvs-serv5176 Modified Files: changelog rules Log Message: updated for 0.4.30 Index: changelog =================================================================== RCS file: /cvsroot/corelinux/corelinux/debian/changelog,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** changelog 2000/09/22 15:27:58 1.5 --- changelog 2000/11/16 09:45:38 1.6 *************** *** 1,2 **** --- 1,20 ---- + libcorelinux (0.4.30-1) unstable; urgency=low + + * new upstream version + + -- Christophe Prud'homme <pru...@mi...> Thu, 16 Nov 2000 04:16:57 -0500 + + libcorelinux (0.4.29-2) unstable; urgency=low + + * generated for potato + + -- Christophe Prud'homme <pru...@mi...> Mon, 6 Nov 2000 20:23:22 -0500 + + libcorelinux (0.4.29-1) unstable; urgency=low + + * new upstream version + + -- Christophe Prud'homme <pru...@mi...> Mon, 16 Oct 2000 11:00:14 -0400 + libcorelinux (0.4.28-1) unstable; urgency=low Index: rules =================================================================== RCS file: /cvsroot/corelinux/corelinux/debian/rules,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** rules 2000/09/25 13:58:53 1.8 --- rules 2000/11/16 09:45:38 1.9 *************** *** 4,8 **** package=libcorelinux ! version=0.4.28 so_version=1.1.0 --- 4,8 ---- package=libcorelinux ! version=0.4.30 so_version=1.1.0 *************** *** 22,27 **** cd classic/src/classlibs && make rm -rf classic/doc/html classic/doc/latex doc/man && cd classic/doc && doxygen corelinux.cfg ! cd classic/doc/latex && for i in *.eps; do epstopdf $$i; done ! cd classic/doc/latex && make pdf && make ps && mv refman.pdf corelinux-ref.pdf && mv refman.ps corelinux-ref.ps mkdir -p debug cd debug && ../configure --prefix=$(top_builddir)/debian/tmp/usr --includedir=`pwd`/debian/tmp/usr/include/corelinux --enable-debug --- 22,27 ---- cd classic/src/classlibs && make rm -rf classic/doc/html classic/doc/latex doc/man && cd classic/doc && doxygen corelinux.cfg ! # cd classic/doc/latex && for i in *.eps; do epstopdf $$i; done ! # cd classic/doc/latex && make pdf && make ps && mv refman.pdf corelinux-ref.pdf && mv refman.ps corelinux-ref.ps mkdir -p debug cd debug && ../configure --prefix=$(top_builddir)/debian/tmp/usr --includedir=`pwd`/debian/tmp/usr/include/corelinux --enable-debug *************** *** 61,65 **** dh_testdir dh_testroot ! dh_installdocs -plibcorelinux-doc `find classic/doc/latex -name "corelinux-ref.p[dfs]*"` dh_installdocs -A debian/README.Redhat debian/README.debian dh_installexamples -plibcorelinux-examples debian/README.examples `find src/testdrivers -name "*.[ch]*[pp]*"` --- 61,65 ---- dh_testdir dh_testroot ! # dh_installdocs -plibcorelinux-doc `find classic/doc/latex -name "corelinux-ref.p[dfs]*"` dh_installdocs -A debian/README.Redhat debian/README.debian dh_installexamples -plibcorelinux-examples debian/README.examples `find src/testdrivers -name "*.[ch]*[pp]*"` |
|
From: Frank V. C. <fr...@us...> - 2000-11-15 23:21:27
|
Update of /cvsroot/corelinux/clfw/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv23853/clfw Modified Files: MetaType.hpp Log Message: 116737 Finishing touches Index: MetaType.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/MetaType.hpp,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -r1.24 -r1.25 *** MetaType.hpp 2000/11/15 23:07:20 1.24 --- MetaType.hpp 2000/11/15 23:21:24 1.25 *************** *** 63,67 **** \return a const pointer to the MetaType \ */ \ ! static corelinux::MetaTypeCptr getTypeDescriptor( void ); \ /** \ get the type \ --- 63,67 ---- \return a const pointer to the MetaType \ */ \ ! static corelinux::MetaTypePtr getTypeDescriptor( void ); \ /** \ get the type \ *************** *** 116,120 **** The parent type descriptor array must be termined by the NULLPTR \ */ \ ! corelinux::MetaTypeCptr(NULLPTR) \ } --- 116,120 ---- The parent type descriptor array must be termined by the NULLPTR \ */ \ ! corelinux::MetaTypePtr(NULLPTR) \ } *************** *** 654,658 **** implements the getTypeDescriptor() function \ */ \ ! MetaTypeCptr className::getTypeDescriptor( void ) \ { \ return &theTypeDesc; \ --- 654,658 ---- implements the getTypeDescriptor() function \ */ \ ! MetaTypePtr className::getTypeDescriptor( void ) \ { \ return &theTypeDesc; \ |
|
From: Frank V. C. <fr...@us...> - 2000-11-15 23:07:24
|
Update of /cvsroot/corelinux/clfw/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv22653/clfw Modified Files: MetaClass.hpp MetaSpace.hpp MetaType.hpp MetaTypeFixedIterator.hpp Ontology.hpp Log Message: 116737 Finishing touches Index: MetaClass.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/MetaClass.hpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** MetaClass.hpp 2000/11/15 12:29:30 1.3 --- MetaClass.hpp 2000/11/15 23:07:20 1.4 *************** *** 37,41 **** { DECLARE_CLASS( MetaClass ); ! CORELINUX_SET( MetaClassCptr, less<MetaClassCptr>, Children ); /** --- 37,41 ---- { DECLARE_CLASS( MetaClass ); ! CORELINUX_SET( MetaClassPtr, less<MetaClassPtr>, Children ); /** *************** *** 44,48 **** */ ! class MetaClass : public TransparentComponent< MetaClassCptr > { friend class Ontology; --- 44,48 ---- */ ! class MetaClass : public TransparentComponent< MetaClassPtr > { friend class Ontology; *************** *** 96,100 **** */ ! virtual void addComponent( MetaClassCptr ) throw( InvalidCompositeException ); --- 96,100 ---- */ ! virtual void addComponent( MetaClassPtr ) throw( InvalidCompositeException ); *************** *** 106,110 **** ! virtual void removeComponent( MetaClassCptr ) throw( InvalidCompositeException ); --- 106,110 ---- ! virtual void removeComponent( MetaClassPtr ) throw( InvalidCompositeException ); *************** *** 119,123 **** */ ! virtual Iterator<MetaClassCptr>* createIterator( void ) throw( InvalidCompositeException ); --- 119,123 ---- */ ! virtual Iterator<MetaClassPtr>* createIterator( void ) throw( InvalidCompositeException ); *************** *** 127,131 **** */ ! virtual Iterator<MetaClassCptr>* createParentIterator( void ) throw( InvalidCompositeException ); --- 127,131 ---- */ ! virtual Iterator<MetaClassPtr>* createParentIterator( void ) throw( InvalidCompositeException ); *************** *** 136,140 **** */ ! virtual Iterator<MemberDescriptorCptr> *createMemberIterator( void ) throw( InvalidCompositeException ); --- 136,140 ---- */ ! virtual Iterator<MemberDescriptorPtr> *createMemberIterator( void ) throw( InvalidCompositeException ); *************** *** 145,149 **** */ ! virtual Iterator<DispatchDescriptorCptr> *createMethodIterator( void ) throw( InvalidCompositeException ); --- 145,149 ---- */ ! virtual Iterator<DispatchDescriptorPtr> *createMethodIterator( void ) throw( InvalidCompositeException ); *************** *** 153,157 **** */ ! virtual void destroyIterator( Iterator<MetaClassCptr>* ) throw( InvalidCompositeException ); --- 153,157 ---- */ ! virtual void destroyIterator( Iterator<MetaClassPtr>* ) throw( InvalidCompositeException ); *************** *** 161,165 **** */ ! virtual void destroyIterator( Iterator<MemberDescriptorCptr> * ) throw( InvalidCompositeException ); --- 161,165 ---- */ ! virtual void destroyIterator( Iterator<MemberDescriptorPtr> * ) throw( InvalidCompositeException ); *************** *** 169,174 **** */ ! virtual void destroyIterator( Iterator<DispatchDescriptorCptr> * ) throw( InvalidCompositeException ); protected: --- 169,175 ---- */ ! virtual void destroyIterator( Iterator<DispatchDescriptorPtr> * ) throw( InvalidCompositeException ); + protected: *************** *** 185,189 **** /// Used by Ontology to create a new class ! MetaClass( MetaTypeCptr ); /// Assignment operator not used --- 186,190 ---- /// Used by Ontology to create a new class ! MetaClass( MetaTypePtr ); /// Assignment operator not used *************** *** 195,199 **** /// The underlying MetaType ! MetaTypeCptr theType; /// The composite children --- 196,200 ---- /// The underlying MetaType ! MetaTypePtr theType; /// The composite children Index: MetaSpace.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/MetaSpace.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** MetaSpace.hpp 2000/11/15 04:33:01 1.4 --- MetaSpace.hpp 2000/11/15 23:07:20 1.5 *************** *** 47,51 **** */ ! static MetaClassCptr getClassForType( MetaTypeCptr ); /** --- 47,51 ---- */ ! static MetaClassPtr getClassForType( MetaTypePtr ); /** Index: MetaType.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/MetaType.hpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** MetaType.hpp 2000/11/15 12:29:30 1.23 --- MetaType.hpp 2000/11/15 23:07:20 1.24 *************** *** 761,764 **** --- 761,770 ---- class MetaType { + struct _infolink + { + void *data; + _infolink *next; + }; + DECLARE_TYPE( struct _infolink, InfoLink ); public: *************** *** 866,876 **** /** - get the Parent types. - @return an array of MetaType - */ - - MetaTypeCptr * const getParentTypes( void ) const; - - /** get the parent count @return Count of parents (0 if root) --- 872,875 ---- *************** *** 880,890 **** /** - get the instance member descriptors - @return an array of MemberDescriptor structures - */ - - MemberDescriptorCptr * const getInstanceMembers( void ) const; - - /** get the instance member (attributes) count @return Count of data members --- 879,882 ---- *************** *** 894,904 **** /** - get the instance dispatch descriptors - @return an array of DispatchDescriptor structures - */ - - DispatchDescriptorCptr * const getInstanceFunctions( void ) const; - - /** get the dispatch functions count @return Count of dispatch functions --- 886,889 ---- *************** *** 982,986 **** */ ! Iterator<MetaTypeCptr>* createParentIterator( void ); /** --- 967,971 ---- */ ! Iterator<MetaTypePtr>* createParentIterator( void ); /** *************** *** 990,994 **** */ ! Iterator<MemberDescriptorCptr> *createMemberIterator( void ); /** --- 975,979 ---- */ ! Iterator<MemberDescriptorPtr> *createMemberIterator( void ); /** *************** *** 998,1002 **** */ ! Iterator<DispatchDescriptorCptr> *createMethodIterator( void ); /** --- 983,987 ---- */ ! Iterator<DispatchDescriptorPtr> *createMethodIterator( void ); /** *************** *** 1005,1009 **** */ ! void destroyIterator( Iterator<MetaTypeCptr>* ); /** --- 990,994 ---- */ ! void destroyIterator( Iterator<MetaTypePtr>* ); /** *************** *** 1012,1016 **** */ ! void destroyIterator( Iterator<MemberDescriptorCptr> * ); /** --- 997,1001 ---- */ ! void destroyIterator( Iterator<MemberDescriptorPtr> * ); /** *************** *** 1019,1023 **** */ ! void destroyIterator( Iterator<DispatchDescriptorCptr> * ); //@} --- 1004,1008 ---- */ ! void destroyIterator( Iterator<DispatchDescriptorPtr> * ); //@} *************** *** 1119,1125 **** DwordCref theInstanceSize; UniversalIdentifierCref theTypeId; ! MetaTypeCptr *const theBaseClasses; ! MemberDescriptorCptr *const theInstanceMembers; ! DispatchDescriptorCptr *const theDispatchFunctions; CharCptr theDomainName; CharCptr theTypeDescription; --- 1104,1110 ---- DwordCref theInstanceSize; UniversalIdentifierCref theTypeId; ! InfoLink *theParents; ! InfoLink *theMembers; ! InfoLink *theMethods; CharCptr theDomainName; CharCptr theTypeDescription; Index: MetaTypeFixedIterator.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/MetaTypeFixedIterator.hpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** MetaTypeFixedIterator.hpp 2000/11/15 12:29:30 1.1 --- MetaTypeFixedIterator.hpp 2000/11/15 23:07:20 1.2 *************** *** 36,51 **** Iterator<T>(), theBase( NULLPTR ), ! theCurrent( NULLPTR ), ! theCount( 0 ) { ; // do nothing } ! MetaTypeFixedIterator( T *a, Count aCount ) : Iterator<T>(), ! theBase( a ), ! theCurrent( a ), ! theCount( aCount ) { ; // do nothing --- 36,49 ---- Iterator<T>(), theBase( NULLPTR ), ! theCurrent( NULLPTR ) { ; // do nothing } ! MetaTypeFixedIterator( MetaType::InfoLinkPtr aLink ) : Iterator<T>(), ! theBase( aLink ), ! theCurrent( aLink ) { ; // do nothing *************** *** 59,64 **** Iterator<T>( aRef ), theBase( aRef.theBase ), ! theCurrent( theBase ), ! theCount( aRef.theCount ) { ; // do nothing --- 57,61 ---- Iterator<T>( aRef ), theBase( aRef.theBase ), ! theCurrent( theBase ) { ; // do nothing *************** *** 68,77 **** { theBase = theCurrent = NULLPTR; - theCount = 0; } virtual bool isValid( void ) const { ! return !(*theCurrent == NULLPTR); } --- 65,73 ---- { theBase = theCurrent = NULLPTR; } virtual bool isValid( void ) const { ! return (theCurrent->data != NULLPTR); } *************** *** 88,92 **** ; // do nothing } ! return (*theCurrent); } --- 84,88 ---- ; // do nothing } ! return (T)theCurrent->data; } *************** *** 100,106 **** throw(IteratorBoundsException) { ! if( *theCurrent != NULLPTR ) { ! ++theCurrent; } else --- 96,102 ---- throw(IteratorBoundsException) { ! if( theCurrent->next != NULLPTR ) { ! theCurrent = theCurrent->next; } else *************** *** 115,121 **** { if( theCurrent != theBase && ! *theBase != NULLPTR ) { ! --theCurrent; } else --- 111,130 ---- { if( theCurrent != theBase && ! theBase->data != NULLPTR ) { ! MetaType::InfoLinkPtr aPos( theBase ); ! ! while( aPos != NULLPTR && aPos != theCurrent ) ! { ! if( aPos->next != NULLPTR && ! aPos->next == theCurrent ) ! { ! theCurrent = aPos; ! } ! else ! { ! aPos = aPos->next; ! } ! } } else *************** *** 131,135 **** { theCurrent = theBase; ! for( Count x = 0; x < theCount; ++x, ++theCurrent ); } --- 140,147 ---- { theCurrent = theBase; ! while( theCurrent->next != NULLPTR ) ! { ! theCurrent = theCurrent->next; ! } } *************** *** 137,143 **** private: ! T *theBase; ! T *theCurrent; ! Count theCount; }; --- 149,154 ---- private: ! MetaType::InfoLinkPtr theBase; ! MetaType::InfoLinkPtr theCurrent; }; Index: Ontology.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/Ontology.hpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** Ontology.hpp 2000/11/15 04:33:01 1.5 --- Ontology.hpp 2000/11/15 23:07:20 1.6 *************** *** 39,45 **** CORELINUX_MAP ( ! MetaTypeCptr, MetaClassPtr, ! less<MetaTypeCptr>, ClassMap ); --- 39,45 ---- CORELINUX_MAP ( ! MetaTypePtr, MetaClassPtr, ! less<MetaTypePtr>, ClassMap ); *************** *** 99,103 **** */ ! virtual void addMetaType( MetaTypeCptr ); /** --- 99,103 ---- */ ! virtual void addMetaType( MetaTypePtr ); /** *************** *** 110,114 **** */ ! virtual void addAsChild( MetaTypeCptr , MetaClassCptr ) throw ( NullPointerException ); --- 110,114 ---- */ ! virtual void addAsChild( MetaTypePtr , MetaClassPtr ) throw ( NullPointerException ); *************** *** 122,126 **** */ ! virtual void addAsChild( UniversalIdentifierCref , MetaTypeCptr ) throw ( NullPointerException ); --- 122,126 ---- */ ! virtual void addAsChild( UniversalIdentifierCref , MetaTypePtr ) throw ( NullPointerException ); *************** *** 159,163 **** */ ! MetaClassCptr getClass( MetaTypeCptr ) const; private: --- 159,163 ---- */ ! MetaClassPtr getClass( MetaTypePtr ) const; private: *************** *** 176,180 **** /// Seed the ontology before creating hierarchy ! void seedMetaType( MetaTypeCptr ); /// Establish hierarchy --- 176,180 ---- /// Seed the ontology before creating hierarchy ! void seedMetaType( MetaTypePtr ); /// Establish hierarchy *************** *** 184,188 **** /// Sets the type in this ontology ! void insertType( MetaTypeCptr, MetaClassPtr ); private: --- 184,188 ---- /// Sets the type in this ontology ! void insertType( MetaTypePtr, MetaClassPtr ); private: |
|
From: Frank V. C. <fr...@us...> - 2000-11-15 23:07:24
|
Update of /cvsroot/corelinux/clfw/src/testdrivers/exf1 In directory slayer.i.sourceforge.net:/tmp/cvs-serv22653/src/testdrivers/exf1 Modified Files: examp1.cpp Log Message: 116737 Finishing touches Index: examp1.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/testdrivers/exf1/examp1.cpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -r1.22 -r1.23 *** examp1.cpp 2000/11/15 12:29:31 1.22 --- examp1.cpp 2000/11/15 23:07:21 1.23 *************** *** 103,107 **** void dumpFundementals( void ); ! void dumpMetaTypeInformation( MetaTypeCptr ); void dumpTypeInformation( FrameworkEntityPtr ); --- 103,107 ---- void dumpFundementals( void ); ! void dumpMetaTypeInformation( MetaTypePtr ); void dumpTypeInformation( FrameworkEntityPtr ); *************** *** 147,151 **** template < class T > void dumpParents( T *aMPtr ) { ! Iterator<T const *> *aIterator(aMPtr->createParentIterator()); cout << endl << "Meta Parent List : " << endl; --- 147,151 ---- template < class T > void dumpParents( T *aMPtr ) { ! Iterator<T *> *aIterator(aMPtr->createParentIterator()); cout << endl << "Meta Parent List : " << endl; *************** *** 169,173 **** template < class T > void dumpInstanceMembers( T *aMPtr ) { ! Iterator<MemberDescriptorCptr> *aIterator ( aMPtr->createMemberIterator() --- 169,173 ---- template < class T > void dumpInstanceMembers( T *aMPtr ) { ! Iterator<MemberDescriptorPtr> *aIterator ( aMPtr->createMemberIterator() *************** *** 220,224 **** template < class T > void dumpInstanceFunctions( T *aMPtr ) { ! Iterator<DispatchDescriptorCptr> *aIterator ( aMPtr->createMethodIterator() --- 220,224 ---- template < class T > void dumpInstanceFunctions( T *aMPtr ) { ! Iterator<DispatchDescriptorPtr> *aIterator ( aMPtr->createMethodIterator() *************** *** 340,348 **** << aMetaClass->getType()->getDomainName() << ")" << endl; ! Iterator<MetaClassCptr> *aIterator( aMetaClass->createIterator()); while( aIterator->isValid() == true ) { ! walkOntology( (MetaClassPtr)aIterator->getElement(), indent+1 ); aIterator->setNext(); } --- 340,348 ---- << aMetaClass->getType()->getDomainName() << ")" << endl; ! Iterator<MetaClassPtr> *aIterator( aMetaClass->createIterator()); while( aIterator->isValid() == true ) { ! walkOntology( aIterator->getElement(), indent+1 ); aIterator->setNext(); } *************** *** 386,394 **** // ! dumpMetaTypeInformation( FrameworkEntity::getTypeDescriptor() ); ! dumpMetaTypeInformation( Number::getTypeDescriptor() ); ! dumpMetaTypeInformation( UnsignedNumber::getTypeDescriptor() ); ! dumpMetaTypeInformation( SignedNumber::getTypeDescriptor() ); ! dumpMetaTypeInformation( UserType::getTypeDescriptor() ); // --- 386,394 ---- // ! dumpMetaTypeInformation( (MetaTypePtr)FrameworkEntity::getTypeDescriptor() ); ! dumpMetaTypeInformation( (MetaTypePtr)Number::getTypeDescriptor() ); ! dumpMetaTypeInformation( (MetaTypePtr)UnsignedNumber::getTypeDescriptor() ); ! dumpMetaTypeInformation( (MetaTypePtr)SignedNumber::getTypeDescriptor() ); ! dumpMetaTypeInformation( (MetaTypePtr)UserType::getTypeDescriptor() ); // *************** *** 431,435 **** anotherInteger->getValue() << endl; delete anotherInteger; ! dumpMetaTypeInformation( Integer::getTypeDescriptor() ); // signed Short --- 431,435 ---- anotherInteger->getValue() << endl; delete anotherInteger; ! dumpMetaTypeInformation( (MetaTypePtr)Integer::getTypeDescriptor() ); // signed Short *************** *** 466,470 **** // ! void dumpMetaTypeInformation( MetaTypeCptr aMTPtr ) { // --- 466,470 ---- // ! void dumpMetaTypeInformation( MetaTypePtr aMTPtr ) { // *************** *** 504,508 **** // ! dumpParents<MetaType>( MetaTypePtr(aMTPtr) ); // --- 504,508 ---- // ! dumpParents<MetaType>( MetaTypePtr( aMTPtr ) ); // *************** *** 510,514 **** // ! dumpInstanceMembers<MetaType>( MetaTypePtr(aMTPtr) ); // --- 510,514 ---- // ! dumpInstanceMembers<MetaType>( MetaTypePtr( aMTPtr ) ); // *************** *** 516,520 **** // ! dumpInstanceFunctions<MetaType>( MetaTypePtr(aMTPtr) ); } --- 516,520 ---- // ! dumpInstanceFunctions<MetaType>( MetaTypePtr( aMTPtr ) ); } |
|
From: Frank V. C. <fr...@us...> - 2000-11-15 23:07:24
|
Update of /cvsroot/corelinux/clfw/src/libs/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv22653/src/libs/clfw Modified Files: MetaClass.cpp MetaSpace.cpp MetaType.cpp Ontology.cpp Log Message: 116737 Finishing touches Index: MetaClass.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/clfw/MetaClass.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** MetaClass.cpp 2000/11/15 12:29:31 1.3 --- MetaClass.cpp 2000/11/15 23:07:21 1.4 *************** *** 47,62 **** Iterator<T>(), theBase( NULLPTR ), ! theCurrent( NULLPTR ), ! theCount( 0 ) { ; // do nothing } ! FixedParentIterator( MetaTypeCptr *a, Count aCount ) : Iterator<T>(), theBase( a ), ! theCurrent( a ), ! theCount( aCount ) { ; // do nothing --- 47,60 ---- Iterator<T>(), theBase( NULLPTR ), ! theIterator( NULLPTR ) { ; // do nothing } ! FixedParentIterator( MetaTypePtr a ) : Iterator<T>(), theBase( a ), ! theIterator( theBase->createParentIterator() ) { ; // do nothing *************** *** 67,72 **** Iterator<T>( aRef ), theBase( aRef.theBase ), ! theCurrent( theBase ), ! theCount( aRef.theCount ) { ; // do nothing --- 65,69 ---- Iterator<T>( aRef ), theBase( aRef.theBase ), ! theIterator( theBase->createParentIterator() ) { ; // do nothing *************** *** 75,94 **** virtual ~FixedParentIterator( void ) { ! theBase = theCurrent = NULLPTR; ! theCount = 0; } virtual bool isValid( void ) const { ! return !(*theCurrent == NULLPTR); } ! virtual MetaClassCptr getElement( void ) const throw(IteratorBoundsException) { ! MetaClassCptr aClass( NULLPTR ); ! if( this->isValid() == false ) { throw IteratorBoundsException(LOCATION); --- 72,92 ---- virtual ~FixedParentIterator( void ) { ! theBase->destroyIterator( theIterator ); ! theBase = NULLPTR; ! theIterator = NULLPTR; } virtual bool isValid( void ) const { ! return theIterator->isValid(); } ! virtual T getElement( void ) const throw(IteratorBoundsException) { ! T aClass( NULLPTR ); ! if( theIterator->isValid() == false ) { throw IteratorBoundsException(LOCATION); *************** *** 96,100 **** else { ! aClass = MetaSpace::getClassForType( *theCurrent ); } return aClass; --- 94,98 ---- else { ! aClass = MetaSpace::getClassForType( theIterator->getElement() ); } return aClass; *************** *** 102,106 **** virtual void setFirst( void ) { ! theCurrent = theBase; } --- 100,104 ---- virtual void setFirst( void ) { ! theIterator->setFirst(); } *************** *** 109,120 **** throw(IteratorBoundsException) { ! if( *theCurrent != NULLPTR ) ! { ! ++theCurrent; ! } ! else ! { ! throw IteratorBoundsException(LOCATION); ! } } --- 107,111 ---- throw(IteratorBoundsException) { ! theIterator->setNext(); } *************** *** 123,135 **** throw(IteratorBoundsException) { ! if( theCurrent != theBase && ! *theBase != NULLPTR ) ! { ! --theCurrent; ! } ! else ! { ! throw IteratorBoundsException(LOCATION); ! } } --- 114,118 ---- throw(IteratorBoundsException) { ! theIterator->setPrevious(); } *************** *** 139,144 **** throw(IteratorBoundsException) { ! theCurrent = theBase; ! for( Count x = 0; x < theCount; ++x, ++theCurrent ); } --- 122,126 ---- throw(IteratorBoundsException) { ! theIterator->setLast(); } *************** *** 146,152 **** private: ! MetaTypeCptr *theBase; ! MetaTypeCptr *theCurrent; ! Count theCount; }; --- 128,133 ---- private: ! MetaTypePtr theBase; ! Iterator<MetaTypePtr> *theIterator; }; *************** *** 158,162 **** MetaClass::MetaClass( void ) : ! TransparentComponent<MetaClassCptr>(), theType( NULLPTR ) { --- 139,143 ---- MetaClass::MetaClass( void ) : ! TransparentComponent<MetaClassPtr>(), theType( NULLPTR ) { *************** *** 170,174 **** MetaClass::MetaClass( MetaClassCref aRef ) : ! TransparentComponent<MetaClassCptr>( aRef ), theType( NULLPTR ) { --- 151,155 ---- MetaClass::MetaClass( MetaClassCref aRef ) : ! TransparentComponent<MetaClassPtr>( aRef ), theType( NULLPTR ) { *************** *** 180,186 **** // ! MetaClass::MetaClass( MetaTypeCptr aType ) : ! TransparentComponent<MetaClassCptr>(), theType( aType ) { --- 161,167 ---- // ! MetaClass::MetaClass( MetaTypePtr aType ) : ! TransparentComponent<MetaClassPtr>(), theType( aType ) { *************** *** 251,255 **** // ! void MetaClass::addComponent( MetaClassCptr aClass ) throw(InvalidCompositeException) { --- 232,236 ---- // ! void MetaClass::addComponent( MetaClassPtr aClass ) throw(InvalidCompositeException) { *************** *** 268,272 **** // ! void MetaClass::removeComponent( MetaClassCptr aClass ) throw(InvalidCompositeException) { --- 249,253 ---- // ! void MetaClass::removeComponent( MetaClassPtr aClass ) throw(InvalidCompositeException) { *************** *** 293,300 **** // ! Iterator<MetaClassCptr> *MetaClass::createIterator( void ) throw( InvalidCompositeException ) { ! return new CoreLinuxIterator<ChildrenIterator,MetaClassCptr> ( theChildren.begin(), --- 274,281 ---- // ! Iterator<MetaClassPtr> *MetaClass::createIterator( void ) throw( InvalidCompositeException ) { ! return new CoreLinuxIterator<ChildrenIterator,MetaClassPtr> ( theChildren.begin(), *************** *** 307,318 **** // ! Iterator<MetaClassCptr> *MetaClass::createParentIterator( void ) throw( InvalidCompositeException ) { ! return new FixedParentIterator<MetaClassCptr> ! ( ! theType->getParentTypes(), ! theType->getParentCount() ! ); } --- 288,295 ---- // ! Iterator<MetaClassPtr> *MetaClass::createParentIterator( void ) throw( InvalidCompositeException ) { ! return new FixedParentIterator<MetaClassPtr>(theType); } *************** *** 321,328 **** // ! Iterator<MemberDescriptorCptr> *MetaClass::createMemberIterator( void ) throw( InvalidCompositeException ) { ! return MetaTypePtr(theType)->createMemberIterator(); } --- 298,305 ---- // ! Iterator<MemberDescriptorPtr> *MetaClass::createMemberIterator( void ) throw( InvalidCompositeException ) { ! return theType->createMemberIterator(); } *************** *** 331,338 **** // ! Iterator<DispatchDescriptorCptr> *MetaClass::createMethodIterator( void ) throw( InvalidCompositeException ) { ! return MetaTypePtr(theType)->createMethodIterator(); } --- 308,315 ---- // ! Iterator<DispatchDescriptorPtr> *MetaClass::createMethodIterator( void ) throw( InvalidCompositeException ) { ! return theType->createMethodIterator(); } *************** *** 341,345 **** // ! void MetaClass::destroyIterator( Iterator<MetaClassCptr> *anIterator ) throw( InvalidCompositeException ) { --- 318,322 ---- // ! void MetaClass::destroyIterator( Iterator<MetaClassPtr> *anIterator ) throw( InvalidCompositeException ) { *************** *** 352,359 **** // ! void MetaClass::destroyIterator( Iterator<MemberDescriptorCptr> *anIterator ) throw( InvalidCompositeException ) { ! MetaTypePtr(theType)->destroyIterator(anIterator); } --- 329,336 ---- // ! void MetaClass::destroyIterator( Iterator<MemberDescriptorPtr> *anIterator ) throw( InvalidCompositeException ) { ! theType->destroyIterator(anIterator); } *************** *** 362,369 **** // ! void MetaClass::destroyIterator( Iterator<DispatchDescriptorCptr> *anIterator ) throw( InvalidCompositeException ) { ! MetaTypePtr(theType)->destroyIterator(anIterator); } --- 339,346 ---- // ! void MetaClass::destroyIterator( Iterator<DispatchDescriptorPtr> *anIterator ) throw( InvalidCompositeException ) { ! theType->destroyIterator(anIterator); } Index: MetaSpace.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/clfw/MetaSpace.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** MetaSpace.cpp 2000/11/15 04:33:01 1.4 --- MetaSpace.cpp 2000/11/15 23:07:21 1.5 *************** *** 112,118 **** // ! MetaClassCptr MetaSpace::getClassForType( MetaTypeCptr aType ) { ! MetaClassCptr aClass( NULLPTR ); if( MetaSpace::theInitializedFlag == true ) --- 112,118 ---- // ! MetaClassPtr MetaSpace::getClassForType( MetaTypePtr aType ) { ! MetaClassPtr aClass( NULLPTR ); if( MetaSpace::theInitializedFlag == true ) *************** *** 226,230 **** while( aLink != NULLPTR ) { ! MetaTypeCptr aMT = ( MetaTypeCptr ) aLink->data; aFItr = theMap->find(aMT->getDomainName()); --- 226,230 ---- while( aLink != NULLPTR ) { ! MetaTypePtr aMT = ( MetaTypePtr ) aLink->data; aFItr = theMap->find(aMT->getDomainName()); Index: MetaType.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/clfw/MetaType.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** MetaType.cpp 2000/11/15 12:29:31 1.16 --- MetaType.cpp 2000/11/15 23:07:21 1.17 *************** *** 48,51 **** --- 48,102 ---- namespace corelinux { + // + // Templated link builders + // + + template < class T > MetaType::InfoLinkPtr createLinks( T const **aBlock ) + { + MetaType::InfoLinkPtr aBase( new MetaType::InfoLink ); + + // By default we have at least one + + aBase->next = NULLPTR; + aBase->data = NULLPTR; + + // If the array is not empty + + if( *aBlock != NULLPTR ) + { + MetaType::InfoLinkPtr aCurrent( aBase ); + + // At least get the first one + + aCurrent->data = (void *)*aBlock; + + ++aBlock; + + // Now go through the rest + + while( *aBlock != NULLPTR ) + { + MetaType::InfoLink *aLink( new MetaType::InfoLink ); + aCurrent->next = aLink; + aLink->data = (void *)*aBlock; + aLink->next = NULLPTR; + aCurrent = aLink; + ++aBlock; + } + + // Add the tail + + aCurrent->next = new MetaType::InfoLink; + aCurrent->next->data = NULLPTR; + aCurrent->next->next = NULLPTR; + } + else + { + ; // do nothing + } + + return aBase; + } + CharCptr MetaType::theDefaultDomainName = "corelinux"; *************** *** 71,77 **** theInstanceSize( aSize ), theTypeId( aMetaTypeUid ), ! theBaseClasses( aParentArray ), ! theInstanceMembers( aMemberArray ), ! theDispatchFunctions( aDispatchArray ), theDomainName( (aDomainName != NULLPTR ? aDomainName : MetaType::theDefaultDomainName) ), theTypeDescription( aDescription ), --- 122,128 ---- theInstanceSize( aSize ), theTypeId( aMetaTypeUid ), ! theParents( NULLPTR ), ! theMembers( NULLPTR ), ! theMethods( NULLPTR ), theDomainName( (aDomainName != NULLPTR ? aDomainName : MetaType::theDefaultDomainName) ), theTypeDescription( aDescription ), *************** *** 80,83 **** --- 131,137 ---- theFactoryAllocator( NULLPTR ) { + theParents = createLinks<MetaType>(aParentArray); + theMembers = createLinks<MemberDescriptor>(aMemberArray); + theMethods = createLinks<DispatchDescriptor>(aDispatchArray); MetaSpace::storeType( this ); } *************** *** 105,111 **** theInstanceSize( aSize ), theTypeId( aMetaTypeUid ), ! theBaseClasses( aParentArray ), ! theInstanceMembers( aMemberArray ), ! theDispatchFunctions( aDispatchArray ), theDomainName( (aDomainName != NULLPTR ? aDomainName : MetaType::theDefaultDomainName) ), theTypeDescription( aDescription ), --- 159,165 ---- theInstanceSize( aSize ), theTypeId( aMetaTypeUid ), ! theParents( NULLPTR ), ! theMembers( NULLPTR ), ! theMethods( NULLPTR ), theDomainName( (aDomainName != NULLPTR ? aDomainName : MetaType::theDefaultDomainName) ), theTypeDescription( aDescription ), *************** *** 114,117 **** --- 168,175 ---- theFactoryAllocator( aAllocation ) { + theParents = createLinks<MetaType>(aParentArray); + theMembers = createLinks<MemberDescriptor>(aMemberArray); + theMethods = createLinks<DispatchDescriptor>(aDispatchArray); + MetaSpace::storeType( this ); } *************** *** 125,129 **** theVersion( gNoVersion ), theInstanceSize( gNoVersion ), ! theTypeId( UniversalIdentifier::getZeroUid() ) { NEVER_GET_HERE; --- 183,190 ---- theVersion( gNoVersion ), theInstanceSize( gNoVersion ), ! theTypeId( UniversalIdentifier::getZeroUid() ), ! theParents( NULLPTR ), ! theMembers( NULLPTR ), ! theMethods( NULLPTR ) { NEVER_GET_HERE; *************** *** 138,142 **** theVersion( gNoVersion ), theInstanceSize( gNoVersion ), ! theTypeId(aMetaType.theTypeId) { NEVER_GET_HERE; --- 199,206 ---- theVersion( gNoVersion ), theInstanceSize( gNoVersion ), ! theTypeId(aMetaType.theTypeId), ! theParents( NULLPTR ), ! theMembers( NULLPTR ), ! theMethods( NULLPTR ) { NEVER_GET_HERE; *************** *** 173,239 **** } - // Get the list of parents - - MetaTypeCptr *const MetaType::getParentTypes( void ) const - { - return theBaseClasses; - } - // Get the count of parents Count MetaType::getParentCount( void ) const { ! Count aValue(0); ! MetaTypeCptr *pMt( this->getParentTypes() ); ! while(*pMt++ != NULLPTR ) { ++aValue; ! } return aValue; } - - // Get the list of data members - - MemberDescriptorCptr * const MetaType::getInstanceMembers( void ) const - { - return theInstanceMembers; - } - // Get the count of members declared Count MetaType::getInstanceMemberCount( void ) const { ! Count aValue(0); ! MemberDescriptorCptr *pMt( this->getInstanceMembers() ); ! while(*pMt++ != NULLPTR ) { ++aValue; ! } return aValue; } - // Get the list of function dispatch descriptors - - DispatchDescriptorCptr *const MetaType::getInstanceFunctions( void ) const - { - return theDispatchFunctions; - } - // Get the count of members declared Count MetaType::getInstanceFunctionCount( void ) const { ! Count aValue(0); ! DispatchDescriptorCptr *pMt( this->getInstanceFunctions() ); ! while(*pMt++ != NULLPTR ) { ++aValue; ! } return aValue; --- 237,281 ---- } // Get the count of parents Count MetaType::getParentCount( void ) const { ! Count aValue(0); ! MetaTypeFixedIterator<MetaTypePtr> aIterator(theParents); ! for( ; aIterator.isValid(); aIterator.setNext() ) { ++aValue; ! } return aValue; } // Get the count of members declared Count MetaType::getInstanceMemberCount( void ) const { ! Count aValue(0); ! MetaTypeFixedIterator<MemberDescriptorPtr> aIterator(theMembers); ! for( ; aIterator.isValid(); aIterator.setNext() ) { ++aValue; ! } return aValue; } // Get the count of members declared Count MetaType::getInstanceFunctionCount( void ) const { ! Count aValue(0); ! MetaTypeFixedIterator<DispatchDescriptorPtr> aIterator(theMethods); ! for( ; aIterator.isValid(); aIterator.setNext() ) { ++aValue; ! } return aValue; *************** *** 295,302 **** if( aTypeOf == false ) { ! MetaTypeCptr *pMt = theBaseClasses; ! while(*pMt != NULLPTR ) { ! if( (*pMt++)->isTypeOf(aTypePtr) == true ) { aTypeOf = true; --- 337,344 ---- if( aTypeOf == false ) { ! MetaTypeFixedIterator<MetaTypePtr> aIterator(theParents); ! while( aIterator.isValid() ) { ! if( aIterator.getElement()->isTypeOf( aTypePtr ) == true ) { aTypeOf = true; *************** *** 307,311 **** --- 349,355 ---- ; // do nothing } + aIterator.setNext(); } + } else *************** *** 354,370 **** // ! MemberDescriptorCptr aDesc( NULLPTR ); VoidPtr aValuePtr( NULLPTR ); ! MemberDescriptorCptr *pMd(theInstanceMembers); ! while( *pMd != NULLPTR ) { ! if( strcmp((*pMd)->theTypeVariableName,aName) == 0 ) { ! aDesc = *pMd; if( aDesc->theGetter != NULLPTR ) { aValuePtr = (*(aDesc->theGetter))(anInstance); } else --- 398,416 ---- // ! MemberDescriptorPtr aDesc( NULLPTR ); VoidPtr aValuePtr( NULLPTR ); ! MetaTypeFixedIterator<MemberDescriptorPtr> aIterator(theMembers); ! while( aIterator.isValid() ) { ! ! if( strcmp(aIterator.getElement()->theTypeVariableName,aName) == 0 ) { ! aDesc = aIterator.getElement(); if( aDesc->theGetter != NULLPTR ) { aValuePtr = (*(aDesc->theGetter))(anInstance); + break; } else *************** *** 372,376 **** throw AccessorNotFound(aName, LOCATION); } - break; } else --- 418,421 ---- *************** *** 378,382 **** ; // do nothing } ! ++pMd; } --- 423,428 ---- ; // do nothing } ! ! aIterator.setNext(); } *************** *** 423,436 **** MemberDescriptorCptr aDesc( NULLPTR ); ! MemberDescriptorCptr *pMd(theInstanceMembers); ! while( *pMd != NULLPTR ) { ! if( strcmp((*pMd)->theTypeVariableName,aName) == 0 ) { ! aDesc = *pMd; if( aDesc->theSetter != NULLPTR ) { (*(aDesc->theSetter))(anInstance,aValuePtr); } else --- 469,484 ---- MemberDescriptorCptr aDesc( NULLPTR ); ! MetaTypeFixedIterator<MemberDescriptorPtr> aIterator(theMembers); ! while( aIterator.isValid() ) { ! ! if( strcmp(aIterator.getElement()->theTypeVariableName,aName) == 0 ) { ! aDesc = aIterator.getElement(); if( aDesc->theSetter != NULLPTR ) { (*(aDesc->theSetter))(anInstance,aValuePtr); + break; } else *************** *** 438,442 **** throw AccessorNotFound(aName, LOCATION); } - break; } else --- 486,489 ---- *************** *** 444,448 **** ; // do nothing } ! ++pMd; } --- 491,496 ---- ; // do nothing } ! ! aIterator.setNext(); } *************** *** 484,498 **** DispatchDescriptorCptr aDesc( NULLPTR ); - - DispatchDescriptorCptr *pMd(theDispatchFunctions); ! while( *pMd != NULLPTR ) { ! if( strcmp((*pMd)->theClassMethodName,aFunctionName) == 0 ) { ! aDesc = *pMd; if( aDesc->theFunction != NULLPTR ) { (*(aDesc->theFunction))(aInstanceObject,args,retArg); } else --- 532,546 ---- DispatchDescriptorCptr aDesc( NULLPTR ); ! MetaTypeFixedIterator<DispatchDescriptorPtr> aIterator(theMethods); ! while( aIterator.isValid() ) { ! if( strcmp( aIterator.getElement()->theClassMethodName,aFunctionName) == 0 ) { ! aDesc = aIterator.getElement(); if( aDesc->theFunction != NULLPTR ) { (*(aDesc->theFunction))(aInstanceObject,args,retArg); + break; } else *************** *** 500,504 **** throw NullPointerException(LOCATION); } - break; } else --- 548,551 ---- *************** *** 506,510 **** ; // do nothing } ! ++pMd; } --- 553,557 ---- ; // do nothing } ! aIterator.setNext(); } *************** *** 544,558 **** DispatchDescriptorCptr aDesc( NULLPTR ); - - DispatchDescriptorCptr *pMd(theDispatchFunctions); ! while( *pMd != NULLPTR ) { ! if( strcmp((*pMd)->theClassMethodName,aFunctionName) == 0 ) { ! aDesc = *pMd; if( aDesc->theFunction != NULLPTR ) { ! (*(aDesc->theFunction))(NULLPTR, args, retArg ); } else --- 591,605 ---- DispatchDescriptorCptr aDesc( NULLPTR ); ! MetaTypeFixedIterator<DispatchDescriptorPtr> aIterator(theMethods); ! while( aIterator.isValid() ) { ! if( strcmp( aIterator.getElement()->theClassMethodName,aFunctionName) == 0 ) { ! aDesc = aIterator.getElement(); if( aDesc->theFunction != NULLPTR ) { ! (*(aDesc->theFunction))(NULLPTR,args,retArg); ! break; } else *************** *** 560,564 **** throw NullPointerException(LOCATION); } - break; } else --- 607,610 ---- *************** *** 566,570 **** ; // do nothing } ! ++pMd; } --- 612,616 ---- ; // do nothing } ! aIterator.setNext(); } *************** *** 582,592 **** // ! Iterator<MetaTypeCptr> *MetaType::createParentIterator( void ) { ! return new MetaTypeFixedIterator<MetaTypeCptr> ! ( ! this->getParentTypes(), ! this->getParentCount() ! ); } --- 628,634 ---- // ! Iterator<MetaTypePtr> *MetaType::createParentIterator( void ) { ! return new MetaTypeFixedIterator<MetaTypePtr>(theParents); } *************** *** 595,605 **** // ! Iterator<MemberDescriptorCptr> *MetaType::createMemberIterator( void ) { ! return new MetaTypeFixedIterator<MemberDescriptorCptr> ! ( ! this->getInstanceMembers(), ! this->getInstanceMemberCount() ! ); } --- 637,643 ---- // ! Iterator<MemberDescriptorPtr> *MetaType::createMemberIterator( void ) { ! return new MetaTypeFixedIterator<MemberDescriptorPtr>(theMembers); } *************** *** 608,618 **** // ! Iterator<DispatchDescriptorCptr> *MetaType::createMethodIterator( void ) { ! return new MetaTypeFixedIterator<DispatchDescriptorCptr> ! ( ! this->getInstanceFunctions(), ! this->getInstanceFunctionCount() ! ); } --- 646,652 ---- // ! Iterator<DispatchDescriptorPtr> *MetaType::createMethodIterator( void ) { ! return new MetaTypeFixedIterator<DispatchDescriptorPtr>(theMethods); } *************** *** 621,625 **** // ! void MetaType::destroyIterator( Iterator<MetaTypeCptr> *anIterator ) { delete anIterator; --- 655,659 ---- // ! void MetaType::destroyIterator( Iterator<MetaTypePtr> *anIterator ) { delete anIterator; *************** *** 631,635 **** // ! void MetaType::destroyIterator( Iterator<MemberDescriptorCptr> *anIterator ) { delete anIterator; --- 665,669 ---- // ! void MetaType::destroyIterator( Iterator<MemberDescriptorPtr> *anIterator ) { delete anIterator; *************** *** 640,644 **** // ! void MetaType::destroyIterator( Iterator<DispatchDescriptorCptr> *anIterator ) { delete anIterator; --- 674,678 ---- // ! void MetaType::destroyIterator( Iterator<DispatchDescriptorPtr> *anIterator ) { delete anIterator; Index: Ontology.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/clfw/Ontology.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** Ontology.cpp 2000/11/15 04:33:01 1.5 --- Ontology.cpp 2000/11/15 23:07:21 1.6 *************** *** 143,147 **** // ! void Ontology::addMetaType( MetaTypeCptr aMetaType ) { if( aMetaType == NULLPTR ) --- 143,147 ---- // ! void Ontology::addMetaType( MetaTypePtr aMetaType ) { if( aMetaType == NULLPTR ) *************** *** 161,165 **** // ! void Ontology::addAsChild( MetaTypeCptr aParent, MetaClassCptr aChild ) throw ( NullPointerException ) { --- 161,165 ---- // ! void Ontology::addAsChild( MetaTypePtr aParent, MetaClassPtr aChild ) throw ( NullPointerException ) { *************** *** 189,193 **** ( UniversalIdentifierCref aParentId, ! MetaTypeCptr aChild ) throw ( NullPointerException ) --- 189,193 ---- ( UniversalIdentifierCref aParentId, ! MetaTypePtr aChild ) throw ( NullPointerException ) *************** *** 263,267 **** // ! void Ontology::seedMetaType( MetaTypeCptr aMetaType ) { if( aMetaType == NULLPTR ) --- 263,267 ---- // ! void Ontology::seedMetaType( MetaTypePtr aMetaType ) { if( aMetaType == NULLPTR ) *************** *** 306,310 **** // ! void Ontology::insertType( MetaTypeCptr aType, MetaClassPtr aClass ) { Count parentCount( aType->getParentCount() ); --- 306,310 ---- // ! void Ontology::insertType( MetaTypePtr aType, MetaClassPtr aClass ) { Count parentCount( aType->getParentCount() ); *************** *** 326,335 **** else { ! Count nonLocal(0); ! MetaTypeCptr *parents( aType->getParentTypes() ); ! while( *parents != NULLPTR ) { ! CharCptr aDomainName((*parents)->getDomainName()); // // If parent is local to this ontology --- 326,335 ---- else { ! Count nonLocal(0); ! Iterator<MetaTypePtr> *aIterator( aType->createParentIterator() ); ! while( aIterator->isValid() ) { ! CharCptr aDomainName( aIterator->getElement()->getDomainName()); // // If parent is local to this ontology *************** *** 338,342 **** if( strcmp(theDomainName,aDomainName) == 0 ) { ! this->addAsChild( *parents, aClass ); } --- 338,342 ---- if( strcmp(theDomainName,aDomainName) == 0 ) { ! this->addAsChild( aIterator->getElement(), aClass ); } *************** *** 352,356 **** if( aOntology != NULLPTR ) { ! aOntology->addAsChild( *parents, aClass ); } else --- 352,356 ---- if( aOntology != NULLPTR ) { ! aOntology->addAsChild( aIterator->getElement(), aClass ); } else *************** *** 360,365 **** ++nonLocal; } ! ++parents; } // --- 360,366 ---- ++nonLocal; } ! aIterator->setNext(); } + aType->destroyIterator( aIterator ); // *************** *** 384,390 **** // ! MetaClassCptr Ontology::getClass( MetaTypeCptr aType ) const { ! MetaClassCptr aClass( NULLPTR ); if( strcmp( theDomainName, aType->getDomainName() ) == 0 ) --- 385,391 ---- // ! MetaClassPtr Ontology::getClass( MetaTypePtr aType ) const { ! MetaClassPtr aClass( NULLPTR ); if( strcmp( theDomainName, aType->getDomainName() ) == 0 ) |
|
From: Hans D. <dul...@us...> - 2000-11-15 22:54:45
|
Update of /cvsroot/corelinux/corelinux/src/testdrivers/ex22 In directory slayer.i.sourceforge.net:/tmp/cvs-serv21303 Modified Files: examp22.cpp Log Message: Modified both listener and owner to run in a loop. Index: examp22.cpp =================================================================== RCS file: /cvsroot/corelinux/corelinux/src/testdrivers/ex22/examp22.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** examp22.cpp 2000/09/18 10:58:36 1.3 --- examp22.cpp 2000/11/15 22:54:42 1.4 *************** *** 153,160 **** // ! cout << "Release event semaphore" << endl; ! aEventSem->release(); ! sleep(2); cout << "Cleaning up" << endl; --- 153,165 ---- // ! while (1) ! { ! ! cout << "Release event semaphore" << endl; ! aEventSem->release(); ! sleep(2); ! aEventSem->post(); ! } cout << "Cleaning up" << endl; *************** *** 229,238 **** aGroupPtr->createSemaphore( gSemId, FAIL_IF_NOTEXISTS ) ); - - - aEventSem->lockWithWait(); - - cout << "Semaphore obtained" << endl; aGroupPtr->destroySemaphore( aEventSem ); aEventSem = NULLPTR; --- 234,244 ---- aGroupPtr->createSemaphore( gSemId, FAIL_IF_NOTEXISTS ) ); + while (1) + { + rc = aEventSem->lockWithWait(); + if ( rc == SUCCESS ) + cout << "Semaphore obtained" << endl; + } aGroupPtr->destroySemaphore( aEventSem ); aEventSem = NULLPTR; |
|
From: Hans D. <dul...@us...> - 2000-11-15 22:44:17
|
Update of /cvsroot/corelinux/corelinux/src/classlibs/corelinux In directory slayer.i.sourceforge.net:/tmp/cvs-serv20115 Modified Files: EventSemaphore.cpp Log Message: Added post() method Index: EventSemaphore.cpp =================================================================== RCS file: /cvsroot/corelinux/corelinux/src/classlibs/corelinux/EventSemaphore.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** EventSemaphore.cpp 2000/09/18 03:07:00 1.3 --- EventSemaphore.cpp 2000/11/15 22:44:14 1.4 *************** *** 97,100 **** --- 97,132 ---- // + // Indicates owner's commitment to trigger an event + // + + SemaphoreOperationStatus EventSemaphore::post( void ) + throw(SemaphoreException) + { + SemaphoreOperationStatus aStatus(SUCCESS); + + if ( Thread::getThreadIdentifier() == getOwnerId() ) + { + if ( theNumListeners == 0 ) + { + setValue( 1 ); // lock it again + } + else + { + aStatus = UNAVAILABLE; + } + } + else + { + throw SemaphoreException + ( + "Not authorized to post an event", + LOCATION, + Exception::CONTINUABLE + ); + } + return aStatus; + } + + // // Call for lock with wait disposition // *************** *** 118,126 **** myGuard.release(); aStatus = waitZero( 0 ); ! theNumListeners--; ! if ( theNumListeners == 0 ) { ! setValue( 1 ); // lock it again } } else { --- 150,161 ---- myGuard.release(); aStatus = waitZero( 0 ); ! if ( aStatus == SUCCESS ) { ! theNumListeners--; } + else + { + ; // do nothing + } } else { *************** *** 146,149 **** --- 181,185 ---- // + myGuard.release(); aStatus = UNAVAILABLE; } *************** *** 173,180 **** myGuard.release(); aStatus = waitZero( IPC_NOWAIT ); ! theNumListeners--; ! if ( theNumListeners == 0 ) { ! setValue( 1 ); // lock it again } } --- 209,219 ---- myGuard.release(); aStatus = waitZero( IPC_NOWAIT ); ! if ( aStatus == SUCCESS ) ! { ! theNumListeners--; ! } ! else { ! ; // do nothing } } *************** *** 211,215 **** SemaphoreOperationStatus EventSemaphore::release( void ) ! throw(SemaphoreException) { GUARD; --- 250,254 ---- SemaphoreOperationStatus EventSemaphore::release( void ) ! throw( SemaphoreException ) { GUARD; *************** *** 220,232 **** // ! if( ( aStatus = setLock( IPC_NOWAIT ) ) == SUCCESS ) ! { ! Semaphore::resetOwnerId(); ! theNumListeners = 0; ! } ! else ! { ! ; // do nothing, error ! } return aStatus; --- 259,263 ---- // ! aStatus = setLock( IPC_NOWAIT ); return aStatus; *************** *** 238,243 **** void EventSemaphore::setLimit( Counter aLimit ) { ! theMaxListeners = aLimit; } --- 269,287 ---- void EventSemaphore::setLimit( Counter aLimit ) + throw( SemaphoreException ) { ! if ( Thread::getThreadIdentifier() == getOwnerId() ) ! { ! theMaxListeners = aLimit; ! } ! else ! { ! throw SemaphoreException ! ( ! "Not authorized to set limit", ! LOCATION, ! Exception::CONTINUABLE ! ); ! } } |
|
From: Hans D. <dul...@us...> - 2000-11-15 22:32:11
|
Update of /cvsroot/corelinux/corelinux/corelinux In directory slayer.i.sourceforge.net:/tmp/cvs-serv18889 Modified Files: EventSemaphore.hpp Log Message: Added post() Index: EventSemaphore.hpp =================================================================== RCS file: /cvsroot/corelinux/corelinux/corelinux/EventSemaphore.hpp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** EventSemaphore.hpp 2000/09/23 04:45:24 1.6 --- EventSemaphore.hpp 2000/11/15 22:32:06 1.7 *************** *** 54,59 **** Semaphore from the SemaphoreGroup @param aLimit the maximum number of listeners. ! aLimit < 0 : infinite number of listeners, ! aLimit >= 0 : finite number of listeners @param Recursive true if recursion enabled @param Balking true if balking enabled --- 54,59 ---- Semaphore from the SemaphoreGroup @param aLimit the maximum number of listeners. ! @arg aLimit < 0 : infinite number of listeners, ! @arg aLimit >= 0 : finite number of listeners @param Recursive true if recursion enabled @param Balking true if balking enabled *************** *** 85,88 **** --- 85,95 ---- // + /** + Indicate owner commitment to trigger the event + after a finite amount of time. + */ + SemaphoreOperationStatus post( void ) + throw( SemaphoreException ); + /** Wait for the event associated with this semaphore to *************** *** 91,95 **** virtual SemaphoreOperationStatus lockWithWait( void ) ! throw(SemaphoreException); /** --- 98,102 ---- virtual SemaphoreOperationStatus lockWithWait( void ) ! throw( SemaphoreException ); /** *************** *** 98,102 **** virtual SemaphoreOperationStatus lockWithNoWait( void ) ! throw(SemaphoreException); /// Request the semaphore but timeout if not available --- 105,109 ---- virtual SemaphoreOperationStatus lockWithNoWait( void ) ! throw( SemaphoreException ); /// Request the semaphore but timeout if not available *************** *** 108,112 **** virtual SemaphoreOperationStatus release( void ) ! throw(SemaphoreException); /** --- 115,119 ---- virtual SemaphoreOperationStatus release( void ) ! throw( SemaphoreException ); /** *************** *** 114,122 **** semaphore. @param aLimit the maximum number of listeners. ! aLimit < 0: infinite number of listeners, ! aLimit >= 0: finite number of listeners, */ ! virtual void setLimit ( Counter aLimit ); /** --- 121,129 ---- semaphore. @param aLimit the maximum number of listeners. ! @arg aLimit < 0: infinite number of listeners, ! @arg aLimit >= 0: finite number of listeners, */ ! virtual void setLimit ( Counter aLimit ) throw ( SemaphoreException ); /** |
|
From: Frank V. C. <fr...@us...> - 2000-11-15 12:29:34
|
Update of /cvsroot/corelinux/clfw/src/libs/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv6176/src/libs/clfw Modified Files: MetaClass.cpp MetaType.cpp Log Message: 116737 Ontology Support - Added Iterators to MetaType Index: MetaClass.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/clfw/MetaClass.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** MetaClass.cpp 2000/11/15 04:33:01 1.2 --- MetaClass.cpp 2000/11/15 12:29:31 1.3 *************** *** 37,153 **** namespace corelinux { - template< class T > - class FixedIterator : public Iterator<T> - { - public: - - FixedIterator( void ) - : - Iterator<T>(), - theBase( NULLPTR ), - theCurrent( NULLPTR ), - theCount( 0 ) - { - ; // do nothing - } - - FixedIterator( T *a, Count aCount ) - : - Iterator<T>(), - theBase( a ), - theCurrent( a ), - theCount( aCount ) - { - ; // do nothing - } - - FixedIterator( FixedIterator const & aRef ) - : - Iterator<T>( aRef ), - theBase( aRef.theBase ), - theCurrent( theBase ), - theCount( aRef.theCount ) - { - ; // do nothing - } - - virtual ~FixedIterator( void ) - { - theBase = theCurrent = NULLPTR; - theCount = 0; - } - - virtual bool isValid( void ) const - { - return !(*theCurrent == NULLPTR); - } - - - virtual T getElement( void ) - const throw(IteratorBoundsException) - { - if( this->isValid() == false ) - { - throw IteratorBoundsException(LOCATION); - } - else - { - ; // do nothing - } - return (*theCurrent); - } - - virtual void setFirst( void ) - { - theCurrent = theBase; - } - - virtual void setNext( void ) - throw(IteratorBoundsException) - { - if( *theCurrent != NULLPTR ) - { - ++theCurrent; - } - else - { - throw IteratorBoundsException(LOCATION); - } - } - - - virtual void setPrevious( void ) - throw(IteratorBoundsException) - { - if( theCurrent != theBase && - *theBase != NULLPTR ) - { - --theCurrent; - } - else - { - throw IteratorBoundsException(LOCATION); - } - } - - /// Set iterator to last element - - virtual void setLast( void ) - throw(IteratorBoundsException) - { - theCurrent = theBase; - for( Count x = 0; x < theCount; ++x, ++theCurrent ); - } - - protected: - private: - - T *theBase; - T *theCurrent; - Count theCount; - - }; - template< class T > class FixedParentIterator : public Iterator<T> --- 37,41 ---- *************** *** 337,341 **** // Fetch the type name ! CharCptr MetaClass::getTypeName( void ) const { return theType->getInstanceTypeName(); --- 225,229 ---- // Fetch the type name ! CharCptr MetaClass::getInstanceTypeName( void ) const { return theType->getInstanceTypeName(); *************** *** 344,348 **** // Fetch the meta class name ! CharCptr MetaClass::getMetaName( void ) const { return theType->getMetaTypeName(); --- 232,236 ---- // Fetch the meta class name ! CharCptr MetaClass::getMetaTypeName( void ) const { return theType->getMetaTypeName(); *************** *** 436,444 **** throw( InvalidCompositeException ) { ! return new FixedIterator<MemberDescriptorCptr> ! ( ! theType->getInstanceMembers(), ! theType->getInstanceMemberCount() ! ); } --- 324,328 ---- throw( InvalidCompositeException ) { ! return MetaTypePtr(theType)->createMemberIterator(); } *************** *** 450,459 **** throw( InvalidCompositeException ) { ! return new FixedIterator<DispatchDescriptorCptr> ! ( ! theType->getInstanceFunctions(), ! theType->getInstanceFunctionCount() ! ); ! } --- 334,338 ---- throw( InvalidCompositeException ) { ! return MetaTypePtr(theType)->createMethodIterator(); } *************** *** 476,480 **** throw( InvalidCompositeException ) { ! delete anIterator; } --- 355,359 ---- throw( InvalidCompositeException ) { ! MetaTypePtr(theType)->destroyIterator(anIterator); } *************** *** 486,490 **** throw( InvalidCompositeException ) { ! delete anIterator; } --- 365,369 ---- throw( InvalidCompositeException ) { ! MetaTypePtr(theType)->destroyIterator(anIterator); } Index: MetaType.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/clfw/MetaType.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -r1.15 -r1.16 *** MetaType.cpp 2000/11/15 01:14:32 1.15 --- MetaType.cpp 2000/11/15 12:29:31 1.16 *************** *** 38,41 **** --- 38,45 ---- #endif + #if !defined(__METATYPEFIXEDITERATOR_HPP) + #include <MetaTypeFixedIterator.hpp> + #endif + #include <cstring> *************** *** 573,576 **** --- 577,646 ---- ; // do nothing } + } + // + // Get the parent iterator + // + + Iterator<MetaTypeCptr> *MetaType::createParentIterator( void ) + { + return new MetaTypeFixedIterator<MetaTypeCptr> + ( + this->getParentTypes(), + this->getParentCount() + ); + } + + // + // Get the member iterator + // + + Iterator<MemberDescriptorCptr> *MetaType::createMemberIterator( void ) + { + return new MetaTypeFixedIterator<MemberDescriptorCptr> + ( + this->getInstanceMembers(), + this->getInstanceMemberCount() + ); + } + + // + // Get the method iterator + // + + Iterator<DispatchDescriptorCptr> *MetaType::createMethodIterator( void ) + { + return new MetaTypeFixedIterator<DispatchDescriptorCptr> + ( + this->getInstanceFunctions(), + this->getInstanceFunctionCount() + ); + } + + // + // Return the child or parent iterator + // + + void MetaType::destroyIterator( Iterator<MetaTypeCptr> *anIterator ) + { + delete anIterator; + + } + + // + // Return the member iterator + // + + void MetaType::destroyIterator( Iterator<MemberDescriptorCptr> *anIterator ) + { + delete anIterator; + } + + // + // Return the method iterator + // + + void MetaType::destroyIterator( Iterator<DispatchDescriptorCptr> *anIterator ) + { + delete anIterator; } } |
|
From: Frank V. C. <fr...@us...> - 2000-11-15 12:29:34
|
Update of /cvsroot/corelinux/clfw/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv6176/clfw Modified Files: Makefile.am MetaClass.hpp MetaType.hpp Added Files: MetaTypeFixedIterator.hpp Log Message: 116737 Ontology Support - Added Iterators to MetaType ***** Error reading new file: (2, 'No such file or directory') Index: Makefile.am =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/Makefile.am,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -r1.18 -r1.19 *** Makefile.am 2000/11/15 01:14:31 1.18 --- Makefile.am 2000/11/15 12:29:30 1.19 *************** *** 20,23 **** --- 20,24 ---- AccessorNotFound.hpp \ MetaType.hpp \ + MetaTypeFixedIterator.hpp \ FrameworkEntity.hpp \ Aggregate.hpp \ Index: MetaClass.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/MetaClass.hpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** MetaClass.hpp 2000/11/15 04:33:01 1.2 --- MetaClass.hpp 2000/11/15 12:29:30 1.3 *************** *** 73,81 **** /// Return the object type for this meta class ! CharCptr getTypeName( void ) const; /// Return the name of the meta class ! CharCptr getMetaName( void ) const; /** --- 73,81 ---- /// Return the object type for this meta class ! CharCptr getInstanceTypeName( void ) const; /// Return the name of the meta class ! CharCptr getMetaTypeName( void ) const; /** Index: MetaType.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/MetaType.hpp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -r1.22 -r1.23 *** MetaType.hpp 2000/11/15 01:14:31 1.22 --- MetaType.hpp 2000/11/15 12:29:30 1.23 *************** *** 30,33 **** --- 30,37 ---- #endif + #if !defined(__ITERATOR_HPP) + #include <corelinux/Iterator.hpp> + #endif + #include <cstdio> *************** *** 967,970 **** --- 971,1024 ---- bool isAbstractType( void ) const; + //@} + + /** @name Iteator factories + */ + //@{ + + /** + Create a iterator over the parents of this type + @return Iterator<MetaTypeCptr> pointer + */ + + Iterator<MetaTypeCptr>* createParentIterator( void ); + + /** + Create a iterator over the data member declarations of + this type + @return Iterator<MemberDescriptorCptr> pointer + */ + + Iterator<MemberDescriptorCptr> *createMemberIterator( void ); + + /** + Create a iterator over the methods of + this type + @return Iterator<DispatchDescriptorCptr> pointer + */ + + Iterator<DispatchDescriptorCptr> *createMethodIterator( void ); + + /** + Destroy the iterator + @param Iterator<MetaTypeCptr> pointer + */ + + void destroyIterator( Iterator<MetaTypeCptr>* ); + + /** + Destroy the iterator + @param Iterator<MemberDescriptorCptr> pointer + */ + + void destroyIterator( Iterator<MemberDescriptorCptr> * ); + + /** + Destroy the iterator + @param Iterator<DispatchDescriptorCptr> pointer + */ + + void destroyIterator( Iterator<DispatchDescriptorCptr> * ); + //@} |
|
From: Frank V. C. <fr...@us...> - 2000-11-15 12:29:34
|
Update of /cvsroot/corelinux/clfw/src/testdrivers/exf1 In directory slayer.i.sourceforge.net:/tmp/cvs-serv6176/src/testdrivers/exf1 Modified Files: examp1.cpp Log Message: 116737 Ontology Support - Added Iterators to MetaType Index: examp1.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/testdrivers/exf1/examp1.cpp,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -r1.21 -r1.22 *** examp1.cpp 2000/11/15 04:33:02 1.21 --- examp1.cpp 2000/11/15 12:29:31 1.22 *************** *** 106,118 **** void dumpTypeInformation( FrameworkEntityPtr ); - void dumpInstanceMembers( MetaTypeCptr ); - void dumpInstanceMembers( MetaClassPtr ); - - void dumpInstanceFunctions( MetaTypeCptr ); - void dumpInstanceFunctions( MetaClassPtr ); - - void dumpParents( MetaTypeCptr ); - void dumpParents( MetaClassPtr ); - void testDispatch( void ); void walkOntology( MetaClassPtr , int ); --- 106,109 ---- *************** *** 126,130 **** // ! // Template function // --- 117,121 ---- // ! // Templated function // *************** *** 152,155 **** --- 143,239 ---- } + // MetaType or MetaClass parents + + template < class T > void dumpParents( T *aMPtr ) + { + Iterator<T const *> *aIterator(aMPtr->createParentIterator()); + + cout << endl << "Meta Parent List : " << endl; + + while( aIterator->isValid() ) + { + cout + << "\tClass = " << aIterator->getElement()->getInstanceTypeName() + << endl + << "\tMetaType = " << aIterator->getElement()->getMetaTypeName() + << endl; + aIterator->setNext(); + } + + aMPtr->destroyIterator( aIterator ); + + } + + // MetaType or MetaClass Members + + template < class T > void dumpInstanceMembers( T *aMPtr ) + { + Iterator<MemberDescriptorCptr> *aIterator + ( + aMPtr->createMemberIterator() + ); + + while( aIterator->isValid() ) + { + MemberDescriptorCptr anElement( aIterator->getElement() ); + + cout << "\tVar name = " << anElement->theTypeVariableName + << endl; + cout << "\tVar type = " << anElement->theTypeName + << endl; + cout << "\tVar size = " << anElement->theSizeInBytes + << endl; + + if( anElement->theTypePointer != NULLPTR ) + { + cout << "\tClass type = " + << anElement->theTypePointer->getInstanceTypeName() + << endl; + } + else + { + cout << "\tNot a FrameworkEntity" << endl; + } + + if( anElement->theGetter != NULLPTR ) + { + cout << "\tHas getter " << endl; + } + else + { + ; // do nothing + } + if( anElement->theSetter != NULLPTR ) + { + cout << "\tHas setter " << endl; + } + else + { + ; // do nothing + } + aIterator->setNext(); + } + + aMPtr->destroyIterator( aIterator ); + } + + template < class T > void dumpInstanceFunctions( T *aMPtr ) + { + Iterator<DispatchDescriptorCptr> *aIterator + ( + aMPtr->createMethodIterator() + ); + + while( aIterator->isValid() ) + { + cout << "\tFunction name = " << + aIterator->getElement()->theClassMethodName << endl; + aIterator->setNext(); + } + + aMPtr->destroyIterator( aIterator ); + } + + // // Main entry point *************** *** 420,424 **** // ! dumpParents( aMTPtr ); // --- 504,508 ---- // ! dumpParents<MetaType>( MetaTypePtr(aMTPtr) ); // *************** *** 426,430 **** // ! dumpInstanceMembers( aMTPtr ); // --- 510,514 ---- // ! dumpInstanceMembers<MetaType>( MetaTypePtr(aMTPtr) ); // *************** *** 432,436 **** // ! dumpInstanceFunctions( aMTPtr ); } --- 516,520 ---- // ! dumpInstanceFunctions<MetaType>( MetaTypePtr(aMTPtr) ); } *************** *** 442,662 **** { dumpMetaTypeInformation( anFEPtr->getType() ); - } - - // - // Parent information - // - - void dumpParents( MetaTypeCptr aMTPtr ) - { - MetaTypeCptr * const parents = aMTPtr->getParentTypes(); - - cout << endl << "MetaType Parent List : " << endl; - if( parents == NULLPTR ) - { - cout << "Internal class error for parents : " << - aMTPtr->getInstanceTypeName() << endl; - } - else - { - if( parents[0] != NULLPTR ) - { - for( int x = 0; parents[x] != NULLPTR; ++x ) - { - cout - << "\tClass = " << parents[x]->getInstanceTypeName() - << endl - << "\tMetaType = " << parents[x]->getMetaTypeName() - << endl; - } - } - else - { - cout << "\tType is root" << endl; - } - } - - } - - void dumpParents( MetaClassPtr aMCPtr ) - { - Iterator<MetaClassCptr> *aIterator - ( - aMCPtr->createParentIterator() - ); - - while( aIterator->isValid() ) - { - cout - << "\tClass = " << aIterator->getElement()->getTypeName() - << endl - << "\tMetaType = " << aIterator->getElement()->getMetaName() - << endl; - aIterator->setNext(); - } - - aMCPtr->destroyIterator( aIterator ); - - } - - - // - // Data member information - // - - void dumpInstanceMembers( MetaTypeCptr aMTPtr ) - { - MemberDescriptorCptr * const aMDescs = aMTPtr->getInstanceMembers(); - - cout << endl << "Instance Data Member List : " << endl; - if( aMDescs == NULLPTR ) - { - cout << "Internal class error for members : " << - aMTPtr->getInstanceTypeName() << endl; - } - else - { - if( aMDescs[0] != NULLPTR ) - { - for( int x = 0; aMDescs[x] != NULLPTR; ++x ) - { - cout << "\tVar name = " << aMDescs[x]->theTypeVariableName - << endl; - cout << "\tVar type = " << aMDescs[x]->theTypeName - << endl; - cout << "\tVar size = " << aMDescs[x]->theSizeInBytes - << endl; - - if( aMDescs[x]->theTypePointer != NULLPTR ) - { - cout << "\tClass type = " - << aMDescs[x]->theTypePointer->getInstanceTypeName() - << endl; - } - else - { - cout << "\tNot a FrameworkEntity" << endl; - } - - if( aMDescs[x]->theGetter != NULLPTR ) - { - cout << "\tHas getter " << endl; - } - else - { - ; // do nothing - } - if( aMDescs[x]->theSetter != NULLPTR ) - { - cout << "\tHas setter " << endl; - } - else - { - ; // do nothing - } - } - } - else - { - cout << "\tNo data members" << endl; - } - } - - } - - void dumpInstanceMembers( MetaClassPtr aMCPtr ) - { - Iterator<MemberDescriptorCptr> *aIterator - ( - aMCPtr->createMemberIterator() - ); - - while( aIterator->isValid() ) - { - MemberDescriptorCptr anElement( aIterator->getElement() ); - - cout << "\tVar name = " << anElement->theTypeVariableName - << endl; - cout << "\tVar type = " << anElement->theTypeName - << endl; - cout << "\tVar size = " << anElement->theSizeInBytes - << endl; - - if( anElement->theTypePointer != NULLPTR ) - { - cout << "\tClass type = " - << anElement->theTypePointer->getInstanceTypeName() - << endl; - } - else - { - cout << "\tNot a FrameworkEntity" << endl; - } - - if( anElement->theGetter != NULLPTR ) - { - cout << "\tHas getter " << endl; - } - else - { - ; // do nothing - } - if( anElement->theSetter != NULLPTR ) - { - cout << "\tHas setter " << endl; - } - else - { - ; // do nothing - } - aIterator->setNext(); - } - - aMCPtr->destroyIterator( aIterator ); - - } - - void dumpInstanceFunctions( MetaTypeCptr aMTPtr ) - { - DispatchDescriptorCptr * const aMDescs = aMTPtr->getInstanceFunctions(); - - cout << endl << "Instance Function List : " << endl; - if( aMDescs == NULLPTR ) - { - cout << "Internal class error for functions : " << - aMTPtr->getInstanceTypeName() << endl; - } - else - { - if( aMDescs[0] != NULLPTR ) - { - for( int x = 0; aMDescs[x] != NULLPTR; ++x ) - { - cout << "\tFunction name = " << - aMDescs[x]->theClassMethodName << endl; - } - } - else - { - cout << "\tNo function members" << endl; - } - } - } - - void dumpInstanceFunctions( MetaClassPtr aMCPtr ) - { - Iterator<DispatchDescriptorCptr> *aIterator - ( - aMCPtr->createMethodIterator() - ); - - while( aIterator->isValid() ) - { - cout << "\tFunction name = " << - aIterator->getElement()->theClassMethodName << endl; - aIterator->setNext(); - } - - aMCPtr->destroyIterator( aIterator ); } --- 526,529 ---- |
|
From: Frank V. C. <fr...@us...> - 2000-11-15 04:34:29
|
Update of /cvsroot/corelinux/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv1182 Modified Files: ChangeLog Log Message: 116737 Ontology work Index: ChangeLog =================================================================== RCS file: /cvsroot/corelinux/clfw/ChangeLog,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** ChangeLog 2000/11/03 13:29:44 1.11 --- ChangeLog 2000/11/15 04:34:27 1.12 *************** *** 1,2 **** --- 1,6 ---- + 2000-11-14 Frank V. Castellucci <fr...@ca...> + + * Feature 116737 - Implemented name space ontology support (minimal) + 2000-11-03 Frank V. Castellucci <fr...@ca...> |
|
From: Frank V. C. <fr...@us...> - 2000-11-15 04:33:04
|
Update of /cvsroot/corelinux/clfw/src/libs/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv1096/src/libs/clfw Modified Files: MetaClass.cpp MetaSpace.cpp Ontology.cpp Log Message: 116737 Ontology work Index: MetaClass.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/clfw/MetaClass.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** MetaClass.cpp 2000/11/15 01:14:32 1.1 --- MetaClass.cpp 2000/11/15 04:33:01 1.2 *************** *** 23,26 **** --- 23,30 ---- #endif + #if !defined(__METASPACE_HPP) + #include <MetaSpace.hpp> + #endif + #if !defined(__METACLASS_HPP) #include <MetaClass.hpp> *************** *** 33,36 **** --- 37,267 ---- namespace corelinux { + template< class T > + class FixedIterator : public Iterator<T> + { + public: + + FixedIterator( void ) + : + Iterator<T>(), + theBase( NULLPTR ), + theCurrent( NULLPTR ), + theCount( 0 ) + { + ; // do nothing + } + + FixedIterator( T *a, Count aCount ) + : + Iterator<T>(), + theBase( a ), + theCurrent( a ), + theCount( aCount ) + { + ; // do nothing + } + + FixedIterator( FixedIterator const & aRef ) + : + Iterator<T>( aRef ), + theBase( aRef.theBase ), + theCurrent( theBase ), + theCount( aRef.theCount ) + { + ; // do nothing + } + + virtual ~FixedIterator( void ) + { + theBase = theCurrent = NULLPTR; + theCount = 0; + } + + virtual bool isValid( void ) const + { + return !(*theCurrent == NULLPTR); + } + + + virtual T getElement( void ) + const throw(IteratorBoundsException) + { + if( this->isValid() == false ) + { + throw IteratorBoundsException(LOCATION); + } + else + { + ; // do nothing + } + return (*theCurrent); + } + + virtual void setFirst( void ) + { + theCurrent = theBase; + } + + + virtual void setNext( void ) + throw(IteratorBoundsException) + { + if( *theCurrent != NULLPTR ) + { + ++theCurrent; + } + else + { + throw IteratorBoundsException(LOCATION); + } + } + + + virtual void setPrevious( void ) + throw(IteratorBoundsException) + { + if( theCurrent != theBase && + *theBase != NULLPTR ) + { + --theCurrent; + } + else + { + throw IteratorBoundsException(LOCATION); + } + } + + /// Set iterator to last element + + virtual void setLast( void ) + throw(IteratorBoundsException) + { + theCurrent = theBase; + for( Count x = 0; x < theCount; ++x, ++theCurrent ); + } + + protected: + private: + + T *theBase; + T *theCurrent; + Count theCount; + + }; + + template< class T > + class FixedParentIterator : public Iterator<T> + { + + public: + FixedParentIterator( void ) + : + Iterator<T>(), + theBase( NULLPTR ), + theCurrent( NULLPTR ), + theCount( 0 ) + { + ; // do nothing + } + + FixedParentIterator( MetaTypeCptr *a, Count aCount ) + : + Iterator<T>(), + theBase( a ), + theCurrent( a ), + theCount( aCount ) + { + ; // do nothing + } + + FixedParentIterator( FixedParentIterator const & aRef ) + : + Iterator<T>( aRef ), + theBase( aRef.theBase ), + theCurrent( theBase ), + theCount( aRef.theCount ) + { + ; // do nothing + } + + virtual ~FixedParentIterator( void ) + { + theBase = theCurrent = NULLPTR; + theCount = 0; + } + + virtual bool isValid( void ) const + { + return !(*theCurrent == NULLPTR); + } + + + virtual MetaClassCptr getElement( void ) + const throw(IteratorBoundsException) + { + MetaClassCptr aClass( NULLPTR ); + + if( this->isValid() == false ) + { + throw IteratorBoundsException(LOCATION); + } + else + { + aClass = MetaSpace::getClassForType( *theCurrent ); + } + return aClass; + } + virtual void setFirst( void ) + { + theCurrent = theBase; + } + + + virtual void setNext( void ) + throw(IteratorBoundsException) + { + if( *theCurrent != NULLPTR ) + { + ++theCurrent; + } + else + { + throw IteratorBoundsException(LOCATION); + } + } + + + virtual void setPrevious( void ) + throw(IteratorBoundsException) + { + if( theCurrent != theBase && + *theBase != NULLPTR ) + { + --theCurrent; + } + else + { + throw IteratorBoundsException(LOCATION); + } + } + + /// Set iterator to last element + + virtual void setLast( void ) + throw(IteratorBoundsException) + { + theCurrent = theBase; + for( Count x = 0; x < theCount; ++x, ++theCurrent ); + } + + protected: + private: + + MetaTypeCptr *theBase; + MetaTypeCptr *theCurrent; + Count theCount; + + }; + // // Constructor not used *************** *** 104,107 **** --- 335,353 ---- } + // Fetch the type name + + CharCptr MetaClass::getTypeName( void ) const + { + return theType->getInstanceTypeName(); + } + + // Fetch the meta class name + + CharCptr MetaClass::getMetaName( void ) const + { + return theType->getMetaTypeName(); + + } + // // Fetch the base type *************** *** 156,160 **** // ! // Get the iterator // --- 402,406 ---- // ! // Get the children iterator // *************** *** 169,182 **** } // ! // Return the iterator // void MetaClass::destroyIterator( Iterator<MetaClassCptr> *anIterator ) throw( InvalidCompositeException ) { ! delete (CoreLinuxIterator<ChildrenIterator,MetaClassCptr>*)anIterator; } } --- 415,492 ---- } + // + // Get the parent iterator + // + + Iterator<MetaClassCptr> *MetaClass::createParentIterator( void ) + throw( InvalidCompositeException ) + { + return new FixedParentIterator<MetaClassCptr> + ( + theType->getParentTypes(), + theType->getParentCount() + ); + } + + // + // Get the member iterator + // + + Iterator<MemberDescriptorCptr> *MetaClass::createMemberIterator( void ) + throw( InvalidCompositeException ) + { + return new FixedIterator<MemberDescriptorCptr> + ( + theType->getInstanceMembers(), + theType->getInstanceMemberCount() + ); + } + // ! // Get the method iterator // + Iterator<DispatchDescriptorCptr> *MetaClass::createMethodIterator( void ) + throw( InvalidCompositeException ) + { + return new FixedIterator<DispatchDescriptorCptr> + ( + theType->getInstanceFunctions(), + theType->getInstanceFunctionCount() + ); + + } + + // + // Return the child or parent iterator + // + void MetaClass::destroyIterator( Iterator<MetaClassCptr> *anIterator ) throw( InvalidCompositeException ) + { + delete anIterator; + + } + + // + // Return the member iterator + // + + void MetaClass::destroyIterator( Iterator<MemberDescriptorCptr> *anIterator ) + throw( InvalidCompositeException ) { ! delete anIterator; ! } + // + // Return the method iterator + // + + void MetaClass::destroyIterator( Iterator<DispatchDescriptorCptr> *anIterator ) + throw( InvalidCompositeException ) + { + delete anIterator; } + } Index: MetaSpace.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/clfw/MetaSpace.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** MetaSpace.cpp 2000/11/15 01:14:32 1.3 --- MetaSpace.cpp 2000/11/15 04:33:01 1.4 *************** *** 32,35 **** --- 32,39 ---- #endif + #if !defined(__METACLASS_HPP) + #include <MetaClass.hpp> + #endif + #if !defined(__MAP_HPP) #include <corelinux/Map.hpp> *************** *** 105,108 **** --- 109,145 ---- // + // Retrieves the class for a metatype + // + + MetaClassCptr MetaSpace::getClassForType( MetaTypeCptr aType ) + { + MetaClassCptr aClass( NULLPTR ); + + if( MetaSpace::theInitializedFlag == true ) + { + OntologyPtr aOntology + ( + MetaSpace::getOntology(aType->getDomainName()) + ); + + if( aOntology != NULLPTR ) + { + aClass = aOntology->getClass(aType); + } + else + { + ; // do nothing + } + } + else + { + ; // do nothing + } + + return aClass; + } + + + // // Store intermediate // *************** *** 129,135 **** { // ! // Because we are initialized, either ! // this type has a domain waiting for it, ! // or we need to create one. // } --- 166,171 ---- { // ! // At this point, the user can add types ! // via the ontology // } Index: Ontology.cpp =================================================================== RCS file: /cvsroot/corelinux/clfw/src/libs/clfw/Ontology.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** Ontology.cpp 2000/11/15 01:14:32 1.4 --- Ontology.cpp 2000/11/15 04:33:01 1.5 *************** *** 291,295 **** ++begin ) { - this->insertType( (*begin).first, (*begin).second ); } --- 291,294 ---- *************** *** 317,321 **** if( parentCount == 0 ) { - printf("Adding root %s\n",aType->getMetaTypeName() ); theRootMap[aType] = aClass; } --- 316,319 ---- *************** *** 372,376 **** if( nonLocal == parentCount ) { - printf("Adding root %s\n",aType->getMetaTypeName() ); theRootMap[aType] = aClass; } --- 370,373 ---- *************** *** 412,415 **** --- 409,413 ---- } } + /* Common rcs information do not modify |