14 #ifndef BERRYDEBUGBREAKPOINTMANAGER_H_
15 #define BERRYDEBUGBREAKPOINTMANAGER_H_
17 #include <Poco/HashMap.h>
32 void AddSmartpointerBreakpoint(
int smartPointerId,
const Object* obj =
nullptr);
33 void AddObjectBreakpoint(
unsigned long objectTraceId);
35 void RemoveSmartpointerBreakpoint(
int smartPointerId);
36 void RemoveObjectBreakpoint(
unsigned long objectTraceId);
38 const std::set<unsigned long>& GetObjectBreakpoints()
const;
39 const Poco::HashMap<int, const Object*>& GetSmartPointerBreakpoints()
const;
41 bool BreakAtObject(
unsigned long traceId)
const;
42 bool BreakAtSmartpointer(
int spId)
const;
44 void SaveState(
const QString& path)
const;
45 void RestoreState(
const QString& path);
54 static const std::string BREAKPOINTS_TAG;
55 static const std::string OBJECT_TAG;
56 static const std::string SMARTPOINTER_TAG;
58 static const std::string ID_ATTR;
59 static const std::string CLASSNAME_ATTR;
60 static const std::string OBJECTID_ATTR;
61 static const std::string ENABLED_ATTR;
63 std::set<unsigned long> m_ObjectBreakpoints;
64 Poco::HashMap<int, const Object*> m_SmartPointerBreakpoints;