|
Packit |
39cd1e |
/*
|
|
Packit |
39cd1e |
* GUPnP Simple IGD abstraction
|
|
Packit |
39cd1e |
*
|
|
Packit |
39cd1e |
* Copyright 2008 Collabora Ltd.
|
|
Packit |
39cd1e |
* @author: Olivier Crete <olivier.crete@collabora.co.uk>
|
|
Packit |
39cd1e |
* Copyright 2008 Nokia Corp.
|
|
Packit |
39cd1e |
*
|
|
Packit |
39cd1e |
* This library is free software; you can redistribute it and/or
|
|
Packit |
39cd1e |
* modify it under the terms of the GNU Lesser General Public
|
|
Packit |
39cd1e |
* License as published by the Free Software Foundation; either
|
|
Packit |
39cd1e |
* version 2.1 of the License, or (at your option) any later version.
|
|
Packit |
39cd1e |
*
|
|
Packit |
39cd1e |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
39cd1e |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
39cd1e |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
39cd1e |
* Lesser General Public License for more details.
|
|
Packit |
39cd1e |
*
|
|
Packit |
39cd1e |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
39cd1e |
* License along with this library; if not, write to the Free Software
|
|
Packit |
39cd1e |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
Packit |
39cd1e |
*/
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
#ifndef __GUPNP_SIMPLE_IGD_H__
|
|
Packit |
39cd1e |
#define __GUPNP_SIMPLE_IGD_H__
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
#include <glib.h>
|
|
Packit |
39cd1e |
#include <glib-object.h>
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
G_BEGIN_DECLS
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
/* TYPE MACROS */
|
|
Packit |
39cd1e |
#define GUPNP_TYPE_SIMPLE_IGD \
|
|
Packit |
39cd1e |
(gupnp_simple_igd_get_type ())
|
|
Packit |
39cd1e |
#define GUPNP_SIMPLE_IGD(obj) \
|
|
Packit |
39cd1e |
(G_TYPE_CHECK_INSTANCE_CAST((obj), GUPNP_TYPE_SIMPLE_IGD, \
|
|
Packit |
39cd1e |
GUPnPSimpleIgd))
|
|
Packit |
39cd1e |
#define GUPNP_SIMPLE_IGD_CLASS(klass) \
|
|
Packit |
39cd1e |
(G_TYPE_CHECK_CLASS_CAST((klass), GUPNP_TYPE_SIMPLE_IGD, \
|
|
Packit |
39cd1e |
GUPnPSimpleIgdClass))
|
|
Packit |
39cd1e |
#define GUPNP_IS_SIMPLE_IGD(obj) \
|
|
Packit |
39cd1e |
(G_TYPE_CHECK_INSTANCE_TYPE((obj), GUPNP_TYPE_SIMPLE_IGD))
|
|
Packit |
39cd1e |
#define GUPNP_IS_SIMPLE_IGD_CLASS(klass) \
|
|
Packit |
39cd1e |
(G_TYPE_CHECK_CLASS_TYPE((klass), GUPNP_TYPE_SIMPLE_IGD))
|
|
Packit |
39cd1e |
#define GUPNP_SIMPLE_IGD_GET_CLASS(obj) \
|
|
Packit |
39cd1e |
(G_TYPE_INSTANCE_GET_CLASS ((obj), GUPNP_TYPE_SIMPLE_IGD, \
|
|
Packit |
39cd1e |
GUPnPSimpleIgdClass))
|
|
Packit |
39cd1e |
#define GUPNP_SIMPLE_IGD_CAST(obj) \
|
|
Packit |
39cd1e |
((GUPnPSimpleIgd *) (obj))
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
typedef struct _GUPnPSimpleIgd GUPnPSimpleIgd;
|
|
Packit |
39cd1e |
typedef struct _GUPnPSimpleIgdClass GUPnPSimpleIgdClass;
|
|
Packit |
39cd1e |
typedef struct _GUPnPSimpleIgdPrivate GUPnPSimpleIgdPrivate;
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
/**
|
|
Packit |
39cd1e |
* GUPnPSimpleIgd:
|
|
Packit |
39cd1e |
*
|
|
Packit |
39cd1e |
* All members are private, access them using methods and properties
|
|
Packit |
39cd1e |
*/
|
|
Packit |
39cd1e |
struct _GUPnPSimpleIgd
|
|
Packit |
39cd1e |
{
|
|
Packit |
39cd1e |
GObject parent;
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
/*< private >*/
|
|
Packit |
39cd1e |
GUPnPSimpleIgdPrivate *priv;
|
|
Packit |
39cd1e |
};
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
/**
|
|
Packit |
39cd1e |
* GUPNP_SIMPLE_IGD_ERROR:
|
|
Packit |
39cd1e |
*
|
|
Packit |
39cd1e |
* The error domain for GUPnP Simple IGD
|
|
Packit |
39cd1e |
*/
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
#define GUPNP_SIMPLE_IGD_ERROR (gupnp_simple_igd_error_quark ())
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
/**
|
|
Packit |
39cd1e |
* GUPnPSimpleIgdError:
|
|
Packit |
39cd1e |
* @GUPNP_SIMPLE_IGD_ERROR_EXTERNAL_ADDRESS: Error getting the external
|
|
Packit |
39cd1e |
* address of the router
|
|
Packit |
39cd1e |
*
|
|
Packit |
39cd1e |
* Errors coming out of the GUPnPSimpleIGD object.
|
|
Packit |
39cd1e |
*/
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
typedef enum {
|
|
Packit |
39cd1e |
GUPNP_SIMPLE_IGD_ERROR_EXTERNAL_ADDRESS,
|
|
Packit |
39cd1e |
} GUPnPSimpleIgdError;
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
GQuark gupnp_simple_igd_error_quark (void);
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
GType gupnp_simple_igd_get_type (void);
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
GUPnPSimpleIgd *
|
|
Packit |
39cd1e |
gupnp_simple_igd_new (void);
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
void
|
|
Packit |
39cd1e |
gupnp_simple_igd_add_port (GUPnPSimpleIgd *self,
|
|
Packit |
39cd1e |
const gchar *protocol,
|
|
Packit |
39cd1e |
guint16 external_port,
|
|
Packit |
39cd1e |
const gchar *local_ip,
|
|
Packit |
39cd1e |
guint16 local_port,
|
|
Packit |
39cd1e |
guint32 lease_duration,
|
|
Packit |
39cd1e |
const gchar *description);
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
void
|
|
Packit |
39cd1e |
gupnp_simple_igd_remove_port (GUPnPSimpleIgd *self,
|
|
Packit |
39cd1e |
const gchar *protocol,
|
|
Packit |
39cd1e |
guint external_port);
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
void
|
|
Packit |
39cd1e |
gupnp_simple_igd_remove_port_local (GUPnPSimpleIgd *self,
|
|
Packit |
39cd1e |
const gchar *protocol,
|
|
Packit |
39cd1e |
const gchar *local_ip,
|
|
Packit |
39cd1e |
guint16 local_port);
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
gboolean
|
|
Packit |
39cd1e |
gupnp_simple_igd_delete_all_mappings (GUPnPSimpleIgd *self);
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
G_END_DECLS
|
|
Packit |
39cd1e |
|
|
Packit |
39cd1e |
#endif /* __GUPNP_SIMPLE_IGD_H__ */
|