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);