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 : : #include <gio/gio.h>
7 : :
8 : : G_BEGIN_DECLS
9 : :
10 : : /**
11 : : * ValentMessageBox:
12 : : * @VALENT_MESSAGE_BOX_ALL: All messages
13 : : * @VALENT_MESSAGE_BOX_INBOX: Received incoming messages
14 : : * @VALENT_MESSAGE_BOX_SENT: Sent outgoing messages
15 : : * @VALENT_MESSAGE_BOX_DRAFTS: Unfinished outgoing messages
16 : : * @VALENT_MESSAGE_BOX_OUTBOX: Pending outgoing messages
17 : : * @VALENT_MESSAGE_BOX_FAILED: Failed outgoing messages
18 : : *
19 : : * Enumeration of message types. These are the same as those used in Android,
20 : : * however only @VALENT_MESSAGE_BOX_SENT and @VALENT_MESSAGE_BOX_INBOX are used
21 : : * currently.
22 : : *
23 : : * See also:
24 : : * - https://developer.android.com/reference/android/provider/Telephony.TextBasedSmsColumns.html
25 : : * - https://developer.android.com/reference/android/provider/Telephony.BaseMmsColumns.html
26 : : */
27 : : typedef enum
28 : : {
29 : : VALENT_MESSAGE_BOX_ALL,
30 : : VALENT_MESSAGE_BOX_INBOX,
31 : : VALENT_MESSAGE_BOX_SENT,
32 : : VALENT_MESSAGE_BOX_DRAFTS,
33 : : VALENT_MESSAGE_BOX_OUTBOX,
34 : : VALENT_MESSAGE_BOX_FAILED
35 : : } ValentMessageBox;
36 : :
37 : : /**
38 : : * ValentMessageFlags:
39 : : * @VALENT_MESSAGE_FLAGS_NONE: The message has no content
40 : : * @VALENT_MESSAGE_FLAGS_TEXT: The message has text content
41 : : * @VALENT_MESSAGE_FLAGS_MULTI: The message has multiple recipients
42 : : *
43 : : * Flags for message events.
44 : : *
45 : : * See also:
46 : : * - https://invent.kde.org/network/kdeconnect-android/-/blob/master/src/org/kde/kdeconnect/Helpers/SMSHelper.java
47 : : * - https://invent.kde.org/network/kdeconnect-android/-/blob/master/src/org/kde/kdeconnect/Plugins/SMSPlugin/SMSPlugin.java
48 : : */
49 : : typedef enum
50 : : {
51 : : VALENT_MESSAGE_FLAGS_UNKNOWN,
52 : : VALENT_MESSAGE_FLAGS_TEXT = 1 << 0,
53 : : VALENT_MESSAGE_FLAGS_MULTI = 1 << 1,
54 : : } ValentMessageFlags;
55 : :
56 : :
57 : : #define VALENT_TYPE_MESSAGE (valent_message_get_type())
58 : :
59 [ + - + - : 360 : G_DECLARE_FINAL_TYPE (ValentMessage, valent_message, VALENT, MESSAGE, GObject)
+ + + + +
+ - + ]
60 : :
61 : : ValentMessageBox valent_message_get_box (ValentMessage *message);
62 : : int64_t valent_message_get_date (ValentMessage *message);
63 : : int64_t valent_message_get_id (ValentMessage *message);
64 : : GVariant * valent_message_get_metadata (ValentMessage *message);
65 : : gboolean valent_message_get_read (ValentMessage *message);
66 : : void valent_message_set_read (ValentMessage *message,
67 : : gboolean read);
68 : : const char * valent_message_get_sender (ValentMessage *message);
69 : : const char * valent_message_get_text (ValentMessage *message);
70 : : int64_t valent_message_get_thread_id (ValentMessage *message);
71 : : void valent_message_update (ValentMessage *message,
72 : : ValentMessage *update);
73 : :
74 : : G_END_DECLS
|