### Interface

# Hinoko FwIsoResource

since: 0.7

#### Description [src]

    interface Hinoko.FwIsoResource : GObject.Object

A set of basic interfaces to listen to events about isochronous resource. `HinokoFwIsoResource` includes interfaces to listen to events about allocation and deallocation of isochronous resource.

Available since: 0.7

#### Prerequisite

In order to implement FwIsoResource, your type must inherit from`GObject`.

#### Implementations

- HinokoFwIsoResourceAuto
- HinokoFwIsoResourceOnce

#### Functions

###### hinoko_fw_iso_resource_calculate_bandwidth

Calculate the amount of bandwidth expected to be consumed in allocation unit by given parameters.

#### Instance methods

###### hinoko_fw_iso_resource_allocate

Initiate allocation of isochronous resource without any wait. One of the candidates is actually allocated for channel. When the allocation finishes, `HinokoFwIsoResource::allocated` signal is emitted to notify the result, channel, and bandwidth.

since: 1.0

###### hinoko_fw_iso_resource_allocate_wait

Initiate allocation of isochronous resource and wait for `HinokoFwIsoResource::allocated` signal. One of the candidates is actually allocated for channel.

since: 1.0

###### hinoko_fw_iso_resource_create_source

Create `GSource` for `GMainContext` to dispatch events for isochronous resource.

since: 0.7

###### hinoko_fw_iso_resource_open

Open Linux FireWire character device to delegate any request for isochronous resource management to Linux FireWire subsystem.

since: 0.7

#### Properties

###### Hinoko.FwIsoResource:generation

No description available.

#### Signals

###### Hinoko.FwIsoResource::allocated

Emitted when allocation of isochronous resource finishes.

since: 0.7

###### Hinoko.FwIsoResource::deallocated

Emitted when deallocation of isochronous resource finishes.

since: 0.7

#### Interface structure

    struct HinokoFwIsoResourceInterface {
      GTypeInterface parent_iface;
      gboolean (* open) (
        HinokoFwIsoResource* self,
        const gchar* path,
        gint open_flag,
        GError** error
      );
      gboolean (* allocate) (
        HinokoFwIsoResource* self,
        const guint8* channel_candidates,
        gsize channel_candidates_count,
        guint bandwidth,
        GError** error
      );
      gboolean (* create_source) (
        HinokoFwIsoResource* self,
        GSource** source,
        GError** error
      );
      void (* allocated) (
        HinokoFwIsoResource* self,
        guint channel,
        guint bandwidth,
        const GError* error
      );
      void (* deallocated) (
        HinokoFwIsoResource* self,
        guint channel,
        guint bandwidth,
        const GError* error
      );

    }

No description available.

###### Interface members

`parent_iface`

    GTypeInterface

| No description available.

`open`

    gboolean (* open) (
        HinokoFwIsoResource* self,
        const gchar* path,
        gint open_flag,
        GError** error
      )

| No description available.

`allocate`

    gboolean (* allocate) (
        HinokoFwIsoResource* self,
        const guint8* channel_candidates,
        gsize channel_candidates_count,
        guint bandwidth,
        GError** error
      )

| No description available.

`create_source`

    gboolean (* create_source) (
        HinokoFwIsoResource* self,
        GSource** source,
        GError** error
      )

| No description available.

`allocated`

    void (* allocated) (
        HinokoFwIsoResource* self,
        guint channel,
        guint bandwidth,
        const GError* error
      )

| No description available.

`deallocated`

    void (* deallocated) (
        HinokoFwIsoResource* self,
        guint channel,
        guint bandwidth,
        const GError* error
      )

| No description available.

#### Virtual methods

###### Hinoko.FwIsoResource.allocate

Initiate allocation of isochronous resource without any wait. One of the candidates is actually allocated for channel. When the allocation finishes, `HinokoFwIsoResource::allocated` signal is emitted to notify the result, channel, and bandwidth.

since: 1.0

###### Hinoko.FwIsoResource.allocated

Closure for the `HinokoFwIsoResource::allocated` signal.

since: 0.7

###### Hinoko.FwIsoResource.create_source

Create `GSource` for `GMainContext` to dispatch events for isochronous resource.

since: 0.7

###### Hinoko.FwIsoResource.deallocated

Closure for the `HinokoFwIsoResource::deallocated` signal.

since: 0.7

###### Hinoko.FwIsoResource.open

Open Linux FireWire character device to delegate any request for isochronous resource management to Linux FireWire subsystem.

since: 0.7