|
From: Frank V. C. <fr...@us...> - 2000-11-11 17:45:57
|
Update of /cvsroot/corelinux/clfw/clfw In directory slayer.i.sourceforge.net:/tmp/cvs-serv30674/clfw Modified Files: Makefile.am MetaType.hpp Ontology.hpp Added Files: MetaSpace.hpp Log Message: 116737 Ontology Support ***** 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.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** Makefile.am 2000/11/10 04:42:48 1.16 --- Makefile.am 2000/11/11 17:45:54 1.17 *************** *** 31,34 **** --- 31,35 ---- UnsignedInteger.hpp \ UnsignedShortInteger.hpp \ + MetaSpace.hpp \ Ontology.hpp \ Makefile.am Index: MetaType.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/MetaType.hpp,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -r1.20 -r1.21 *** MetaType.hpp 2000/11/03 13:29:44 1.20 --- MetaType.hpp 2000/11/11 17:45:54 1.21 *************** *** 615,619 **** getTypeDescriptor() and getType() functions */ ! #define _DEFINE_ENTITY_ALWAYS_PARMS(className,identification,version) \ /** \ construct the theTypeDesc \ --- 615,619 ---- getTypeDescriptor() and getType() functions */ ! #define _DEFINE_ENTITY_ALWAYS_PARMS(className,identification,version,domain, description ) \ /** \ construct the theTypeDesc \ *************** *** 626,630 **** className##MetaType##Parents, \ className##Type##Members, \ ! className##DispatchTable, #define _DEFINE_SINGLE_STRINGID( className ) \ --- 626,632 ---- className##MetaType##Parents, \ className##Type##Members, \ ! className##DispatchTable, \ ! domain, \ ! description, \ #define _DEFINE_SINGLE_STRINGID( className ) \ *************** *** 653,660 **** } \ - #define _DEFINE_METATYPE_ALWAYS - - #define DECLARE_METATYPE_MEMBERS( className ) - /*! \def DEFINE_ABSTRACT_METATYPE( className, identifier, version ) --- 655,658 ---- *************** *** 664,670 **** \arg version: the version number of the MetaType */ ! #define DEFINE_ABSTRACT_METATYPE( className, identifier, version ) \ _DEFINE_ABSTRACT_ENTITY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version) \ _DEFINE_SINGLE_STRINGID(className) \ _DEFINE_ENTITY_ALWAYS(className) --- 662,668 ---- \arg version: the version number of the MetaType */ ! #define DEFINE_ABSTRACT_METATYPE( className, identifier, version, domain, description ) \ _DEFINE_ABSTRACT_ENTITY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version,domain, description ) \ _DEFINE_SINGLE_STRINGID(className) \ _DEFINE_ENTITY_ALWAYS(className) *************** *** 678,684 **** \arg version: the version number of the MetaType */ ! #define DEFINE_ABSTRACT_METATYPE1( className, metaName, identifier, version ) \ _DEFINE_ABSTRACT_ENTITY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version) \ _DEFINE_DUAL_STRINGID(className,metaName) \ _DEFINE_ENTITY_ALWAYS(className) --- 676,682 ---- \arg version: the version number of the MetaType */ ! #define DEFINE_ABSTRACT_METATYPE1( className, metaName, identifier, version, domain, description ) \ _DEFINE_ABSTRACT_ENTITY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version,domain, description ) \ _DEFINE_DUAL_STRINGID(className,metaName) \ _DEFINE_ENTITY_ALWAYS(className) *************** *** 692,699 **** */ ! #define DEFINE_METATYPE( className, identifier, version ) \ _DEFINE_FACTORY( className ) \ _DEFINE_ENTITY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version) \ _DEFINE_SINGLE_STRINGID(className) \ ,&the##className##Allocator \ --- 690,697 ---- */ ! #define DEFINE_METATYPE( className, identifier, version , domain, description ) \ _DEFINE_FACTORY( className ) \ _DEFINE_ENTITY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version,domain, description ) \ _DEFINE_SINGLE_STRINGID(className) \ ,&the##className##Allocator \ *************** *** 708,714 **** */ ! #define DEFINE_METATYPE_WITH_FACTORY( className, identifier, version ) \ _DEFINE_ENTITY_WITH_FACTORY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version) \ _DEFINE_SINGLE_STRINGID(className) \ ,&the##className##Allocator \ --- 706,712 ---- */ ! #define DEFINE_METATYPE_WITH_FACTORY( className, identifier, version, domain, description ) \ _DEFINE_ENTITY_WITH_FACTORY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version,domain, description ) \ _DEFINE_SINGLE_STRINGID(className) \ ,&the##className##Allocator \ *************** *** 725,732 **** \arg version: the version number of the MetaType */ ! #define DEFINE_METATYPE1( className, metaName, identifier, version ) \ _DEFINE_FACTORY( className ) \ _DEFINE_ENTITY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version) \ _DEFINE_DUAL_STRINGID(className,metaName) \ ,&the##className##Allocator \ --- 723,730 ---- \arg version: the version number of the MetaType */ ! #define DEFINE_METATYPE1( className, metaName, identifier, version, domain, description ) \ _DEFINE_FACTORY( className ) \ _DEFINE_ENTITY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version,domain, description ) \ _DEFINE_DUAL_STRINGID(className,metaName) \ ,&the##className##Allocator \ *************** *** 743,749 **** \arg version: the version number of the MetaType */ ! #define DEFINE_METATYPE1_WITH_FACTORY( className, metaName, identifier, version ) \ _DEFINE_ENTITY_WITH_FACTORY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version) \ _DEFINE_DUAL_STRINGID(className,metaName) \ ,&the##className##Allocator \ --- 741,747 ---- \arg version: the version number of the MetaType */ ! #define DEFINE_METATYPE1_WITH_FACTORY( className, metaName, identifier, version, domain, description ) \ _DEFINE_ENTITY_WITH_FACTORY( className ) \ ! _DEFINE_ENTITY_ALWAYS_PARMS(className,identifier,version,domain, description ) \ _DEFINE_DUAL_STRINGID(className,metaName) \ ,&the##className##Allocator \ *************** *** 774,777 **** --- 772,777 ---- @param MetaType pointer to array of parents @param MemberDescriptor pointer to array of members, + @param Char pointer to domain name (namespace) + @param Char pointer to description @param Char pointer to type instance (class) name @param Char pointer to MetaType name *************** *** 787,790 **** --- 787,792 ---- DispatchDescriptorCptr *, CharCptr , + CharCptr , + CharCptr , CharCptr ) throw ( Assertion ); *************** *** 798,801 **** --- 800,805 ---- @param MetaType pointer to array of parents @param MemberDescriptor pointer to array of members, + @param Char pointer to domain name (namespace) + @param Char pointer to description @param Char pointer to type instance (class) name @param Char pointer to MetaType name *************** *** 813,816 **** --- 817,822 ---- CharCptr , CharCptr , + CharCptr , + CharCptr , AllocatorPtr ) throw ( Assertion ); *************** *** 890,893 **** --- 896,914 ---- /** + get the description of this type + @return char pointer to description or null + */ + + CharCptr getTypeDescription( void ) const; + + /** + get the domain name (the Ontology) that this + type is a member of + @return char pointer to domain name, or null + */ + + CharCptr getDomainName( void ) const; + + /** get the Allocator associated to this MetaType. @return the allocator *************** *** 1025,1031 **** --- 1046,1055 ---- MemberDescriptorCptr *const theInstanceMembers; DispatchDescriptorCptr *const theDispatchFunctions; + CharCptr theDomainName; + CharCptr theTypeDescription; CharCptr theInstanceTypeName; CharCptr theMetaTypeName; AllocatorPtr theFactoryAllocator; + static CharCptr theDefaultDomainName; }; } Index: Ontology.hpp =================================================================== RCS file: /cvsroot/corelinux/clfw/clfw/Ontology.hpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Ontology.hpp 2000/11/10 04:42:48 1.1 --- Ontology.hpp 2000/11/11 17:45:54 1.2 *************** *** 27,31 **** /*! ! \class Ontology manages namespace semantic hierarchies */ --- 27,31 ---- /*! ! \class Ontology represents a domain semantic network */ *************** *** 35,54 **** public: ! static void addType( MetaTypeCptr ); protected: private: ! Ontology( void ); ! Ontology( OntologyCref ); ! OntologyRef operator=( OntologyCref ); ! bool operator==( OntologyCref ) const; ! private: }; --- 35,100 ---- public: ! /** ! Default constructor takes a domain name ! @param char pointer to domain name ! */ + Ontology( CharCptr ); + + /** + Virtual destructor + */ + + virtual ~Ontology( void ); + + /// Equality operator + + bool operator==( OntologyCref ) const; + + /// gets the domain name + + CharCptr getDomainName( void ) const; + + /** + Add a new metatype to this ontology + @param MetaType const pointer to type + @exception InvalidType if domain name is not + the same as the ontology + */ + + virtual void addType( MetaTypeCptr ); + + /** + Add a child to a member of the ontology. This + does not store the type being added, but only + updates the child reference of an existing + type + @param MetaType const pointer to add + @param MetaType const pointer to add to + */ + + virtual void addAsChild( MetaTypeCptr , MetaTypeCptr ); + protected: + private: + /// Default constructor not allowed ! Ontology( void ); ! /// Copy constructur not allowed ! Ontology( OntologyCref ); ! /// Assignment operator not allowed + OntologyRef operator=( OntologyCref ); + + private: + + CharPtr theDomainName; + }; |