Exemplo n.º 1
0
void on_invoke_timer_fire(uv_timer_t *timer) {
    DSLink *link = timer->data;

    if (count == 3) {
        printf("We are done.\n");
        uv_timer_stop(timer);
        uv_close((uv_handle_t *) timer, (uv_close_cb) dslink_free);
        dslink_close(link);
        return;
    }

    json_t *params = json_object();
    json_object_set_new(params, "command", json_string("ls"));

    configure_request(dslink_requester_invoke(
        link,
        "/downstream/System/Execute_Command",
        params,
        on_invoke_updates
    ));

    configure_request(dslink_requester_set(
        link,
        "/data/c-sdk/requester/testNumber",
        json_real(rand())
    ));

    count++;
}
Exemplo n.º 2
0
void on_timer_fire(uv_timer_t *timer) {
    static int count = 0;

    DSLink *link = timer->data;

    if (count == 3) {
        printf("We are done.\n");
        uv_timer_stop(timer);
        uv_close((uv_handle_t *) timer, (uv_close_cb) dslink_free);
        dslink_close(link);
        return;
    }


    // set value
    json_t *value = json_real(rand());
    configure_request(dslink_requester_set(
        link,
        "/data/c-sdk/requester/testNumber",
        value
    ));
    json_decref(value);

    // stream invoke
    json_t *params = json_object();
    json_object_set_new(params, "Path", json_string("/data/test_c_sdk"));
    json_object_set_new(params, "Value", json_integer(count));
    RequestHolder *holder = streamInvokeRef->data;
    dslink_requester_invoke_update_params(link, holder->rid, params);
    json_decref(params);

    count++;
}
Exemplo n.º 3
0
void start_stream_invoke(DSLink *link) {
    json_t *params = json_object();
    json_object_set_new(params, "Path", json_string("/data/test_c_sdk"));
    json_object_set_new(params, "Value", json_integer(-1));
    streamInvokeRef = dslink_requester_invoke(
            link,
            "/data/publish",
            params,
            on_invoke_updates
    );
    json_decref(params);
    configure_request(streamInvokeRef);
}
Exemplo n.º 4
0
void handle_event(xcb_generic_event_t *evt)
{
	uint8_t resp_type = XCB_EVENT_RESPONSE_TYPE(evt);
	switch (resp_type) {
		case XCB_MAP_REQUEST:
			map_request(evt);
			break;
		case XCB_DESTROY_NOTIFY:
			destroy_notify(evt);
			break;
		case XCB_UNMAP_NOTIFY:
			unmap_notify(evt);
			break;
		case XCB_CLIENT_MESSAGE:
			client_message(evt);
			break;
		case XCB_CONFIGURE_REQUEST:
			configure_request(evt);
			break;
		case XCB_PROPERTY_NOTIFY:
			property_notify(evt);
			break;
		case XCB_ENTER_NOTIFY:
			enter_notify(evt);
			break;
		case XCB_MOTION_NOTIFY:
			motion_notify(evt);
			break;
		case XCB_FOCUS_IN:
			focus_in(evt);
			break;
		case 0:
			process_error(evt);
			break;
		default:
			if (randr && resp_type == randr_base + XCB_RANDR_SCREEN_CHANGE_NOTIFY) {
				update_monitors();
			}
			break;
	}
}