Trace Macros Example
Example 50 uses the set declaration macros with the event generation macros in a typical class. A more comprehensive example can be found in
buildspace\examples\trace\example1.cpp.
Example 50 – Declaring trace event sets
// File: CoffeeRobot.h
#define RW_USER_TRACE_LEVEL 8 //1
#include <rw/trace/trace.h>
RW_USER_DECLARE_TRACEABLE_CLASS(CoffeeRobot) //2
Class CoffeeRobot
{
CoffeeRobot() {
RW_USER_TRACEABLE_INLINE_MEMBER("CoffeeRobot_ctor”,
CoffeeRobot); //3
}
void makeCoffee(int cups);
};
// File: CoffeeRobot.cpp
#include "CoffeeRobot.h”
RW_USER_DEFINE_TRACEABLE_CLASS(CoffeeRobot) //4
void
CoffeeRobot::makeCoffee(int cups)
{
RW_USER_TRACEABLE_MEMBER("CoffeeRobot_makeCoffee”,
CoffeeRobot) //5
RW_USER_TRACE_OBJECT_DEBUG(
RW_STREAM_TO_STRING("Number of cups = " << cups ) ); //6
. . .
}
void globalHelper( void )
{
RW_USER_TRACEABLE_FUNCTION( "globalHelper” ); //7
RW_USER_TRACE_INFO("I’m here to help”); //8
}