Move storage dependencies from hciops to core daemon
diff --git a/plugins/hciops.c b/plugins/hciops.c
index 3533f9b..56ce978 100644
--- a/plugins/hciops.c
+++ b/plugins/hciops.c
@@ -613,28 +613,6 @@
return -ENOENT;
}
-static inline void update_lastseen(bdaddr_t *sba, bdaddr_t *dba)
-{
- time_t t;
- struct tm *tm;
-
- t = time(NULL);
- tm = gmtime(&t);
-
- write_lastseen_info(sba, dba, tm);
-}
-
-static inline void update_lastused(bdaddr_t *sba, bdaddr_t *dba)
-{
- time_t t;
- struct tm *tm;
-
- t = time(NULL);
- tm = gmtime(&t);
-
- write_lastused_info(sba, dba, tm);
-}
-
/* Link Key handling */
static void link_key_request(int index, bdaddr_t *dba)
@@ -1643,9 +1621,6 @@
btd_event_inquiry_result(&dev->bdaddr, &info->bdaddr, class,
0, NULL);
-
- update_lastseen(&dev->bdaddr, &info->bdaddr);
-
ptr += INQUIRY_INFO_SIZE;
}
}
@@ -1668,9 +1643,6 @@
btd_event_inquiry_result(&dev->bdaddr, &info->bdaddr,
class, info->rssi, NULL);
-
- update_lastseen(&dev->bdaddr, &info->bdaddr);
-
ptr += INQUIRY_INFO_WITH_RSSI_AND_PSCAN_MODE_SIZE;
}
} else {
@@ -1682,9 +1654,6 @@
btd_event_inquiry_result(&dev->bdaddr, &info->bdaddr,
class, info->rssi, NULL);
-
- update_lastseen(&dev->bdaddr, &info->bdaddr);
-
ptr += INQUIRY_INFO_WITH_RSSI_SIZE;
}
}
@@ -1704,9 +1673,6 @@
btd_event_inquiry_result(&dev->bdaddr, &info->bdaddr, class,
info->rssi, info->data);
-
- update_lastseen(&dev->bdaddr, &info->bdaddr);
-
ptr += EXTENDED_INQUIRY_INFO_SIZE;
}
}
@@ -1751,8 +1717,6 @@
if (evt->status)
return;
- update_lastused(&dev->bdaddr, &evt->bdaddr);
-
/* check if the remote version needs be requested */
ba2str(&dev->bdaddr, local_addr);
ba2str(&evt->bdaddr, peer_addr);
@@ -1788,8 +1752,6 @@
if (evt->status)
return;
- update_lastused(&dev->bdaddr, &evt->peer_bdaddr);
-
/* check if the remote version needs be requested */
ba2str(&dev->bdaddr, local_addr);
ba2str(&evt->peer_bdaddr, peer_addr);
diff --git a/src/event.c b/src/event.c
index 0ee145c..009560e 100644
--- a/src/event.c
+++ b/src/event.c
@@ -445,6 +445,28 @@
eir_data.services, eir_data.flags);
}
+static void update_lastseen(bdaddr_t *sba, bdaddr_t *dba)
+{
+ time_t t;
+ struct tm *tm;
+
+ t = time(NULL);
+ tm = gmtime(&t);
+
+ write_lastseen_info(sba, dba, tm);
+}
+
+static void update_lastused(bdaddr_t *sba, bdaddr_t *dba)
+{
+ time_t t;
+ struct tm *tm;
+
+ t = time(NULL);
+ tm = gmtime(&t);
+
+ write_lastused_info(sba, dba, tm);
+}
+
void btd_event_inquiry_result(bdaddr_t *local, bdaddr_t *peer, uint32_t class,
int8_t rssi, uint8_t *data)
{
@@ -467,6 +489,7 @@
return;
}
+ update_lastseen(local, peer);
write_remote_class(local, peer, class);
if (data)
@@ -776,7 +799,9 @@
if (device_is_temporary(device))
adapter_remove_device(conn, adapter, device, secmode3);
return;
- }
+ } else
+ update_lastused(local, peer);
+
/* add in the device connetions list */
adapter_add_connection(adapter, device, handle);