+#include <ul_log.h>
+#include <frs_generic.h>
+#include "res_dummy.h"
+#include <stdio.h>
+
+
+UL_LOG_CUST(ulogd_frs_dummy);
+ul_log_domain_t ulogd_frs_dummy = {UL_LOGL_MSG, "frs_dummy"};
+
+int create_vres(fres_vres_t *vres, void *priv)
+{
+ int *my_data = priv;
+ fres_block_basic *basic;
+ char id[40];
+
+ (*my_data)++;
+
+ fres_contract_id_to_string(id, &vres->contract->id, sizeof(id));
+ basic = fres_contract_get_basic(vres->contract);
+ printf("Creating VRes #%d (id=%s, period=%ld ms, budget=%ld ms)\n",
+ *my_data, id,
+ fosa_rel_time_to_msec(basic->period),
+ fosa_rel_time_to_msec(basic->budget));
+ return 0;
+}
+int cancel_vres(fres_vres_t *vres, void *priv)
+{
+ int *my_data = priv;
+ fres_block_basic *basic;
+ char id[40];
+
+ fres_contract_id_to_string(id, &vres->contract->id, sizeof(id));
+ basic = fres_contract_get_basic(vres->contract);
+ printf("Creating VRes #%d (id=%s, period=%ld ms, budget=%ld ms)\n",
+ *my_data, id,
+ fosa_rel_time_to_msec(basic->period),
+ fosa_rel_time_to_msec(basic->budget));
+
+ (*my_data)--;
+ return 0;
+}
+
+int change_vres(fres_vres_t *vres, void *priv)
+{
+ return 0;
+}
+
+
+
+static int my_data;
+
+static struct fres_scheduler dummy_scheduler = {
+ .res_type = DUMMY_RESOURCE_TYPE,
+ .res_id = DUMMY_RESOURCE_ID,
+ .create_vres = create_vres,
+ .cancel_vres = cancel_vres,
+ .change_vres = change_vres,
+ .priv = &my_data
+};
+
+int frs_dummy_init(forb_orb orb, fres_contract_broker fcb, forb_executor_t *executor)
+{
+ return frs_register(orb, fcb, executor, &dummy_scheduler);
+}