33 lines
614 B
C++
33 lines
614 B
C++
/*
|
|||
|
|
* Copyright 2009, Ingo Weinhold, [email protected].
|
||
|
|
* Distributed under the terms of the MIT License.
|
||
|
|
*/
|
||
|
|
#ifndef STACK_TRACE_H
|
||
|
|
#define STACK_TRACE_H
|
||
|
|
|
||
#include <ObjectList.h>
|
|||
|
|
|
||
#include "StackFrame.h"
|
|||
|
|
|
||
|
|
|
||
class StackTrace : public BReferenceable {
|
|||
public:
|
|||
|
|
StackTrace();
|
||
|
|
virtual ~StackTrace();
|
||
|
|
|
||
bool AddFrame(StackFrame* frame);
|
|||
|
|
// takes over reference (also on error)
|
||
|
|||
int32 CountFrames() const;
|
|||
|
|
StackFrame* FrameAt(int32 index) const;
|
||
|
|||
private:
|
|||
|
|
typedef BObjectList<StackFrame> StackFrameList;
|
||
|
|||
|
|
private:
|
||
|
|
StackFrameList fStackFrames;
|
||
|
|
};
|
||
|
|
|
||
|
|
|
||
|
|
#endif // STACK_TRACE_H
|