diff options
Diffstat (limited to 'src/json')
| -rw-r--r-- | src/json/json_helper.c | 213 | ||||
| -rw-r--r-- | src/json/json_pack.c | 40 | 
2 files changed, 0 insertions, 253 deletions
| diff --git a/src/json/json_helper.c b/src/json/json_helper.c index 7c01cde0..949354e2 100644 --- a/src/json/json_helper.c +++ b/src/json/json_helper.c @@ -216,219 +216,6 @@ TALER_JSON_spec_amount_any_nbo (const char *name,  /** - * Parse given JSON object to *rounded* absolute time. - * - * @param cls closure, NULL - * @param root the json object representing data - * @param[out] spec where to write the data - * @return #GNUNET_OK upon successful parsing; #GNUNET_SYSERR upon error - */ -static enum GNUNET_GenericReturnValue -parse_abs_time (void *cls, -                json_t *root, -                struct GNUNET_JSON_Specification *spec) -{ -  struct GNUNET_TIME_Absolute *abs = spec->ptr; -  json_t *json_t_ms; -  unsigned long long int tval; - -  (void) cls; -  if (! json_is_object (root)) -  { -    GNUNET_break_op (0); -    return GNUNET_SYSERR; -  } -  json_t_ms = json_object_get (root, -                               "t_ms"); -  if (json_is_integer (json_t_ms)) -  { -    tval = json_integer_value (json_t_ms); -    /* Time is in milliseconds in JSON, but in microseconds in GNUNET_TIME_Absolute */ -    abs->abs_value_us = tval * 1000LL; -    if ((abs->abs_value_us) / 1000LL != tval) -    { -      /* Integer overflow */ -      GNUNET_break_op (0); -      return GNUNET_SYSERR; -    } -    if (GNUNET_OK != -        GNUNET_TIME_round_abs (abs)) -    { -      /* time not rounded */ -      GNUNET_break_op (0); -      return GNUNET_SYSERR; -    } -    return GNUNET_OK; -  } -  if (json_is_string (json_t_ms)) -  { -    const char *val; - -    val = json_string_value (json_t_ms); -    if ((0 == strcasecmp (val, "never"))) -    { -      *abs = GNUNET_TIME_UNIT_FOREVER_ABS; -      return GNUNET_OK; -    } -    GNUNET_log (GNUNET_ERROR_TYPE_ERROR, -                "`%s' is not a valid absolute time\n", -                json_string_value (json_t_ms)); -    return GNUNET_SYSERR; -  } -  return GNUNET_SYSERR; -} - - -struct GNUNET_JSON_Specification -TALER_JSON_spec_absolute_time (const char *name, -                               struct GNUNET_TIME_Absolute *r_time) -{ -  struct GNUNET_JSON_Specification ret = { -    .parser = &parse_abs_time, -    .cleaner = NULL, -    .cls = NULL, -    .field = name, -    .ptr = r_time, -    .ptr_size = sizeof(struct GNUNET_TIME_Absolute), -    .size_ptr = NULL -  }; - -  return ret; -} - - -/** - * Parse given JSON object to absolute time. - * - * @param cls closure, NULL - * @param root the json object representing data - * @param[out] spec where to write the data - * @return #GNUNET_OK upon successful parsing; #GNUNET_SYSERR upon error - */ -static enum GNUNET_GenericReturnValue -parse_abs_time_nbo (void *cls, -                    json_t *root, -                    struct GNUNET_JSON_Specification *spec) -{ -  struct GNUNET_TIME_AbsoluteNBO *abs = spec->ptr; -  struct GNUNET_TIME_Absolute a; -  struct GNUNET_JSON_Specification ispec; - -  (void) cls; -  ispec = *spec; -  ispec.parser = &parse_abs_time; -  ispec.ptr = &a; -  if (GNUNET_OK != -      parse_abs_time (NULL, -                      root, -                      &ispec)) -  { -    GNUNET_break_op (0); -    return GNUNET_SYSERR; -  } -  *abs = GNUNET_TIME_absolute_hton (a); -  return GNUNET_OK; -} - - -struct GNUNET_JSON_Specification -TALER_JSON_spec_absolute_time_nbo (const char *name, -                                   struct GNUNET_TIME_AbsoluteNBO *r_time) -{ -  struct GNUNET_JSON_Specification ret = { -    .parser = &parse_abs_time_nbo, -    .cleaner = NULL, -    .cls = NULL, -    .field = name, -    .ptr = r_time, -    .ptr_size = sizeof(struct GNUNET_TIME_AbsoluteNBO), -    .size_ptr = NULL -  }; - -  return ret; -} - - -/** - * Parse given JSON object to relative time. - * - * @param cls closure, NULL - * @param root the json object representing data - * @param[out] spec where to write the data - * @return #GNUNET_OK upon successful parsing; #GNUNET_SYSERR upon error - */ -static enum GNUNET_GenericReturnValue -parse_rel_time (void *cls, -                json_t *root, -                struct GNUNET_JSON_Specification *spec) -{ -  struct GNUNET_TIME_Relative *rel = spec->ptr; -  json_t *json_d_ms; -  unsigned long long int tval; - -  (void) cls; -  if (! json_is_object (root)) -  { -    GNUNET_break_op (0); -    return GNUNET_SYSERR; -  } -  json_d_ms = json_object_get (root, "d_ms"); -  if (json_is_integer (json_d_ms)) -  { -    tval = json_integer_value (json_d_ms); -    /* Time is in milliseconds in JSON, but in microseconds in GNUNET_TIME_Absolute */ -    rel->rel_value_us = tval * 1000LL; -    if ((rel->rel_value_us) / 1000LL != tval) -    { -      /* Integer overflow */ -      GNUNET_break_op (0); -      return GNUNET_SYSERR; -    } -    if (GNUNET_OK != -        GNUNET_TIME_round_rel (rel)) -    { -      /* time not rounded */ -      GNUNET_break_op (0); -      return GNUNET_SYSERR; -    } -    return GNUNET_OK; -  } -  if (json_is_string (json_d_ms)) -  { -    const char *val; -    val = json_string_value (json_d_ms); -    if ((0 == strcasecmp (val, "forever"))) -    { -      *rel = GNUNET_TIME_UNIT_FOREVER_REL; -      return GNUNET_OK; -    } -    GNUNET_break_op (0); -    return GNUNET_SYSERR; -  } -  GNUNET_break_op (0); -  return GNUNET_SYSERR; -} - - -struct GNUNET_JSON_Specification -TALER_JSON_spec_relative_time (const char *name, -                               struct GNUNET_TIME_Relative *r_time) -{ -  struct GNUNET_JSON_Specification ret = { -    .parser = &parse_rel_time, -    .cleaner = NULL, -    .cls = NULL, -    .field = name, -    .ptr = r_time, -    .ptr_size = sizeof(struct GNUNET_TIME_Relative), -    .size_ptr = NULL -  }; - -  return ret; -} - - -/**   * Parse given JSON object to denomination public key.   *   * @param cls closure, NULL diff --git a/src/json/json_pack.c b/src/json/json_pack.c index f41ba523..6fea72a3 100644 --- a/src/json/json_pack.c +++ b/src/json/json_pack.c @@ -25,17 +25,6 @@  struct GNUNET_JSON_PackSpec -TALER_JSON_pack_time_abs (const char *name, -                          struct GNUNET_TIME_Absolute at) -{ -  GNUNET_assert (GNUNET_OK == -                 GNUNET_TIME_round_abs (&at)); -  return GNUNET_JSON_pack_time_abs (name, -                                    at); -} - - -struct GNUNET_JSON_PackSpec  TALER_JSON_pack_time_abs_human (const char *name,                                  struct GNUNET_TIME_Absolute at)  { @@ -50,15 +39,6 @@ TALER_JSON_pack_time_abs_human (const char *name,  struct GNUNET_JSON_PackSpec -TALER_JSON_pack_time_abs_nbo (const char *name, -                              struct GNUNET_TIME_AbsoluteNBO at) -{ -  return TALER_JSON_pack_time_abs (name, -                                   GNUNET_TIME_absolute_ntoh (at)); -} - - -struct GNUNET_JSON_PackSpec  TALER_JSON_pack_time_abs_nbo_human (const char *name,                                      struct GNUNET_TIME_AbsoluteNBO at)  { @@ -68,26 +48,6 @@ TALER_JSON_pack_time_abs_nbo_human (const char *name,  struct GNUNET_JSON_PackSpec -TALER_JSON_pack_time_rel (const char *name, -                          struct GNUNET_TIME_Relative rt) -{ -  GNUNET_assert (GNUNET_OK == -                 GNUNET_TIME_round_rel (&rt)); -  return GNUNET_JSON_pack_time_rel (name, -                                    rt); -} - - -struct GNUNET_JSON_PackSpec -TALER_JSON_pack_time_rel_nbo (const char *name, -                              struct GNUNET_TIME_RelativeNBO rt) -{ -  return TALER_JSON_pack_time_rel (name, -                                   GNUNET_TIME_relative_ntoh (rt)); -} - - -struct GNUNET_JSON_PackSpec  TALER_JSON_pack_denom_pub (    const char *name,    const struct TALER_DenominationPublicKey *pk) | 
