### Class

# Secret Item

#### Description [src]

    class Secret.Item : Gio.DBusProxy {
      parent_instance: GDBusProxy
    }

A secret item

`SecretItem` represents a secret item stored in the Secret Service.

Each item has a value, represented by a `SecretValue`, which can be retrieved by `secret_item_get_secret()` or set by `secret_item_set_secret()`. The item is only available when the item is not locked.

Items can be locked or unlocked using the `secret_service_lock()` or `secret_service_unlock()` functions. The Secret Service may not be able to unlock individual items, and may unlock an entire collection when a single item is unlocked.

Each item has a set of attributes, which are used to locate the item later. These are not stored or transferred in a secure manner. Each attribute has a string name and a string value. Use `secret_service_search()` to search for items based on their attributes, and `secret_item_set_attributes()` to change the attributes associated with an item.

Items can be created with `secret_item_create()` or `secret_service_store()`.

Stability: Stable

#### Ancestors

- GDBusProxy
- GObject

#### Implements

- GAsyncInitable
- GDBusInterface
- GInitable
- SecretRetrievable

#### Constructors

###### secret_item_new_for_dbus_path_finish

Finish asynchronous operation to get a new item proxy for a secret item in the secret service.

###### secret_item_new_for_dbus_path_sync

Get a new item proxy for a secret item in the secret service.

#### Functions

###### secret_item_create

Create a new item in the secret service.

###### secret_item_create_finish

Finish operation to create a new item in the secret service.

###### secret_item_create_sync

Create a new item in the secret service.

###### secret_item_load_secrets

Load the secret values for a secret item stored in the service.

###### secret_item_load_secrets_finish

Complete asynchronous operation to load the secret values for secret items stored in the service.

###### secret_item_load_secrets_sync

Load the secret values for a secret item stored in the service.

###### secret_item_new_for_dbus_path

Get a new item proxy for a secret item in the secret service.

#### Instance methods

###### secret_item_delete

Delete this item.

###### secret_item_delete_finish

Complete asynchronous operation to delete the secret item.

###### secret_item_delete_sync

Delete this secret item.

###### secret_item_get_attributes

Set the attributes of this item.

###### secret_item_get_created

Get the created date and time of the item.

###### secret_item_get_flags

Get the flags representing what features of the `SecretItem` proxy have been initialized.

###### secret_item_get_label

Get the label of this item.

###### secret_item_get_locked

Get whether the item is locked or not.

###### secret_item_get_modified

Get the modified date and time of the item.

###### secret_item_get_schema_name

Gets the name of the schema that this item was stored with. This is also available at the `xdg:schema` attribute.

###### secret_item_get_secret

Get the secret value of this item.

###### secret_item_get_service

Get the Secret Service object that this item was created with.

###### secret_item_load_secret

Load the secret value of this item.

###### secret_item_load_secret_finish

Complete asynchronous operation to load the secret value of this item.

###### secret_item_load_secret_sync

Load the secret value of this item.

###### secret_item_refresh

Refresh the properties on this item.

###### secret_item_set_attributes

Set the attributes of this item.

###### secret_item_set_attributes_finish

Complete operation to set the attributes of this item.

###### secret_item_set_attributes_sync

Set the attributes of this item.

###### secret_item_set_label

Set the label of this item.

###### secret_item_set_label_finish

Complete asynchronous operation to set the label of this collection.

###### secret_item_set_label_sync

Set the label of this item.

###### secret_item_set_secret

Set the secret value of this item.

###### secret_item_set_secret_finish

Complete asynchronous operation to set the secret value of this item.

###### secret_item_set_secret_sync

Set the secret value of this item.

##### Methods inherited from GDBusProxy (19)

###### g_dbus_proxy_call

Asynchronously invokes the `method_name` method on `proxy`.

unstable since: 2.26

###### g_dbus_proxy_call_finish

Finishes an operation started with g_dbus_proxy_call().

unstable since: 2.26

###### g_dbus_proxy_call_sync

