Commit b4bff64e authored by Jeremy Whiting's avatar Jeremy Whiting

telepathy: Add enable_persona_store and disable_persona_store to telepathy backend.

telepathy: Add empty set_persona_stores to telepathy backend.
parent 0ffb154f
......@@ -50,6 +50,35 @@ public class Folks.Backends.Tp.Backend : Folks.Backend
get { return Tpf.PersonaStore.list_persona_stores (); }
}
/**
* {@inheritDoc}
*/
public override void enable_persona_store (PersonaStore store)
{
if (this.persona_stores.has_key (store.id) == false)
{
this._add_store (store);
}
}
/**
* {@inheritDoc}
*/
public override void disable_persona_store (PersonaStore store)
{
if (this.persona_stores.has_key (store.id))
{
this._remove_store (store);
}
}
/**
* {@inheritDoc}
*/
public override void set_persona_stores (Set<string>? storeids)
{
}
/**
* {@inheritDoc}
*/
......@@ -171,17 +200,33 @@ public class Folks.Backends.Tp.Backend : Folks.Backend
}
var store = Tpf.PersonaStore.dup_for_account (account);
store.removed.connect (this._store_removed_cb);
this._add_store (store);
}
this.notify_property ("persona-stores");
private void _add_store (PersonaStore store, bool notify = true)
{
store.removed.connect (this._store_removed_cb);
this.persona_store_added (store);
}
private void _store_removed_cb (PersonaStore store)
if (notify)
{
this.notify_property ("persona-stores");
}
}
private void _remove_store (PersonaStore store, bool notify = true)
{
store.removed.disconnect (this._store_removed_cb);
this.persona_store_removed (store);
this.notify_property ("persona-stores");
if (notify)
{
this.notify_property ("persona-stores");
}
}
private void _store_removed_cb (PersonaStore store)
{
this._remove_store (store);
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment