febugger: prepare for saner handling of changed breakpoints

This commit is contained in:
hjk
2011-03-29 12:55:36 +02:00
parent ae11a1f72c
commit 7f34b5008b
5 changed files with 82 additions and 26 deletions

View File

@@ -88,10 +88,40 @@ enum BreakpointPathUsage
BreakpointUseShortPath //!< Use filename only, in case source files are relocated.
};
enum BreakpointParts
{
NoParts = 0,
FileAndLinePart = 0x1,
FunctionPart = 0x2,
AddressPart = 0x4,
ConditionPart = 0x8,
IgnoreCountPart = 0x10,
ThreadSpecPart = 0x20,
AllConditionParts = ConditionPart|IgnoreCountPart|ThreadSpecPart,
ModulePart = 0x40,
TracePointPart = 0x80,
EnabledPart = 0x100,
TypePart = 0x200,
PathUsagePart = 0x400,
CommandPart = 0x400,
AllParts = FileAndLinePart|FunctionPart|AddressPart|ConditionPart
|IgnoreCountPart|ThreadSpecPart|ModulePart|TracePointPart
|EnabledPart|TypePart|PathUsagePart|CommandPart
};
inline void operator|=(BreakpointParts &p, BreakpointParts r)
{
p = BreakpointParts(int(p) | int(r));
}
class BreakpointParameters
{
public:
explicit BreakpointParameters(BreakpointType = UnknownType);
BreakpointParts differencesTo(const BreakpointParameters &rhs) const;
bool equals(const BreakpointParameters &rhs) const;
bool conditionsMatch(const QByteArray &other) const;
bool isWatchpoint() const { return type == Watchpoint; }