Synchronously invokes the `method_name` method on `proxy`.

unstable since: 2.26

###### g_dbus_proxy_call_with_unix_fd_list

Like `g_dbus_proxy_call()` but also takes a `GUnixFDList` object.

unstable since: 2.30

###### g_dbus_proxy_call_with_unix_fd_list_finish

Finishes an operation started with g_dbus_proxy_call_with_unix_fd_list().

unstable since: 2.30

###### g_dbus_proxy_call_with_unix_fd_list_sync

Like `g_dbus_proxy_call_sync()` but also takes and returns `GUnixFDList` objects.

unstable since: 2.30

###### g_dbus_proxy_get_cached_property

Looks up the value for a property from the cache. This call does no blocking IO.

unstable since: 2.26

###### g_dbus_proxy_get_cached_property_names

Gets the names of all cached properties on `proxy`.

unstable since: 2.26

###### g_dbus_proxy_get_connection

Gets the connection `proxy` is for.

unstable since: 2.26

###### g_dbus_proxy_get_default_timeout

Gets the timeout to use if -1 (specifying default timeout) is passed as `timeout_msec` in the `g_dbus_proxy_call()` and `g_dbus_proxy_call_sync()` functions.

unstable since: 2.26

###### g_dbus_proxy_get_flags

Gets the flags that `proxy` was constructed with.

unstable since: 2.26

###### g_dbus_proxy_get_interface_info

Returns the `GDBusInterfaceInfo`, if any, specifying the interface that `proxy` conforms to. See the `GDBusProxy:g-interface-info` property for more details.

unstable since: 2.26

###### g_dbus_proxy_get_interface_name

Gets the D-Bus interface name `proxy` is for.

unstable since: 2.26

###### g_dbus_proxy_get_name

Gets the name that `proxy` was constructed for.

unstable since: 2.26

###### g_dbus_proxy_get_name_owner

The unique name that owns the name that `proxy` is for or `NULL` if no-one currently owns that name. You may connect to the `GObject::notify` signal to track changes to the `GDBusProxy:g-name-owner` property.

unstable since: 2.26

###### g_dbus_proxy_get_object_path

Gets the object path `proxy` is for.

unstable since: 2.26

###### g_dbus_proxy_set_cached_property

If `value` is not `NULL`, sets the cached value for the property with name `property_name` to the value in `value`.

unstable since: 2.26

###### g_dbus_proxy_set_default_timeout

Sets the timeout to use if -1 (specifying default timeout) is passed as `timeout_msec` in the `g_dbus_proxy_call()` and `g_dbus_proxy_call_sync()` functions.

unstable since: 2.26

###### g_dbus_proxy_set_interface_info

Ensure that interactions with `proxy` conform to the given interface. See the `GDBusProxy:g-interface-info` property for more details.

unstable since: 2.26

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

##### Methods inherited from GAsyncInitable (3)

###### g_async_initable_init_async

Starts asynchronous initialization of the object implementing the interface. This must be done before any real use of the object after initial construction. If the object also implements `GInitable` you can optionally call `g_initable_init()` instead.

unstable since: 2.22

###### g_async_initable_init_finish

Finishes asynchronous initialization and returns the result. See g_async_initable_init_async().

unstable since: 2.22

###### g_async_initable_new_finish

Finishes the async construction for the various g_async_initable_new calls, returning the created object or `NULL` on error.

unstable since: 2.22

##### Methods inherited from GDBusInterface (4)

###### g_dbus_interface_dup_object

Gets the `GDBusObject` that `interface_` belongs to, if any.

unstable since: 2.32

###### g_dbus_interface_get_info

Gets D-Bus introspection information for the D-Bus interface implemented by `interface_`.

unstable since: 2.30

###### g_dbus_interface_get_object

Gets the `GDBusObject` that `interface_` belongs to, if any.

unstable since: 2.30

###### g_dbus_interface_set_object

Sets the `GDBusObject` for `interface_` to `object`.

unstable since: 2.30

##### Methods inherited from GInitable (1)

