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