FwupdPlugin.CompositeInputStream
Description: Reference for FwupdPlugin.CompositeInputStream

### Class

# FwupdPluginCompositeInputStream

#### Description [src]

    final class FwupdPlugin.CompositeInputStream : Gio.InputStream
      implements Fwupd.Codec, Gio.Seekable {
      /* No available fields */
    }

A input stream that is made up of other partial streams, e.g.

      off    sz     off  sz

[xxxxxxxxxxxx] [yyyyyyyy] | 0x6 | |0x4| \ \ / / \ \ / / \ | | | | | [xxxxxxyyyyyy]

xxx offset: 2, sz: 6 yyy offset: 0, sz: 4.

#### Hierarchy

#### Ancestors

- GInputStream
- GObject

#### Implements

- FwupdCodec
- GSeekable

#### Constructors

###### fu_composite_input_stream_new

Creates a composite input stream.

since: 2.0.0

#### Instance methods

###### fu_composite_input_stream_add_bytes

Adds a bytes object.

since: 2.1.2

###### fu_composite_input_stream_add_partial_stream

Adds a partial stream object.

since: 2.1.2

###### fu_composite_input_stream_add_stream

Adds a input stream object, which has to be seekable.

since: 2.0.0

##### Methods inherited from GInputStream (19)

###### g_input_stream_clear_pending

Clears the pending flag on `stream`.

###### g_input_stream_close

Closes the stream, releasing resources related to it.

###### g_input_stream_close_async

Requests an asynchronous closes of the stream, releasing resources related to it. When the operation is finished `callback` will be called. You can then call `g_input_stream_close_finish()` to get the result of the operation.

###### g_input_stream_close_finish

Finishes closing a stream asynchronously, started from g_input_stream_close_async().

###### g_input_stream_has_pending

Checks if an input stream has pending actions.

###### g_input_stream_is_closed

Checks if an input stream is closed.

###### g_input_stream_read

Tries to read `count` bytes from the stream into the buffer starting at `buffer`. Will block during this read.

###### g_input_stream_read_all

Tries to read `count` bytes from the stream into the buffer starting at `buffer`. Will block during this read.

###### g_input_stream_read_all_async

Request an asynchronous read of `count` bytes from the stream into the buffer starting at `buffer`.

###### g_input_stream_read_all_finish

Finishes an asynchronous stream read operation started with `g_input_stream_read_all_async()`.

###### g_input_stream_read_async

Request an asynchronous read of `count` bytes from the stream into the buffer starting at `buffer`. When the operation is finished `callback` will be called. You can then call `g_input_stream_read_finish()` to get the result of the operation.

###### g_input_stream_read_bytes

Like g_input_stream_read(), this tries to read `count` bytes from the stream in a blocking fashion. However, rather than reading into a user-supplied buffer, this will create a new `GBytes` containing the data that was read. This may be easier to use from language bindings.

###### g_input_stream_read_bytes_async

Request an asynchronous read of `count` bytes from the stream into a new `GBytes`. When the operation is finished `callback` will be called. You can then call `g_input_stream_read_bytes_finish()` to get the result of the operation.

###### g_input_stream_read_bytes_finish

Finishes an asynchronous stream read-into-`GBytes` operation.

###### g_input_stream_read_finish

Finishes an asynchronous stream read operation.

###### g_input_stream_set_pending

Sets `stream` to have actions pending. If the pending flag is already set or `stream` is closed, it will return `FALSE` and set `error`.

###### g_input_stream_skip

Tries to skip `count` bytes from the stream. Will block during the operation.

###### g_input_stream_skip_async

Request an asynchronous skip of `count` bytes from the stream. When the operation is finished `callback` will be called. You can then call `g_input_stream_skip_finish()` to get the result of the operation.

###### g_input_stream_skip_finish

Finishes a stream skip operation.

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

Please see GObject for a full list of methods.

##### Methods inherited from FwupdCodec (8)

###### fwupd_codec_add_string

Converts an object that implements `FwupdCodec` to a debug string, appending it to `str`.

###### fwupd_codec_from_json

Converts an object that implements `FwupdCodec` from a JSON object.

###### fwupd_codec_from_json_string

Converts an object that implements `FwupdCodec` from a JSON string.

###### fwupd_codec_from_variant

Converts an object that implements `FwupdCodec` from a `GVariant` value.

###### fwupd_codec_to_json

Converts an object that implements `FwupdCodec` to a JSON builder object.

###### fwupd_codec_to_json_string

Converts an object that implements `FwupdCodec` to a JSON string.

###### fwupd_codec_to_string

Converts an object that implements `FwupdCodec` to a debug string.

###### fwupd_codec_to_variant

Converts an object that implements `FwupdCodec` to a `GVariant`.

##### Methods inherited from GSeekable (5)

###### g_seekable_can_seek

Tests if the stream supports the `GSeekableIface`.

###### g_seekable_can_truncate

Tests if the length of the stream can be adjusted with g_seekable_truncate().

###### g_seekable_seek

Seeks in the stream by the given `offset`, modified by `type`.

###### g_seekable_tell

Tells the current position within the stream.

###### g_seekable_truncate

Sets the length of the stream to `offset`. If the stream was previously larger than `offset`, the extra data is discarded. If the stream was previously shorter than `offset`, it is extended with NUL (‘\0’) bytes.

#### Signals

##### 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 FwupdPluginCompositeInputStreamClass {
      GInputStreamClass parent_class;

    }

No description available.

###### Class members

`parent_class: GInputStreamClass`

  No description available.