###### g_initable_init

Initializes the object implementing the interface.

unstable since: 2.22

##### Methods inherited from SecretRetrievable (7)

###### secret_retrievable_get_attributes

Get the attributes of this object.

since: 0.19.0

###### secret_retrievable_get_created

Get the created date and time of the object.

since: 0.19.0

###### secret_retrievable_get_label

Get the label of this item.

since: 0.19.0

###### secret_retrievable_get_modified

Get the modified date and time of the object.

since: 0.19.0

###### secret_retrievable_retrieve_secret

Retrieve the secret value of this object.

since: 0.19.0

###### secret_retrievable_retrieve_secret_finish

Complete asynchronous operation to retrieve the secret value of this object.

since: 0.19.0

###### secret_retrievable_retrieve_secret_sync

Retrieve the secret value of this object synchronously.

since: 0.19.0

#### Properties

###### Secret.Item:flags

A set of flags describing which parts of the secret item have been initialized.

###### Secret.Item:locked

Whether the item is locked or not.

###### Secret.Item:service

The `SecretService` object that this item is associated with and uses to interact with the actual D-Bus Secret Service.

##### Properties inherited from GDBusProxy (9)

###### Gio.DBusProxy:g-bus-type

If this property is not `G_BUS_TYPE_NONE`, then `GDBusProxy:g-connection` must be `NULL` and will be set to the `GDBusConnection` obtained by calling `g_bus_get()` with the value of this property.

unstable since: 2.26

###### Gio.DBusProxy:g-connection

The `GDBusConnection` the proxy is for.

unstable since: 2.26

###### Gio.DBusProxy:g-default-timeout

The timeout to use if -1 (specifying default timeout) is passed as `timeout_msec` in the `g_dbus_proxy_call()` and `g_dbus_proxy_call_sync()` functions.

unstable since: 2.26

###### Gio.DBusProxy:g-flags

Flags from the `GDBusProxyFlags` enumeration.

unstable since: 2.26

###### Gio.DBusProxy:g-interface-info

Ensure that interactions with this proxy conform to the given interface. This is mainly to ensure that malformed data received from the other peer is ignored. The given `GDBusInterfaceInfo` is said to be the “expected interface”.

unstable since: 2.26

###### Gio.DBusProxy:g-interface-name

The D-Bus interface name the proxy is for.

unstable since: 2.26

###### Gio.DBusProxy:g-name

The well-known or unique name that the proxy is for.

unstable since: 2.26

###### Gio.DBusProxy:g-name-owner

The unique name that owns `GDBusProxy:g-name` or `NULL` if no-one currently owns that name. You may connect to `GObject::notify` signal to track changes to this property.

unstable since: 2.26

###### Gio.DBusProxy:g-object-path

The object path the proxy is for.

unstable since: 2.26

##### Properties inherited from SecretRetrievable (4)

###### SecretRetrievable:attributes

The attributes set on this item.

since: 0.19.0

###### SecretRetrievable:created

The date and time (in seconds since the UNIX epoch) that this item was created.

since: 0.19.0

###### SecretRetrievable:label

The human readable label for the item.

since: 0.19.0

###### SecretRetrievable:modified

The date and time (in seconds since the UNIX epoch) that this item was last modified.

since: 0.19.0

#### Signals

##### Signals inherited from GDBusProxy (2)

###### GDBusProxy::g-properties-changed

Emitted when one or more D-Bus properties on `proxy` changes. The local cache has already been updated when this signal fires. Note that both `changed_properties` and `invalidated_properties` are guaranteed to never be `NULL` (either may be empty though).

unstable since: 2.26

###### GDBusProxy::g-signal

Emitted when a signal from the remote object and interface that `proxy` is for, has been received.

unstable since: 2.26

##### Signals inherited from GObject (1)

###### GObject::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct SecretItemClass {
      GDBusProxyClass parent_class;

    }

The class for `SecretItem`.

###### Class members

`parent_class: GDBusProxyClass`

  The parent class.