-/** @brief Called once every 10 minutes */
-static gboolean periodic(gpointer attribute((unused)) data) {
- D(("periodic"));
+static void userinfo_rights_completed(void attribute((unused)) *v,
+ const char *error,
+ const char *value) {
+ rights_type r;
+
+ if(error) {
+ popup_protocol_error(0, error);
+ r = 0;
+ } else {
+ if(parse_rights(value, &r, 0))
+ r = 0;
+ }
+ /* If rights have changed, signal everything that cares */
+ if(r != last_rights) {
+ last_rights = r;
+ ++suppress_actions;
+ event_raise("rights-changed", 0);
+ --suppress_actions;
+ }
+ rights_lookup_in_flight = 0;
+}
+
+/** @brief Called occasionally */
+static gboolean periodic_slow(gpointer attribute((unused)) data) {
+ D(("periodic_slow"));