shutter and sprinkler: WIP
This commit is contained in:
@@ -38,6 +38,11 @@
|
||||
// 204 Success. No content.
|
||||
// 400 Bad request
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int remove_device(restd_resp_t *response, devices_manager_t *dm, const char *capability);
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int capabilities_handler(restd_resp_t *response, void *arg)
|
||||
@@ -186,10 +191,100 @@ int outlet_update_handler(restd_resp_t *response, void *arg)
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int outlet_remove_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
devices_manager_t *dm = (devices_manager_t *)arg;
|
||||
|
||||
return remove_device(response, dm, kOutletEntry);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int sprinkler_create_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
#warning TODO
|
||||
return RESTD_OK;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int sprinkler_list_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
#warning TODO
|
||||
return RESTD_OK;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int sprinkler_get_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
#warning TODO
|
||||
return RESTD_OK;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int sprinkler_update_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
#warning TODO
|
||||
return RESTD_OK;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int sprinkler_remove_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
devices_manager_t *dm = (devices_manager_t *)arg;
|
||||
|
||||
return remove_device(response, dm, kSprinklerEntry);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int shutter_create_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
#warning TODO
|
||||
return RESTD_OK;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int shutter_list_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
#warning TODO
|
||||
return RESTD_OK;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int shutter_get_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
#warning TODO
|
||||
return RESTD_OK;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int shutter_update_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
#warning TODO
|
||||
return RESTD_OK;
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int shutter_remove_handler(restd_resp_t *response, void *arg)
|
||||
{
|
||||
devices_manager_t *dm = (devices_manager_t *)arg;
|
||||
|
||||
return remove_device(response, dm, kShutterEntry);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
|
||||
int remove_device(restd_resp_t *response, devices_manager_t *dm, const char *capability)
|
||||
{
|
||||
struct json_object *root_node = NULL;
|
||||
int ret;
|
||||
devices_manager_t *dm = (devices_manager_t *)arg;
|
||||
|
||||
if (response->has_parameter == false)
|
||||
{
|
||||
@@ -197,7 +292,7 @@ int outlet_remove_handler(restd_resp_t *response, void *arg)
|
||||
return RESTD_OK;
|
||||
}
|
||||
|
||||
ret = devices_manager_delete(dm, kOutletEntry, response->parameter_value);
|
||||
ret = devices_manager_delete(dm, capability, response->parameter_value);
|
||||
if (ret == 0)
|
||||
restd_http_response(response, 204, "application/json", "");
|
||||
else
|
||||
|
||||
@@ -44,4 +44,18 @@ extern int outlet_get_handler(restd_resp_t *response, void *arg);
|
||||
extern int outlet_update_handler(restd_resp_t *response, void *arg);
|
||||
extern int outlet_remove_handler(restd_resp_t *response, void *arg);
|
||||
|
||||
// Sprinkler
|
||||
extern int sprinkler_create_handler(restd_resp_t *response, void *arg);
|
||||
extern int sprinkler_list_handler(restd_resp_t *response, void *arg);
|
||||
extern int sprinkler_get_handler(restd_resp_t *response, void *arg);
|
||||
extern int sprinkler_update_handler(restd_resp_t *response, void *arg);
|
||||
extern int sprinkler_remove_handler(restd_resp_t *response, void *arg);
|
||||
|
||||
// Shutters
|
||||
extern int shutter_create_handler(restd_resp_t *response, void *arg);
|
||||
extern int shutter_list_handler(restd_resp_t *response, void *arg);
|
||||
extern int shutter_get_handler(restd_resp_t *response, void *arg);
|
||||
extern int shutter_update_handler(restd_resp_t *response, void *arg);
|
||||
extern int shutter_remove_handler(restd_resp_t *response, void *arg);
|
||||
|
||||
#endif /*_REST_DEVICES_HANDLERS_H */
|
||||
|
||||
@@ -71,8 +71,18 @@ int setup_rest_server(restd_server_t *rest_server, const char *port, const char
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_DELETE, "/api/v1/outlets/:id", outlet_remove_handler, dm);
|
||||
|
||||
// Sprinkler
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_POST, "/api/v1/sprinklers", sprinkler_create_handler, dm);
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_GET, "/api/v1/sprinklers", sprinkler_list_handler, dm);
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_GET, "/api/v1/sprinklers/:id", sprinkler_get_handler, dm);
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_PUT, "/api/v1/sprinklers/:id", sprinkler_update_handler, dm);
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_DELETE, "/api/v1/sprinklers/:id", sprinkler_remove_handler, dm);
|
||||
|
||||
// Shutters
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_POST, "/api/v1/shutters", shutter_create_handler, dm);
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_GET, "/api/v1/shutters", shutter_list_handler, dm);
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_GET, "/api/v1/shutters/:id", shutter_get_handler, dm);
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_PUT, "/api/v1/shutters/:id", shutter_update_handler, dm);
|
||||
restd_server_register_hook_on_path(rest_server, EVHTTP_REQ_DELETE, "/api/v1/shutters/:id", shutter_remove_handler, dm);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user