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-messages"
5 : :
6 : : #include "config.h"
7 : :
8 : : #include <gio/gio.h>
9 : : #include <libpeas.h>
10 : : #include <libvalent-core.h>
11 : :
12 : : #include "valent-messages-adapter.h"
13 : :
14 : : #include "valent-messages.h"
15 : :
16 : :
17 : : /**
18 : : * ValentMessages:
19 : : *
20 : : * A class for managing address books.
21 : : *
22 : : * `ValentMessages` is an address book manager, intended for use by
23 : : * [class@Valent.DevicePlugin] implementations.
24 : : *
25 : : * Plugins can implement [class@Valent.MessagesAdapter] to provide an interface
26 : : * to manage instances of [class@Valent.MessagesAdapter].
27 : : *
28 : : * Since: 1.0
29 : : */
30 : :
31 : : struct _ValentMessages
32 : : {
33 : : ValentComponent parent_instance;
34 : : };
35 : :
36 [ + + + - ]: 144 : G_DEFINE_FINAL_TYPE (ValentMessages, valent_messages, VALENT_TYPE_COMPONENT)
37 : :
38 : : /*
39 : : * GObject
40 : : */
41 : : static void
42 : : valent_messages_class_init (ValentMessagesClass *klass)
43 : : {
44 : : }
45 : :
46 : : static void
47 : 3 : valent_messages_init (ValentMessages *self)
48 : : {
49 : 3 : }
50 : :
51 : : /**
52 : : * valent_messages_get_default:
53 : : *
54 : : * Get the default [class@Valent.Messages].
55 : : *
56 : : * Returns: (transfer none) (not nullable): a `ValentMessages`
57 : : *
58 : : * Since: 1.0
59 : : */
60 : : ValentMessages *
61 : 11 : valent_messages_get_default (void)
62 : : {
63 : 11 : static ValentMessages *default_instance = NULL;
64 : :
65 [ + + ]: 11 : if (default_instance == NULL)
66 : : {
67 : 3 : default_instance = g_object_new (VALENT_TYPE_MESSAGES,
68 : : "plugin-domain", "messages",
69 : : "plugin-type", VALENT_TYPE_MESSAGES_ADAPTER,
70 : : NULL);
71 : 3 : g_object_add_weak_pointer (G_OBJECT (default_instance),
72 : : (gpointer)&default_instance);
73 : : }
74 : :
75 : 11 : return default_instance;
76 : : }
77 : :
|