guard cosmetix in headers
[k8lowj.git] / src / network-internal.h
blobcf67fc0d1c7bdcb7efb0e7cd83d3b3027cfa6781
1 /* logjam - a GTK client for LiveJournal.
2 * Copyright (C) 2000-2003 Evan Martin <evan@livejournal.com>
3 */
4 #ifndef __LOGJAM_NETWORK_INTERNAL_H__
5 #define __LOGJAM_NETWORK_INTERNAL_H__
7 #include "network.h"
9 /* network-internal -- interface to http, used by network.
10 * provides a blocking and nonblocking interface.
11 * implemented by
12 * network-curl -- curl (unix, fork);
13 * network-win32 -- windows api (windows, threads).
16 #define READ_BLOCK_SIZE 2048
18 typedef enum {
19 NET_STATUS_NULL,
20 NET_STATUS_BEGIN,
21 NET_STATUS_SUCCESS,
22 NET_STATUS_ERROR,
23 NET_STATUS_PROGRESS,
24 NET_STATUS_DONE
25 } NetStatusType;
27 typedef struct {
28 guint32 current;
29 guint32 total;
30 } NetStatusProgress;
32 typedef void (*NetStatusCallback)(NetStatusType status,
33 gpointer statusdata,
34 gpointer data);
36 GString* net_post_blocking(const char *url, GSList *headers, GString *post,
37 NetStatusCallback cb, gpointer data,
38 GError **err);
40 typedef void* NetMainloopHandle;
42 GString* net_post_mainloop(const char *url, GSList *headers, GString *post,
43 NetStatusCallback cb, gpointer data,
44 GError **err);
45 void net_mainloop_cancel(NetMainloopHandle handle);
47 gboolean net_verb_run_internal(LJVerb *verb,
48 NetStatusCallback cb, gpointer data,
49 GError **err);
51 #endif /* network_internal_h */