Exemplo n.º 1
0
setting_t *
settings_create_int(prop_t *parent, const char *id, prop_t *title,
		    int initial, htsmsg_t *store,
		    int min, int max, int step,
		    prop_callback_int_t *cb, void *opaque,
		    int flags, const char *unit,
		    prop_courier_t *pc,
		    settings_saver_t *saver, void *saver_opaque)
{
  setting_t *s = setting_create_leaf(parent, title, "integer", "value", flags);
  prop_sub_t *sub;

  s->s_id = strdup(id);
  s->s_callback = cb;
  s->s_opaque = opaque;


  if(store != NULL)
    initial = htsmsg_get_s32_or_default(store, id, initial);

  prop_set_int_clipping_range(s->s_val, min, max);

  prop_set_int(prop_create(s->s_root, "min"), min);
  prop_set_int(prop_create(s->s_root, "max"), max);
  prop_set_int(prop_create(s->s_root, "step"), step);
  prop_set_string(prop_create(s->s_root, "unit"), unit);

  prop_set_int(s->s_val, initial);

  s->s_min = min;
  s->s_max = max;

  if(flags & SETTINGS_INITIAL_UPDATE)
    settings_int_callback(s, initial);

  sub = prop_subscribe(PROP_SUB_NO_INITIAL_UPDATE,
		       PROP_TAG_CALLBACK_INT, settings_int_callback, s,
		       PROP_TAG_ROOT, s->s_val,
		       PROP_TAG_COURIER, pc,
		       NULL);
  s->s_sub = sub;
  s->s_store = store;
  s->s_saver = saver;
  s->s_saver_opaque = saver_opaque;
  return s;
}
Exemplo n.º 2
0
static void
init_sleeptimer(prop_t *rc)
{
  const int maxtime = 180;
  sleeptime_prop = prop_create(rc, "sleepTime");
  prop_set_int(sleeptime_prop, 60);
  prop_set_int_clipping_range(sleeptime_prop, 0, maxtime);

  prop_set(rc, "sleepTimeMax",  PROP_SET_INT, maxtime);
  prop_set(rc, "sleepTimeStep", PROP_SET_INT, 5);

  sleeptime_sub =
    prop_subscribe(0,
                   PROP_TAG_CALLBACK_INT, update_sleeptime, NULL,
                   PROP_TAG_ROOT, sleeptime_prop,
                   NULL);

  prop_subscribe(PROP_SUB_NO_INITIAL_UPDATE,
                 PROP_TAG_NAME("global", "runcontrol", "sleepTimer"),
		 PROP_TAG_CALLBACK_INT, update_sleeptimer, NULL,
		 NULL);
}