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