Ejemplo n.º 1
0
void ad_spi_device_init(const spi_device_id id)
{
#if !CONFIG_SPI_RESOURCE_STATIC_ID
        const spi_device_config *config = (const spi_device_config *) id;
        config->data->dev_res_id = resource_add();
#endif
}
Ejemplo n.º 2
0
///>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
void server_pensioners(socket_t * client, resource_t * lt, http_request_t * req)
{
    char buf[10200] = "";
    if(strcmp(req->method, "GET") == 0)
    {
        cJSON * arr = cJSON_CreateArray();

        for(int i = 0; i < resource_getCnt(lt); i++)
        {
            cJSON * pens = cJSON_CreateObject();
            pensioner_t * ps = resource_getPens(lt, i);
            cJSON_AddItemToObject(pens, "id", cJSON_CreateNumber(pensioner_getID(ps)));
            cJSON_AddItemToObject(pens, "name", cJSON_CreateString(pensioner_getName(ps)));
            cJSON_AddItemToObject(pens, "surname", cJSON_CreateString(pensioner_getSurname(ps)));
            cJSON_AddItemToObject(pens, "year", cJSON_CreateString(pensioner_getYear(ps)));
            cJSON_AddItemToObject(pens, "experience", cJSON_CreateNumber(pensioner_getExperience(ps)));
            cJSON_AddItemToObject(pens, "pension", cJSON_CreateNumber(pensioner_getPension(ps)));
            cJSON_AddItemToArray(arr, pens);
        }
    char * Jtext = cJSON_Print(arr);
    char * textP = textToBuf_JSON(Jtext);

    strcat(buf, textP);
    free(textP);
    }
    else if(strcmp(req->method, "POST") == 0)
    {
        pensioner_t * pens = pensioner_new();
        char * id = (char *)http_request_getArg(req, "id");
        char * name = (char *)http_request_getArg(req, "name");
        char * surname = (char *)http_request_getArg(req, "surname");
        char * birthdate = (char *)http_request_getArg(req, "birthday");
        char * pension = (char *)http_request_getArg(req, "pension");
        char * experience = (char *)http_request_getArg(req, "experience");

        pensioner_set(pens, atoi(id), birthdate, name, surname, atof(pension), atoi(experience));
        resource_add(lt, pens);
        char * Jst = pensioner_toJSON(pens);
        char * pageT = textToBuf_JSON(Jst);
        strcat(buf, pageT);
        free(pageT);
    }

    socket_write_string(client, buf);
    socket_close(client);
}
Ejemplo n.º 3
0
void server_pensionersHtml(socket_t * client, resource_t * lt, http_request_t * req)
{
    char buf[10000] = "";

    if(strcmp(req->method, "GET") == 0)
    {
        char text[4000] = "";
        for(int i = 0; i < resource_getCnt(lt); i++)
        {
            char pageText[300] = "";
            sprintf(pageText, "<a href=\"http://127.0.0.1:5000/pensioners/%i\">%s %s<br></a>\n", pensioner_getID(resource_getPens(lt, i)),
                    pensioner_getName(resource_getPens(lt, i)), pensioner_getSurname(resource_getPens(lt, i)));
            strcat(text, pageText);
        }

        char * pageText = "<a href=\"http://127.0.0.1:5000/new-pensioner\"><br>New pensioner</a>";
        strcat(text, pageText);

        char * textHTML = textToBuf_HTML(text);
        strcat(buf, textHTML);
        free(textHTML);
    }
    else if(strcmp(req->method, "POST") == 0)
    {
        char * id = (char *) http_request_getArg(req, "id");
        char * name = (char *)http_request_getArg(req, "name");
        char * surname = (char *)http_request_getArg(req, "surname");
        char * birthday = (char *)http_request_getArg(req, "birthday");
        char * pension = (char *)http_request_getArg(req, "pension");
        char * experience = (char *)http_request_getArg(req, "experience");

        int ch = check(id, name, surname, birthday, pension, experience, lt);
        char * message;
        switch(ch)
         {
         case 1:
            {
                pensioner_t * pens = pensioner_new();
                pensioner_set(pens, atoi(id), birthday, name, surname, atof(pension), atoi(experience));
                resource_add(lt, pens);
                message = "<h3>Success</h3>"
                "<a href=\"http://127.0.0.1:5000/pensioners\"><br>Back to the list.</a>";
                break;
            }
         case 2:
            {
                message = "<h3 style=\"color:green\">This index is already occupied.</h3>";
                break;
            }
         case 3:
            {
                message = "<h3 style=\"color:green\">Wrong index. Number must be > 0.</h3>";
                break;
            }
         case 4:
            {
                message = "<h3 style=\"color:green\">Wrong data format.</h3>";
                break;
            }
         default:
                message = "<h3 style=\"color:green\">Wrong input or empty field.</h3>";
                break;
         }
            char * textHtml = textToBuf_HTML(message);
            strcat(buf, textHtml);
            free(textHtml);
    }


        socket_write_string(client, buf);
        socket_close(client);
}