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 "valent-context.h"
11 : :
12 : : G_BEGIN_DECLS
13 : :
14 : : /**
15 : : * ValentPluginState:
16 : : * @VALENT_PLUGIN_STATE_ACTIVE: the plugin functionality is available
17 : : * @VALENT_PLUGIN_STATE_INACTIVE: the plugin functionality is unavailable
18 : : * @VALENT_PLUGIN_STATE_ERROR: the plugin encountered an unrecoverable error
19 : : * Since: 1.0
20 : : */
21 : : typedef enum
22 : : {
23 : : VALENT_PLUGIN_STATE_ACTIVE,
24 : : VALENT_PLUGIN_STATE_INACTIVE,
25 : : VALENT_PLUGIN_STATE_ERROR,
26 : : } ValentPluginState;
27 : :
28 : :
29 : : #define VALENT_TYPE_EXTENSION (valent_extension_get_type ())
30 : :
31 : : VALENT_AVAILABLE_IN_1_0
32 [ + - + - : 2092 : G_DECLARE_DERIVABLE_TYPE (ValentExtension, valent_extension, VALENT, EXTENSION, ValentObject)
+ - ]
33 : :
34 : : struct _ValentExtensionClass
35 : : {
36 : : ValentObjectClass parent_class;
37 : :
38 : : /* virtual functions */
39 : :
40 : : /*< private >*/
41 : : gpointer padding[8];
42 : : };
43 : :
44 : : VALENT_AVAILABLE_IN_1_0
45 : : ValentContext * valent_extension_get_context (ValentExtension *extension);
46 : : VALENT_AVAILABLE_IN_1_0
47 : : gpointer valent_extension_get_object (ValentExtension *extension);
48 : : VALENT_AVAILABLE_IN_1_0
49 : : GSettings * valent_extension_get_settings (ValentExtension *extension);
50 : : VALENT_AVAILABLE_IN_1_0
51 : : ValentPluginState valent_extension_plugin_state_check (ValentExtension *extension,
52 : : GError **error);
53 : : VALENT_AVAILABLE_IN_1_0
54 : : void valent_extension_plugin_state_changed (ValentExtension *extension,
55 : : ValentPluginState state,
56 : : GError *error);
57 : : VALENT_AVAILABLE_IN_1_0
58 : : void valent_extension_toggle_actions (ValentExtension *extension,
59 : : gboolean enabled);
60 : :
61 : : G_END_DECLS
62 : :
|