diff options
author | Claudio Saavedra <csaavedra@igalia.com> | 2012-03-06 21:38:59 +0800 |
---|---|---|
committer | Xan Lopez <xan@igalia.com> | 2012-03-07 04:49:47 +0800 |
commit | d08d60909efaf563d851474328a463fc7b26744e (patch) | |
tree | cadd3c3b7e2b93f332b383fe900080373c0a7388 | |
parent | 5fefacc8bfa5a0df736849b01e80b84d35ae9ca1 (diff) | |
download | gsoc2013-epiphany-d08d60909efaf563d851474328a463fc7b26744e.tar.gz gsoc2013-epiphany-d08d60909efaf563d851474328a463fc7b26744e.tar.zst gsoc2013-epiphany-d08d60909efaf563d851474328a463fc7b26744e.zip |
Add ephy_history_service_get_hosts()
To retrieve all hosts in the history
-rw-r--r-- | lib/history/ephy-history-service.c | 29 | ||||
-rw-r--r-- | lib/history/ephy-history-service.h | 1 |
2 files changed, 29 insertions, 1 deletions
diff --git a/lib/history/ephy-history-service.c b/lib/history/ephy-history-service.c index 590c1c4a0..26de9e43f 100644 --- a/lib/history/ephy-history-service.c +++ b/lib/history/ephy-history-service.c @@ -40,6 +40,7 @@ typedef enum { GET_HOST_FOR_URL, QUERY_URLS, QUERY_VISITS, + GET_HOSTS } EphyHistoryServiceMessageType; enum { @@ -518,6 +519,18 @@ ephy_history_service_execute_find_visits (EphyHistoryService *self, EphyHistoryQ return TRUE; } +static gboolean +ephy_history_service_execute_get_hosts (EphyHistoryService *self, + gpointer pointer, gpointer *results) +{ + GList *hosts; + + hosts = ephy_history_service_get_all_hosts (self); + *results = hosts; + + return hosts != NULL; +} + void ephy_history_service_add_visit (EphyHistoryService *self, EphyHistoryPageVisit *visit, EphyHistoryJobCallback callback, gpointer user_data) { @@ -581,6 +594,19 @@ ephy_history_service_query_urls (EphyHistoryService *self, EphyHistoryQuery *que ephy_history_service_send_message (self, message); } +void +ephy_history_service_get_hosts (EphyHistoryService *self, + EphyHistoryJobCallback callback, + gpointer user_data) +{ + EphyHistoryServiceMessage *message; + + message = ephy_history_service_message_new (self, GET_HOSTS, + NULL, NULL, + callback, user_data); + ephy_history_service_send_message (self, message); +} + static gboolean ephy_history_service_execute_set_url_title (EphyHistoryService *self, EphyHistoryURL *url, @@ -789,7 +815,8 @@ static EphyHistoryServiceMethod methods[] = { (EphyHistoryServiceMethod)ephy_history_service_execute_get_url, (EphyHistoryServiceMethod)ephy_history_service_execute_get_host_for_url, (EphyHistoryServiceMethod)ephy_history_service_execute_query_urls, - (EphyHistoryServiceMethod)ephy_history_service_execute_find_visits + (EphyHistoryServiceMethod)ephy_history_service_execute_find_visits, + (EphyHistoryServiceMethod)ephy_history_service_execute_get_hosts }; static void diff --git a/lib/history/ephy-history-service.h b/lib/history/ephy-history-service.h index 64cab0cb9..c212d7d0a 100644 --- a/lib/history/ephy-history-service.h +++ b/lib/history/ephy-history-service.h @@ -66,6 +66,7 @@ void ephy_history_service_query_urls (EphyHisto void ephy_history_service_set_url_title (EphyHistoryService *self, const char *url, const char *title, EphyHistoryJobCallback callback, gpointer user_data); void ephy_history_service_set_url_zoom_level (EphyHistoryService *self, const char *url, const double zoom_level, EphyHistoryJobCallback callback, gpointer user_data); void ephy_history_service_get_host_for_url (EphyHistoryService *self, const char *url, EphyHistoryJobCallback callback, gpointer user_data); +void ephy_history_service_get_hosts (EphyHistoryService *self, EphyHistoryJobCallback callback, gpointer user_data); void ephy_history_service_get_url (EphyHistoryService *self, const char *url, EphyHistoryJobCallback callback, gpointer user_data); void ephy_history_service_delete_urls (EphyHistoryService *self, GList *urls, EphyHistoryJobCallback callback, gpointer user_data); void ephy_history_service_find_urls (EphyHistoryService *self, gint64 from, gint64 to, guint limit, GList *substring_list, EphyHistoryJobCallback callback, gpointer user_data); |