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 /* typedef struct _PurpleUPnPRequestData PurpleUPnPRequestData; */ 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 /* _PURPLE_UPNP_H_ */