1/* 2 * Copyright (C) 2012 Igalia S.L. 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Library General Public 6 * License as published by the Free Software Foundation; either 7 * version 2 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Library General Public License for more details. 13 * 14 * You should have received a copy of the GNU Library General Public License 15 * along with this library; see the file COPYING.LIB. If not, write to 16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17 * Boston, MA 02110-1301, USA. 18 */ 19 20#if !defined(__WEBKIT2_H_INSIDE__) && !defined(WEBKIT2_COMPILATION) 21#error "Only <webkit2/webkit2.h> can be included directly." 22#endif 23 24#ifndef WebKitDownload_h 25#define WebKitDownload_h 26 27#include <glib-object.h> 28#include <webkit2/WebKitDefines.h> 29#include <webkit2/WebKitForwardDeclarations.h> 30#include <webkit2/WebKitURIRequest.h> 31#include <webkit2/WebKitURIResponse.h> 32 33G_BEGIN_DECLS 34 35#define WEBKIT_TYPE_DOWNLOAD (webkit_download_get_type()) 36#define WEBKIT_DOWNLOAD(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_DOWNLOAD, WebKitDownload)) 37#define WEBKIT_IS_DOWNLOAD(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_DOWNLOAD)) 38#define WEBKIT_DOWNLOAD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), WEBKIT_TYPE_DOWNLOAD, WebKitDownloadClass)) 39#define WEBKIT_IS_DOWNLOAD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), WEBKIT_TYPE_DOWNLOAD)) 40#define WEBKIT_DOWNLOAD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), WEBKIT_TYPE_DOWNLOAD, WebKitDownloadClass)) 41 42typedef struct _WebKitDownload WebKitDownload; 43typedef struct _WebKitDownloadClass WebKitDownloadClass; 44typedef struct _WebKitDownloadPrivate WebKitDownloadPrivate; 45 46struct _WebKitDownload { 47 GObject parent; 48 49 WebKitDownloadPrivate *priv; 50}; 51 52struct _WebKitDownloadClass { 53 GObjectClass parent_class; 54 55 gboolean (* decide_destination) (WebKitDownload *download, 56 const gchar *suggested_filename); 57 58 void (*_webkit_reserved0) (void); 59 void (*_webkit_reserved1) (void); 60 void (*_webkit_reserved2) (void); 61 void (*_webkit_reserved3) (void); 62}; 63 64WEBKIT_API GType 65webkit_download_get_type (void); 66 67WEBKIT_API WebKitURIRequest * 68webkit_download_get_request (WebKitDownload *download); 69 70WEBKIT_API const gchar * 71webkit_download_get_destination (WebKitDownload *download); 72 73WEBKIT_API void 74webkit_download_set_destination (WebKitDownload *download, 75 const gchar *uri); 76 77WEBKIT_API WebKitURIResponse* 78webkit_download_get_response (WebKitDownload *download); 79 80WEBKIT_API void 81webkit_download_cancel (WebKitDownload *download); 82 83WEBKIT_API gdouble 84webkit_download_get_estimated_progress (WebKitDownload *download); 85 86WEBKIT_API gdouble 87webkit_download_get_elapsed_time (WebKitDownload *download); 88 89WEBKIT_API guint64 90webkit_download_get_received_data_length (WebKitDownload *download); 91 92WEBKIT_API WebKitWebView * 93webkit_download_get_web_view (WebKitDownload *download); 94 95G_END_DECLS 96 97#endif 98