00001
00026 #ifndef _PURPLE_UPNP_H_
00027 #define _PURPLE_UPNP_H_
00028
00029 typedef struct _UPnPMappingAddRemove UPnPMappingAddRemove;
00030
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034
00035
00037
00040
00041
00042 typedef void (*PurpleUPnPCallback) (gboolean success, gpointer data);
00043
00044
00048 void purple_upnp_init(void);
00049
00050
00061 void purple_upnp_discover(PurpleUPnPCallback cb, gpointer cb_data);
00062
00063 #if 0
00064
00071 const PurpleUPnPControlInfo* purple_upnp_get_control_info(void);
00072 #endif
00073
00082 const gchar* purple_upnp_get_public_ip(void);
00083
00090 void purple_upnp_cancel_port_mapping(UPnPMappingAddRemove *mapping_data);
00091
00105 UPnPMappingAddRemove *purple_upnp_set_port_mapping(unsigned short portmap, const gchar* protocol,
00106 PurpleUPnPCallback cb, gpointer cb_data);
00107
00122 UPnPMappingAddRemove *purple_upnp_remove_port_mapping(unsigned short portmap,
00123 const gchar* protocol, PurpleUPnPCallback cb, gpointer cb_data);
00124
00127 #ifdef __cplusplus
00128 }
00129 #endif
00130
00131 #endif