Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Examples  

corelinux::MetaType Class Reference

#include <MetaType.hpp>

List of all members.

Public Methods

Constructor and destructor
 MetaType ( UniversalIdentifierCref , DwordCref , DwordCref , MetaTypeCptr *, MemberDescriptorCptr *, DispatchDescriptorCptr *, CharCptr , CharCptr , CharCptr , CharCptr ) throw ( Assertion )
 Constructor requires meaningful information for analysis, this is for abstract types that are not instantiated. More...

 MetaType ( UniversalIdentifierCref , DwordCref , DwordCref , MetaTypeCptr *, MemberDescriptorCptr *, DispatchDescriptorCptr *, CharCptr , CharCptr , CharCptr , CharCptr , AllocatorPtr ) throw ( Assertion )
 Constructor requires meaningful information for analysis. More...

virtual ~MetaType ( void )
 Virtual destructor.

Operator overloads
bool operator== ( MetaTypeCptr ) const
MetaType Accessors
General accessors for the meta type and various descriptors

UniversalIdentifierCref getIdentifier ( void ) const
 get the UniversalIdentifier associated to the MetaType. More...

DwordCref getTypeVersion ( void ) const
 get the class version of the type this MetaType represents. More...

DwordCref getTypeSize ( void ) const
 get the instance size of the type this MetaType represents. More...

Count getParentCount ( void ) const
 get the parent count. More...

Count getInstanceMemberCount ( void ) const
 get the instance member (attributes) count. More...

Count getInstanceFunctionCount ( void ) const
 get the dispatch functions count. More...

CharCptr getInstanceTypeName ( void ) const
 get the name of the instance of this MetaType. More...

CharCptr getMetaTypeName ( void ) const
 get the name of this MetaType. More...

CharCptr getTypeDescription ( void ) const
 get the description of this type. More...

CharCptr getDomainName ( void ) const
 get the domain name (the Ontology) that this type is a member of. More...

AllocatorPtr getAllocator ( void ) const
 get the Allocator associated to this MetaType. More...

bool isType ( MetaTypeCptr aMetaType ) const throw ( Assertion )
 test if this MetaType is of the same type as aMetaType. More...

bool isTypeOf ( MetaTypeCptr ) const throw ( Assertion )
 test if this MetaType is of the same type as aMetaType. More...

bool isAbstractType ( void ) const
 tells if the MetaType is an abstract one or not. More...

Iteator factories
Iterator<MetaTypePtr>* createParentIterator ( void )
 Create a iterator over the parents of this type. More...

Iterator<MemberDescriptorPtr>* createMemberIterator ( void )
 Create a iterator over the data member declarations of this type. More...

Iterator<DispatchDescriptorPtr>* createMethodIterator ( void )
 Create a iterator over the methods of this type. More...

void destroyIterator ( Iterator<MetaTypePtr>* )
 Destroy the iterator. More...

void destroyIterator ( Iterator<MemberDescriptorPtr> * )
 Destroy the iterator. More...

void destroyIterator ( Iterator<DispatchDescriptorPtr> * )
 Destroy the iterator. More...

Instance Accessors and methods interfaces
VoidPtr get ( CharCptr, FrameworkEntityPtr ) const throw ( NullPointerException, DescriptorNotFound, AccessorNotFound )
 Attempts to access to the specified attribute. More...

Instance Mutators and methods interfaces
void set ( CharCptr, VoidPtr, FrameworkEntityPtr ) const throw ( NullPointerException, DescriptorNotFound, AccessorNotFound )
 Attempts to set to the specified attribute. More...

Instance Mutators and methods interfaces
void dispatch ( FrameworkEntityPtr, char *, void **, void * ) throw ( NullPointerException, DescriptorNotFound )
 Attempts to call the method via a dispatch function on the object. More...

void dispatch ( char *, void **, void * ) throw ( NullPointerException, DescriptorNotFound )
 Attempts to call the method via a dispatch function on the object. More...


