Exemplo n.º 1
0
static int
light_resource_to_rep(const struct sol_coap_resource *resource,
    bool state, char *buf, int buflen)
{
    uint8_t path[64];
    int len = 0;

    memset(&path, 0, sizeof(path));
    sol_coap_uri_path_to_buf(resource->path, path, sizeof(path));

    len += snprintf(buf + len, buflen - len, OC_CORE_ELEM_JSON_START, path);

    /* FIXME */
    len += snprintf(buf + len, buflen - len, OC_CORE_PROP_JSON_NUMBER, "power", 100);
    len += snprintf(buf + len, buflen - len, OC_CORE_JSON_SEPARATOR);
    len += snprintf(buf + len, buflen - len, OC_CORE_PROP_JSON_STRING, "name", "Soletta LAMP!");
    len += snprintf(buf + len, buflen - len, OC_CORE_JSON_SEPARATOR);

    len += snprintf(buf + len, buflen - len, OC_CORE_PROP_JSON_BOOLEAN, "state",
        state ? "true" : "false" );

    len += snprintf(buf + len, buflen - len, OC_CORE_ELEM_JSON_END);

    return len;
}
Exemplo n.º 2
0
static int
light_resource_to_rep(const struct sol_coap_resource *resource,
    bool state, struct sol_buffer *buf)
{
    SOL_BUFFER_DECLARE_STATIC(buffer, 64);
    int r;

    r = sol_coap_uri_path_to_buf(resource->path, &buffer, 0, NULL);
    SOL_INT_CHECK(r, < 0, r);

    r = sol_buffer_append_printf(buf,
        OC_CORE_ELEM_JSON_START, (char *)sol_buffer_steal(&buffer, NULL));
    SOL_INT_CHECK(r, < 0, r);

    r = sol_buffer_append_printf(buf,
        OC_CORE_PROP_JSON_NUMBER, "power", 100);
    SOL_INT_CHECK(r, < 0, r);

    r = sol_buffer_append_printf(buf, OC_CORE_JSON_SEPARATOR);
    SOL_INT_CHECK(r, < 0, r);

    r = sol_buffer_append_printf(buf,
        OC_CORE_PROP_JSON_STRING, "name", "Soletta LAMP!");
    SOL_INT_CHECK(r, < 0, r);

    r = sol_buffer_append_printf(buf, OC_CORE_JSON_SEPARATOR);
    SOL_INT_CHECK(r, < 0, r);

    r = sol_buffer_append_printf(buf,
        OC_CORE_PROP_JSON_BOOLEAN, "state", state ? "true" : "false" );
    SOL_INT_CHECK(r, < 0, r);

    r = sol_buffer_append_printf(buf, OC_CORE_ELEM_JSON_END);
    SOL_INT_CHECK(r, < 0, r);

    return 0;
}