blob: ecdb3441943b1d1d137d2e4f3a25fb9b105f00f9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
namespace ContextProvider {
internal class Group : GLib.Object {
public SubscriptionChangedCallback? callback;
public StringSet keys;
bool subscribed;
bool clear_values_on_subscribe;
public signal void clear_values(StringSet keys);
public Group (string[] keys, bool clear_values_on_subscribe, SubscriptionChangedCallback? cb) {
this.keys = new StringSet.from_array(keys);
this.clear_values_on_subscribe = clear_values_on_subscribe;
this.callback = cb;
this.subscribed = false;
}
public void subscribe (bool subscribed) {
if (subscribed != this.subscribed) {
this.subscribed = subscribed;
if (callback != null)
callback (subscribed);
if (clear_values_on_subscribe && subscribed) {
clear_values(keys);
}
}
}
}
}
|