## AgsMessageEnvelope

AgsMessageEnvelope — message envelope

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_MESSAGE_ENVELOPE_GET_OBJ_MUTEX()
GObject * | ags_message_envelope_get_sender ()
GObject * | ags_message_envelope_get_recipient ()
xmlDoc * | ags_message_envelope_get_doc ()
void | ags_message_envelope_get_parameter ()
AgsMessageEnvelope * | ags_message_envelope_new ()
AgsMessageEnvelope * | ags_message_envelope_new_with_params ()

## Properties

GObject * | recipient | Read / Write
GObject * | sender | Read / Write
gpointer | xml-doc | Read / Write

## Object Hierarchy

        GObject
        ╰── AgsMessageEnvelope

## Includes

    #include <ags/thread/ags_message_envelope.h>

## Description

The AgsMessageEnvelope acts as messages passing system.

You create the message envelope with a xmlDoc which is your actual message, this is your `xml-doc` property.

You may provide additional parameters and obtain them by calling:

- ags_message_envelope_get_parameter()

## Functions

### AGS_MESSAGE_ENVELOPE_GET_OBJ_MUTEX()

    #define AGS_MESSAGE_ENVELOPE_GET_OBJ_MUTEX(obj) (&(((AgsMessageEnvelope *) obj)->obj_mutex))

### ags_message_envelope_get_sender ()

    GObject *
    ags_message_envelope_get_sender (AgsMessageEnvelope *message_envelope);

Get sender.

#### Parameters

message_envelope | the AgsMessageEnvelope |

#### Returns

the sender.

[transfer full]

Since: 3.0.0

### ags_message_envelope_get_recipient ()

    GObject *
    ags_message_envelope_get_recipient (AgsMessageEnvelope *message_envelope);

Get recipient.

#### Parameters

message_envelope | the AgsMessageEnvelope |

#### Returns

the recipient.

[transfer full]

Since: 3.0.0

### ags_message_envelope_get_doc ()

    xmlDoc *
    ags_message_envelope_get_doc (AgsMessageEnvelope *message_envelope);

Get xmlDoc.

#### Parameters

message_envelope | the AgsMessageEnvelope |

#### Returns

the doc.

[transfer none]

Since: 3.0.0

### ags_message_envelope_get_parameter ()

    void
    ags_message_envelope_get_parameter (AgsMessageEnvelope *message_envelope,
                                        guint *n_params,
                                        gchar ***parameter_name,
                                        GValue **value);

Get parameters.

#### Parameters

message_envelope | the AgsMessageEnvelope |
n_params | return location of parameter count |
parameter_name | return location `NULL` terminated string vector containing parameter name |
value | return location of GValue array containing values |

Since: 3.0.0

### ags_message_envelope_new ()

    AgsMessageEnvelope *
    ags_message_envelope_new (GObject *sender,
                              GObject *recipient,
                              xmlDoc *doc);

Create a new instance of AgsMessageEnvelope.

#### Parameters

sender | the GObject as sender |
recipient | the GObject as recipient |
doc | the xmlDoc |

#### Returns

the new AgsMessageEnvelope

Since: 3.0.0

### ags_message_envelope_new_with_params ()

    AgsMessageEnvelope *
    ags_message_envelope_new_with_params (GObject *sender,
                                          GObject *recipient,
                                          xmlDoc *doc,
                                          guint n_params,
                                          gchar **parameter_name,
                                          GValue *value);

Create a new instance of AgsMessageEnvelope.

#### Parameters

sender | the GObject as sender |
recipient | the GObject as recipient |
doc | the xmlDoc |
n_params | n params |
parameter_name | `NULL` terminated string vector containing parameter names |
value | the GValue array containing values |

#### Returns

the new AgsMessageEnvelope

Since: 3.0.0

## Property Details

### The `“recipient”` property

      “recipient”                GObject *

The assigned recipient.

Owner: AgsMessageEnvelope

Flags: Read / Write

Since: 3.0.0

### The `“sender”` property

      “sender”                   GObject *

The assigned sender.

Owner: AgsMessageEnvelope

Flags: Read / Write

Since: 3.0.0

### The `“xml-doc”` property

      “xml-doc”                  gpointer

The assigned xml-doc.

Owner: AgsMessageEnvelope

Flags: Read / Write

Since: 3.0.0