UDisksObject

## UDisksObject UDisksObject — Specialized GDBusObject types |

## Synopsis

                        UDisksObject;
    struct              UDisksObjectIface;
    UDisksBlock *       udisks_object_get_block             (UDisksObject *object);
    UDisksDrive *       udisks_object_get_drive             (UDisksObject *object);
    UDisksDriveAta *    udisks_object_get_drive_ata         (UDisksObject *object);
    UDisksFilesystem *  udisks_object_get_filesystem        (UDisksObject *object);
    UDisksJob *         udisks_object_get_job               (UDisksObject *object);
    UDisksSwapspace *   udisks_object_get_swapspace         (UDisksObject *object);
    UDisksEncrypted *   udisks_object_get_encrypted         (UDisksObject *object);
    UDisksLoop *        udisks_object_get_loop              (UDisksObject *object);
    UDisksManager *     udisks_object_get_manager           (UDisksObject *object);
    UDisksPartition *   udisks_object_get_partition         (UDisksObject *object);
    UDisksPartitionTable * udisks_object_get_partition_table
                                                            (UDisksObject *object);
    UDisksBlock *       udisks_object_peek_block            (UDisksObject *object);
    UDisksDrive *       udisks_object_peek_drive            (UDisksObject *object);
    UDisksDriveAta *    udisks_object_peek_drive_ata        (UDisksObject *object);
    UDisksFilesystem *  udisks_object_peek_filesystem       (UDisksObject *object);
    UDisksJob *         udisks_object_peek_job              (UDisksObject *object);
    UDisksSwapspace *   udisks_object_peek_swapspace        (UDisksObject *object);
    UDisksEncrypted *   udisks_object_peek_encrypted        (UDisksObject *object);
    UDisksLoop *        udisks_object_peek_loop             (UDisksObject *object);
    UDisksManager *     udisks_object_peek_manager          (UDisksObject *object);
    UDisksPartition *   udisks_object_peek_partition        (UDisksObject *object);
    UDisksPartitionTable * udisks_object_peek_partition_table
                                                            (UDisksObject *object);
    struct              UDisksObjectProxy;
    struct              UDisksObjectProxyClass;
    UDisksObjectProxy * udisks_object_proxy_new             (GDBusConnection *connection,
                                                             const gchar *object_path);
    struct              UDisksObjectSkeleton;
    struct              UDisksObjectSkeletonClass;
    UDisksObjectSkeleton * udisks_object_skeleton_new       (const gchar *object_path);
    void                udisks_object_skeleton_set_block    (UDisksObjectSkeleton *object,
                                                             UDisksBlock *interface_);
    void                udisks_object_skeleton_set_drive    (UDisksObjectSkeleton *object,
                                                             UDisksDrive *interface_);
    void                udisks_object_skeleton_set_drive_ata
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksDriveAta *interface_);
    void                udisks_object_skeleton_set_filesystem
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksFilesystem *interface_);
    void                udisks_object_skeleton_set_job      (UDisksObjectSkeleton *object,
                                                             UDisksJob *interface_);
    void                udisks_object_skeleton_set_swapspace
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksSwapspace *interface_);
    void                udisks_object_skeleton_set_encrypted
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksEncrypted *interface_);
    void                udisks_object_skeleton_set_loop     (UDisksObjectSkeleton *object,
                                                             UDisksLoop *interface_);
    void                udisks_object_skeleton_set_manager  (UDisksObjectSkeleton *object,
                                                             UDisksManager *interface_);
    void                udisks_object_skeleton_set_partition
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksPartition *interface_);
    void                udisks_object_skeleton_set_partition_table
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksPartitionTable *interface_);

## Object Hierarchy

      GInterface
       +----UDisksObject

      GObject
       +----GDBusObjectProxy
             +----UDisksObjectProxy

      GObject
       +----GDBusObjectSkeleton
             +----UDisksObjectSkeleton
                   +----UDisksLinuxBlockObject
                   +----UDisksLinuxDriveObject

## Prerequisites

UDisksObject requires GDBusObject and GObject.

## Implemented Interfaces

UDisksObjectProxy implements GDBusObject and UDisksObject.

UDisksObjectSkeleton implements GDBusObject and UDisksObject.

## Known Implementations

UDisksObject is implemented by UDisksLinuxBlockObject, UDisksLinuxDriveObject, UDisksObjectProxy and UDisksObjectSkeleton.

