### Class

# Camel StreamMem

#### Description

    class Camel.StreamMem : Camel.Stream
      implements Gio.Seekable {
      CamelStreamMemPrivate* priv
    }

No description available.

#### Hierarchy

#### Ancestors

- CamelStream
- GObject

#### Implements

- GSeekable

#### Constructors

###### camel_stream_mem_new

Create a new `CamelStreamMem` object.

###### camel_stream_mem_new_with_buffer

Create a new memory stream using `buffer` as the stream data.

###### camel_stream_mem_new_with_byte_array

Create a new `CamelStreamMem` using `buffer` as the stream data.

#### Instance methods

###### camel_stream_mem_get_byte_array

No description available.

since: 2.32

###### camel_stream_mem_set_buffer

Set `buffer` to be the backing data to the existing `CamelStreamMem`, `mem`.

###### camel_stream_mem_set_byte_array

Set `buffer` to be the backing data to the existing `CamelStreamMem`, `mem`.

###### camel_stream_mem_set_secure

Mark the memory stream as secure. At the very least this means the data in the buffer will be cleared when the buffer is finalized. This only applies to buffers owned by the stream.

##### Methods inherited from CamelStream (9)

###### camel_stream_close

Closes the stream.

###### camel_stream_eos

Tests if there are bytes left to read on the `stream` object.

###### camel_stream_flush

Flushes any buffered data to the stream’s backing store. Only meaningful for writable streams.

###### camel_stream_read

Attempts to read up to `n` bytes from `stream` into `buffer`.

###### camel_stream_ref_base_stream

Returns the `GIOStream` for `stream`. This is only valid if `stream` was created with camel_stream_new(). For all other `CamelStream` subclasses this function returns `NULL`.

since: 3.12

###### camel_stream_set_base_stream

Replaces the `GIOStream` passed to `camel_stream_new()` with `base_stream`. The new `base_stream` should wrap the original `GIOStream`, such as when adding Transport Layer Security after issuing a STARTTLS command.

since: 3.12

###### camel_stream_write

Attempts to write up to `n` bytes of `buffer` into `stream`.

###### camel_stream_write_string

Writes the string to the stream.

###### camel_stream_write_to_stream

Write all of a stream (until eos) into another stream, in a blocking fashion.

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

Please see GObject for a full list of methods.

##### 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.

#### Properties

##### Properties inherited from CamelStream (1)

###### Camel.Stream:base-stream

The base `GIOStream`.

#### 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 CamelStreamMemClass {
      CamelStreamClass parent_class;
      gpointer reserved;

    }

No description available.

###### Class members

`parent_class: CamelStreamClass`

  No description available.

`reserved: gpointer`

  No description available.