element type checking.
authorbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 11 Mar 2010 23:48:37 +0000 (23:48 +0000)
committerbarbieri <barbieri@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Thu, 11 Mar 2010 23:48:37 +0000 (23:48 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/e_dbus@47147 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/bluez/E_Bluez.h
src/lib/bluez/e_bluez_element.c

index d0f3505..0111422 100644 (file)
@@ -150,6 +150,9 @@ extern "C" {
   EAPI Eina_Bool e_bluez_element_property_get_stringshared(const E_Bluez_Element *element, const char *name, int *type, void *value) EINA_ARG_NONNULL(1, 2, 4) EINA_WARN_UNUSED_RESULT;
   EAPI Eina_Bool e_bluez_element_property_get(const E_Bluez_Element *element, const char *name, int *type, void *value) EINA_ARG_NONNULL(1, 2, 4) EINA_WARN_UNUSED_RESULT;
 
+  EAPI Eina_Bool e_bluez_element_is_adapter(const E_Bluez_Element *element) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
+  EAPI Eina_Bool e_bluez_element_is_device(const E_Bluez_Element *element) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
+
 #ifdef __cplusplus
 }
 #endif
index 3e1ce89..e9a3293 100644 (file)
@@ -2227,3 +2227,23 @@ e_bluez_elements_shutdown(void)
    eina_hash_free(elements);
    elements = NULL;
 }
+
+static inline Eina_Bool
+_e_bluez_element_is(const E_Bluez_Element *element, const char *interface)
+{
+   return element->interface == interface;
+}
+
+Eina_Bool
+e_bluez_element_is_adapter(const E_Bluez_Element *element)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(element, EINA_FALSE);
+   return _e_bluez_element_is(element, e_bluez_iface_adapter);
+}
+
+Eina_Bool
+e_bluez_element_is_device(const E_Bluez_Element *element)
+{
+   EINA_SAFETY_ON_NULL_RETURN_VAL(element, EINA_FALSE);
+   return _e_bluez_element_is(element, e_bluez_iface_device);
+}