3rdparty/licenseReport: Add seperate LGPL checks
[haiku.git] / src / kits / debugger / settings / BreakpointSetting.h
blob9ea54d2ac23052a6f83e04cfc82a5684a50c4aa0
1 /*
2 * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de.
3 * Copyright 2013-2014, Rene Gollent, rene@gollent.com.
4 * Distributed under the terms of the MIT License.
5 */
6 #ifndef BREAKPOINT_SETTING_H
7 #define BREAKPOINT_SETTING_H
10 #include <String.h>
12 #include <ObjectList.h>
14 #include "SourceLocation.h"
15 #include "Types.h"
18 class BMessage;
19 class FunctionID;
20 class UserBreakpointLocation;
23 class BreakpointSetting {
24 public:
25 BreakpointSetting();
26 BreakpointSetting(
27 const BreakpointSetting& other);
28 ~BreakpointSetting();
30 status_t SetTo(const UserBreakpointLocation& location,
31 bool enabled, bool hidden,
32 const BString& conditionExpression);
33 status_t SetTo(const BMessage& archive);
34 status_t WriteTo(BMessage& archive) const;
36 FunctionID* GetFunctionID() const { return fFunctionID; }
37 const BString& SourceFile() const { return fSourceFile; }
38 SourceLocation GetSourceLocation() const
39 { return fSourceLocation; }
40 target_addr_t RelativeAddress() const
41 { return fRelativeAddress; }
43 bool IsEnabled() const { return fEnabled; }
44 bool IsHidden() const { return fHidden; }
46 const BString& Condition() const
47 { return fConditionExpression; }
49 BreakpointSetting& operator=(const BreakpointSetting& other);
51 private:
52 void _Unset();
54 private:
55 FunctionID* fFunctionID;
56 BString fSourceFile;
57 SourceLocation fSourceLocation;
58 target_addr_t fRelativeAddress;
59 bool fEnabled;
60 bool fHidden;
61 BString fConditionExpression;
65 #endif // BREAKPOINT_SETTING_H