Documentation and coding style fixups
[platform/upstream/glib.git] / gio / gresolver.h
1 /* GIO - GLib Input, Output and Streaming Library
2  *
3  * Copyright (C) 2008 Red Hat, Inc.
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General
16  * Public License along with this library; if not, write to the
17  * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
18  * Boston, MA 02111-1307, USA.
19  */
20
21 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
22 #error "Only <gio/gio.h> can be included directly."
23 #endif
24
25 #ifndef __G_RESOLVER_H__
26 #define __G_RESOLVER_H__
27
28 #include <gio/giotypes.h>
29
30 G_BEGIN_DECLS
31
32 #define G_TYPE_RESOLVER         (g_resolver_get_type ())
33 #define G_RESOLVER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_RESOLVER, GResolver))
34 #define G_RESOLVER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_RESOLVER, GResolverClass))
35 #define G_IS_RESOLVER(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_RESOLVER))
36 #define G_IS_RESOLVER_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_RESOLVER))
37 #define G_RESOLVER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_RESOLVER, GResolverClass))
38
39 struct _GResolver {
40   GObject parent_instance;
41
42 };
43
44 typedef struct _GResolverClass GResolverClass;
45 struct _GResolverClass {
46   GObjectClass parent_class;
47
48   GList * ( *lookup_by_name)           (GResolver            *resolver,
49                                         const gchar          *hostname,
50                                         GCancellable         *cancellable,
51                                         GError              **error);
52   void    ( *lookup_by_name_async)     (GResolver            *resolver,
53                                         const gchar          *hostname,
54                                         GCancellable         *cancellable,
55                                         GAsyncReadyCallback   callback,
56                                         gpointer              user_data);
57   GList * ( *lookup_by_name_finish)    (GResolver            *resolver,
58                                         GAsyncResult         *result,
59                                         GError              **error);
60
61   gchar * ( *lookup_by_address)        (GResolver            *resolver,
62                                         GInetAddress         *address,
63                                         GCancellable         *cancellable,
64                                         GError              **error);
65   void    ( *lookup_by_address_async)  (GResolver            *resolver,
66                                         GInetAddress         *address,
67                                         GCancellable         *cancellable,
68                                         GAsyncReadyCallback   callback,
69                                         gpointer              user_data);
70   gchar * ( *lookup_by_address_finish) (GResolver            *resolver,
71                                         GAsyncResult         *result,
72                                         GError              **error);
73
74   GList * ( *lookup_service)           (GResolver            *resolver,
75                                         const gchar          *rrname,
76                                         GCancellable         *cancellable,
77                                         GError              **error);
78   void    ( *lookup_service_async)     (GResolver            *resolver,
79                                         const gchar          *rrname,
80                                         GCancellable         *cancellable,
81                                         GAsyncReadyCallback   callback,
82                                         gpointer              user_data);
83   GList * ( *lookup_service_finish)    (GResolver            *resolver,
84                                         GAsyncResult         *result,
85                                         GError              **error);
86
87   /* Padding for future expansion */
88   void (*_g_reserved1) (void);
89   void (*_g_reserved2) (void);
90   void (*_g_reserved3) (void);
91   void (*_g_reserved4) (void);
92   void (*_g_reserved5) (void);
93   void (*_g_reserved6) (void);
94
95 };
96
97 GType      g_resolver_get_type                  (void) G_GNUC_CONST;
98 GResolver *g_resolver_get_default               (void);
99 void       g_resolver_set_default               (GResolver            *resolver);
100
101 GList     *g_resolver_lookup_by_name            (GResolver            *resolver,
102                                                  const gchar          *hostname,
103                                                  GCancellable         *cancellable,
104                                                  GError              **error);
105 void       g_resolver_lookup_by_name_async      (GResolver            *resolver,
106                                                  const gchar          *hostname,
107                                                  GCancellable         *cancellable,
108                                                  GAsyncReadyCallback   callback,
109                                                  gpointer              user_data);
110 GList     *g_resolver_lookup_by_name_finish     (GResolver            *resolver,
111                                                  GAsyncResult         *result,
112                                                  GError              **error);
113
114 void       g_resolver_free_addresses            (GList                *addresses);
115
116 gchar     *g_resolver_lookup_by_address         (GResolver            *resolver,
117                                                  GInetAddress         *address,
118                                                  GCancellable         *cancellable,
119                                                  GError              **error);
120 void       g_resolver_lookup_by_address_async   (GResolver            *resolver,
121                                                  GInetAddress         *address,
122                                                  GCancellable         *cancellable,
123                                                  GAsyncReadyCallback   callback,
124                                                  gpointer              user_data);
125 gchar     *g_resolver_lookup_by_address_finish  (GResolver            *resolver,
126                                                  GAsyncResult         *result,
127                                                  GError              **error);
128
129 GList     *g_resolver_lookup_service            (GResolver            *resolver,
130                                                  const gchar          *service,
131                                                  const gchar          *protocol,
132                                                  const gchar          *domain,
133                                                  GCancellable         *cancellable,
134                                                  GError              **error);
135 void       g_resolver_lookup_service_async      (GResolver            *resolver,
136                                                  const gchar          *service,
137                                                  const gchar          *protocol,
138                                                  const gchar          *domain,
139                                                  GCancellable         *cancellable,
140                                                  GAsyncReadyCallback   callback,
141                                                  gpointer              user_data);
142 GList     *g_resolver_lookup_service_finish     (GResolver            *resolver,
143                                                  GAsyncResult         *result,
144                                                  GError              **error);
145
146 void       g_resolver_free_targets              (GList                *targets);
147
148 /**
149  * G_RESOLVER_ERROR:
150  *
151  * Error domain for #GResolver. Errors in this domain will be from the
152  * #GResolverError enumeration. See #GError for more information on
153  * error domains.
154  */
155 #define G_RESOLVER_ERROR (g_resolver_error_quark ())
156 GQuark g_resolver_error_quark (void);
157
158 G_END_DECLS
159
160 #endif /* __G_RESOLVER_H__ */