diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-08-18 17:31:10 +0800 |
---|---|---|
committer | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2011-08-18 18:15:06 +0800 |
commit | 9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416 (patch) | |
tree | 4e4cfd5b8f801acff74edfdd5072f45d7038e00b /libempathy/empathy-client-factory.h | |
parent | 7fbf3e0c200b0a3c5086fdce0cc19afe48c429bb (diff) | |
download | gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar.gz gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar.bz2 gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar.lz gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar.xz gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.tar.zst gsoc2013-empathy-9ddd25f8589ae0cd5ec8e09c4c012e4ccac6a416.zip |
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
Diffstat (limited to 'libempathy/empathy-client-factory.h')
-rw-r--r-- | libempathy/empathy-client-factory.h | 56 |
1 files changed, 56 insertions, 0 deletions
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 <guillaume.desmottes@collabora.co.uk> + */ + +#ifndef __EMPATHY_CLIENT_FACTORY_H__ +#define __EMPATHY_CLIENT_FACTORY_H__ + +#include <telepathy-glib/telepathy-glib.h> + +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__ */ |