diff options
author | Xavier Claessens <xclaesse@src.gnome.org> | 2008-05-17 00:36:33 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2008-05-17 00:36:33 +0800 |
commit | 2fa6db9433540394d8149609498cca5ddc9df54b (patch) | |
tree | e2a0f43e5054c4f2b2142406bf1a2f79adf23983 /trunk/libempathy/empathy-utils.h | |
parent | 7308e23186a01d08d29683aeeeba6cb198a834fa (diff) | |
download | gsoc2013-empathy-2fa6db9433540394d8149609498cca5ddc9df54b.tar gsoc2013-empathy-2fa6db9433540394d8149609498cca5ddc9df54b.tar.gz gsoc2013-empathy-2fa6db9433540394d8149609498cca5ddc9df54b.tar.bz2 gsoc2013-empathy-2fa6db9433540394d8149609498cca5ddc9df54b.tar.lz gsoc2013-empathy-2fa6db9433540394d8149609498cca5ddc9df54b.tar.xz gsoc2013-empathy-2fa6db9433540394d8149609498cca5ddc9df54b.tar.zst gsoc2013-empathy-2fa6db9433540394d8149609498cca5ddc9df54b.zip |
Tagged for release 0.23.2.EMPATHY_0_23_2
svn path=/tags/EMPATHY_0_23_2/; revision=1106
Diffstat (limited to 'trunk/libempathy/empathy-utils.h')
-rw-r--r-- | trunk/libempathy/empathy-utils.h | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/trunk/libempathy/empathy-utils.h b/trunk/libempathy/empathy-utils.h new file mode 100644 index 000000000..800f09d05 --- /dev/null +++ b/trunk/libempathy/empathy-utils.h @@ -0,0 +1,115 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ +/* + * Copyright (C) 2003-2007 Imendio AB + * Copyright (C) 2007-2008 Collabora Ltd. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + * Authors: Richard Hult <richard@imendio.com> + * Martyn Russell <martyn@imendio.com> + * Xavier Claessens <xclaesse@gmail.com> + */ + +#ifndef __EMPATHY_UTILS_H__ +#define __EMPATHY_UTILS_H__ + +#include <glib.h> +#include <glib-object.h> + +#include <libxml/parser.h> +#include <libxml/tree.h> + +#include <libmissioncontrol/mc-account.h> +#include <libmissioncontrol/mission-control.h> + +#include "empathy-contact.h" + +G_BEGIN_DECLS + +#define EMPATHY_GET_PRIV(obj,type) ((type##Priv*) ((type*)obj)->priv) +#define G_STR_EMPTY(x) ((x) == NULL || (x)[0] == '\0') + +typedef enum { + EMPATHY_REGEX_AS_IS, + EMPATHY_REGEX_BROWSER, + EMPATHY_REGEX_APT, + EMPATHY_REGEX_EMAIL, + EMPATHY_REGEX_OTHER, + EMPATHY_REGEX_ALL, +} EmpathyRegExType; + +/* Regular expressions */ +gchar * empathy_substring (const gchar *str, + gint start, + gint end); +gint empathy_regex_match (EmpathyRegExType type, + const gchar *msg, + GArray *start, + GArray *end); + +/* Strings */ +gint empathy_strcasecmp (const gchar *s1, + const gchar *s2); +gint empathy_strncasecmp (const gchar *s1, + const gchar *s2, + gsize n); + +/* XML */ +gboolean empathy_xml_validate (xmlDoc *doc, + const gchar *dtd_filename); +xmlNodePtr empathy_xml_node_get_child (xmlNodePtr node, + const gchar *child_name); +xmlChar * empathy_xml_node_get_child_content (xmlNodePtr node, + const gchar *child_name); +xmlNodePtr empathy_xml_node_find_child_prop_value (xmlNodePtr node, + const gchar *prop_name, + const gchar *prop_value); + +/* Others */ +guint empathy_account_hash (gconstpointer key); +gboolean empathy_account_equal (gconstpointer a, + gconstpointer b); +MissionControl *empathy_mission_control_new (void); +void empathy_call_with_contact (EmpathyContact *contact); +void empathy_call_with_contact_id (McAccount *account, + const gchar *contact_id); +void empathy_chat_with_contact (EmpathyContact *contact); +void empathy_chat_with_contact_id (McAccount *account, + const gchar *contact_id); +const gchar * empathy_presence_get_default_message (McPresence presence); +const gchar * empathy_presence_to_str (McPresence presence); +McPresence empathy_presence_from_str (const gchar *str); +gchar * empathy_file_lookup (const gchar *filename, + const gchar *subdir); + +typedef gboolean (*EmpathyRunUntilReadyFunc) (GObject *object, + gpointer user_data); +void empathy_run_until_ready (gpointer object); +void empathy_run_until_ready_full (gpointer object, + const gchar *signal, + EmpathyRunUntilReadyFunc func, + gpointer user_data, + GMainLoop **loop); +McAccount * empathy_channel_get_account (TpChannel *channel); +gpointer empathy_connect_to_account_status_changed (MissionControl *mc, + GCallback handler, + gpointer user_data, + GClosureNotify free_func); +void empathy_disconnect_account_status_changed (gpointer token); + +G_END_DECLS + +#endif /* __EMPATHY_UTILS_H__ */ |