Protected Methods

 MetaType ( void ) throw ( Assertion )
 default constructor is protected.

 MetaType ( MetaTypeCref ) throw ( Assertion )
 copy constructor is protected.


Detailed Description

This class contains the meta informations on the classes using the metaClass framework.


Constructor & Destructor Documentation

corelinux::MetaType::MetaType ( UniversalIdentifierCref aMetaTypeUid,
DwordCref aVersion,
DwordCref aSize,
MetaTypeCptr * aParentArray,
MemberDescriptorCptr * aMemberArray,
DispatchDescriptorCptr * aDispatchArray,
CharCptr aDomainName,
CharCptr aDescription,
CharCptr aTypeName,
CharCptr aMetaTypeName ) throw ( Assertion )
 

Constructor requires meaningful information for analysis, this is for abstract types that are not instantiated.

Parameters:
UniversalIdentifier   a Unique ID
Dword   MetaType version number
Dword   size of class
MetaType   pointer to array of parents
MemberDescriptor   pointer to array of members,
Char   pointer to domain name (namespace)
Char   pointer to description
Char   pointer to type instance (class) name
Char   pointer to MetaType name

corelinux::MetaType::MetaType ( UniversalIdentifierCref aMetaTypeUid,
DwordCref aVersion,
DwordCref aSize,
MetaTypeCptr * aParentArray,
MemberDescriptorCptr * aMemberArray,
DispatchDescriptorCptr * aDispatchArray,
CharCptr aDomainName,
CharCptr aDescription,
CharCptr aTypeName,
CharCptr aMetaTypeName,
AllocatorPtr aAllocation ) throw ( Assertion )
 

Constructor requires meaningful information for analysis.

Parameters:
UniversalIdentifier   a Unique ID
Dword   MetaType version number
Dword   size of class
MetaType   pointer to array of parents
MemberDescriptor   pointer to array of members,
Char   pointer to domain name (namespace)
Char   pointer to description
Char   pointer to type instance (class) name
Char   pointer to MetaType name
Allocator   pointer to instance allocator

corelinux::MetaType::~MetaType ( void ) [virtual]
 

Virtual destructor.

corelinux::MetaType::MetaType ( void ) throw ( Assertion ) [protected]
 

default constructor is protected.

corelinux::MetaType::MetaType ( MetaTypeCref aMetaType ) throw ( Assertion ) [protected]
 

copy constructor is protected.


Member Function Documentation

Iterator< MemberDescriptorPtr >* corelinux::MetaType::createMemberIterator ( void )
 

Create a iterator over the data member declarations of this type.

Returns:
Iterator<MemberDescriptorCptr> pointer

Iterator< DispatchDescriptorPtr >* corelinux::MetaType::createMethodIterator ( void )
 

Create a iterator over the methods of this type.

Returns:
Iterator<DispatchDescriptorCptr> pointer

Iterator< MetaTypePtr >* corelinux::MetaType::createParentIterator ( void )
 

Create a iterator over the parents of this type.

Returns:
Iterator<MetaTypeCptr> pointer

void corelinux::MetaType::destroyIterator ( Iterator< DispatchDescriptorPtr >* anIterator )
 

Destroy the iterator.

Parameters:
Iterator<DispatchDescriptorCptr>   pointer

void corelinux::MetaType::destroyIterator ( Iterator< MemberDescriptorPtr >* anIterator )
 

Destroy the iterator.

Parameters:
Iterator<MemberDescriptorCptr>   pointer

void corelinux::MetaType::destroyIterator ( Iterator< MetaTypePtr >* anIterator )
 

Destroy the iterator.

Parameters:
Iterator<MetaTypeCptr>   pointer

void corelinux::MetaType::dispatch ( char * aFunctionName,
void ** args,
void * retArg ) throw ( NullPointerException, DescriptorNotFound )
 

Attempts to call the method via a dispatch function on the object.

Parameters:
char   pointer to the named method (used for lookup)
void   pointer array of arguments
void   pointer to return value
Exceptions:
NullpointerException   if object or name are null
DescriptorNotFound   if no match