## Properties

      "block"                    UDisksBlock*          : Read / Write
      "drive"                    UDisksDrive*          : Read / Write
      "drive-ata"                UDisksDriveAta*       : Read / Write
      "encrypted"                UDisksEncrypted*      : Read / Write
      "filesystem"               UDisksFilesystem*     : Read / Write
      "job"                      UDisksJob*            : Read / Write
      "loop"                     UDisksLoop*           : Read / Write
      "manager"                  UDisksManager*        : Read / Write
      "partition"                UDisksPartition*      : Read / Write
      "partition-table"          UDisksPartitionTable*  : Read / Write
      "swapspace"                UDisksSwapspace*      : Read / Write

## Description

This section contains the UDisksObject, UDisksObjectProxy, and UDisksObjectSkeleton types which make it easier to work with objects implementing generated types for D-Bus interfaces.

## Details

### UDisksObject

    typedef struct _UDisksObject UDisksObject;

The UDisksObject type is a specialized container of interfaces.

### struct UDisksObjectIface

    struct UDisksObjectIface {
      GTypeInterface parent_iface;
    };

Virtual table for the UDisksObject interface.

GTypeInterface `parent_iface`; | The parent interface.

### udisks_object_get_block ()

    UDisksBlock *       udisks_object_get_block             (UDisksObject *object);

Gets the UDisksBlock instance for the D-Bus interface org.freedesktop.UDisks2.Block on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksBlock that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_get_drive ()

    UDisksDrive *       udisks_object_get_drive             (UDisksObject *object);

Gets the UDisksDrive instance for the D-Bus interface org.freedesktop.UDisks2.Drive on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksDrive that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_get_drive_ata ()

    UDisksDriveAta *    udisks_object_get_drive_ata         (UDisksObject *object);

Gets the UDisksDriveAta instance for the D-Bus interface org.freedesktop.UDisks2.Drive.Ata on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksDriveAta that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_get_filesystem ()

    UDisksFilesystem *  udisks_object_get_filesystem        (UDisksObject *object);

Gets the UDisksFilesystem instance for the D-Bus interface org.freedesktop.UDisks2.Filesystem on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksFilesystem that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_get_job ()

    UDisksJob *         udisks_object_get_job               (UDisksObject *object);

Gets the UDisksJob instance for the D-Bus interface org.freedesktop.UDisks2.Job on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksJob that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_get_swapspace ()

    UDisksSwapspace *   udisks_object_get_swapspace         (UDisksObject *object);

Gets the UDisksSwapspace instance for the D-Bus interface org.freedesktop.UDisks2.Swapspace on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksSwapspace that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_get_encrypted ()

    UDisksEncrypted *   udisks_object_get_encrypted         (UDisksObject *object);

Gets the UDisksEncrypted instance for the D-Bus interface org.freedesktop.UDisks2.Encrypted on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksEncrypted that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_get_loop ()

    UDisksLoop *        udisks_object_get_loop              (UDisksObject *object);

Gets the UDisksLoop instance for the D-Bus interface org.freedesktop.UDisks2.Loop on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksLoop that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_get_manager ()

    UDisksManager *     udisks_object_get_manager           (UDisksObject *object);

Gets the UDisksManager instance for the D-Bus interface org.freedesktop.UDisks2.Manager on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksManager that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_get_partition ()

    UDisksPartition *   udisks_object_get_partition         (UDisksObject *object);

Gets the UDisksPartition instance for the D-Bus interface org.freedesktop.UDisks2.Partition on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksPartition that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_get_partition_table ()

    UDisksPartitionTable * udisks_object_get_partition_table
                                                            (UDisksObject *object);

Gets the UDisksPartitionTable instance for the D-Bus interface org.freedesktop.UDisks2.PartitionTable on `object`, if any.

`object` : | A UDisksObject.
Returns : | A UDisksPartitionTable that must be freed with `g_object_unref()` or `NULL` if `object` does not implement the interface. [transfer full]

### udisks_object_peek_block ()

    UDisksBlock *       udisks_object_peek_block            (UDisksObject *object);

Like `udisks_object_get_block()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksBlock or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### udisks_object_peek_drive ()

    UDisksDrive *       udisks_object_peek_drive            (UDisksObject *object);

Like `udisks_object_get_drive()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksDrive or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### udisks_object_peek_drive_ata ()

    UDisksDriveAta *    udisks_object_peek_drive_ata        (UDisksObject *object);

Like `udisks_object_get_drive_ata()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksDriveAta or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### udisks_object_peek_filesystem ()

    UDisksFilesystem *  udisks_object_peek_filesystem       (UDisksObject *object);

Like `udisks_object_get_filesystem()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksFilesystem or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### udisks_object_peek_job ()

    UDisksJob *         udisks_object_peek_job              (UDisksObject *object);

