#ifndef ALLOCATION_TRACKING_H
#define ALLOCATION_TRACKING_H
#include <debug.h>
#include <tracing.h>
namespace BKernel {
class AllocationTrackingInfo {
public:
AbstractTraceEntryWithStackTrace* traceEntry;
bigtime_t traceEntryTimestamp;
public:
void Init(AbstractTraceEntryWithStackTrace* entry)
{
traceEntry = entry;
traceEntryTimestamp = entry != NULL ? entry->Time() : -1;
}
void Clear()
{
traceEntry = NULL;
traceEntryTimestamp = 0;
}
bool IsInitialized() const
{
return traceEntryTimestamp != 0;
}
AbstractTraceEntryWithStackTrace* TraceEntry() const
{
return traceEntry;
}
bool IsTraceEntryValid() const
{
return tracing_is_entry_valid(traceEntry, traceEntryTimestamp);
}
};
}
using BKernel::AllocationTrackingInfo;
#endif