]> rtime.felk.cvut.cz Git - frescor/frsh-forb.git/blob - resources/dummy/frs_dummy.c
Fixed uninitialized variable warnings
[frescor/frsh-forb.git] / resources / dummy / frs_dummy.c
1 #include <ul_log.h>
2 #include <frs_generic.h>
3 #include "res_dummy.h"
4 #include <stdio.h>
5
6
7 UL_LOG_CUST(ulogd_frs_dummy);
8 ul_log_domain_t ulogd_frs_dummy = {UL_LOGL_MSG, "frs_dummy"};
9
10 static int create_vres(fres_vres_t *vres, void *priv)
11 {
12         int *my_data = priv;
13         fres_block_basic *basic;
14         fres_block_dummy_sched *dummy_sched;
15         char id[40];
16         
17         (*my_data)++;
18
19         fres_contract_id_to_string(id, &vres->id, sizeof(id));
20         basic = fres_contract_get_basic(vres->new);
21         dummy_sched = fres_contract_get_block(vres->new, FRES_BLOCK_DUMMY_SCHED);
22         printf("Creating VRes #%d (id=%s, period=%ld ms, budget=%ld ms, priority=%d)\n",
23                *my_data, id,
24                fosa_rel_time_to_msec(basic->period),
25                fosa_rel_time_to_msec(basic->budget),
26                dummy_sched ? dummy_sched->priority : -1);
27         return 0;
28 }
29
30 static int cancel_vres(fres_vres_t *vres, void *priv)
31 {
32         int *my_data = priv;
33         fres_block_basic *basic;
34         fres_block_dummy_sched *dummy_sched;
35         char id[40];
36
37         fres_contract_id_to_string(id, &vres->id, sizeof(id));
38         basic = fres_contract_get_basic(vres->allocated);
39         dummy_sched = fres_contract_get_block(vres->allocated, FRES_BLOCK_DUMMY_SCHED);
40         
41         printf("Canceling VRes #%d (id=%s, period=%ld ms, budget=%ld ms, priority=%d)\n",
42                *my_data, id,
43                fosa_rel_time_to_msec(basic->period),
44                fosa_rel_time_to_msec(basic->budget),
45                dummy_sched ? dummy_sched->priority : 999);
46
47         (*my_data)--;
48         return 0;
49 }
50
51 static int change_vres(fres_vres_t *vres, void *priv)
52 {
53         return 0;
54 }
55
56
57
58 static int my_data;
59
60 static struct fres_scheduler dummy_scheduler = {
61         .res_type = DUMMY_RESOURCE_TYPE,
62         .res_id = DUMMY_RESOURCE_ID,
63         /* Here we are using the "simple interface" */
64         .create_vres = create_vres,
65         .cancel_vres = cancel_vres,
66         .change_vres = change_vres,
67         .priv = &my_data
68 };
69
70 int frs_dummy_init(forb_orb orb, fres_contract_broker fcb, forb_executor_t *executor)
71 {
72         fres_block_register_dummy();
73         return frs_register(orb, fcb, executor, &dummy_scheduler);
74 }