Class Service

  • All Implemented Interfaces:
    org.freedesktop.dbus.interfaces.DBusInterface
    Direct Known Subclasses:
    Service

    public abstract class Service
    extends Messaging
    implements org.freedesktop.dbus.interfaces.DBusInterface
    • Constructor Detail

      • Service

        public Service​(org.freedesktop.dbus.connections.impl.DBusConnection connection,
                       List<Class<? extends org.freedesktop.dbus.messages.DBusSignal>> signals,
                       String serviceName,
                       String objectPath,
                       String interfaceName)
    • Method Detail

      • openSession

        public abstract Pair<org.freedesktop.dbus.types.Variant<byte[]>,​org.freedesktop.dbus.ObjectPath> openSession​(String algorithm,
                                                                                                                           org.freedesktop.dbus.types.Variant input)
        Open a unique session for the caller application.
        Parameters:
        algorithm - The algorithm the caller wishes to use.
        input - Input arguments for the algorithm.
        Returns:
        Pair<output, result>

        output — Output of the session algorithm negotiation.

        result — The object path of the session, if session was created.
        See Also:
        Pair, Variant, ObjectPath
      • createCollection

        public abstract Pair createCollection​(Map<String,​org.freedesktop.dbus.types.Variant> properties,
                                              String alias)
        Create a new collection with the specified properties.
        Parameters:
        properties - Properties for the new collection. This allows setting the new collection's properties upon its creation. All READWRITE properties are usable. Specify the property names in full interface.Property form.

        Example for properties:

        properties = { "org.freedesktop.Secret.Collection.Label": "MyCollection" }

        alias - If creating this connection for a well known alias then a string like "default". If an collection with this well-known alias already exists, then that collection will be returned instead of creating a new collection. Any readwrite properties provided to this function will be set on the collection.

        Set this to an empty string if the new collection should not be associated with a well known alias.
        Returns:
        Pair<collection, prompt>

        collection — The new collection object, or '/' if prompting is necessary.

        prompt — A prompt object if prompting is necessary, or '/' if no prompt was needed.
        See Also:
        Pair, Variant, ObjectPath
      • createCollection

        public abstract Pair createCollection​(Map<String,​org.freedesktop.dbus.types.Variant> properties)
        Create a new collection with the specified properties.
        Parameters:
        properties - Properties for the new collection. This allows setting the new collection's properties upon its creation. All READWRITE properties are usable. Specify the property names in full interface.Property form.

        Example for properties:

        properties = { "org.freedesktop.Secret.Collection.Label": "MyCollection" }

        Returns:
        Pair<collection, prompt>

        collection — The new collection object, or '/' if prompting is necessary.

        prompt — A prompt object if prompting is necessary, or '/' if no prompt was needed.
        See Also:
        Pair, Variant, ObjectPath
      • searchItems

        public abstract Pair<List<org.freedesktop.dbus.ObjectPath>,​List<org.freedesktop.dbus.ObjectPath>> searchItems​(Map<String,​String> attributes)
        Find items in any collection.
        Parameters:
        attributes - Find secrets in any collection.

        Example: { "Attribute1": "Value1", "Attribute2": "Value2" }

        Note: Please note that there is a distinction between the terms Property, which refers to D-Bus properties of an object, and Attribute, which refers to one of a secret item's string-valued attributes.

        Returns:
        Pair<unlocked, locked>

        unlocked — Items found.

        locked — Items found that require authentication.
        See Also:
        Pair, ObjectPath
      • unlock

        public abstract Pair<List<org.freedesktop.dbus.ObjectPath>,​org.freedesktop.dbus.ObjectPath> unlock​(List<org.freedesktop.dbus.ObjectPath> objects)
        Unlock the specified objects.
        Parameters:
        objects - Objects to unlock.
        Returns:
        Pair<unlocked, prompt>

        unlocked — Objects that were unlocked without a prompt.

        prompt — A prompt object which can be used to unlock the remaining objects, or the special value '/' when no prompt is necessary.
        See Also:
        Pair, ObjectPath
      • lock

        public abstract Pair<List<org.freedesktop.dbus.ObjectPath>,​org.freedesktop.dbus.ObjectPath> lock​(List<org.freedesktop.dbus.ObjectPath> objects)
        Lock the items.
        Parameters:
        objects - Objects to lock.
        Returns:
        Pair<locked, prompt>

        locked — Objects that were locked without a prompt.

        prompt — A prompt to lock the objects, or the special value '/' when no prompt is necessary.
        See Also:
        Pair
      • getSecrets

        public abstract Map<org.freedesktop.dbus.ObjectPath,​Secret> getSecrets​(List<org.freedesktop.dbus.ObjectPath> items,
                                                                                     org.freedesktop.dbus.ObjectPath session)
        Retrieve multiple secrets from different items.
        Parameters:
        items - Items to get secrets for.
        session - The session to use to encode the secrets.
        Returns:
        secrets — Secrets for the items.
        See Also:
        Secret, ObjectPath
      • readAlias

        public abstract org.freedesktop.dbus.ObjectPath readAlias​(String name)
        Get the collection with the given alias.
        Parameters:
        name - An alias, such as 'default'.
        Returns:
        collection — The collection or the the path '/' if no such collection exists.
        See Also:
        Static.ObjectPaths, ObjectPath, Collection
      • setAlias

        public abstract void setAlias​(String name,
                                      org.freedesktop.dbus.ObjectPath collection)
        Setup a collection alias.
        Parameters:
        name - An alias, such as 'default'.
        collection - The collection to make the alias point to. To remove an alias use the special value '/'.
        See Also:
        ObjectPath, Collection
      • getCollections

        public abstract List<org.freedesktop.dbus.ObjectPath> getCollections()
        Returns:
        A list of present collections.