Branch data Line data Source code
1 : : // SPDX-License-Identifier: GPL-3.0-or-later
2 : : // SPDX-FileCopyrightText: Andy Holmes <andrew.g.r.holmes@gmail.com>
3 : :
4 : : #pragma once
5 : :
6 : : #if !defined (VALENT_INSIDE) && !defined (VALENT_COMPILATION)
7 : : # error "Only <valent.h> can be included directly."
8 : : #endif
9 : :
10 : : #include <gio/gio.h>
11 : : #include <libpeas.h>
12 : :
13 : : #include "valent-extension.h"
14 : :
15 : : G_BEGIN_DECLS
16 : :
17 : : #define VALENT_TYPE_COMPONENT (valent_component_get_type())
18 : :
19 : : VALENT_AVAILABLE_IN_1_0
20 [ + - + - : 1570 : G_DECLARE_DERIVABLE_TYPE (ValentComponent, valent_component, VALENT, COMPONENT, ValentResource)
+ - ]
21 : :
22 : : struct _ValentComponentClass
23 : : {
24 : : ValentResourceClass parent_class;
25 : :
26 : : /* virtual functions */
27 : : void (*bind_extension) (ValentComponent *component,
28 : : GObject *extension);
29 : : void (*unbind_extension) (ValentComponent *component,
30 : : GObject *extension);
31 : : void (*bind_preferred) (ValentComponent *component,
32 : : GObject *extension);
33 : :
34 : : /*< private >*/
35 : : gpointer padding[8];
36 : : };
37 : :
38 : : VALENT_AVAILABLE_IN_1_0
39 : : ValentExtension * valent_component_get_primary_adapter (ValentComponent *component);
40 : : VALENT_AVAILABLE_IN_1_0
41 : : void valent_component_set_primary_adapter (ValentComponent *component,
42 : : ValentExtension *extension);
43 : : VALENT_AVAILABLE_IN_1_0
44 : : void valent_component_export_adapter (ValentComponent *component,
45 : : ValentExtension *extension);
46 : : VALENT_AVAILABLE_IN_1_0
47 : : void valent_component_unexport_adapter (ValentComponent *component,
48 : : ValentExtension *extension);
49 : :
50 : : G_END_DECLS
51 : :
|