summaryrefslogtreecommitdiffstats
path: root/plugins/rpm-ostree/org.projectatomic.rpmostree1.xml
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/rpm-ostree/org.projectatomic.rpmostree1.xml')
-rw-r--r--plugins/rpm-ostree/org.projectatomic.rpmostree1.xml458
1 files changed, 458 insertions, 0 deletions
diff --git a/plugins/rpm-ostree/org.projectatomic.rpmostree1.xml b/plugins/rpm-ostree/org.projectatomic.rpmostree1.xml
new file mode 100644
index 0000000..6ae04a4
--- /dev/null
+++ b/plugins/rpm-ostree/org.projectatomic.rpmostree1.xml
@@ -0,0 +1,458 @@
+<!DOCTYPE node PUBLIC
+"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
+"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+<node name="/" xmlns:doc="http://www.freedesktop.org/dbus/1.0/doc.dtd">
+
+ <!-- Deployment dictionary keys:
+ 'id' (type 's')
+ 'osname' (type 's')
+ 'serial' (type 'i')
+ 'checksum' (type 's')
+ 'version' (type 's')
+ 'timestamp' (type 't')
+ 'origin' (type 's')
+ 'signatures' (type 'av')
+ 'packages' (type 'as')
+ 'booted' (type 'b')
+ -->
+
+ <interface name="org.projectatomic.rpmostree1.Sysroot">
+ <!-- The booted OSName -->
+ <property name="Booted" type="o" access="read"/>
+
+ <!-- The system root path -->
+ <property name="Path" type="s" access="read"/>
+
+ <!-- The values are (method-name, sender-name, object path) -->
+ <property name="ActiveTransaction" type="(sss)" access="read"/>
+ <!-- A DBus address - connect to it to access its methods -->
+ <property name="ActiveTransactionPath" type="s" access="read"/>
+
+ <!-- (Currently) optional method to denote the client plans
+ to either invoke methods on the daemon, or monitor status.
+ If no clients are registered, the daemon may exit.
+
+ 'id (type 's') - Package/component name (e.g. `cockpit`, `gnome-software`)
+ -->
+ <method name="RegisterClient">
+ <arg type="a{sv}" name="options" direction="in"/>
+ </method>
+
+ <!-- You must call this if your process is no longer interested in talking to
+ rpm-ostree, but will remain connected to the bus.
+
+ No options are currently defined.
+ -->
+ <method name="UnregisterClient">
+ <arg type="a{sv}" name="options" direction="in"/>
+ </method>
+
+ <!-- Reload sysroot if changed. This can also be used as a way to sync with the daemon
+ to ensure e.g. D-Bus properties are updated before reading them. -->
+ <method name="Reload">
+ </method>
+
+ <!-- Like Reload, but also reload configuration files. -->
+ <method name="ReloadConfig">
+ </method>
+
+ <!-- none, check, stage -->
+ <property name="AutomaticUpdatePolicy" type="s" access="read"/>
+
+ <method name="CreateOSName">
+ <arg type="s" name="name"/>
+ <arg type="o" name="result" direction="out"/>
+ </method>
+
+ <method name="GetOS">
+ <arg name="name" type="s"/>
+ <arg name="object_path" type="o" direction="out"/>
+ </method>
+
+ <!-- Array of all deployments in boot order -->
+ <property name="Deployments" type="aa{sv}" access="read"/>
+ </interface>
+
+ <interface name="org.projectatomic.rpmostree1.OS">
+ <property name="BootedDeployment" type="a{sv}" access="read"/>
+ <property name="DefaultDeployment" type="a{sv}" access="read"/>
+ <property name="RollbackDeployment" type="a{sv}" access="read"/>
+
+ <!-- CachedUpdate dictionary keys:
+ 'osname' (type 's')
+ 'checksum' (type 's')
+ 'version' (type 's')
+ 'timestamp' (type 't')
+ 'origin' (type 's')
+ 'signatures' (type 'av')
+ 'gpg-enabled' (type 'b')
+ 'ref-has-new-commit' (type 'b')
+ TRUE if 'checksum' refers to a new base commit we're not booted in.
+ 'rpm-diff' (type 'a{sv}')
+ 'upgraded' (type 'a(us(ss)(ss))')
+ 'downgraded' (type 'a(us(ss)(ss))')
+ 'removed' (type 'a(usss)')
+ 'added' (type 'a(usss)')
+ 'advisories' (type 'a(suuasa{sv})')
+ -->
+ <property name="CachedUpdate" type="a{sv}" access="read"/>
+ <property name="HasCachedUpdateRpmDiff" type="b" access="read"/>
+
+ <!-- Available options:
+ "mode" (type 's')
+ One of auto, none, check. Defaults to auto, which follows configured
+ policy (available in AutomaticUpdatePolicy property).
+ "output-to-self" (type 'b')
+ Whether output should go to the daemon itself rather than the
+ transaction. Defaults to TRUE.
+
+ If automatic updates are not enabled, @enabled will be FALSE and
+ @transaction_address will be the empty string.
+ -->
+ <method name="AutomaticUpdateTrigger">
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="b" name="enabled" direction="out"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <property name="Name" type="s" access="read"/>
+
+ <method name="GetDeploymentsRpmDiff">
+ <arg type="s" name="deployid0"/>
+ <arg type="s" name="deployid1"/>
+ <arg type="a(sua{sv})" name="result" direction="out"/>
+ </method>
+
+ <!-- Revision may be a full checksum or version string.
+
+ Available options:
+ "reboot" (type 'b')
+ -->
+ <method name="Deploy">
+ <arg type="s" name="revision" direction="in"/>
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ <annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
+ </method>
+
+ <!-- details dictionary keys:
+ 'osname' (type 's')
+ 'checksum' (type 's')
+ 'version' (type 's')
+ 'timestamp' (type 't')
+ 'origin' (type 's')
+ 'signatures' (type 'av')
+ -->
+ <method name="GetCachedDeployRpmDiff">
+ <arg type="s" name="revision"/>
+ <arg type="as" name="packages"/>
+ <arg type="a(sua{sv})" name="result" direction="out"/>
+ <arg type="a{sv}" name="details" direction="out"/>
+ </method>
+
+ <method name="DownloadDeployRpmDiff">
+ <arg type="s" name="revision"/>
+ <arg type="as" name="packages"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <!-- Available options:
+ "allow-downgrade" (type 'b')
+ "reboot" (type 'b')
+ -->
+ <method name="Upgrade">
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ <annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
+ </method>
+
+ <!-- details dictionary keys:
+ 'osname' (type 's')
+ 'checksum' (type 's')
+ 'version' (type 's')
+ 'timestamp' (type 't')
+ 'origin' (type 's')
+ 'signatures' (type 'av')
+ -->
+ <method name="GetCachedUpdateRpmDiff">
+ <arg type="s" name="deployid"/>
+ <arg type="a(sua{sv})" name="result" direction="out"/>
+ <arg type="a{sv}" name="details" direction="out"/>
+ </method>
+
+ <method name="DownloadUpdateRpmDiff">
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <!-- Available options:
+ "reboot" (type 'b')
+ -->
+ <method name="Rollback">
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <!-- Available options:
+ "reboot" (type 'b')
+ -->
+ <method name="ClearRollbackTarget">
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <!-- Available options:
+ "skip-purge" (type 'b')
+ "reboot" (type 'b')
+ "revision" (type 's')
+ -->
+ <method name="Rebase">
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="s" name="refspec"/>
+ <arg type="as" name="packages"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ <annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
+ </method>
+
+ <!-- details dictionary keys:
+ 'osname' (type 's')
+ 'checksum' (type 's')
+ 'version' (type 's')
+ 'timestamp' (type 't')
+ 'origin' (type 's')
+ 'signatures' (type 'av')
+ -->
+ <method name="GetCachedRebaseRpmDiff">
+ <arg type="s" name="refspec"/>
+ <arg type="as" name="packages"/>
+ <arg type="a(sua{sv})" name="result" direction="out"/>
+ <arg type="a{sv}" name="details" direction="out"/>
+ </method>
+
+ <method name="DownloadRebaseRpmDiff">
+ <arg type="s" name="refspec"/>
+ <arg type="as" name="packages"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <!-- Available options:
+ "reboot" (type 'b')
+ "dry-run" (type 'b')
+ -->
+ <method name="PkgChange">
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="as" name="packages_added"/>
+ <arg type="as" name="packages_removed"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ <annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
+ </method>
+
+ <method name="SetInitramfsState">
+ <arg type="b" name="regenerate" direction="in"/>
+ <arg type="as" name="args" direction="in"/>
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <!-- Available options:
+ "reboot" (type 'b')
+ -->
+ <method name="KernelArgs">
+ <arg type="s" name="existing_kernel_arg_string"/>
+ <arg type="as" name="kernel_args_added" direction="in"/>
+ <arg type="as" name="kernel_args_replaced" direction="in"/>
+ <arg type="as" name="kernel_args_removed" direction="in"/>
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <method name="GetDeploymentBootConfig">
+ <arg type="s" name="deployid" />
+ <arg type="b" name="is_pending" direction="in"/>
+ <arg type="a{sv}" name="bootconfig" direction="out"/>
+ </method>
+
+ <method name="Cleanup">
+ <arg type="as" name="elements" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <method name="RefreshMd">
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <!-- Set options in yum .repo files -->
+ <method name="ModifyYumRepo">
+ <arg type="s" name="repo_id" direction="in"/>
+ <arg type="a{ss}" name="settings" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ <!-- Available modifiers:
+ "set-refspec" (type 's')
+ "set-revision" (type 's')
+ "install-packages" (type 'as')
+ "uninstall-packages" (type 'as')
+ "install-local-packages" (type 'ah')
+ "override-remove-packages" (type 'as')
+ "override-reset-packages" (type 'as')
+ "override-replace-packages" (type 'as')
+ "override-replace-local-packages" (type 'ah')
+ "custom-origin" (type '(ss)')
+
+ Available options:
+ "reboot" (type 'b')
+ Initiate a reboot after transaction.
+ "allow-downgrade" (type 'b')
+ Allow newly pulled bases to have older timestamps than the
+ current base. Defaults to TRUE if either "set-refspec" or
+ "set-revision" is specified.
+ "skip-purge" (type 'b')
+ Do not purge the old refspec. Only valid if "set-refspec" is
+ specified.
+ "no-pull-base" (type 'b')
+ Do not pull a base layer from the remote. Not valid if
+ either "set-refspec" or "set-revision" is specified.
+ "dry-run" (type 'b')
+ Stop short of deploying the new tree. If layering packages,
+ the pkg diff is printed but packages are not downloaded or
+ imported.
+ "no-layering" (type 'b')
+ Remove all package requests. Requests in "install-packages"
+ are still subsequently processed if specified.
+ "no-overrides" (type 'b')
+ Remove all active overrides. Not valid if any override
+ modifiers are specified.
+ "no-initramfs" (type 'b')
+ Disable any initramfs regeneration.
+ "cache-only" (type 'b')
+ Do not update rpmmd repo metadata cache or ostree refspec.
+ Not valid if "download-only" is specified.
+ "download-only" (type 'b')
+ Update rpmmd repo metadata cache and ostree refspec. Do not
+ perform any deployments. This is like "dry-run" except that
+ the latter does not download and import packages. Not valid
+ if "cache-only" or "dry-run" is specified.
+ "allow-inactive-requests" (type 'b')
+ When installing packages, allow package requests which would
+ not immediately be active.
+ "idempotent-layering" (type 'b')
+ Don't error out on requests in install-* or uninstall-*
+ modifiers that are already satisfied.
+ -->
+ <method name="UpdateDeployment">
+ <arg type="a{sv}" name="modifiers" direction="in"/>
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ <annotation name="org.gtk.GDBus.C.UnixFD" value="true"/>
+ </method>
+
+ </interface>
+
+ <interface name="org.projectatomic.rpmostree1.OSExperimental">
+
+ <!-- Just a test method -->
+ <method name="Moo">
+ <arg type="b" name="utf8" direction="in"/>
+ <arg type="s" name="result" direction="out"/>
+ </method>
+
+ <method name="LiveFs">
+ <arg type="a{sv}" name="options" direction="in"/>
+ <arg type="s" name="transaction_address" direction="out"/>
+ </method>
+
+ </interface>
+
+ <interface name="org.projectatomic.rpmostree1.Transaction">
+
+ <!-- A single-line human-readable string -->
+ <property name="Title" type="s" access="read"/>
+
+ <!-- Yes, we can. -->
+ <method name="Cancel"/>
+
+ <!-- For a client to call when ready to receive signals.
+ The return boolean indicates whether the transaction was
+ started by this method call (true) or was already started
+ by another client (false). -->
+ <method name="Start">
+ <arg type="b" name="started" direction="out"/>
+ </method>
+
+ <signal name="Finished">
+ <arg name="success" type="b" direction="out"/>
+ <arg name="error_message" type="s" direction="out"/>
+ </signal>
+
+ <!-- For miscellaneous messages; line-buffered. -->
+ <signal name="Message">
+ <arg name="text" type="s" direction="out"/>
+ </signal>
+
+ <!-- Tasks are notifications that work is being done. -->
+ <signal name="TaskBegin">
+ <arg name="text" type="s" direction="out"/>
+ </signal>
+
+ <signal name="TaskEnd">
+ <arg name="text" type="s" direction="out"/>
+ </signal>
+
+ <!-- Generic percentage progress. -->
+ <signal name="PercentProgress">
+ <arg name="text" type="s" direction="out"/>
+ <arg name="percentage" type="u" direction="out"/>
+ </signal>
+
+ <signal name="DownloadProgress">
+ <!-- time data, format is:
+ start time, elapsed seconds
+ -->
+ <arg name="time" type="(tt)" direction="out"/>
+
+ <!--
+ outstanding data counts, format is:
+ (outstanding fetches, outstanding writes)
+ -->
+ <arg name="outstanding" type="(uu)" direction="out"/>
+
+ <!--
+ metadata counts, format is:
+ (scanned, fetched, outstanding)
+ -->
+ <arg name="metadata" type="(uuu)" direction="out"/>
+
+ <!--
+ delta data, format is:
+ (total parts, fetched parts, total super blocks, total size)
+ -->
+ <arg name="delta" type="(uuut)" direction="out"/>
+
+ <!--
+ content data, format is:
+ (fetched, requested)
+ -->
+ <arg name="content" type="(uu)" direction="out"/>
+
+ <!--
+ transfer data, format is:
+ (bytes transfered, bytes/s)
+ -->
+ <arg name="transfer" type="(tt)" direction="out"/>
+ </signal>
+
+ <signal name="SignatureProgress">
+ <!-- An ostree GVariant containing signature data
+ see ostree_gpg_verify_result_get_all.
+ -->
+ <arg name="signature" type="av" direction="out"/>
+ <!-- The signed commit -->
+ <arg name="commit" type="s" direction="out"/>
+ </signal>
+
+ <!-- Indicates progress signals are done and subsequent
+ Message signals should be output on separate lines. -->
+ <signal name="ProgressEnd"/>
+ </interface>
+</node>