|
From: Frank V. C. <fr...@us...> - 2001-04-04 00:43:13
|
Update of /cvsroot/corelinux/clfw/clfw
In directory usw-pr-cvs1:/tmp/cvs-serv20304/clfw
Modified Files:
Concept.hpp MetaType.hpp
Log Message:
More serious work, now with a example (exf2)
Index: Concept.hpp
===================================================================
RCS file: /cvsroot/corelinux/clfw/clfw/Concept.hpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** Concept.hpp 2001/04/03 03:00:14 1.4
--- Concept.hpp 2001/04/04 00:43:09 1.5
***************
*** 42,46 ****
Concept is an element of a schema and represent the extent
of a piece of knowledge or idea. Concepts have attributes
! which define various aspects of the concept
*/
--- 42,49 ----
Concept is an element of a schema and represent the extent
of a piece of knowledge or idea. Concepts have attributes
! which define various aspects of the concept.
! The decision of the type of collection (Array, Set, etc.)
! is left to the implementation and can assign a collection
! using the setProperties( CollectionPtr ) method.
*/
Index: MetaType.hpp
===================================================================
RCS file: /cvsroot/corelinux/clfw/clfw/MetaType.hpp,v
retrieving revision 1.30
retrieving revision 1.31
diff -C2 -r1.30 -r1.31
*** MetaType.hpp 2001/03/01 03:20:16 1.30
--- MetaType.hpp 2001/04/04 00:43:09 1.31
***************
*** 410,426 ****
{ #classMethName, className##methName }
- #define OPEN_DISPATCH_TABLE( className ) \
- static DispatchDescriptor const *className##DispatchTable[] = \
- { \
-
#define DEFINE_DISPATCH_ENTRY( className, methName ) \
&className##Dispatch##methName,
#define CLOSE_DISPATCH_TABLE \
0 }
#define DEFINE_DUMMY_DISPATCHTABLE( className ) \
! static DispatchDescriptor const *className##DispatchTable[] = \
! { 0 }
/*!
--- 410,478 ----
{ #classMethName, className##methName }
#define DEFINE_DISPATCH_ENTRY( className, methName ) \
&className##Dispatch##methName,
+ #define OPEN_DISPATCH_TABLE( className ) \
+ static void className##ConstructImplicit \
+ ( \
+ corelinux::FrameworkEntityPtr, \
+ void **, \
+ void *ret \
+ ) \
+ { \
+ *((FrameworkEntityPtr *)ret) = className::create(); \
+ } \
+ static void className##DestructImplicit \
+ ( \
+ corelinux::FrameworkEntityPtr aClass, \
+ void **, \
+ void * \
+ ) \
+ { \
+ className##Ptr myPointer = className::castDown( aClass ); \
+ className::destroy( myPointer ); \
+ } \
+ static DispatchDescriptor className##Dispatch##ConstructImplicit = \
+ {"Construct",className##ConstructImplicit}; \
+ static DispatchDescriptor className##Dispatch##DestructImplicit = \
+ {"Destruct",className##DestructImplicit}; \
+ static DispatchDescriptor const *className##DispatchTable[] = \
+ { \
+ DEFINE_DISPATCH_ENTRY( className,ConstructImplicit ) \
+ DEFINE_DISPATCH_ENTRY( className,DestructImplicit )
+
#define CLOSE_DISPATCH_TABLE \
0 }
#define DEFINE_DUMMY_DISPATCHTABLE( className ) \
! static void className##ConstructImplicit \
! ( \
! corelinux::FrameworkEntityPtr, \
! void **, \
! void *ret \
! ) \
! { \
! *((FrameworkEntityPtr *)ret) = className::create(); \
! } \
! static void className##DestructImplicit \
! ( \
! corelinux::FrameworkEntityPtr aClass, \
! void **, \
! void * \
! ) \
! { \
! className##Ptr myPointer = className::castDown( aClass ); \
! className::destroy( myPointer ); \
! } \
! static DispatchDescriptor className##Dispatch##ConstructImplicit = \
! {"Construct",className##ConstructImplicit}; \
! static DispatchDescriptor className##Dispatch##DestructImplicit = \
! {"Destruct",className##DestructImplicit}; \
! static DispatchDescriptor const *className##DispatchTable[] = \
! { \
! DEFINE_DISPATCH_ENTRY( className,ConstructImplicit ) \
! DEFINE_DISPATCH_ENTRY( className,DestructImplicit ) \
! 0 \
! }
/*!
|