Sourceforge.net - The VCF's Project Host
   The VCF Website Home   |   Online Discussion Forums   |   Sourceforge.net Project Page   

VCF::InterfaceClass Class Reference

The InterfaceClass does much the same for interface classes that the VCF::Class does for classes. More...

#include <InterfaceClass.h>

Inheritance diagram for VCF::InterfaceClass:

VCF::ImplementedInterfaceClass List of all members.

Public Member Functions

 InterfaceClass (const String &interfaceName, const String &interfaceID, const String &superInterfaceName)
virtual ~InterfaceClass ()
String getID () const
 returns the interface id for the interface class.
String getInterfaceName () const
 returns the interface name of the InterfaceClass
Enumerator< Method * > * getMethods () const
 returns an enumerator containing the Methods of the Class the enumerator does not reflect the order in which the properties were added.
void addMethod (Method *method)
 adds a new method to the InterfaceClass's method map.
bool hasMethod (const String &methodName) const
 does the InterfaceClass have a have a particular method ?
uint32 getMethodCount () const
 the number of methods the Class has
MethodgetMethod (const String &methodName)
 gets the method specified by methodName, if the class has that method.
virtual bool isEqual (const Object *object) const
virtual bool compareObject (const Object *object) const =0
void setSource (Object *source)
 sets the source for all methods in the InterfaceClass to source.
void setSource (const Object *source)
InterfaceClassgetSuperInterfaceClass () const
 returns the InterfaceClass that this interface is derived from, if any.

Protected Attributes

String superInterfaceClassName_
String interfaceName_
String interfaceID_
std::map< String, Method * > methods_
EnumeratorMapContainer< std::map<
String, Method * >, Method * > 
methodContainer_

Detailed Description

The InterfaceClass does much the same for interface classes that the VCF::Class does for classes.

It is a base class for RTTI for interfaces


Constructor & Destructor Documentation

VCF::InterfaceClass::InterfaceClass const String interfaceName,
const String interfaceID,
const String superInterfaceName
 

virtual VCF::InterfaceClass::~InterfaceClass  )  [virtual]
 


Member Function Documentation

void VCF::InterfaceClass::addMethod Method method  ) 
 

adds a new method to the InterfaceClass's method map.

virtual bool VCF::InterfaceClass::compareObject const Object object  )  const [pure virtual]
 

String VCF::InterfaceClass::getID  )  const [inline]
 

returns the interface id for the interface class.

InterfaceClass's may have the same name so to prevent this, an ID is provided. This is ID MUST be generated using some algorithm that guarantees a valid UUID

String VCF::InterfaceClass::getInterfaceName  )  const [inline]
 

returns the interface name of the InterfaceClass

Method* VCF::InterfaceClass::getMethod const String methodName  ) 
 

gets the method specified by methodName, if the class has that method.

Parameters:
String the name of the method to try and retrieve
Returns:
Method a pointer to a method of the interface.

uint32 VCF::InterfaceClass::getMethodCount  )  const
 

the number of methods the Class has

Enumerator<Method*>* VCF::InterfaceClass::getMethods  )  const [inline]
 

returns an enumerator containing the Methods of the Class the enumerator does not reflect the order in which the properties were added.

InterfaceClass* VCF::InterfaceClass::getSuperInterfaceClass  )  const
 

returns the InterfaceClass that this interface is derived from, if any.

Returns:
InterfaceClass the super interface this interface is derived from. May return NULL if the interface is not derived from any thing

bool VCF::InterfaceClass::hasMethod const String methodName  )  const
 

does the InterfaceClass have a have a particular method ?

Parameters:
String the name of the method to find
Returns:
bool true if the interface has the specified method, otherwise false

virtual bool VCF::InterfaceClass::isEqual const Object object  )  const [virtual]
 

void VCF::InterfaceClass::setSource const Object source  ) 
 

void VCF::InterfaceClass::setSource Object source  ) 
 

sets the source for all methods in the InterfaceClass to source.

Parameters:
Object the source to which the methods are set


Member Data Documentation

String VCF::InterfaceClass::interfaceID_ [protected]
 

String VCF::InterfaceClass::interfaceName_ [protected]
 

EnumeratorMapContainer<std::map<String,Method*>,Method*> VCF::InterfaceClass::methodContainer_ [protected]
 

std::map<String,Method*> VCF::InterfaceClass::methods_ [protected]
 

String VCF::InterfaceClass::superInterfaceClassName_ [protected]
 


The documentation for this class was generated from the following file:
   Comments or Suggestions?    License Information