1 /* ide-debugger-breakpoint.h
2  *
3  * Copyright 2017-2019 Christian Hergert <chergert@redhat.com>
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
17  *
18  * SPDX-License-Identifier: GPL-3.0-or-later
19  */
20 
21 #pragma once
22 
23 #include <libide-core.h>
24 
25 #include "ide-debugger-frame.h"
26 #include "ide-debugger-types.h"
27 
28 G_BEGIN_DECLS
29 
30 #define IDE_TYPE_DEBUGGER_BREAKPOINT (ide_debugger_breakpoint_get_type())
31 
32 IDE_AVAILABLE_IN_3_32
33 G_DECLARE_DERIVABLE_TYPE (IdeDebuggerBreakpoint, ide_debugger_breakpoint, IDE, DEBUGGER_BREAKPOINT, GObject)
34 
35 struct _IdeDebuggerBreakpointClass
36 {
37   GObjectClass parent_class;
38 
39   void (*reset) (IdeDebuggerBreakpoint *self);
40 
41   /*< private >*/
42   gpointer _reserved[8];
43 };
44 
45 IDE_AVAILABLE_IN_3_32
46 gint                    ide_debugger_breakpoint_compare         (IdeDebuggerBreakpoint  *a,
47                                                                  IdeDebuggerBreakpoint  *b);
48 IDE_AVAILABLE_IN_3_32
49 IdeDebuggerBreakpoint  *ide_debugger_breakpoint_new             (const gchar            *id);
50 IDE_AVAILABLE_IN_3_32
51 const gchar            *ide_debugger_breakpoint_get_id          (IdeDebuggerBreakpoint  *self);
52 IDE_AVAILABLE_IN_3_32
53 gboolean                ide_debugger_breakpoint_get_enabled     (IdeDebuggerBreakpoint  *self);
54 IDE_AVAILABLE_IN_3_32
55 void                    ide_debugger_breakpoint_set_enabled     (IdeDebuggerBreakpoint  *self,
56                                                                  gboolean                enabled);
57 IDE_AVAILABLE_IN_3_32
58 IdeDebuggerBreakMode    ide_debugger_breakpoint_get_mode        (IdeDebuggerBreakpoint  *self);
59 IDE_AVAILABLE_IN_3_32
60 void                    ide_debugger_breakpoint_set_mode        (IdeDebuggerBreakpoint  *self,
61                                                                  IdeDebuggerBreakMode    mode);
62 IDE_AVAILABLE_IN_3_32
63 IdeDebuggerDisposition  ide_debugger_breakpoint_get_disposition (IdeDebuggerBreakpoint  *self);
64 IDE_AVAILABLE_IN_3_32
65 void                    ide_debugger_breakpoint_set_disposition (IdeDebuggerBreakpoint  *self,
66                                                                  IdeDebuggerDisposition  disposition);
67 IDE_AVAILABLE_IN_3_32
68 IdeDebuggerAddress      ide_debugger_breakpoint_get_address     (IdeDebuggerBreakpoint  *self);
69 IDE_AVAILABLE_IN_3_32
70 void                    ide_debugger_breakpoint_set_address     (IdeDebuggerBreakpoint  *self,
71                                                                  IdeDebuggerAddress      address);
72 IDE_AVAILABLE_IN_3_32
73 const gchar            *ide_debugger_breakpoint_get_spec        (IdeDebuggerBreakpoint  *self);
74 IDE_AVAILABLE_IN_3_32
75 void                    ide_debugger_breakpoint_set_spec        (IdeDebuggerBreakpoint  *self,
76                                                                  const gchar            *spec);
77 IDE_AVAILABLE_IN_3_32
78 const gchar            *ide_debugger_breakpoint_get_function    (IdeDebuggerBreakpoint  *self);
79 IDE_AVAILABLE_IN_3_32
80 void                    ide_debugger_breakpoint_set_function    (IdeDebuggerBreakpoint  *self,
81                                                                  const gchar            *function);
82 IDE_AVAILABLE_IN_3_32
83 const gchar            *ide_debugger_breakpoint_get_file        (IdeDebuggerBreakpoint  *self);
84 IDE_AVAILABLE_IN_3_32
85 void                    ide_debugger_breakpoint_set_file        (IdeDebuggerBreakpoint  *self,
86                                                                  const gchar            *file);
87 IDE_AVAILABLE_IN_3_32
88 guint                   ide_debugger_breakpoint_get_line        (IdeDebuggerBreakpoint  *self);
89 IDE_AVAILABLE_IN_3_32
90 void                    ide_debugger_breakpoint_set_line        (IdeDebuggerBreakpoint  *self,
91                                                                  guint                   line);
92 IDE_AVAILABLE_IN_3_32
93 gint64                  ide_debugger_breakpoint_get_count       (IdeDebuggerBreakpoint  *self);
94 IDE_AVAILABLE_IN_3_32
95 void                    ide_debugger_breakpoint_set_count       (IdeDebuggerBreakpoint  *self,
96                                                                  gint64                  count);
97 IDE_AVAILABLE_IN_3_32
98 const gchar            *ide_debugger_breakpoint_get_thread      (IdeDebuggerBreakpoint  *self);
99 IDE_AVAILABLE_IN_3_32
100 void                    ide_debugger_breakpoint_set_thread      (IdeDebuggerBreakpoint  *self,
101                                                                  const gchar            *thread);
102 
103 G_END_DECLS
104