Removed debug output
[ephy-history.git] / ephy-history-page-node.c
blob449da60b368e07d214ded19ddbb3f42c268d5b28
1 #include "ephy-history-page-node.h"
3 G_DEFINE_TYPE(EphyHistoryPageNode, ephy_history_page_node, EPHY_TYPE_HISTORY_NODE)
4 #define EPHY_HISTORY_PAGE_NODE_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_HISTORY_PAGE_NODE, EphyHistoryPageNodePrivate))
6 enum
8 EPHY_HISTORY_PAGE_NODE_PROP_VISIT_COUNT = 1,
9 EPHY_HISTORY_PAGE_NODE_PROP_LAST_VISIT,
12 static void ephy_history_page_node_finalize (GObject *object);
14 struct _EphyHistoryPageNodePrivate
16 guint32 visit_count;
17 guint64 last_visit;
20 static void
21 ephy_history_page_node_set_property (GObject *object,
22 guint prop_id,
23 const GValue *value,
24 GParamSpec *pspec)
26 EphyHistoryPageNode *self = EPHY_HISTORY_PAGE_NODE (object);
28 switch (prop_id)
30 case EPHY_HISTORY_PAGE_NODE_PROP_VISIT_COUNT:
31 self->priv->visit_count = g_value_get_uint (value);
32 break;
33 case EPHY_HISTORY_PAGE_NODE_PROP_LAST_VISIT:
34 self->priv->last_visit = g_value_get_uint64 (value);
35 break;
36 default:
37 /* We don't have any other property... */
38 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
39 break;
43 static void
44 ephy_history_page_node_get_property (GObject *object,
45 guint prop_id,
46 GValue *value,
47 GParamSpec *pspec)
49 EphyHistoryPageNode *self = EPHY_HISTORY_PAGE_NODE (object);
51 switch (prop_id)
53 case EPHY_HISTORY_PAGE_NODE_PROP_VISIT_COUNT:
54 g_value_set_uint (value, self->priv->visit_count);
55 break;
56 case EPHY_HISTORY_PAGE_NODE_PROP_LAST_VISIT:
57 g_value_set_uint64 (value, self->priv->last_visit);
58 break;
59 default:
60 /* We don't have any other property... */
61 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
62 break;
66 static void
67 ephy_history_page_node_class_init (EphyHistoryPageNodeClass *klass)
69 GObjectClass *object_class = G_OBJECT_CLASS (klass);
71 object_class->finalize = ephy_history_page_node_finalize;
73 object_class->get_property = ephy_history_page_node_get_property;
74 object_class->set_property = ephy_history_page_node_set_property;
76 g_object_class_install_property (object_class,
77 EPHY_HISTORY_PAGE_NODE_PROP_VISIT_COUNT,
78 g_param_spec_uint ("visit-count",
79 "visit_count",
80 "Page Visit count",
81 0 /* minimum value */,
82 G_MAXUINT32 /* maximum value */,
83 0 /* default value */,
84 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
86 g_object_class_install_property (object_class,
87 EPHY_HISTORY_PAGE_NODE_PROP_LAST_VISIT,
88 g_param_spec_uint64 ("last-visit",
89 "last_visit",
90 "Time of last visit",
91 0 /* minimum value */,
92 G_MAXUINT64 /* maximum value */,
93 0 /* default value */,
94 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
96 g_type_class_add_private (object_class, sizeof (EphyHistoryPageNodePrivate));
99 static void
100 ephy_history_page_node_init (EphyHistoryPageNode *node)
102 node->priv = EPHY_HISTORY_PAGE_NODE_GET_PRIVATE (node);
105 static void
106 ephy_history_page_node_finalize (GObject *object)
108 G_OBJECT_CLASS (ephy_history_page_node_parent_class)->finalize (object);
111 EphyHistoryPageNode *
112 ephy_history_page_node_new (guint64 id,
113 const char *uri,
114 const char *title,
115 const char *favicon_uri,
116 guint visit_count,
117 guint64 last_visit)
119 EphyHistoryPageNode *node;
121 node = EPHY_HISTORY_PAGE_NODE (g_object_new (EPHY_TYPE_HISTORY_PAGE_NODE,
122 "id", id,
123 "url", uri,
124 "title", title,
125 "favicon-url", favicon_uri,
126 "visit-count", visit_count,
127 "last-visit", last_visit,
128 NULL));
129 return node;
132 void
133 ephy_history_page_node_free (EphyHistoryPageNode *node)