1 /* ide-buffer-addin-private.h
2  *
3  * Copyright 2018-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-plugins.h>
24 #include <libpeas/peas.h>
25 
26 #include "ide-buffer.h"
27 #include "ide-buffer-addin.h"
28 
29 G_BEGIN_DECLS
30 
31 typedef struct
32 {
33   IdeBuffer   *buffer;
34   const gchar *language_id;
35 } IdeBufferLanguageSet;
36 
37 typedef struct
38 {
39   IdeBuffer *buffer;
40   GFile     *file;
41 } IdeBufferFileSave;
42 
43 typedef struct
44 {
45   IdeBuffer *buffer;
46   GFile     *file;
47 } IdeBufferFileLoad;
48 
49 void _ide_buffer_addin_load_cb                 (IdeExtensionSetAdapter *set,
50                                                 PeasPluginInfo         *plugin_info,
51                                                 PeasExtension          *exten,
52                                                 gpointer                user_data);
53 void _ide_buffer_addin_unload_cb               (IdeExtensionSetAdapter *set,
54                                                 PeasPluginInfo         *plugin_info,
55                                                 PeasExtension          *exten,
56                                                 gpointer                user_data);
57 void _ide_buffer_addin_file_loaded_cb          (IdeExtensionSetAdapter *set,
58                                                 PeasPluginInfo         *plugin_info,
59                                                 PeasExtension          *exten,
60                                                 gpointer                user_data);
61 void _ide_buffer_addin_save_file_cb            (IdeExtensionSetAdapter *set,
62                                                 PeasPluginInfo         *plugin_info,
63                                                 PeasExtension          *exten,
64                                                 gpointer                user_data);
65 void _ide_buffer_addin_file_saved_cb           (IdeExtensionSetAdapter *set,
66                                                 PeasPluginInfo         *plugin_info,
67                                                 PeasExtension          *exten,
68                                                 gpointer                user_data);
69 void _ide_buffer_addin_language_set_cb         (IdeExtensionSetAdapter *set,
70                                                 PeasPluginInfo         *plugin_info,
71                                                 PeasExtension          *exten,
72                                                 gpointer                user_data);
73 void _ide_buffer_addin_change_settled_cb       (IdeExtensionSetAdapter *set,
74                                                 PeasPluginInfo         *plugin_info,
75                                                 PeasExtension          *exten,
76                                                 gpointer                user_data);
77 void _ide_buffer_addin_style_scheme_changed_cb (IdeExtensionSetAdapter *set,
78                                                 PeasPluginInfo         *plugin_info,
79                                                 PeasExtension          *exten,
80                                                 gpointer                user_data);
81 
82 G_END_DECLS
83