1 /*
2  * GUPnP Simple IGD abstraction
3  *
4  * Copyright 2008 Collabora Ltd.
5  *  @author: Olivier Crete <olivier.crete@collabora.co.uk>
6  * Copyright 2008 Nokia Corp.
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA
21  */
22 
23 #ifndef __GUPNP_SIMPLE_IGD_THREAD_H__
24 #define __GUPNP_SIMPLE_IGD_THREAD_H__
25 
26 #include <libgupnp-igd/gupnp-simple-igd.h>
27 
28 G_BEGIN_DECLS
29 
30 /* TYPE MACROS */
31 #define GUPNP_TYPE_SIMPLE_IGD_THREAD       \
32   (gupnp_simple_igd_thread_get_type ())
33 #define GUPNP_SIMPLE_IGD_THREAD(obj)                               \
34   (G_TYPE_CHECK_INSTANCE_CAST((obj), GUPNP_TYPE_SIMPLE_IGD_THREAD, \
35       GUPnPSimpleIgdThread))
36 #define GUPNP_SIMPLE_IGD_THREAD_CLASS(klass)                       \
37   (G_TYPE_CHECK_CLASS_CAST((klass), GUPNP_TYPE_SIMPLE_IGD_THREAD,  \
38       GUPnPSimpleIgdThreadClass))
39 #define GUPNP_IS_SIMPLE_IGD_THREAD(obj)                            \
40   (G_TYPE_CHECK_INSTANCE_TYPE((obj), GUPNP_TYPE_SIMPLE_IGD_THREAD))
41 #define GUPNP_IS_SIMPLE_IGD_THREAD_CLASS(klass)                    \
42   (G_TYPE_CHECK_CLASS_TYPE((klass), GUPNP_TYPE_SIMPLE_IGD_THREAD))
43 #define GUPNP_SIMPLE_IGD_THREAD_GET_CLASS(obj)                     \
44   (G_TYPE_INSTANCE_GET_CLASS ((obj), GUPNP_TYPE_SIMPLE_IGD_THREAD, \
45       GUPnPSimpleIgdThreadClass))
46 #define GUPNP_SIMPLE_IGD_THREAD_CAST(obj)                          \
47   ((GUPnPSimpleIgdThread *) (obj))
48 
49 typedef struct _GUPnPSimpleIgdThread GUPnPSimpleIgdThread;
50 typedef struct _GUPnPSimpleIgdThreadClass GUPnPSimpleIgdThreadClass;
51 typedef struct _GUPnPSimpleIgdThreadPrivate GUPnPSimpleIgdThreadPrivate;
52 
53 
54 /**
55  * GUPnPSimpleIgdThread:
56  *
57  * All members are private, access them using methods and properties
58  */
59 struct _GUPnPSimpleIgdThread
60 {
61   GUPnPSimpleIgd parent;
62 
63   /*< private >*/
64   GUPnPSimpleIgdThreadPrivate *priv;
65 };
66 
67 GType gupnp_simple_igd_thread_get_type (void);
68 
69 GUPnPSimpleIgdThread *
70 gupnp_simple_igd_thread_new (void);
71 
72 G_END_DECLS
73 
74 #endif /* __GUPNP_SIMPLE_IGD_THREAD_H__ */
75