Changed EphyHistoryWindow to use the new backend, some things still remain (selected_...
[ephy-soc.git] / embed / ephy-history-visit-node.c
blob659e41c2c33e8c45a2befa55752579255c843682
1 #include "ephy-history-visit-node.h"
3 G_DEFINE_TYPE(EphyHistoryVisitNode, ephy_history_visit_node, EPHY_TYPE_HISTORY_NODE)
4 #define EPHY_HISTORY_VISIT_NODE_GET_PRIVATE(object) (G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_HISTORY_VISIT_NODE, EphyHistoryVisitNodePrivate))
6 static void ephy_history_visit_node_finalize (GObject *object);
8 struct _EphyHistoryVisitNodePrivate
10 guint64 date;
11 guint8 type;
12 guint32 duration;
13 guint64 ref_id;
16 static void
17 ephy_history_visit_node_set_property (GObject *object,
18 guint prop_id,
19 const GValue *value,
20 GParamSpec *pspec)
22 EphyHistoryVisitNode *self = EPHY_HISTORY_VISIT_NODE (object);
24 switch (prop_id)
26 case EPHY_HISTORY_VISIT_NODE_PROP_DATE:
27 self->priv->date = g_value_get_uint64 (value);
28 break;
29 case EPHY_HISTORY_VISIT_NODE_PROP_TYPE:
30 self->priv->type = g_value_get_uchar (value);
31 break;
32 case EPHY_HISTORY_VISIT_NODE_PROP_DURATION:
33 self->priv->duration = g_value_get_uint (value);
34 break;
35 case EPHY_HISTORY_VISIT_NODE_PROP_REF_ID:
36 self->priv->ref_id = g_value_get_uint64 (value);
37 break;
38 default:
39 /* We don't have any other property... */
40 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
41 break;
45 static void
46 ephy_history_visit_node_get_property (GObject *object,
47 guint prop_id,
48 GValue *value,
49 GParamSpec *pspec)
51 EphyHistoryVisitNode *self = EPHY_HISTORY_VISIT_NODE (object);
53 switch (prop_id)
55 case EPHY_HISTORY_VISIT_NODE_PROP_DATE:
56 g_value_set_uint64 (value, self->priv->date);
57 break;
58 case EPHY_HISTORY_VISIT_NODE_PROP_TYPE:
59 g_value_set_uchar (value, self->priv->type);
60 break;
61 case EPHY_HISTORY_VISIT_NODE_PROP_DURATION:
62 g_value_set_uint (value, self->priv->duration);
63 break;
64 case EPHY_HISTORY_VISIT_NODE_PROP_REF_ID:
65 g_value_set_uint64 (value, self->priv->ref_id);
66 break;
67 default:
68 /* We don't have any other property... */
69 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
70 break;
74 static void
75 ephy_history_visit_node_class_init (EphyHistoryVisitNodeClass *klass)
77 GObjectClass *object_class = G_OBJECT_CLASS (klass);
79 object_class->finalize = ephy_history_visit_node_finalize;
81 object_class->get_property = ephy_history_visit_node_get_property;
82 object_class->set_property = ephy_history_visit_node_set_property;
84 g_object_class_install_property (object_class,
85 EPHY_HISTORY_VISIT_NODE_PROP_DATE,
86 g_param_spec_uint64 ("date",
87 "date",
88 "Time of visit",
89 0 /* minimum value */,
90 G_MAXUINT64 /* maximum value */,
91 0 /* default value */,
92 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
94 g_object_class_install_property (object_class,
95 EPHY_HISTORY_VISIT_NODE_PROP_TYPE,
96 g_param_spec_uchar ("type",
97 "type",
98 "Type of visit",
99 0 /* minimum value */,
100 G_MAXUINT8 /* maximum value */,
101 0 /* default value */,
102 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
104 g_object_class_install_property (object_class,
105 EPHY_HISTORY_VISIT_NODE_PROP_DURATION,
106 g_param_spec_uint ("duration",
107 "duration",
108 "Duration of Visit in Seconds",
109 0 /* minimum value */,
110 G_MAXUINT32 /* maximum value */,
111 0 /* default value */,
112 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
114 g_object_class_install_property (object_class,
115 EPHY_HISTORY_VISIT_NODE_PROP_REF_ID,
116 g_param_spec_uint64 ("ref_id",
117 "ref_id",
118 "ID of Referring visit",
119 0 /* minimum value */,
120 G_MAXUINT64 /* maximum value */,
121 0 /* default value */,
122 G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
124 g_type_class_add_private (object_class, sizeof (EphyHistoryVisitNodePrivate));
127 static void
128 ephy_history_visit_node_init (EphyHistoryVisitNode *node)
130 node->priv = EPHY_HISTORY_VISIT_NODE_GET_PRIVATE (node);
133 static void
134 ephy_history_visit_node_finalize (GObject *object)
136 EphyHistoryVisitNode *node = EPHY_HISTORY_VISIT_NODE (object);
138 G_OBJECT_CLASS (ephy_history_visit_node_parent_class)->finalize (object);