summaryrefslogtreecommitdiff
path: root/rest/rest-proxy-call.c
diff options
context:
space:
mode:
authorChristophe Fergeau <cfergeau@redhat.com>2014-09-02 16:27:50 +0200
committerChristophe Fergeau <cfergeau@redhat.com>2014-09-03 10:23:44 +0200
commit73984ab8bad002080885df1a12efd97b35ba7810 (patch)
tree5518a5007aec06f45a13ee82fbf34238d78b1ac4 /rest/rest-proxy-call.c
parent3ec0311b5f38f55784c63925600ff66263c20b9e (diff)
downloadlibrest-73984ab8bad002080885df1a12efd97b35ba7810.tar.gz
Move RestProxyCallPrivate to rest-proxy-call.c
It was in a separate rest-proxy-call.h header which allowed derived classes to access RestProxyCall private data without any control. Better to go through explicit methods to do that. https://bugzilla.gnome.org/show_bug.cgi?id=735919
Diffstat (limited to 'rest/rest-proxy-call.c')
-rw-r--r--rest/rest-proxy-call.c37
1 files changed, 32 insertions, 5 deletions
diff --git a/rest/rest-proxy-call.c b/rest/rest-proxy-call.c
index 3339d47..f5dc6bc 100644
--- a/rest/rest-proxy-call.c
+++ b/rest/rest-proxy-call.c
@@ -28,10 +28,6 @@
#include "rest-private.h"
#include "rest-proxy-call-private.h"
-G_DEFINE_TYPE (RestProxyCall, rest_proxy_call, G_TYPE_OBJECT)
-
-#define GET_PRIVATE(o) \
- (G_TYPE_INSTANCE_GET_PRIVATE ((o), REST_TYPE_PROXY_CALL, RestProxyCallPrivate))
struct _RestProxyCallAsyncClosure {
RestProxyCall *call;
@@ -40,7 +36,7 @@ struct _RestProxyCallAsyncClosure {
gpointer userdata;
SoupMessage *message;
};
-
+typedef struct _RestProxyCallAsyncClosure RestProxyCallAsyncClosure;
struct _RestProxyCallContinuousClosure {
RestProxyCall *call;
@@ -49,6 +45,7 @@ struct _RestProxyCallContinuousClosure {
gpointer userdata;
SoupMessage *message;
};
+typedef struct _RestProxyCallContinuousClosure RestProxyCallContinuousClosure;
struct _RestProxyCallUploadClosure {
RestProxyCall *call;
@@ -58,6 +55,36 @@ struct _RestProxyCallUploadClosure {
SoupMessage *message;
gsize uploaded;
};
+typedef struct _RestProxyCallUploadClosure RestProxyCallUploadClosure;
+
+
+G_DEFINE_TYPE (RestProxyCall, rest_proxy_call, G_TYPE_OBJECT)
+
+#define GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((o), REST_TYPE_PROXY_CALL, RestProxyCallPrivate))
+
+struct _RestProxyCallPrivate {
+ gchar *method;
+ gchar *function;
+ GHashTable *headers;
+ RestParams *params;
+ /* The real URL we're about to invoke */
+ gchar *url;
+
+ GHashTable *response_headers;
+ goffset length;
+ gchar *payload;
+ guint status_code;
+ gchar *status_message;
+
+ GCancellable *cancellable;
+ gulong cancel_sig;
+
+ RestProxy *proxy;
+
+ RestProxyCallAsyncClosure *cur_call_closure;
+};
+
enum
{