Add test for shutter objects.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
NADAL Jean-Baptiste
2020-01-08 12:36:40 +01:00
parent c3891cd0c2
commit dd4f3ce3bb
7 changed files with 201 additions and 33 deletions

View File

@@ -107,6 +107,7 @@ int create_outlet(devices_manager_t *dm, struct json_object *node)
device_set_id(outlet->device, ++dm->outlets_max_id);
qlist_addlast(dm->outlets, outlet, sizeof(outlet_dio_t));
free(outlet); // duplicated by qlist
return 0;
}
@@ -217,6 +218,7 @@ int create_shutter(devices_manager_t *dm, struct json_object *node)
device_set_id(shutter->outlet_dio->device, ++dm->shutters_max_id);
qlist_addlast(dm->shutters, shutter, sizeof(shutter_t));
free(shutter); // duplicated by qlist
return 0;
}
@@ -225,16 +227,45 @@ int create_shutter(devices_manager_t *dm, struct json_object *node)
int remove_shutter(devices_manager_t *dm, uint16_t id)
{
#warning "TODO"
return 0;
qlist_obj_t obj;
shutter_t *shutter;
int position = 0;
memset((void *)&obj, 0, sizeof(obj));
while (qlist_getnext(dm->shutters, &obj, true))
{
shutter = obj.data;
if (shutter->outlet_dio->device->id == id)
{
qlist_removeat(dm->shutters, position);
return 0;
}
position++;
}
return -1;
}
/*--------------------------------------------------------------------------*/
int update_shutter(devices_manager_t *dm, uint16_t id, struct json_object *node)
{
#warning "TODO"
return 0;
qlist_obj_t obj;
shutter_t *shutter;
memset((void *)&obj, 0, sizeof(obj));
while (qlist_getnext(dm->shutters, &obj, false))
{
shutter = obj.data;
if (shutter->outlet_dio->device->id == id)
{
return shutter_from_json(shutter, node);
}
}
return -1;
}
/*--------------------------------------------------------------------------*/