aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudio Saavedra <csaavedra@igalia.com>2012-03-06 21:38:59 +0800
committerXan Lopez <xan@igalia.com>2012-03-07 04:49:47 +0800
commitd08d60909efaf563d851474328a463fc7b26744e (patch)
treecadd3c3b7e2b93f332b383fe900080373c0a7388
parent5fefacc8bfa5a0df736849b01e80b84d35ae9ca1 (diff)
downloadgsoc2013-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.c29
-rw-r--r--lib/history/ephy-history-service.h1
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);