summaryrefslogtreecommitdiff
path: root/libsoup/soup-message-queue-item.h
diff options
context:
space:
mode:
Diffstat (limited to 'libsoup/soup-message-queue-item.h')
-rw-r--r--libsoup/soup-message-queue-item.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/libsoup/soup-message-queue-item.h b/libsoup/soup-message-queue-item.h
new file mode 100644
index 00000000..4f7bf055
--- /dev/null
+++ b/libsoup/soup-message-queue-item.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2003 Novell, Inc.
+ * Copyright (C) 2008 Red Hat, Inc.
+ * Copyright (C) 2021 Igalia S.L.
+ */
+
+#pragma once
+
+#include "soup-connection.h"
+#include "soup-message.h"
+#include "soup-session-private.h"
+
+G_BEGIN_DECLS
+
+typedef enum {
+ SOUP_MESSAGE_STARTING,
+ SOUP_MESSAGE_CONNECTING,
+ SOUP_MESSAGE_CONNECTED,
+ SOUP_MESSAGE_TUNNELING,
+ SOUP_MESSAGE_READY,
+ SOUP_MESSAGE_RUNNING,
+ SOUP_MESSAGE_CACHED,
+ SOUP_MESSAGE_RESTARTING,
+ SOUP_MESSAGE_FINISHING,
+ SOUP_MESSAGE_FINISHED
+} SoupMessageQueueItemState;
+
+struct _SoupMessageQueueItem {
+ SoupSession *session;
+ SoupMessage *msg;
+ SoupSessionCallback callback;
+ gpointer callback_data;
+
+ GCancellable *cancellable;
+ GError *error;
+
+ SoupConnection *conn;
+ GTask *task;
+
+ guint paused : 1;
+ guint io_started : 1;
+ guint async : 1;
+ guint connect_only : 1;
+ guint priority : 3;
+ guint resend_count : 5;
+ int io_priority;
+
+ SoupMessageQueueItemState state;
+ SoupMessageQueueItem *related;
+};
+
+SoupMessageQueueItem *soup_message_queue_item_new (SoupSession *session,
+ SoupMessage *msg,
+ gboolean async,
+ GCancellable *cancellable,
+ SoupSessionCallback callback,
+ gpointer user_data);
+
+SoupMessageQueueItem *soup_message_queue_item_ref (SoupMessageQueueItem *item);
+void soup_message_queue_item_unref (SoupMessageQueueItem *item);
+void soup_message_queue_item_cancel (SoupMessageQueueItem *item);
+
+G_END_DECLS