1231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block/*
2231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * Copyright (C) 2009 Jan Michael C. Alonzo
3231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block *
4231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * This library is free software; you can redistribute it and/or
5231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * modify it under the terms of the GNU Library General Public
6231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * License as published by the Free Software Foundation; either
7231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * version 2 of the License, or (at your option) any later version.
8231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block *
9231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * This library is distributed in the hope that it will be useful,
10231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * but WITHOUT ANY WARRANTY; without even the implied warranty of
11231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * Library General Public License for more details.
13231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block *
14231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * You should have received a copy of the GNU Library General Public License
15231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * along with this library; see the file COPYING.LIB.  If not, write to
16231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block * Boston, MA 02110-1301, USA.
18231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block */
19231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
20231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#ifndef webkitwebresource_h
21231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#define webkitwebresource_h
22231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
23231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include <glib.h>
24231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include <glib-object.h>
25231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
26231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include <webkit/webkitdefines.h>
27231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
28231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockG_BEGIN_DECLS
29231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
30231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#define WEBKIT_TYPE_WEB_RESOURCE            (webkit_web_resource_get_type())
31231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#define WEBKIT_WEB_RESOURCE(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj), WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResource))
32231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#define WEBKIT_WEB_RESOURCE_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),  WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResourceClass))
33231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#define WEBKIT_IS_WEB_RESOURCE(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj), WEBKIT_TYPE_WEB_RESOURCE))
34231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#define WEBKIT_IS_WEB_RESOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),  WEBKIT_TYPE_WEB_RESOURCE))
35231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#define WEBKIT_WEB_RESOURCE_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj),  WEBKIT_TYPE_WEB_RESOURCE, WebKitWebResourceClass))
36231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
37231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blocktypedef struct _WebKitWebResourcePrivate WebKitWebResourcePrivate;
38231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
39231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockstruct _WebKitWebResource {
40231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    GObject parent_instance;
41231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
42231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    /*< private >*/
43231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    WebKitWebResourcePrivate *priv;
44231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block};
45231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
46231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockstruct _WebKitWebResourceClass {
47231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    GObjectClass parent_class;
48231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
49231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    /* Padding for future expansion */
50231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    void (*_webkit_reserved0) (void);
51231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    void (*_webkit_reserved1) (void);
52231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    void (*_webkit_reserved2) (void);
53231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    void (*_webkit_reserved3) (void);
54231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block};
55231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
56231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockWEBKIT_API GType
57231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockwebkit_web_resource_get_type (void);
58231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
59231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockWEBKIT_API WebKitWebResource *
60231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockwebkit_web_resource_new                    (const gchar        *data,
61231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block                                            gssize             size,
62231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block                                            const gchar        *uri,
63231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block                                            const gchar        *mime_type,
64231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block                                            const gchar        *encoding,
65231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block                                            const gchar        *frame_name);
66231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
67231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockWEBKIT_API GString *
68231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockwebkit_web_resource_get_data               (WebKitWebResource  *web_resource);
69231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
70231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockWEBKIT_API G_CONST_RETURN gchar *
71231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockwebkit_web_resource_get_uri                (WebKitWebResource  *web_resource);
72231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
73231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockWEBKIT_API G_CONST_RETURN gchar *
74231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockwebkit_web_resource_get_mime_type          (WebKitWebResource  *web_resource);
75231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
76231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockWEBKIT_API G_CONST_RETURN gchar *
77231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockwebkit_web_resource_get_encoding           (WebKitWebResource  *web_resource);
78231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
79231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockWEBKIT_API G_CONST_RETURN gchar *
80231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockwebkit_web_resource_get_frame_name         (WebKitWebResource  *web_resource);
81231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
82231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockG_END_DECLS
83231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
84231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#endif /* webkitwebresource_h */
85