diff options
author | Olli Salli <olli.salli@collabora.co.uk> | 2012-03-16 19:08:49 +0200 |
---|---|---|
committer | Olli Salli <olli.salli@collabora.co.uk> | 2012-03-16 19:08:49 +0200 |
commit | 8c31eb275050fd62e2c486211c4cb34b10cd8fe4 (patch) | |
tree | 6899db55c59c520593732833dd11e54bd5303aaa | |
parent | a8011aa7e549cfde28adad41d1a1c6f39fafba69 (diff) |
Add has_feature to the WockyXep0115Capabilities interface
-rw-r--r-- | wocky/wocky-xep-0115-capabilities.c | 17 | ||||
-rw-r--r-- | wocky/wocky-xep-0115-capabilities.h | 13 |
2 files changed, 27 insertions, 3 deletions
diff --git a/wocky/wocky-xep-0115-capabilities.c b/wocky/wocky-xep-0115-capabilities.c index e9c67d4..8a0438e 100644 --- a/wocky/wocky-xep-0115-capabilities.c +++ b/wocky/wocky-xep-0115-capabilities.c @@ -2,7 +2,7 @@ * wocky-xep-0115-capabilities.c - interface for holding capabilities * of contacts * - * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2011-2012 Collabora Ltd. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -58,3 +58,18 @@ wocky_xep_0115_capabilities_get_data_forms ( return NULL; } + +gboolean +wocky_xep_0115_capabilities_has_feature ( + WockyXep0115Capabilities *contact, + const gchar *feature) +{ + WockyXep0115CapabilitiesInterface *iface = + WOCKY_XEP_0115_CAPABILITIES_GET_INTERFACE (contact); + WockyXep0115CapabilitiesHasFeatureFunc method = iface->has_feature; + + if (method != NULL) + return method (contact, feature); + + return FALSE; +} diff --git a/wocky/wocky-xep-0115-capabilities.h b/wocky/wocky-xep-0115-capabilities.h index 5d65ce3..4506ff4 100644 --- a/wocky/wocky-xep-0115-capabilities.h +++ b/wocky/wocky-xep-0115-capabilities.h @@ -2,7 +2,7 @@ * wocky-xep-0115-capabilities.h - interface for holding capabilities * of contacts * - * Copyright (C) 2011 Collabora Ltd. + * Copyright (C) 2011-2012 Collabora Ltd. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -52,14 +52,23 @@ typedef struct _WockyXep0115CapabilitiesInterface WockyXep0115CapabilitiesInterf typedef const GPtrArray * (*WockyXep0115CapabilitiesGetDataFormsFunc) ( WockyXep0115Capabilities *contact); +typedef gboolean (*WockyXep0115CapabilitiesHasFeatureFunc) ( + WockyXep0115Capabilities *contact, + const gchar *feature); + const GPtrArray * wocky_xep_0115_capabilities_get_data_forms ( WockyXep0115Capabilities *contact); +gboolean wocky_xep_0115_capabilities_has_feature ( + WockyXep0115Capabilities *contact, + const gchar *feature); + struct _WockyXep0115CapabilitiesInterface { GTypeInterface parent; - /* TODO: features and identites! */ + /* TODO: capability enumeration and identities! */ WockyXep0115CapabilitiesGetDataFormsFunc get_data_forms; + WockyXep0115CapabilitiesHasFeatureFunc has_feature; }; GType wocky_xep_0115_capabilities_get_type (void); |