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