### Class

# Aravis Device

#### Description [src]

    abstract class Aravis.Device : GObject.Object
      implements Gio.Initable {
      /* No available fields */
    }

`ArvDevice` is an abstract base class for the control of cameras. It provides an easy access to the camera settings, and to its genicam interface for more advanced uses.

#### Ancestors

- GObject

#### Descendants

- ArvFakeDevice
- ArvGvDevice
- ArvUvDevice

#### Implements

- GInitable

#### Instance methods

###### arv_device_create_chunk_parser

Create a `ArvChunkParser` object, to be used for chunk data extraction from `ArvBuffer`.

since: 0.4.0

###### arv_device_create_stream

Creates a new `ArvStream` for video stream handling. See `ArvStreamCallback` for details regarding the callback function.

since: 0.2.0

###### arv_device_create_stream_full

Creates a new `ArvStream` for video stream handling. See `ArvStreamCallback` for details regarding the callback function.

since: 0.8.23

###### arv_device_dup_available_enumeration_feature_values

Get all the available values of `feature`, as integers.

since: 0.8.0

###### arv_device_dup_available_enumeration_feature_values_as_display_names

Get display names of all the available entries of `feature`.

since: 0.8.0

###### arv_device_dup_available_enumeration_feature_values_as_strings

Get all the available values of `feature`, as strings.

since: 0.8.0

###### arv_device_dup_register_feature_value

No description available.

since: 0.8.31

###### arv_device_execute_command

Execute a genicam command.

since: 0.8.0

###### arv_device_get_boolean_feature_value

No description available.

since: 0.8.0

###### arv_device_get_boolean_feature_value_gi

Get the feature value, or `FALSE` on error.

since: 0.8.0

###### arv_device_get_feature

No description available.

since: 0.2.0

###### arv_device_get_feature_access_mode

No description available.

since: 0.8.22

###### arv_device_get_feature_representation

No description available.

since: 0.8.31

###### arv_device_get_feature_value

Get the value of a feature. Enumeration values are returned as strings.

since: 0.8.32

###### arv_device_get_float_feature_bounds

Retrieves feature bounds.

since: 0.8.0

###### arv_device_get_float_feature_increment

Not all float features have evenly distributed allowed values, which means the returned increment may not reflect the allowed value set.

since: 0.8.16

###### arv_device_get_float_feature_value

No description available.

since: 0.8.0

###### arv_device_get_genicam

Retrieves the genicam interface of the given device.

since: 0.2.0

###### arv_device_get_genicam_xml

Gets the Genicam XML data stored in the device memory.

since: 0.2.0

###### arv_device_get_integer_feature_bounds

Retrieves feature bounds.

since: 0.8.0

###### arv_device_get_integer_feature_increment

Not all integer features have evenly distributed allowed values, which means the returned increment may not reflect the allowed value set.

since: 0.8.0

###### arv_device_get_integer_feature_value

No description available.

since: 0.8.0

###### arv_device_get_string_feature_value

No description available.

since: 0.8.0

###### arv_device_is_enumeration_entry_available

No description available.

since: 0.8.17

###### arv_device_is_feature_available

No description available.

since: 0.8.0

###### arv_device_is_feature_implemented

No description available.

since: 0.8.23

###### arv_device_read_bytes

Reads `size` bytes from the device memory.

since: 0.8.36

###### arv_device_read_memory

Reads `size` bytes from the device memory.

since: 0.2.0

###### arv_device_read_register

Reads the value of a device register.

since: 0.2.0

###### arv_device_set_access_check_policy

Sets the feature access check policy. When enabled, before being accessed, the actual read/write access of register is checked using AccessMode properties. On some devices, it helps to avoid forbidden writes to registers that may put the device in a bad state.

since: 0.8.22

###### arv_device_set_boolean_feature_value

Set the value of a boolean feature.

since: 0.8.0

###### arv_device_set_feature_value

Set value of a feature.

since: 0.8.32

###### arv_device_set_features_from_string

Set features from a string containing a list of space separated feature assignments or command names. For example:.

since: 0.8.0

