1 /* ide-debug-manager.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 #include <libide-foundry.h>
25 
26 #include "ide-debugger.h"
27 #include "ide-debugger-breakpoints.h"
28 #include "ide-debugger-types.h"
29 
30 G_BEGIN_DECLS
31 
32 #define IDE_TYPE_DEBUG_MANAGER (ide_debug_manager_get_type())
33 
34 IDE_AVAILABLE_IN_3_32
35 G_DECLARE_FINAL_TYPE (IdeDebugManager, ide_debug_manager, IDE, DEBUG_MANAGER, IdeObject)
36 
37 IDE_AVAILABLE_IN_3_32
38 IdeDebugManager        *ide_debug_manager_from_context             (IdeContext       *context);
39 IDE_AVAILABLE_IN_3_32
40 IdeDebugger            *ide_debug_manager_get_debugger             (IdeDebugManager  *self);
41 IDE_AVAILABLE_IN_3_32
42 gboolean                ide_debug_manager_get_active               (IdeDebugManager  *self);
43 IDE_AVAILABLE_IN_3_32
44 gboolean                ide_debug_manager_start                    (IdeDebugManager  *self,
45                                                                     IdeRunner        *runner,
46                                                                     GError          **error);
47 IDE_AVAILABLE_IN_3_32
48 void                    ide_debug_manager_stop                     (IdeDebugManager  *self);
49 IDE_AVAILABLE_IN_3_32
50 IdeDebuggerBreakpoints *ide_debug_manager_get_breakpoints_for_file (IdeDebugManager  *self,
51                                                                     GFile            *file);
52 IDE_AVAILABLE_IN_3_32
53 gboolean                ide_debug_manager_supports_language        (IdeDebugManager  *self,
54                                                                     const gchar      *language_id);
55 IDE_AVAILABLE_IN_3_32
56 IdeDebugger            *ide_debug_manager_find_debugger            (IdeDebugManager  *self,
57                                                                     IdeRunner        *runner);
58 
59 G_END_DECLS
60