2025-04-25 18:02:54 -07:00
|
|
|
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
|
|
|
|
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
|
|
|
|
<node>
|
|
|
|
|
<interface name="net.buzzert.kordophone.Repository">
|
2025-02-11 23:15:24 -08:00
|
|
|
<method name="GetVersion">
|
|
|
|
|
<arg type="s" name="version" direction="out" />
|
2025-05-15 20:11:10 -07:00
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
2025-04-27 22:44:05 -07:00
|
|
|
value="Returns the version of the client daemon."/>
|
2025-02-11 23:15:24 -08:00
|
|
|
</method>
|
2025-02-12 00:26:32 -08:00
|
|
|
|
2025-04-28 16:00:04 -07:00
|
|
|
<!-- Conversations -->
|
|
|
|
|
|
2025-02-12 00:26:32 -08:00
|
|
|
<method name="GetConversations">
|
2025-05-03 18:19:48 -07:00
|
|
|
<arg type="i" name="limit" direction="in"/>
|
|
|
|
|
<arg type="i" name="offset" direction="in"/>
|
2025-05-15 20:11:10 -07:00
|
|
|
|
2025-02-12 00:26:32 -08:00
|
|
|
<arg type="aa{sv}" direction="out" name="conversations">
|
2025-05-15 20:11:10 -07:00
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
2025-02-12 00:26:32 -08:00
|
|
|
value="Array of dictionaries. Each dictionary has keys:
|
|
|
|
|
'id' (string): Unique identifier
|
2025-04-28 18:39:52 -07:00
|
|
|
'display_name' (string): Display name
|
|
|
|
|
'last_message_preview' (string): Preview text
|
2025-04-27 18:07:58 -07:00
|
|
|
'is_unread' (boolean): Unread status
|
|
|
|
|
'date' (int64): Date of last message
|
|
|
|
|
'participants' (array of strings): List of participants
|
|
|
|
|
'unread_count' (int32): Number of unread messages"/>
|
2025-02-12 00:26:32 -08:00
|
|
|
</arg>
|
|
|
|
|
</method>
|
2025-04-25 18:02:54 -07:00
|
|
|
|
2025-05-01 20:36:43 -07:00
|
|
|
<method name="SyncConversationList">
|
2025-05-15 20:11:10 -07:00
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
2025-05-01 20:36:43 -07:00
|
|
|
value="Initiates a background sync of the conversation list with the server."/>
|
|
|
|
|
</method>
|
|
|
|
|
|
2025-04-25 18:02:54 -07:00
|
|
|
<method name="SyncAllConversations">
|
2025-05-15 20:11:10 -07:00
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
2025-04-27 22:44:05 -07:00
|
|
|
value="Initiates a background sync of all conversations with the server."/>
|
2025-04-25 18:02:54 -07:00
|
|
|
</method>
|
2025-04-27 22:44:05 -07:00
|
|
|
|
2025-04-28 18:39:52 -07:00
|
|
|
<method name="SyncConversation">
|
|
|
|
|
<arg type="s" name="conversation_id" direction="in"/>
|
2025-05-15 20:11:10 -07:00
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
2025-04-28 18:39:52 -07:00
|
|
|
value="Initiates a background sync of a single conversation with the server."/>
|
|
|
|
|
</method>
|
|
|
|
|
|
2025-04-27 22:44:05 -07:00
|
|
|
<signal name="ConversationsUpdated">
|
2025-05-15 20:11:10 -07:00
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
2025-04-27 22:44:05 -07:00
|
|
|
value="Emitted when the list of conversations is updated."/>
|
|
|
|
|
</signal>
|
2025-04-28 16:00:04 -07:00
|
|
|
|
2025-05-01 01:08:13 -07:00
|
|
|
<method name="DeleteAllConversations">
|
2025-05-15 20:11:10 -07:00
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
2025-05-01 01:08:13 -07:00
|
|
|
value="Deletes all conversations from the database."/>
|
|
|
|
|
</method>
|
|
|
|
|
|
2025-04-28 16:00:04 -07:00
|
|
|
<!-- Messages -->
|
|
|
|
|
|
|
|
|
|
<method name="GetMessages">
|
|
|
|
|
<arg type="s" name="conversation_id" direction="in"/>
|
|
|
|
|
<arg type="s" name="last_message_id" direction="in"/>
|
2025-05-26 16:52:38 -07:00
|
|
|
<arg type="aa{sv}" direction="out" name="messages">
|
|
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
|
|
|
|
value="Array of dictionaries. Each dictionary has keys:
|
|
|
|
|
'id' (string): Unique message identifier
|
|
|
|
|
'text' (string): Message body text
|
|
|
|
|
'date' (int64): Message timestamp
|
|
|
|
|
'sender' (string): Sender display name
|
|
|
|
|
'file_transfer_guids' (string, optional): JSON array of file transfer GUIDs
|
|
|
|
|
'attachment_metadata' (string, optional): JSON string of attachment metadata"/>
|
|
|
|
|
</arg>
|
2025-04-28 16:00:04 -07:00
|
|
|
</method>
|
|
|
|
|
|
2025-05-02 14:22:43 -07:00
|
|
|
<method name="SendMessage">
|
|
|
|
|
<arg type="s" name="conversation_id" direction="in"/>
|
|
|
|
|
<arg type="s" name="text" direction="in"/>
|
|
|
|
|
<arg type="s" name="outgoing_message_id" direction="out"/>
|
|
|
|
|
|
2025-05-15 20:11:10 -07:00
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
2025-05-02 14:22:43 -07:00
|
|
|
value="Sends a message to the server. Returns the outgoing message ID."/>
|
|
|
|
|
</method>
|
|
|
|
|
|
2025-04-28 16:00:04 -07:00
|
|
|
<signal name="MessagesUpdated">
|
2025-04-28 18:39:52 -07:00
|
|
|
<arg type="s" name="conversation_id" direction="in"/>
|
2025-05-15 20:11:10 -07:00
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
2025-04-28 16:00:04 -07:00
|
|
|
value="Emitted when the list of messages is updated."/>
|
|
|
|
|
</signal>
|
2025-05-15 20:11:10 -07:00
|
|
|
|
|
|
|
|
<!-- Attachments -->
|
|
|
|
|
|
2025-05-26 16:19:26 -07:00
|
|
|
<method name="GetAttachmentInfo">
|
2025-05-15 20:11:10 -07:00
|
|
|
<arg type="s" name="attachment_id" direction="in"/>
|
2025-05-26 16:19:26 -07:00
|
|
|
<arg type="(sbu)" name="attachment_info" direction="out"/>
|
2025-05-15 20:11:10 -07:00
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
2025-05-26 16:19:26 -07:00
|
|
|
value="Returns attachment info: (file_path: string, downloaded: bool, file_size: uint64)"/>
|
2025-05-15 20:11:10 -07:00
|
|
|
</method>
|
|
|
|
|
|
2025-05-26 16:19:26 -07:00
|
|
|
<method name="DownloadAttachment">
|
|
|
|
|
<arg type="s" name="attachment_id" direction="in"/>
|
|
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
|
|
|
|
value="Initiates download of the specified attachment if not already downloaded."/>
|
2025-05-15 20:11:10 -07:00
|
|
|
</method>
|
|
|
|
|
|
2025-05-26 16:19:26 -07:00
|
|
|
<signal name="AttachmentDownloadStarted">
|
|
|
|
|
<arg type="s" name="attachment_id"/>
|
|
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
|
|
|
|
value="Emitted when an attachment download begins."/>
|
|
|
|
|
</signal>
|
|
|
|
|
|
|
|
|
|
<signal name="AttachmentDownloadProgress">
|
|
|
|
|
<arg type="s" name="attachment_id"/>
|
|
|
|
|
<arg type="d" name="progress"/>
|
|
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
|
|
|
|
value="Emitted during attachment download. Progress is a value from 0.0 to 1.0."/>
|
|
|
|
|
</signal>
|
|
|
|
|
|
|
|
|
|
<signal name="AttachmentDownloadCompleted">
|
|
|
|
|
<arg type="s" name="attachment_id"/>
|
|
|
|
|
<arg type="s" name="file_path"/>
|
|
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
|
|
|
|
value="Emitted when an attachment download completes successfully."/>
|
|
|
|
|
</signal>
|
|
|
|
|
|
|
|
|
|
<signal name="AttachmentDownloadFailed">
|
|
|
|
|
<arg type="s" name="attachment_id"/>
|
|
|
|
|
<arg type="s" name="error_message"/>
|
|
|
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
|
|
|
|
value="Emitted when an attachment download fails."/>
|
|
|
|
|
</signal>
|
2025-04-25 18:02:54 -07:00
|
|
|
</interface>
|
|
|
|
|
|
|
|
|
|
<interface name="net.buzzert.kordophone.Settings">
|
|
|
|
|
<!-- editable properties -->
|
|
|
|
|
<property name="ServerURL" type="s" access="readwrite"/>
|
|
|
|
|
<property name="Username" type="s" access="readwrite"/>
|
|
|
|
|
|
|
|
|
|
<!-- helpers for atomic updates -->
|
|
|
|
|
<method name="SetServer">
|
|
|
|
|
<arg name="url" type="s" direction="in"/>
|
|
|
|
|
<arg name="user" type="s" direction="in"/>
|
|
|
|
|
</method>
|
|
|
|
|
|
|
|
|
|
<!-- emitted when anything changes -->
|
2025-05-15 20:11:10 -07:00
|
|
|
<signal name="ConfigChanged"/>
|
2025-02-11 23:15:24 -08:00
|
|
|
</interface>
|
|
|
|
|
</node>
|