###### arv_device_set_float_feature_value

Set the float feature value.

since: 0.8.0

###### arv_device_set_integer_feature_value

Set the integer feature value.

since: 0.8.0

###### arv_device_set_range_check_policy

Sets the range check policy. When enabled, before being set, the value of all nodes with an `ArvGcFloat` or `ArvGcInteger` interface will be checked against their Min and Max properties.

since: 0.8.6

###### arv_device_set_register_cache_policy

Sets the register cache policy.

since: 0.8.0

###### arv_device_set_register_feature_value

Set the register feature value.

###### arv_device_set_string_feature_value

Set the string feature value.

since: 0.8.0

###### arv_device_write_bytes

Writes bytes to the device memory.

since: 0.8.36

###### arv_device_write_memory

Writes `size` bytes to the device memory.

since: 0.2.0

###### arv_device_write_register

Writes `value` to a device register.

since: 0.2.0

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

Please see GObject for a full list of methods.

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

###### g_initable_init

Initializes the object implementing the interface.

#### Signals

###### Aravis.Device::control-lost

Signal that the control of the device is lost.

since: 0.2.0

##### 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 AravisDeviceClass {
      GObjectClass parent_class;
      ArvStream* (* create_stream) (
        ArvDevice* device,
        ArvStreamCallback callback,
        void* user_data,
        GDestroyNotify destroy,
        GError** error
      );
      const char* (* get_genicam_xml) (
        ArvDevice* device,
        size_t* size
      );
      ArvGc* (* get_genicam) (
        ArvDevice* device
      );
      gboolean (* read_memory) (
        ArvDevice* device,
        guint64 address,
        guint32 size,
        void* buffer,
        GError** error
      );
      gboolean (* write_memory) (
        ArvDevice* device,
        guint64 address,
        guint32 size,
        void* buffer,
        GError** error
      );
      gboolean (* read_register) (
        ArvDevice* device,
        guint64 address,
        guint32* value,
        GError** error
      );
      gboolean (* write_register) (
        ArvDevice* device,
        guint64 address,
        guint32 value,
        GError** error
      );
      void (* control_lost) (
        ArvDevice* device
      );

    }

No description available.

###### Class members

`parent_class: GObjectClass`

  No description available.

`create_stream: ArvStream* (* create_stream) ( ArvDevice* device, ArvStreamCallback callback, void* user_data, GDestroyNotify destroy, GError** error )`

  No description available.

`get_genicam_xml: const char* (* get_genicam_xml) ( ArvDevice* device, size_t* size )`

  No description available.

`get_genicam: ArvGc* (* get_genicam) ( ArvDevice* device )`

  No description available.

`read_memory: gboolean (* read_memory) ( ArvDevice* device, guint64 address, guint32 size, void* buffer, GError** error )`

  No description available.

`write_memory: gboolean (* write_memory) ( ArvDevice* device, guint64 address, guint32 size, void* buffer, GError** error )`

  No description available.

`read_register: gboolean (* read_register) ( ArvDevice* device, guint64 address, guint32* value, GError** error )`

  No description available.

`write_register: gboolean (* write_register) ( ArvDevice* device, guint64 address, guint32 value, GError** error )`

  No description available.

`control_lost: void (* control_lost) ( ArvDevice* device )`

  No description available.

#### Virtual methods

###### Aravis.DeviceClass.control_lost

No description available.

###### Aravis.DeviceClass.create_stream

No description available.

###### Aravis.DeviceClass.get_genicam

Retrieves the genicam interface of the given device.

since: 0.2.0

###### Aravis.DeviceClass.get_genicam_xml

Gets the Genicam XML data stored in the device memory.

since: 0.2.0

###### Aravis.DeviceClass.read_memory

Reads `size` bytes from the device memory.

since: 0.2.0

###### Aravis.DeviceClass.read_register

Reads the value of a device register.

since: 0.2.0

###### Aravis.DeviceClass.write_memory

Writes `size` bytes to the device memory.

since: 0.2.0

###### Aravis.DeviceClass.write_register

Writes `value` to a device register.

since: 0.2.0