
method ListConfigs
method GetConfig config-name
method SetConfig config-name configdata


method CreateConfig config-name subvolume fstype template-name
method DeleteConfig config-name

signal ConfigCreated config-name
signal ConfigModified config-name
signal ConfigDeleted config-name


method LockConfig config-name
method UnlockConfig config-name

Locking disallows other clients to delete the config and delete snapshots for
the config but not to create new snapshots for the config. Several clients can
lock the same config.


method ListSnapshots config-name
method GetSnapshot config-name number
method SetSnapshot config-name number description cleanup userdata

method CreateSingleSnapshot config-name description cleanup userdata -> number
method CreateSingleSnapshotV2 config-name parent-number read-only description cleanup userdata -> number
method CreateSingleSnapshotOfDefault config-name read-only description cleanup userdata -> number
method CreatePreSnapshot config-name description cleanup userdata -> number
method CreatePostSnapshot config-name pre-number description cleanup userdata -> number
method DeleteSnapshots config-name list(numbers)

signal SnapshotCreated config-name number
signal SnapshotModified config-name number
signal SnapshotsDeleted config-name list(numbers)

method MountSnapshot config-name number user-request
method UmountSnapshot config-name number user-request
method GetMountPoint config-name number

Snapshots mounted with user-request set to false will be unmounted (delayed)
after the client disconnects.

method Sync config-name


method CreateComparison config-name number1 number2
method DeleteComparison config-name number1 number2

The following command require a successful CreateComparison in advance.

method GetFiles config-name number1 number2 -> list(filename status)



Filenames do not include the subvolume.

Strings are UTF-8. Other characters (e.g. in filenames) must be encoded
hexadecimal as "\x??". As a consequence "\" must be encoded as "\\".

Due to security concerns there are no methods to get, compare or revert
files. This can be done in the client.
