adapter: Add/Remove adapter API
authorSamuel Ortiz <sameo@linux.intel.com>
Fri, 22 Apr 2011 12:27:29 +0000 (14:27 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 21 Oct 2011 06:54:00 +0000 (23:54 -0700)
src/adapter.c
src/near.h
src/netlink.c

index 1fb9dfe..9ba3e31 100644 (file)
@@ -70,7 +70,7 @@ void __near_adapter_list(DBusMessageIter *iter, void *user_data)
        g_hash_table_foreach(adapter_hash, append_path, iter);
 }
 
-int __near_adapter_create(const char *name, guint32 idx, guint32 protocols)
+int __near_adapter_add(const char *name, guint32 idx, guint32 protocols)
 {
        struct near_adapter *adapter;
 
@@ -99,6 +99,11 @@ int __near_adapter_create(const char *name, guint32 idx, guint32 protocols)
        return 0;
 }
 
+void __near_adapter_remove(guint32 idx)
+{
+       g_hash_table_remove(adapter_hash, GINT_TO_POINTER(idx));
+}
+
 int __near_adapter_init(void)
 {
        DBG("");
index 6ab593a..7f52da6 100644 (file)
@@ -55,7 +55,8 @@ DBusMessage *__near_error_invalid_property(DBusMessage *msg);
 int __near_manager_init(DBusConnection *conn);
 void __near_manager_cleanup(void);
 
-int __near_adapter_create(const char *name, guint32 idx, guint32 protocols);
+int __near_adapter_add(const char *name, guint32 idx, guint32 protocols);
+void __near_adapter_remove(guint32 idx);
 void __near_adapter_list(DBusMessageIter *iter, void *user_data);
 int __near_adapter_init(void);
 void __near_adapter_cleanup(void);
index 51807db..bdd160b 100644 (file)
@@ -141,7 +141,7 @@ static int get_devices_handler(struct nl_msg *n, void *arg)
        name = nla_get_string(attrs[NFC_ATTR_DEVICE_NAME]);
        protocols = nla_get_u32(attrs[NFC_ATTR_PROTOCOLS]);
 
-       __near_adapter_create(name, idx, protocols);
+       __near_adapter_add(name, idx, protocols);
 
        return NL_SKIP;
 }