Puma Reference Manual Puma: Puma::ACClassDatabase Class Reference



Puma::ACClassDatabase Class Reference

#include <Puma/ACClassDatabase.h>

List of all members.


Detailed Description

AspectC++ specific database of all aspect, slice, and pointcut info objects.


Public Member Functions

virtual ~ACClassDatabase ()
 Destruct the database.
int AspectInfos () const
 Get the number of aspect infos in the database.
ACAspectInfoAspectInfo (int n) const
 Get the n-th aspect info.
ACAspectInfoAspectInfo (const char *n) const
 Get the info of the aspect with the given name.
ACAspectInfoAspectInfo (CClassInfo *ci) const
 Get the aspect info according to the given class info.
int PointcutInfos () const
 Get the number of pointcut infos in the database.
ACPointcutInfoPointcutInfo (int n) const
 Get the n-th pointcut info.
ACPointcutInfoPointcutInfo (CFunctionInfo *fi) const
 Get the pointcut info according to the given function info.
int SliceInfos () const
 Get the number of slice infos in the database.
ACSliceInfoSliceInfo (int n) const
 Get the n-th slice info.
ACSliceInfoSliceInfo (CObjectInfo *oi) const
 Get the slice info that is represented by the given object info.
ACAspectInfonew_aspect (CClassInfo *ci)
 Create a new aspect info from the given class info.
ACPointcutInfonew_pointcut (CFunctionInfo *fi)
 Create a new pointcut info from the given function info.
ACSliceInfonew_slice (CObjectInfo *oi)
 Create a new slice info from the given object info.
void Dump (ostream &out, int level=0) const
 Dump the contents of the database.


Constructor & Destructor Documentation

Puma::ACClassDatabase::~ACClassDatabase (  )  [inline, virtual]

Destruct the database.

Destroys all aspect and pointcut infos in the database.


Member Function Documentation

int Puma::ACClassDatabase::AspectInfos (  )  const [inline]

Get the number of aspect infos in the database.

ACAspectInfo* Puma::ACClassDatabase::AspectInfo ( int  n  )  const [inline]

Get the n-th aspect info.

Parameters:
n The number of the aspect info.
Returns:
The aspect info or NULL if n is invalid.

ACAspectInfo* Puma::ACClassDatabase::AspectInfo ( const char *  n  )  const

Get the info of the aspect with the given name.

Parameters:
n The name of the aspect.
Returns:
The aspect info or NULL if there is no aspect with that name.

ACAspectInfo* Puma::ACClassDatabase::AspectInfo ( CClassInfo ci  )  const

Get the aspect info according to the given class info.

Parameters:
ci The class info of the aspect.
Returns:
The aspect info or NULL if no matching aspect was found.

int Puma::ACClassDatabase::PointcutInfos (  )  const [inline]

Get the number of pointcut infos in the database.

ACPointcutInfo* Puma::ACClassDatabase::PointcutInfo ( int  n  )  const [inline]

Get the n-th pointcut info.

Parameters:
n The number of the pointcut info.
Returns:
The pointcut info or NULL if n is invalid.

ACPointcutInfo* Puma::ACClassDatabase::PointcutInfo ( CFunctionInfo fi  )  const

Get the pointcut info according to the given function info.

Parameters:
fi The function info of the pointcut.
Returns:
The pointcut info or NULL if no matching pointcut was found.

int Puma::ACClassDatabase::SliceInfos (  )  const [inline]

Get the number of slice infos in the database.

ACSliceInfo* Puma::ACClassDatabase::SliceInfo ( int  n  )  const [inline]

Get the n-th slice info.

Parameters:
n The number of the slice info.
Returns:
The slice info or NULL if n is invalid.

ACSliceInfo* Puma::ACClassDatabase::SliceInfo ( CObjectInfo oi  )  const

Get the slice info that is represented by the given object info.

Parameters:
oi The object info of the slice.
Returns:
The slice info or NULL if no matching slice was found.

ACAspectInfo* Puma::ACClassDatabase::new_aspect ( CClassInfo ci  ) 

Create a new aspect info from the given class info.

The info is added to the database.

Parameters:
ci The class info.

ACPointcutInfo* Puma::ACClassDatabase::new_pointcut ( CFunctionInfo fi  ) 

Create a new pointcut info from the given function info.

The info is added to the database.

Parameters:
fi The function info.

ACSliceInfo* Puma::ACClassDatabase::new_slice ( CObjectInfo oi  ) 

Create a new slice info from the given object info.

The info is added to the database.

Parameters:
oi The object info.

void Puma::ACClassDatabase::Dump ( ostream &  out,
int  level = 0 
) const

Dump the contents of the database.

Parameters:
out The output stream to dump to.
level The output level (not yet used).




Puma Reference Manual. Created on 11 Jul 2008.