From 9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416 Mon Sep 17 00:00:00 2001 From: Guillaume Desmottes Date: Thu, 18 Aug 2011 11:31:10 +0200 Subject: Port to new tp-glib client factory - EmpathyChannelFactory has been changed to EmpathyClientFactory and inherit from TpAutomaticClientFactory. - We now always use the _with_am variant of TpSimple* constructors - We define our own factory as default. - Replace empathy_get_account_for_connection() by tp_connection_get_account() - The factory is passed to EmpathyTpChat and TpyCallChannel - Use tp_simple_client_factory_ensure_account() instead of tp_account_manager_ensure_account(). - Rely on the factory to prepare connection features. This should ensure that all the TpProxy and TpContact objects created in Empathy are shared and use EmpathyClientFactory. https://bugzilla.gnome.org/show_bug.cgi?id=655799 --- libempathy/empathy-client-factory.h | 56 +++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 libempathy/empathy-client-factory.h (limited to 'libempathy/empathy-client-factory.h') diff --git a/libempathy/empathy-client-factory.h b/libempathy/empathy-client-factory.h new file mode 100644 index 000000000..c4d88e286 --- /dev/null +++ b/libempathy/empathy-client-factory.h @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2010 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., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301 USA + * + * Authors: Guillaume Desmottes + */ + +#ifndef __EMPATHY_CLIENT_FACTORY_H__ +#define __EMPATHY_CLIENT_FACTORY_H__ + +#include + +G_BEGIN_DECLS + +#define EMPATHY_TYPE_CLIENT_FACTORY (empathy_client_factory_get_type ()) +#define EMPATHY_CLIENT_FACTORY(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EMPATHY_TYPE_CLIENT_FACTORY, EmpathyClientFactory)) +#define EMPATHY_CLIENT_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EMPATHY_TYPE_CLIENT_FACTORY, EmpathyClientFactoryClass)) +#define EMPATHY_IS_CLIENT_FACTORY(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EMPATHY_TYPE_CLIENT_FACTORY)) +#define EMPATHY_IS_CLIENT_FACTORY_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EMPATHY_TYPE_CLIENT_FACTORY)) +#define EMPATHY_CLIENT_FACTORY_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EMPATHY_TYPE_CLIENT_FACTORY, EmpathyClientFactoryClass)) + +typedef struct _EmpathyClientFactory EmpathyClientFactory; +typedef struct _EmpathyClientFactoryClass EmpathyClientFactoryClass; +typedef struct _EmpathyClientFactoryPrivate EmpathyClientFactoryPrivate; + +struct _EmpathyClientFactory +{ + TpAutomaticClientFactory parent; + EmpathyClientFactoryPrivate *priv; +}; + +struct _EmpathyClientFactoryClass +{ + TpAutomaticClientFactoryClass parent_class; +}; + +GType empathy_client_factory_get_type (void) G_GNUC_CONST; + +EmpathyClientFactory * empathy_client_factory_dup (void); + +G_END_DECLS +#endif /* __EMPATHY_CLIENT_FACTORY_H__ */ -- cgit v1.2.3