#ifndef __TestTrace_h__
#define __TestTrace_h__

#include "Trace.ah"
#include <stdio.h>

// aspect TestTrace1 : public Trace {
// public:
//   pointcut methods() = execution ("% Base::%(...)") && that ("Derived");

//   pointcut where() = !that ("Trace") && execution("% %(...)");

//   advice where(): before () { 
//     printf ("%s called\n", tjp->signature ());
//   }
// };

// aspect TestTrace2 : public Trace
//  {
//    public:
//       pointcut methods() = execution ("% Test::foo(...)");
//  };

aspect TestTrace3 : public Trace {
  public:
	pointcut methods() = call ("% Base::%(...)");
};

#endif // __TestTrace_h__
