aboutsummaryrefslogtreecommitdiff
path: root/src/kyclogic/kyclogic_api.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/kyclogic/kyclogic_api.c')
-rw-r--r--src/kyclogic/kyclogic_api.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/kyclogic/kyclogic_api.c b/src/kyclogic/kyclogic_api.c
index d29a6ac34..af801a55c 100644
--- a/src/kyclogic/kyclogic_api.c
+++ b/src/kyclogic/kyclogic_api.c
@@ -885,6 +885,35 @@ find_measure (const struct TALER_KYCLOGIC_LegitimizationRuleSet *lrs,
}
+const struct TALER_KYCLOGIC_Measure *
+TALER_KYCLOGIC_rule_get_instant_measure (
+ const struct TALER_KYCLOGIC_KycRule *r)
+{
+ const struct TALER_KYCLOGIC_LegitimizationRuleSet *lrs
+ = r->lrs;
+
+ if (r->verboten)
+ return NULL;
+ for (unsigned int i = 0; i<r->num_measures; i++)
+ {
+ const char *measure_name = r->next_measures[i];
+ const struct TALER_KYCLOGIC_Measure *ms;
+
+ ms = find_measure (lrs,
+ measure_name);
+ if (NULL == ms)
+ {
+ GNUNET_break (0);
+ return NULL;
+ }
+ if (0 == strcasecmp (ms->check_name,
+ "SKIP"))
+ return ms;
+ }
+ return NULL;
+}
+
+
json_t *
TALER_KYCLOGIC_rule_to_measures (const struct TALER_KYCLOGIC_KycRule *r)
{
@@ -3463,6 +3492,26 @@ TALER_KYCLOGIC_run_aml_program2 (
}
+struct TALER_KYCLOGIC_AmlProgramRunnerHandle *
+TALER_KYCLOGIC_run_aml_program3 (
+ const struct TALER_KYCLOGIC_Measure *measure,
+ const json_t *attributes,
+ const json_t *aml_history,
+ const json_t *kyc_history,
+ TALER_KYCLOGIC_AmlProgramResultCallback aprc,
+ void *aprc_cls)
+{
+ return TALER_KYCLOGIC_run_aml_program2 (
+ measure->prog_name,
+ attributes,
+ aml_history,
+ kyc_history,
+ measure->context,
+ aprc,
+ aprc_cls);
+}
+
+
void
TALER_KYCLOGIC_run_aml_program_cancel (
struct TALER_KYCLOGIC_AmlProgramRunnerHandle *aprh)