Like `udisks_object_get_job()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksJob or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### udisks_object_peek_swapspace ()

    UDisksSwapspace *   udisks_object_peek_swapspace        (UDisksObject *object);

Like `udisks_object_get_swapspace()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksSwapspace or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### udisks_object_peek_encrypted ()

    UDisksEncrypted *   udisks_object_peek_encrypted        (UDisksObject *object);

Like `udisks_object_get_encrypted()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksEncrypted or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### udisks_object_peek_loop ()

    UDisksLoop *        udisks_object_peek_loop             (UDisksObject *object);

Like `udisks_object_get_loop()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksLoop or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### udisks_object_peek_manager ()

    UDisksManager *     udisks_object_peek_manager          (UDisksObject *object);

Like `udisks_object_get_manager()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksManager or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### udisks_object_peek_partition ()

    UDisksPartition *   udisks_object_peek_partition        (UDisksObject *object);

Like `udisks_object_get_partition()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksPartition or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### udisks_object_peek_partition_table ()

    UDisksPartitionTable * udisks_object_peek_partition_table
                                                            (UDisksObject *object);

Like `udisks_object_get_partition_table()` but doesn't increase the reference count on the returned object.

### Warning

It is not safe to use the returned object if you are on another thread than the one where the GDBusObjectManagerClient or GDBusObjectManagerServer for `object` is running.

`object` : | A UDisksObject.
Returns : | A UDisksPartitionTable or `NULL` if `object` does not implement the interface. Do not free the returned object, it is owned by `object`. [transfer none]

### struct UDisksObjectProxy

    struct UDisksObjectProxy;

The UDisksObjectProxy structure contains only private data and should only be accessed using the provided API.

### struct UDisksObjectProxyClass

    struct UDisksObjectProxyClass {
      GDBusObjectProxyClass parent_class;
    };

Class structure for UDisksObjectProxy.

GDBusObjectProxyClass `parent_class`; | The parent class.

### udisks_object_proxy_new ()

    UDisksObjectProxy * udisks_object_proxy_new             (GDBusConnection *connection,
                                                             const gchar *object_path);

Creates a new proxy object.

`connection` : | A GDBusConnection.
`object_path` : | An object path.
Returns : | The proxy object. [transfer full]

### struct UDisksObjectSkeleton

    struct UDisksObjectSkeleton;

The UDisksObjectSkeleton structure contains only private data and should only be accessed using the provided API.

### struct UDisksObjectSkeletonClass

    struct UDisksObjectSkeletonClass {
      GDBusObjectSkeletonClass parent_class;
    };

Class structure for UDisksObjectSkeleton.

GDBusObjectSkeletonClass `parent_class`; | The parent class.

### udisks_object_skeleton_new ()

    UDisksObjectSkeleton * udisks_object_skeleton_new       (const gchar *object_path);

Creates a new skeleton object.

`object_path` : | An object path.
Returns : | The skeleton object. [transfer full]

### udisks_object_skeleton_set_block ()

    void                udisks_object_skeleton_set_block    (UDisksObjectSkeleton *object,
                                                             UDisksBlock *interface_);

Sets the UDisksBlock instance for the D-Bus interface org.freedesktop.UDisks2.Block on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksBlock or `NULL` to clear the interface. [allow-none]

### udisks_object_skeleton_set_drive ()

    void                udisks_object_skeleton_set_drive    (UDisksObjectSkeleton *object,
                                                             UDisksDrive *interface_);

Sets the UDisksDrive instance for the D-Bus interface org.freedesktop.UDisks2.Drive on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksDrive or `NULL` to clear the interface. [allow-none]

### udisks_object_skeleton_set_drive_ata ()

    void                udisks_object_skeleton_set_drive_ata
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksDriveAta *interface_);

Sets the UDisksDriveAta instance for the D-Bus interface org.freedesktop.UDisks2.Drive.Ata on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksDriveAta or `NULL` to clear the interface. [allow-none]

### udisks_object_skeleton_set_filesystem ()

    void                udisks_object_skeleton_set_filesystem
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksFilesystem *interface_);

Sets the UDisksFilesystem instance for the D-Bus interface org.freedesktop.UDisks2.Filesystem on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksFilesystem or `NULL` to clear the interface. [allow-none]

### udisks_object_skeleton_set_job ()

    void                udisks_object_skeleton_set_job      (UDisksObjectSkeleton *object,
                                                             UDisksJob *interface_);

