1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
/* vim: set et ts=8 sw=8: */
/*
* Copyright 2014 Red Hat, Inc.
*
* Geoclue is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free
* Software Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* Geoclue is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
*
* You should have received a copy of the GNU General Public License along
* with Geoclue; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Authors: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
*/
#ifndef GCLUE_WEB_SOURCE_H
#define GCLUE_WEB_SOURCE_H
#include <glib.h>
#include <gio/gio.h>
#include "gclue-location-source.h"
#include <libsoup/soup.h>
G_BEGIN_DECLS
GType gclue_web_source_get_type (void) G_GNUC_CONST;
#define GCLUE_TYPE_WEB_SOURCE (gclue_web_source_get_type ())
#define GCLUE_WEB_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCLUE_TYPE_WEB_SOURCE, GClueWebSource))
#define GCLUE_IS_WEB_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCLUE_TYPE_WEB_SOURCE))
#define GCLUE_WEB_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCLUE_TYPE_WEB_SOURCE, GClueWebSourceClass))
#define GCLUE_IS_WEB_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCLUE_TYPE_WEB_SOURCE))
#define GCLUE_WEB_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCLUE_TYPE_WEB_SOURCE, GClueWebSourceClass))
/**
* GClueWebSource:
*
* All the fields in the #GClueWebSource structure are private and should never be accessed directly.
**/
typedef struct _GClueWebSource GClueWebSource;
typedef struct _GClueWebSourceClass GClueWebSourceClass;
typedef struct _GClueWebSourcePrivate GClueWebSourcePrivate;
struct _GClueWebSource {
/* <private> */
GClueLocationSource parent_instance;
GClueWebSourcePrivate *priv;
};
/**
* GClueWebSourceClass:
*
* All the fields in the #GClueWebSourceClass structure are private and should never be accessed directly.
**/
struct _GClueWebSourceClass {
/* <private> */
GClueLocationSourceClass parent_class;
void (*refresh_async) (GClueWebSource *source,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
GClueLocation *(*refresh_finish) (GClueWebSource *source,
GAsyncResult *result,
GError **error);
SoupMessage * (*create_query) (GClueWebSource *source,
const char **query_data_description,
GError **error);
SoupMessage * (*create_submit_query) (GClueWebSource *source,
GClueLocation *location,
GError **error);
GClueAccuracyLevel (*get_available_accuracy_level)
(GClueWebSource *source,
gboolean network_available);
};
void gclue_web_source_refresh (GClueWebSource *source);
void gclue_web_source_set_submit_source (GClueWebSource *source,
GClueLocationSource *submit_source);
G_END_DECLS
#endif /* GCLUE_WEB_SOURCE_H */
|