Added download.h
This commit is contained in:
parent
08c6243897
commit
f3fd2bc85e
1
Makefile
1
Makefile
@ -40,6 +40,7 @@ dist:
|
|||||||
$(PACKAGE)-$(VERSION)/src/Makefile \
|
$(PACKAGE)-$(VERSION)/src/Makefile \
|
||||||
$(PACKAGE)-$(VERSION)/src/callbacks.h \
|
$(PACKAGE)-$(VERSION)/src/callbacks.h \
|
||||||
$(PACKAGE)-$(VERSION)/src/common.h \
|
$(PACKAGE)-$(VERSION)/src/common.h \
|
||||||
|
$(PACKAGE)-$(VERSION)/src/download.h \
|
||||||
$(PACKAGE)-$(VERSION)/src/ghtml.h \
|
$(PACKAGE)-$(VERSION)/src/ghtml.h \
|
||||||
$(PACKAGE)-$(VERSION)/src/surfer.h \
|
$(PACKAGE)-$(VERSION)/src/surfer.h \
|
||||||
$(PACKAGE)-$(VERSION)/src/ghtml-gtkhtml.c \
|
$(PACKAGE)-$(VERSION)/src/ghtml-gtkhtml.c \
|
||||||
|
@ -34,7 +34,7 @@ surfer_LDFLAGS = $(LDFLAGSF) $(LDFLAGS) -L $(PREFIX)/lib -Wl,-rpath,$(PREFIX)/li
|
|||||||
surfer: $(surfer_OBJS)
|
surfer: $(surfer_OBJS)
|
||||||
$(CC) -o surfer $(surfer_OBJS) $(surfer_LDFLAGS)
|
$(CC) -o surfer $(surfer_OBJS) $(surfer_LDFLAGS)
|
||||||
|
|
||||||
download.o: download.c ../config.h
|
download.o: download.c download.h ../config.h
|
||||||
$(CC) $(download_CFLAGS) -c download.c
|
$(CC) $(download_CFLAGS) -c download.c
|
||||||
|
|
||||||
surfer.o: surfer.c callbacks.h surfer.h ../config.h
|
surfer.o: surfer.c callbacks.h surfer.h ../config.h
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
# define GNET_EXPERIMENTAL
|
# define GNET_EXPERIMENTAL
|
||||||
# include <gnet.h>
|
# include <gnet.h>
|
||||||
#endif
|
#endif
|
||||||
|
#include "download.h"
|
||||||
#include "../config.h"
|
#include "../config.h"
|
||||||
#define _(string) gettext(string)
|
#define _(string) gettext(string)
|
||||||
|
|
||||||
@ -48,14 +49,9 @@
|
|||||||
|
|
||||||
|
|
||||||
/* Download */
|
/* Download */
|
||||||
|
/* private */
|
||||||
/* types */
|
/* types */
|
||||||
typedef struct _DownloadPrefs
|
struct _Download
|
||||||
{
|
|
||||||
char const * output;
|
|
||||||
char const * user_agent;
|
|
||||||
} DownloadPrefs;
|
|
||||||
|
|
||||||
typedef struct _Download
|
|
||||||
{
|
{
|
||||||
DownloadPrefs * prefs;
|
DownloadPrefs * prefs;
|
||||||
char * url;
|
char * url;
|
||||||
@ -82,7 +78,7 @@ typedef struct _Download
|
|||||||
|
|
||||||
guint timeout;
|
guint timeout;
|
||||||
int pulse;
|
int pulse;
|
||||||
} Download;
|
};
|
||||||
|
|
||||||
|
|
||||||
/* constants */
|
/* constants */
|
||||||
@ -94,9 +90,6 @@ static unsigned int _download_cnt = 0;
|
|||||||
|
|
||||||
|
|
||||||
/* prototypes */
|
/* prototypes */
|
||||||
static Download * _download_new(DownloadPrefs * prefs, char const * url);
|
|
||||||
static void _download_delete(Download * download);
|
|
||||||
static int _download_cancel(Download * download);
|
|
||||||
static int _download_error(Download * download, char const * message, int ret);
|
static int _download_error(Download * download, char const * message, int ret);
|
||||||
static void _download_refresh(Download * download);
|
static void _download_refresh(Download * download);
|
||||||
#ifndef WITH_WEBKIT
|
#ifndef WITH_WEBKIT
|
||||||
@ -115,12 +108,14 @@ static gboolean _download_on_idle(gpointer data);
|
|||||||
static gboolean _download_on_timeout(gpointer data);
|
static gboolean _download_on_timeout(gpointer data);
|
||||||
|
|
||||||
|
|
||||||
|
/* public */
|
||||||
/* functions */
|
/* functions */
|
||||||
|
/* download_new */
|
||||||
static void _download_label(GtkWidget * vbox, PangoFontDescription * bold,
|
static void _download_label(GtkWidget * vbox, PangoFontDescription * bold,
|
||||||
GtkSizeGroup * left, GtkSizeGroup * right, char const * label,
|
GtkSizeGroup * left, GtkSizeGroup * right, char const * label,
|
||||||
GtkWidget ** widget, char const * text);
|
GtkWidget ** widget, char const * text);
|
||||||
|
|
||||||
static Download * _download_new(DownloadPrefs * prefs, char const * url)
|
Download * download_new(DownloadPrefs * prefs, char const * url)
|
||||||
{
|
{
|
||||||
Download * download;
|
Download * download;
|
||||||
char buf[256];
|
char buf[256];
|
||||||
@ -212,7 +207,7 @@ static void _download_label(GtkWidget * vbox, PangoFontDescription * bold,
|
|||||||
|
|
||||||
|
|
||||||
/* download_delete */
|
/* download_delete */
|
||||||
static void _download_delete(Download * download)
|
void download_delete(Download * download)
|
||||||
{
|
{
|
||||||
#ifdef WITH_WEBKIT
|
#ifdef WITH_WEBKIT
|
||||||
if(download->conn != NULL)
|
if(download->conn != NULL)
|
||||||
@ -237,14 +232,17 @@ static void _download_delete(Download * download)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* useful */
|
||||||
/* download_cancel */
|
/* download_cancel */
|
||||||
static int _download_cancel(Download * download)
|
int download_cancel(Download * download)
|
||||||
{
|
{
|
||||||
_download_delete(download);
|
download_delete(download);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* private */
|
||||||
|
/* functions */
|
||||||
/* download_error */
|
/* download_error */
|
||||||
static int _download_error(Download * download, char const * message, int ret)
|
static int _download_error(Download * download, char const * message, int ret)
|
||||||
{
|
{
|
||||||
@ -343,7 +341,7 @@ static int _download_write(Download * download)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
_download_error(download, download->prefs->output, 0);
|
_download_error(download, download->prefs->output, 0);
|
||||||
_download_cancel(download);
|
download_cancel(download);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -356,7 +354,7 @@ static void _download_on_cancel(gpointer data)
|
|||||||
Download * download = data;
|
Download * download = data;
|
||||||
|
|
||||||
gtk_widget_hide(download->window);
|
gtk_widget_hide(download->window);
|
||||||
_download_cancel(download);
|
download_cancel(download);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -367,7 +365,7 @@ static gboolean _download_on_closex(GtkWidget * widget, GdkEvent * event,
|
|||||||
Download * download = data;
|
Download * download = data;
|
||||||
|
|
||||||
gtk_widget_hide(widget);
|
gtk_widget_hide(widget);
|
||||||
_download_cancel(download);
|
download_cancel(download);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -457,7 +455,7 @@ static void _http_data_complete(GConnHttpEventData * event,
|
|||||||
_download_refresh(download);
|
_download_refresh(download);
|
||||||
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(download->check)))
|
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(download->check)))
|
||||||
{
|
{
|
||||||
_download_cancel(download);
|
download_cancel(download);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
gtk_label_set_text(GTK_LABEL(download->status), _("Complete"));
|
gtk_label_set_text(GTK_LABEL(download->status), _("Complete"));
|
||||||
@ -522,7 +520,7 @@ static gboolean _download_on_idle(gpointer data)
|
|||||||
if((p = malloc(strlen(prefs->output) + 6)) == NULL)
|
if((p = malloc(strlen(prefs->output) + 6)) == NULL)
|
||||||
{
|
{
|
||||||
_download_error(download, prefs->output, 0);
|
_download_error(download, prefs->output, 0);
|
||||||
_download_cancel(download);
|
download_cancel(download);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
/* FIXME needs to be an absolute path */
|
/* FIXME needs to be an absolute path */
|
||||||
@ -537,7 +535,7 @@ static gboolean _download_on_idle(gpointer data)
|
|||||||
{
|
{
|
||||||
_download_error(download, prefs->output, 0);
|
_download_error(download, prefs->output, 0);
|
||||||
free(p);
|
free(p);
|
||||||
_download_cancel(download);
|
download_cancel(download);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
download->conn = gnet_conn_http_new();
|
download->conn = gnet_conn_http_new();
|
||||||
@ -577,7 +575,7 @@ static gboolean _download_on_timeout(gpointer data)
|
|||||||
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
|
if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
|
||||||
d->check)))
|
d->check)))
|
||||||
{
|
{
|
||||||
_download_cancel(d);
|
download_cancel(d);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
gtk_label_set_text(GTK_LABEL(d->status), _("Complete"));
|
gtk_label_set_text(GTK_LABEL(d->status), _("Complete"));
|
||||||
@ -649,7 +647,7 @@ int main(int argc, char * argv[])
|
|||||||
if((download = malloc(sizeof(*download) * cnt)) == NULL)
|
if((download = malloc(sizeof(*download) * cnt)) == NULL)
|
||||||
return _download_error(NULL, "malloc", -2);
|
return _download_error(NULL, "malloc", -2);
|
||||||
for(o = 0; o < cnt; o++)
|
for(o = 0; o < cnt; o++)
|
||||||
download[o] = _download_new(&prefs, argv[optind + o]);
|
download[o] = download_new(&prefs, argv[optind + o]);
|
||||||
gtk_main();
|
gtk_main();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ cppflags=-I $(PREFIX)/include
|
|||||||
cflags_force=-W
|
cflags_force=-W
|
||||||
cflags=-Wall -g -O2 -pedantic
|
cflags=-Wall -g -O2 -pedantic
|
||||||
ldflags=
|
ldflags=
|
||||||
dist=Makefile,callbacks.h,common.h,ghtml.h,surfer.h,ghtml-gtkhtml.c,ghtml-gtkmozembed.c,ghtml-gtktextview.c,ghtml-webkit.c
|
dist=Makefile,callbacks.h,common.h,download.h,ghtml.h,surfer.h,ghtml-gtkhtml.c,ghtml-gtkmozembed.c,ghtml-gtktextview.c,ghtml-webkit.c
|
||||||
|
|
||||||
[download]
|
[download]
|
||||||
type=binary
|
type=binary
|
||||||
@ -18,7 +18,7 @@ sources=download.c
|
|||||||
install=$(BINDIR)
|
install=$(BINDIR)
|
||||||
|
|
||||||
[download.c]
|
[download.c]
|
||||||
depends=../config.h
|
depends=download.h,../config.h
|
||||||
|
|
||||||
[surfer]
|
[surfer]
|
||||||
type=binary
|
type=binary
|
||||||
|
Loading…
Reference in New Issue
Block a user