Probably need to make the locking mechanism more granular. Only lock the database during db writes, see if we can do multiple readers and a single writer. Otherwise, the daemon will not be able to service requests while an event is being handled, which is not good.
49 lines
1.9 KiB
XML
49 lines
1.9 KiB
XML
<!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">
|
|
<method name="GetVersion">
|
|
<arg type="s" name="version" direction="out" />
|
|
</method>
|
|
|
|
<method name="GetConversations">
|
|
<arg type="aa{sv}" direction="out" name="conversations">
|
|
<annotation name="org.freedesktop.DBus.DocString"
|
|
value="Array of dictionaries. Each dictionary has keys:
|
|
'id' (string): Unique identifier
|
|
'title' (string): Display name
|
|
'last_message' (string): Preview text
|
|
'is_unread' (boolean): Unread status"/>
|
|
</arg>
|
|
</method>
|
|
|
|
<method name="SyncAllConversations">
|
|
</method>
|
|
</interface>
|
|
|
|
<interface name="net.buzzert.kordophone.Settings">
|
|
<!-- editable properties -->
|
|
<property name="ServerURL" type="s" access="readwrite"/>
|
|
<property name="Username" type="s" access="readwrite"/>
|
|
|
|
<!-- Secret-Service handle (object path) -->
|
|
<property name="CredentialItem" type="o" access="readwrite">
|
|
<annotation name="org.freedesktop.DBus.Property.EmitsChangedSignal"
|
|
value="true"/>
|
|
</property>
|
|
|
|
<!-- helpers for atomic updates -->
|
|
<method name="SetServer">
|
|
<arg name="url" type="s" direction="in"/>
|
|
<arg name="user" type="s" direction="in"/>
|
|
</method>
|
|
|
|
<method name="SetCredentialItem">
|
|
<arg name="item_path" type="o" direction="in"/>
|
|
</method>
|
|
|
|
<!-- emitted when anything changes -->
|
|
<signal name="ConfigChanged"/>
|
|
</interface>
|
|
</node>
|