## AgsMessageQueue

AgsMessageQueue — message queue

## Stability Level

Stable, unless otherwise indicated

## Functions

#define | AGS_MESSAGE_QUEUE_GET_OBJ_MUTEX()
void | ags_message_queue_set_sender_namespace ()
gchar * | ags_message_queue_get_sender_namespace ()
void | ags_message_queue_set_recipient_namespace ()
gchar * | ags_message_queue_get_recipient_namespace ()
void | ags_message_queue_set_message_envelope ()
GList * | ags_message_queue_get_message_envelope ()
void | ags_message_queue_add_message_envelope ()
void | ags_message_queue_remove_message_envelope ()
GList * | ags_message_queue_find_sender ()
GList * | ags_message_queue_find_recipient ()
GList * | ags_message_queue_query_message ()
AgsMessageQueue * | ags_message_queue_new ()

## Properties

char * | recipient-namespace | Read / Write
char * | sender-namespace | Read / Write

## Object Hierarchy

        GObject
        ╰── AgsMessageQueue

## Includes

    #include <ags/thread/ags_message_queue.h>

## Description

The AgsMessageQueue acts as messages passing system. The queue hosts the AgsMessageEnvelope.

## Functions

### AGS_MESSAGE_QUEUE_GET_OBJ_MUTEX()

    #define AGS_MESSAGE_QUEUE_GET_OBJ_MUTEX(obj) (&(((AgsMessageQueue *) obj)->obj_mutex))

### ags_message_queue_set_sender_namespace ()

    void
    ags_message_queue_set_sender_namespace
                                   (AgsMessageQueue *message_queue,
                                    gchar *sender_namespace);

Set `sender_namespace` of `message_queue` .

#### Parameters

message_queue | the AgsMessageQueue |
sender_namespace | the sender namespace |

Since: 3.6.16

### ags_message_queue_get_sender_namespace ()

    gchar *
    ags_message_queue_get_sender_namespace
                                   (AgsMessageQueue *message_queue);

Get sender namespace of `message_queue` .

#### Parameters

message_queue | the AgsMessageQueue |

#### Returns

the sender namespace.

[transfer full]

Since: 3.6.16

### ags_message_queue_set_recipient_namespace ()

    void
    ags_message_queue_set_recipient_namespace
                                   (AgsMessageQueue *message_queue,
                                    gchar *recipient_namespace);

Set `recipient_namespace` of `message_queue` .

#### Parameters

message_queue | the AgsMessageQueue |
recipient_namespace | the recipient namespace |

Since: 3.6.16

### ags_message_queue_get_recipient_namespace ()

    gchar *
    ags_message_queue_get_recipient_namespace
                                   (AgsMessageQueue *message_queue);

Get recipient namespace of `message_queue` .

#### Parameters

message_queue | the AgsMessageQueue |

#### Returns

the recipient namespace.

[transfer full]

Since: 3.6.16

### ags_message_queue_set_message_envelope ()

    void
    ags_message_queue_set_message_envelope
                                   (AgsMessageQueue *message_queue,
                                    GList *message_envelope);

Set `message_envelope` of `message_queue` .

#### Parameters

message_queue | the AgsMessageQueue |
message_envelope | the GList containing AgsMessageEnvelope. | [element-type Ags.MessageEnvelope][transfer full]

Since: 3.6.16

### ags_message_queue_get_message_envelope ()

    GList *
    ags_message_queue_get_message_envelope
                                   (AgsMessageQueue *message_queue);

Get message envelope of `message_queue` .

#### Parameters

message_queue | the AgsMessageQueue |

#### Returns

the GList containing AgsMessageEnvelope.

[element-type Ags.MessageEnvelope][transfer none]

Since: 3.6.16

### ags_message_queue_add_message_envelope ()

    void
    ags_message_queue_add_message_envelope
                                   (AgsMessageQueue *message_queue,
                                    GObject *message_envelope);

Add `message` to `message_queue` .

#### Parameters

message_queue | the AgsMessageQueue |
message_envelope | the AgsMessageEnvelope |

Since: 3.0.0

### ags_message_queue_remove_message_envelope ()

    void
    ags_message_queue_remove_message_envelope
                                   (AgsMessageQueue *message_queue,
                                    GObject *message_envelope);

Remove `message` from `message_queue` .

#### Parameters

message_queue | the AgsMessageQueue |
message_envelope | the AgsMessageEnvelope |

Since: 3.0.0

### ags_message_queue_find_sender ()

    GList *
    ags_message_queue_find_sender (AgsMessageQueue *message_queue,
                                   GObject *sender);

Find `sender` in `message_queue` 's messages.

#### Parameters

message_queue | the AgsMessageQueue |
sender | the sender as GObject |

#### Returns

all matching AgsMessageEnvelope as GList.

[element-type Ags.MessageEnvelope][transfer full]

Since: 3.0.0

### ags_message_queue_find_recipient ()

    GList *
    ags_message_queue_find_recipient (AgsMessageQueue *message_queue,
                                      GObject *recipient);

Find `recipient` in `message_queue` 's messages.

#### Parameters

message_queue | the AgsMessageQueue |
recipient | the recipient as GObject |

#### Returns

all matching AgsMessageEnvelope as GList.

[element-type Ags.MessageEnvelope][transfer full]

Since: 3.0.0

### ags_message_queue_query_message ()

    GList *
    ags_message_queue_query_message (AgsMessageQueue *message_queue,
                                     gchar *xpath);

Query `xpath` in `message_queue` 's messages.

#### Parameters

message_queue | the AgsMessageQueue |
xpath | the XPath as string |

#### Returns

all matching AgsMessageEnvelope as GList.

[element-type Ags.MessageEnvelope][transfer full]

Since: 3.0.0

### ags_message_queue_new ()

    AgsMessageQueue *
    ags_message_queue_new (gchar *sender_namespace);

Create a new instance of AgsMessageQueue.

#### Parameters

sender_namespace | the sender namespace |

#### Returns

the new AgsMessageQueue

Since: 3.0.0

## Property Details

### The `“recipient-namespace”` property

      “recipient-namespace”      char *

The assigned namespace of recipient.

Owner: AgsMessageQueue

Flags: Read / Write

Default value: NULL

Since: 3.0.0

### The `“sender-namespace”` property

      “sender-namespace”         char *

The assigned namespace of sender.

Owner: AgsMessageQueue

Flags: Read / Write

Default value: NULL

Since: 3.0.0