Camel.Medium
Description: Reference for Camel.Medium

### Class

# CamelMedium

#### Description [src]

    abstract class Camel.Medium : Camel.DataWrapper
    {
      CamelMediumPrivate* priv
    }

Abstract class for data with headers and content.

`CamelMedium` extends `CamelDataWrapper` with support for named message headers and a separate content object. It is the common ancestor of `CamelMimePart` and ultimately `CamelMimeMessage`.

The header interface operates on raw (wire-format) header values; any RFC 2047 or other encoding must be applied by the caller. Multiple headers with the same name are supported; `camel_medium_remove_header()` removes all occurrences.

The content object is a `CamelDataWrapper` instance accessible via `camel_medium_get_content()` and camel_medium_set_content(). For MIME messages this is the parsed body of the part.

#### Hierarchy

#### Ancestors

- CamelDataWrapper
- GObject

#### Descendants

- CamelMimePart

#### Instance methods

###### camel_medium_add_header

Adds a header to a `CamelMedium`.

###### camel_medium_dup_headers

Gets an array of all header name/value pairs. The values will be decoded to UTF-8 for any headers that are recognized by Camel. See also camel_medium_get_headers().

since: 3.24

###### camel_medium_get_content

Gets a data wrapper that represents the content of the medium, without its headers.

###### camel_medium_get_header

Gets the value of the named header in the medium, or `NULL` if it is unset. The caller should not modify or free the data.

###### camel_medium_get_headers

Gets an array of all header name/value pairs. The values will be decoded to UTF-8 for any headers that are recognized by Camel. See also camel_medium_dup_headers().

since: 3.24

###### camel_medium_remove_header

Removes the named header from the medium. All occurances of the header are removed.

###### camel_medium_set_content

Sets the content of `medium` to be `content`.

###### camel_medium_set_header

Sets the value of a header. Any other occurances of the header will be removed. Setting a `NULL` header can be used to remove the header also.

##### Methods inherited from CamelDataWrapper (31)

Please see CamelDataWrapper for a full list of methods.

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

Please see GObject for a full list of methods.

#### Properties

###### Camel.Medium:content

Content.

#### 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 CamelMediumClass {
      CamelDataWrapperClass parent_class;
      void (* add_header) (
        CamelMedium* medium,
        const gchar* name,
        const gchar* value
      );
      void (* set_header) (
        CamelMedium* medium,
        const gchar* name,
        const gchar* value
      );
      void (* remove_header) (
        CamelMedium* medium,
        const gchar* name
      );
      const gchar* (* get_header) (
        CamelMedium* medium,
        const gchar* name
      );
      CamelNameValueArray* (* dup_headers) (
        CamelMedium* medium
      );
      const CamelNameValueArray* (* get_headers) (
        CamelMedium* medium
      );
      CamelDataWrapper* (* get_content) (
        CamelMedium* medium
      );
      void (* set_content) (
        CamelMedium* medium,
        CamelDataWrapper* content
      );
      gpointer reserved;

    }

No description available.

###### Class members

`parent_class: CamelDataWrapperClass`

  No description available.

`add_header: void (* add_header) ( CamelMedium* medium, const gchar* name, const gchar* value )`

  No description available.

`set_header: void (* set_header) ( CamelMedium* medium, const gchar* name, const gchar* value )`

  No description available.

`remove_header: void (* remove_header) ( CamelMedium* medium, const gchar* name )`

  No description available.

`get_header: const gchar* (* get_header) ( CamelMedium* medium, const gchar* name )`

  No description available.

`dup_headers: CamelNameValueArray* (* dup_headers) ( CamelMedium* medium )`

  No description available.

`get_headers: const CamelNameValueArray* (* get_headers) ( CamelMedium* medium )`

  No description available.

`get_content: CamelDataWrapper* (* get_content) ( CamelMedium* medium )`

  No description available.

`set_content: void (* set_content) ( CamelMedium* medium, CamelDataWrapper* content )`

  No description available.

`reserved: gpointer`

  No description available.

#### Virtual methods

###### Camel.MediumClass.add_header

Adds a header to a `CamelMedium`.

###### Camel.MediumClass.dup_headers

Gets an array of all header name/value pairs. The values will be decoded to UTF-8 for any headers that are recognized by Camel. See also camel_medium_get_headers().

since: 3.24

###### Camel.MediumClass.get_content

Gets a data wrapper that represents the content of the medium, without its headers.

###### Camel.MediumClass.get_header

Gets the value of the named header in the medium, or `NULL` if it is unset. The caller should not modify or free the data.

###### Camel.MediumClass.get_headers

Gets an array of all header name/value pairs. The values will be decoded to UTF-8 for any headers that are recognized by Camel. See also camel_medium_dup_headers().

since: 3.24

###### Camel.MediumClass.remove_header

Removes the named header from the medium. All occurances of the header are removed.

###### Camel.MediumClass.set_content

Sets the content of `medium` to be `content`.

###### Camel.MediumClass.set_header

Sets the value of a header. Any other occurances of the header will be removed. Setting a `NULL` header can be used to remove the header also.