#include <glib.h>
+#include <string.h>
+
struct _atom_request
{
int type;
char *request;
+ char *content;
+ size_t content_len;
};
AtomRequest *
req = g_slice_new (AtomRequest);
req->type = type;
req->request = g_strdup (request);
+ req->content = NULL;
+ req->content_len = 0;
return req;
}
{
if (req->request)
g_free (req->request);
+ if (req->content)
+ g_free (req->content);
g_slice_free (AtomRequest, req);
}
{
return req->request;
}
+
+void
+atom_request_content_set (AtomRequest *req, char *content, size_t len)
+{
+ if (req->content)
+ g_free (req->content);
+ req->content = g_malloc (len);
+ memcpy (req->content, content, len);
+ req->content_len = len;
+}
+
+void
+atom_request_content (AtomRequest *req, char **content, size_t *len)
+{
+ if (content)
+ *content = req->content;
+ if (len)
+ *len = req->content_len;
+}