X-Git-Url: http://git.maemo.org/git/?p=python-purple;a=blobdiff_plain;f=libpurple%2Futil.pxd;h=325d1c6770f1a18feb9cf741a595c5339b3ceca5;hp=04bd446aceaccb86d823edf6cb41241b151b9a0d;hb=0a91c79e1aff35fa819bff3f791be113516578a0;hpb=e7e4e8ff4937aed9c1b732719bc310c3e8a88f5e diff --git a/libpurple/util.pxd b/libpurple/util.pxd index 04bd446..325d1c6 100644 --- a/libpurple/util.pxd +++ b/libpurple/util.pxd @@ -17,6 +17,167 @@ # along with this program. If not, see . # +cimport account +cimport notify +cimport glib +cimport signals +cimport xmlnode + +cdef extern from *: + ctypedef int size_t + cdef extern from "libpurple/util.h": - void *c_purple_markup_strip_html "purple_markup_strip_html" (char *str) - void c_purple_util_set_user_dir "purple_util_set_user_dir" (char *dir) + ctypedef struct PurpleUtilFetchUrlData: + pass + + ctypedef struct PurpleMenuAction: + char *label + signals.PurpleCallback callback + glib.gpointer data + glib.GList *children + + ctypedef char *(*PurpleInfoFieldFormatCallback)(char *field, size_t len) + + ctypedef struct PurpleKeyValuePair: + glib.gchar *key + void *value + + PurpleMenuAction *purple_menu_action_new(char *label, \ + signals.PurpleCallback callback, glib.gpointer data, \ + glib.GList *children) + void purple_menu_action_free(PurpleMenuAction *act) + + void purple_util_set_current_song(char *title, char *artist, char *album) + + char *purple_util_format_song_info(char *title, char *artist, \ + char *album, glib.gpointer unused) + + # Utility Subsystem + void purple_util_init() + void purple_util_uninit() + + # Base16 Functions + glib.gchar *purple_base16_encode(glib.guchar *data, glib.gsize len) + glib.guchar *purple_base16_decode(char *str, glib.gsize *ret_len) + glib.gchar *purple_base16_encode_chunked(glib.guchar *data, glib.gsize len) + + # Base64 Functions + glib.gchar *purple_base64_encode(glib.guchar *data, glib.gsize len) + glib.guchar *purple_base64_decode(char *str, glib.gsize *ret_len) + + # Quoted Printable Functions + glib.guchar *purple_quotedp_decode(char *str, glib.gsize *ret_len) + + # MIME Functions + char *purple_mime_decode_field(char *str) + + # Date/Time Functions FIXME + #char *purple_utf8_strftime(char *format, struct tm *tm) + #char *purple_get_tzoff_str(struct tm *tm, glib.gboolean iso) + #char *purple_date_format_short(struct tm *tm) + #char *purple_date_format_long(struct tm *tm) + #char *purple_date_format_full(struct tm *tm) + #char *purple_time_format(struct tm *tm) + #time_t purple_time_build(int year, int month, int day, int hour, int min, \ + #int sec) + #time_t purple_str_to_time(char *timestamp, glib.gboolean utc, \ + #struct tm *tm, long *tz_off, char **rest); + + # Markup Functions FIXME +# glib.gboolean purple_markup_find_tag(char *needle, char *haystack, \ +# char **start, char **end, glib.GData **attributes) + glib.gboolean purple_markup_extract_info_field(char *str, int len, \ + notify.PurpleNotifyUserInfo *user_info, char *start_token, \ + int skip, char *end_token, char check_value, \ + char *no_value_token, char *display_name, glib.gboolean is_link, \ + char *link_prefix, PurpleInfoFieldFormatCallback format_cb) + void purple_markup_html_to_xhtml(char *html, char **dest_xhtml, char **dest_plain) + char *purple_markup_strip_html(char *str) + char *purple_markup_linkify(char *str) + char *purple_unescape_html(char *html) + char *purple_markup_slice(char *str, glib.guint x, glib.guint y) + char *purple_markup_get_tag_name(char *tag) + char *purple_markup_unescape_entity(char *text, int *length) + char *purple_markup_get_css_property(glib.gchar *style, glib.gchar *opt) + + # Path/Filename Functions + glib.gchar *purple_home_dir() + glib.gchar *purple_user_dir() + void purple_util_set_user_dir(char *dir) + int purple_build_dir(char *path, int mode) + glib.gboolean purple_util_write_data_to_file(char *filename, char *data, \ + glib.gssize size) + glib.gboolean purple_util_write_data_to_file_absolute(char *filename_full, char *data, glib.gssize size) + xmlnode.xmlnode *purple_util_read_xml_from_file(char *filename, char *description) + #FILE *purple_mkstemp(char **path, glib.gboolean binary) + #char *purple_util_get_image_extension(glib.gconstpointer data, size_t len) + #char *purple_util_get_image_checksum(glib.gconstpointer image_data, size_t image_len) + #char *purple_util_get_image_filename(glib.gconstpointer image_data, size_t image_len) + + # Environment Detection Functions + glib.gboolean purple_program_is_valid(char *program) + glib.gboolean purple_running_gnome() + glib.gboolean purple_running_kde() + glib.gboolean purple_running_osx() + char *purple_fd_get_ip(int fd) + + # String Functions FIXME + char *purple_normalize(account.PurpleAccount *account, char *str) + char *purple_normalize_nocase(account.PurpleAccount *account, char *str) + glib.gboolean purple_str_has_prefix(char *s, char *p) + glib.gboolean purple_str_has_suffix(char *s, char *x) + glib.gchar *purple_strdup_withhtml(glib.gchar *src) + char *purple_str_add_cr(char *str) + void purple_str_strip_char(char *str, char thechar) + void purple_util_chrreplace(char *string, char delimiter, char replacement) + glib.gchar *purple_strreplace(char *string, char *delimiter, \ + char *replacement) + #char *purple_utf8_ncr_encode(char *in) + #char *purple_utf8_ncr_decode(char *in) + glib.gchar *purple_strcasereplace(char *string, char *delimiter, \ + char *replacement) + char *purple_strcasestr(char *haystack, char *needle) + #char *purple_str_size_to_units(size_t size) + char *purple_str_seconds_to_string(glib.guint sec) + char *purple_str_binary_to_ascii(unsigned char *binary, glib.guint len) + + # URI/URL Functions FIXME + void purple_got_protocol_handler_uri(char *uri) + glib.gboolean purple_url_parse(char *url, char **ret_host, int *ret_port, \ + char **ret_path, char **ret_user, char **ret_passwd) + + #ctypedef void (*PurpleUtilFetchUrlCallback)( \ + #PurpleUtilFetchUrlData *url_data, glib.gpointer user_data, \ + #glib.gchar *url_text, glib.gsize len, glib.gchar *error_message) + + #PurpleUtilFetchUrlData *purple_util_fetch_url_request(glib.gchar *url, \ + # glib.gboolean full, glib.gchar *user_agent, glib.gboolean http11, \ + # glib.gchar *request, glib.gboolean include_headers, \ + # PurpleUtilFetchUrlCallback callback, glib.gpointer data) + #PurpleUtilFetchUrlData *purple_util_fetch_url_request_len(glib.gchar *url, \ + # glib.gboolean full, glib.gchar *user_agent, glib.gboolean http11, \ + # glib.gchar *request, glib.gboolean include_headers, \ + # glib.gssize max_len, PurpleUtilFetchUrlCallback callback, \ + # glib.gpointer data) + #void purple_util_fetch_url_cancel(PurpleUtilFetchUrlData *url_data) + char *purple_url_decode(char *str) + char *purple_url_encode(char *str) + glib.gboolean purple_email_is_valid(char *address) + glib.gboolean purple_ip_address_is_valid(char *ip) + glib.GList *purple_uri_list_extract_uris(glib.gchar *uri_list) + glib.GList *purple_uri_list_extract_filenames(glib.gchar *uri_list) + + # UTF8 String Functions FIXME + glib.gchar *purple_utf8_try_convert(char *str) + glib.gchar *purple_utf8_salvage(char *str) + glib.gchar *purple_gai_strerror(glib.gint errnum) + int purple_utf8_strcasecmp(char *a, char *b) + glib.gboolean purple_utf8_has_word(char *haystack, char *needle) + #void purple_print_utf8_to_console(FILE *filestream, char *message) + glib.gboolean purple_message_meify(char *message, glib.gssize len) + #char *purple_text_strip_mnemonic(char *in) + char *purple_unescape_filename(char *str) + char *purple_escape_filename(char *str) + char *_purple_oscar_convert(char *act, char *protocol) + void purple_restore_default_signal_handlers() + glib.gchar *purple_get_host_name()