Ejemplo n.º 1
0
void time_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) {
    const uint8_t *payload = 0;
    size_t pay_len = REST.get_request_payload(request, &payload);

    if (payload && pay_len == 4) {
        uint32_t time;
        memcpy(&time, payload, 4);
        time = uip_ntohl(time);
        clock_set_seconds(time);
        REST.set_response_status(response, CHANGED_2_04);
    } else {
        REST.set_response_status(response, BAD_REQUEST_4_00);
        memcpy(buffer, "32 bit Unixzeit in Network-Byte-Order benötigt.", 48);
        REST.set_response_payload(response, buffer, 48);
    }
}
Ejemplo n.º 2
0
void clock_start(Clock *clock){
	g_return_if_fail(clock != NULL);
	if (clock->timer_id != -1) return;
	clock_set_seconds(clock, clock->stopped);
	clock->timer_id = g_timeout_add(1000*clock->update_interval, clock_timer_callback, clock);
}