Sets the UDisksJob instance for the D-Bus interface org.freedesktop.UDisks2.Job on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksJob or `NULL` to clear the interface. [allow-none]

### udisks_object_skeleton_set_swapspace ()

    void                udisks_object_skeleton_set_swapspace
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksSwapspace *interface_);

Sets the UDisksSwapspace instance for the D-Bus interface org.freedesktop.UDisks2.Swapspace on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksSwapspace or `NULL` to clear the interface. [allow-none]

### udisks_object_skeleton_set_encrypted ()

    void                udisks_object_skeleton_set_encrypted
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksEncrypted *interface_);

Sets the UDisksEncrypted instance for the D-Bus interface org.freedesktop.UDisks2.Encrypted on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksEncrypted or `NULL` to clear the interface. [allow-none]

### udisks_object_skeleton_set_loop ()

    void                udisks_object_skeleton_set_loop     (UDisksObjectSkeleton *object,
                                                             UDisksLoop *interface_);

Sets the UDisksLoop instance for the D-Bus interface org.freedesktop.UDisks2.Loop on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksLoop or `NULL` to clear the interface. [allow-none]

### udisks_object_skeleton_set_manager ()

    void                udisks_object_skeleton_set_manager  (UDisksObjectSkeleton *object,
                                                             UDisksManager *interface_);

Sets the UDisksManager instance for the D-Bus interface org.freedesktop.UDisks2.Manager on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksManager or `NULL` to clear the interface. [allow-none]

### udisks_object_skeleton_set_partition ()

    void                udisks_object_skeleton_set_partition
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksPartition *interface_);

Sets the UDisksPartition instance for the D-Bus interface org.freedesktop.UDisks2.Partition on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksPartition or `NULL` to clear the interface. [allow-none]

### udisks_object_skeleton_set_partition_table ()

    void                udisks_object_skeleton_set_partition_table
                                                            (UDisksObjectSkeleton *object,
                                                             UDisksPartitionTable *interface_);

Sets the UDisksPartitionTable instance for the D-Bus interface org.freedesktop.UDisks2.PartitionTable on `object`.

`object` : | A UDisksObjectSkeleton.
`interface_` : | A UDisksPartitionTable or `NULL` to clear the interface. [allow-none]

## Property Details

### The `"block"` property

      "block"                    UDisksBlock*          : Read / Write

The UDisksBlock instance corresponding to the D-Bus interface org.freedesktop.UDisks2.Block, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"drive"` property

      "drive"                    UDisksDrive*          : Read / Write

The UDisksDrive instance corresponding to the D-Bus interface org.freedesktop.UDisks2.Drive, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"drive-ata"` property

      "drive-ata"                UDisksDriveAta*       : Read / Write

The UDisksDriveAta instance corresponding to the D-Bus interface org.freedesktop.UDisks2.Drive.Ata, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"encrypted"` property

      "encrypted"                UDisksEncrypted*      : Read / Write

The UDisksEncrypted instance corresponding to the D-Bus interface org.freedesktop.UDisks2.Encrypted, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"filesystem"` property

      "filesystem"               UDisksFilesystem*     : Read / Write

The UDisksFilesystem instance corresponding to the D-Bus interface org.freedesktop.UDisks2.Filesystem, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"job"` property

      "job"                      UDisksJob*            : Read / Write

The UDisksJob instance corresponding to the D-Bus interface org.freedesktop.UDisks2.Job, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"loop"` property

      "loop"                     UDisksLoop*           : Read / Write

The UDisksLoop instance corresponding to the D-Bus interface org.freedesktop.UDisks2.Loop, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"manager"` property

      "manager"                  UDisksManager*        : Read / Write

The UDisksManager instance corresponding to the D-Bus interface org.freedesktop.UDisks2.Manager, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"partition"` property

      "partition"                UDisksPartition*      : Read / Write

The UDisksPartition instance corresponding to the D-Bus interface org.freedesktop.UDisks2.Partition, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"partition-table"` property

      "partition-table"          UDisksPartitionTable*  : Read / Write

The UDisksPartitionTable instance corresponding to the D-Bus interface org.freedesktop.UDisks2.PartitionTable, if any.

Connect to the "notify" signal to get informed of property changes.

### The `"swapspace"` property

      "swapspace"                UDisksSwapspace*      : Read / Write

The UDisksSwapspace instance corresponding to the D-Bus interface org.freedesktop.UDisks2.Swapspace, if any.

Connect to the "notify" signal to get informed of property changes.