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 : : #define G_LOG_DOMAIN "valent-input"
5 : :
6 : : #include "config.h"
7 : :
8 : : #include <glib-object.h>
9 : : #include <libpeas.h>
10 : : #include <libvalent-core.h>
11 : :
12 : : #include "valent-input-adapter.h"
13 : :
14 : : #include "valent-input.h"
15 : :
16 : : /**
17 : : * ValentInput:
18 : : *
19 : : * A class for controlling pointer and keyboard devices.
20 : : *
21 : : * Plugins can implement [class@Valent.InputAdapter] to provide an interface to
22 : : * control the pointer and keyboard.
23 : : *
24 : : * Since: 1.0
25 : : */
26 : : struct _ValentInput
27 : : {
28 : : ValentComponent parent_instance;
29 : : };
30 : :
31 [ + + + - ]: 156 : G_DEFINE_FINAL_TYPE (ValentInput, valent_input, VALENT_TYPE_COMPONENT)
32 : :
33 : : /*
34 : : * GObject
35 : : */
36 : : static void
37 : : valent_input_class_init (ValentInputClass *klass)
38 : : {
39 : : }
40 : :
41 : : static void
42 : 5 : valent_input_init (ValentInput *self)
43 : : {
44 : 5 : }
45 : :
46 : : /**
47 : : * valent_input_get_default:
48 : : *
49 : : * Get the default [class@Valent.Input].
50 : : *
51 : : * Returns: (transfer none) (not nullable): a `ValentInput`
52 : : *
53 : : * Since: 1.0
54 : : */
55 : : ValentInput *
56 : 72 : valent_input_get_default (void)
57 : : {
58 : 72 : static ValentInput *default_instance = NULL;
59 : :
60 [ + + ]: 72 : if (default_instance == NULL)
61 : : {
62 : 5 : default_instance = g_object_new (VALENT_TYPE_INPUT,
63 : : "plugin-domain", "input",
64 : : "plugin-type", VALENT_TYPE_INPUT_ADAPTER,
65 : : NULL);
66 : 5 : g_object_add_weak_pointer (G_OBJECT (default_instance),
67 : : (gpointer)&default_instance);
68 : : }
69 : :
70 : 72 : return default_instance;
71 : : }
72 : :
|