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))
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
21 ephy_history_page_node_set_property (GObject
*object
,
26 EphyHistoryPageNode
*self
= EPHY_HISTORY_PAGE_NODE (object
);
30 case EPHY_HISTORY_PAGE_NODE_PROP_VISIT_COUNT
:
31 self
->priv
->visit_count
= g_value_get_uint (value
);
33 case EPHY_HISTORY_PAGE_NODE_PROP_LAST_VISIT
:
34 self
->priv
->last_visit
= g_value_get_uint64 (value
);
37 /* We don't have any other property... */
38 G_OBJECT_WARN_INVALID_PROPERTY_ID (object
, prop_id
, pspec
);
44 ephy_history_page_node_get_property (GObject
*object
,
49 EphyHistoryPageNode
*self
= EPHY_HISTORY_PAGE_NODE (object
);
53 case EPHY_HISTORY_PAGE_NODE_PROP_VISIT_COUNT
:
54 g_value_set_uint (value
, self
->priv
->visit_count
);
56 case EPHY_HISTORY_PAGE_NODE_PROP_LAST_VISIT
:
57 g_value_set_uint64 (value
, self
->priv
->last_visit
);
60 /* We don't have any other property... */
61 G_OBJECT_WARN_INVALID_PROPERTY_ID (object
, prop_id
, pspec
);
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",
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",
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
));
100 ephy_history_page_node_init (EphyHistoryPageNode
*node
)
102 node
->priv
= EPHY_HISTORY_PAGE_NODE_GET_PRIVATE (node
);
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
,
115 const char *favicon_uri
,
119 EphyHistoryPageNode
*node
;
121 node
= EPHY_HISTORY_PAGE_NODE (g_object_new (EPHY_TYPE_HISTORY_PAGE_NODE
,
125 "favicon-url", favicon_uri
,
126 "visit-count", visit_count
,
127 "last-visit", last_visit
,
133 ephy_history_page_node_free (EphyHistoryPageNode
*node
)