enum
{
- PROP_FIRST_PROP = 1,
+ PROP_MANAGER = 1,
N_PROPS
};
struct _EmpathyRosterModelManagerPriv
{
- gpointer badger;
+ EmpathyIndividualManager *manager;
};
static void
GValue *value,
GParamSpec *pspec)
{
- //EmpathyRosterModelManager *self = EMPATHY_ROSTER_MODEL_MANAGER (object);
+ EmpathyRosterModelManager *self = EMPATHY_ROSTER_MODEL_MANAGER (object);
switch (property_id)
{
+ case PROP_MANAGER:
+ g_value_set_object (value, self->priv->manager);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
const GValue *value,
GParamSpec *pspec)
{
- //EmpathyRosterModelManager *self = EMPATHY_ROSTER_MODEL_MANAGER (object);
+ EmpathyRosterModelManager *self = EMPATHY_ROSTER_MODEL_MANAGER (object);
switch (property_id)
{
+ case PROP_MANAGER:
+ g_assert (self->priv->manager == NULL); /* construct only */
+ self->priv->manager = g_value_dup_object (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
static void
empathy_roster_model_manager_constructed (GObject *object)
{
- //EmpathyRosterModelManager *self = EMPATHY_ROSTER_MODEL_MANAGER (object);
+ EmpathyRosterModelManager *self = EMPATHY_ROSTER_MODEL_MANAGER (object);
void (*chain_up) (GObject *) =
((GObjectClass *) empathy_roster_model_manager_parent_class)->constructed;
if (chain_up != NULL)
chain_up (object);
+
+ g_assert (EMPATHY_IS_INDIVIDUAL_MANAGER (self->priv->manager));
}
static void
empathy_roster_model_manager_dispose (GObject *object)
{
- //EmpathyRosterModelManager *self = EMPATHY_ROSTER_MODEL_MANAGER (object);
+ EmpathyRosterModelManager *self = EMPATHY_ROSTER_MODEL_MANAGER (object);
void (*chain_up) (GObject *) =
((GObjectClass *) empathy_roster_model_manager_parent_class)->dispose;
+ g_clear_object (&self->priv->manager);
+
if (chain_up != NULL)
chain_up (object);
}
EmpathyRosterModelManagerClass *klass)
{
GObjectClass *oclass = G_OBJECT_CLASS (klass);
- //GParamSpec *spec;
+ GParamSpec *spec;
oclass->get_property = empathy_roster_model_manager_get_property;
oclass->set_property = empathy_roster_model_manager_set_property;
oclass->dispose = empathy_roster_model_manager_dispose;
oclass->finalize = empathy_roster_model_manager_finalize;
+ spec = g_param_spec_object ("manager", "Manager",
+ "EmpathyIndividualManager",
+ EMPATHY_TYPE_INDIVIDUAL_MANAGER,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
+ g_object_class_install_property (oclass, PROP_MANAGER, spec);
+
g_type_class_add_private (klass, sizeof (EmpathyRosterModelManagerPriv));
}
}
EmpathyRosterModelManager *
-empathy_roster_model_manager_new (void)
+empathy_roster_model_manager_new (EmpathyIndividualManager *manager)
{
+ g_return_val_if_fail (EMPATHY_IS_INDIVIDUAL_MANAGER (manager), NULL);
+
return g_object_new (EMPATHY_TYPE_ROSTER_MODEL_MANAGER,
+ "manager", manager,
NULL);
}