void corelinux::MetaType::dispatch ( FrameworkEntityPtr aInstanceObject,
char * aFunctionName,
void ** args,
void * retArg ) throw ( NullPointerException, DescriptorNotFound )
 

Attempts to call the method via a dispatch function on the object.

Parameters:
FrameworkEntity   pointer to the object
char   pointer to the named method (used for lookup)
void   pointer array of arguments
void   pointer to return value
Exceptions:
NullpointerException   if object or name are null
DescriptorNotFound   if no match

VoidPtr corelinux::MetaType::get ( CharCptr aName,
FrameworkEntityPtr anInstance ) const throw ( NullPointerException, DescriptorNotFound, AccessorNotFound )
 

Attempts to access to the specified attribute.

Parameters:
Char   pointer to value name
FrameworkEntity   pointer to instance
Returns:
VoidPtr to value
Exceptions:
NullPointerException   if name is null
DescriptorNotFound   if no match
AccessorNotFound   if no getter method

AllocatorPtr corelinux::MetaType::getAllocator ( void ) const
 

get the Allocator associated to this MetaType.

Returns:
the allocator

CharCptr corelinux::MetaType::getDomainName ( void ) const
 

get the domain name (the Ontology) that this type is a member of.

Returns:
char pointer to domain name, or null

UniversalIdentifierCref corelinux::MetaType::getIdentifier ( void ) const
 

get the UniversalIdentifier associated to the MetaType.

Returns:
a UniversalIdentifierCref

Count corelinux::MetaType::getInstanceFunctionCount ( void ) const
 

get the dispatch functions count.

Returns:
Count of dispatch functions

Count corelinux::MetaType::getInstanceMemberCount ( void ) const
 

get the instance member (attributes) count.

Returns:
Count of data members

CharCptr corelinux::MetaType::getInstanceTypeName ( void ) const
 

get the name of the instance of this MetaType.

Returns:
the name of the instance of this MetaType

CharCptr corelinux::MetaType::getMetaTypeName ( void ) const
 

get the name of this MetaType.

Returns:
the name of this MetaType

Count corelinux::MetaType::getParentCount ( void ) const
 

get the parent count.

Returns:
Count of parents (0 if root)

CharCptr corelinux::MetaType::getTypeDescription ( void ) const
 

get the description of this type.

Returns:
char pointer to description or null

DwordCref corelinux::MetaType::getTypeSize ( void ) const
 

get the instance size of the type this MetaType represents.

Returns:
the size

DwordCref corelinux::MetaType::getTypeVersion ( void ) const
 

get the class version of the type this MetaType represents.

Returns:
the version

bool corelinux::MetaType::isAbstractType ( void ) const
 

tells if the MetaType is an abstract one or not.

Returns:
true if it is an abstract metatype false otherwise

bool corelinux::MetaType::isType ( MetaTypeCptr aTypePtr ) const throw ( Assertion )
 

test if this MetaType is of the same type as aMetaType.

Returns:
true if the same false otherwise

bool corelinux::MetaType::isTypeOf ( MetaTypeCptr aTypePtr ) const throw ( Assertion )
 

test if this MetaType is of the same type as aMetaType.

Returns:
true if the same false otherwise

bool corelinux::MetaType::operator== ( MetaTypeCptr ) const
 

void corelinux::MetaType::set ( CharCptr aName,
VoidPtr aValuePtr,
FrameworkEntityPtr anInstance ) const throw ( NullPointerException, DescriptorNotFound, AccessorNotFound )
 

Attempts to set to the specified attribute.

Parameters:
Char   pointer to value name
Void   pointer to value to set
FrameworkEntity   pointer to instance
Exceptions:
NullPointerException   if name is null
DescriptorNotFound   if no match
AccessorNotFound   if no setter method


The documentation for this class was generated from the following files:
This is the CoreLinux++ Framework reference manual
Provided by The CoreLinux Consortium