fixed code style
[prss.git] / src / ttrss_wsasync.c
index f3c3d84..35e42e7 100644 (file)
@@ -17,6 +17,7 @@
  * 02110-1301 USA
  */
 
+#include <stdio.h>
 #include <stdlib.h>
 #include <unistd.h>
 
@@ -81,7 +82,7 @@ static void *loop()
                                        json_object_put(rp);
 
                                cur++;
-                               usleep(100000);
+                               usleep(500000);
                        }
                        free(tmp);
                }
@@ -134,3 +135,38 @@ void ws_async_set_article_unread(int id, int unread)
 
        log_debug("ws_async_set_article_unread(%d,%d) done", id, unread);
 }
+
+struct cbk_data {
+       int id;
+       void (*callback)(int id, const char *);
+};
+
+void async_article_content_cbk(struct json_object *rp, void *userdata)
+{
+       struct cbk_data *data;
+
+       data = userdata;
+
+       log_debug("async_article_content_cbk %d\n", data->id);
+
+       if (data->callback)
+               data->callback(data->id, ws_reply_get_article_content(rp));
+
+       free(data);
+}
+
+
+void
+ws_async_get_article_content(int id, void (*callback)(int id, const char *))
+{
+       struct json_object *rq;
+       struct cbk_data *data;
+
+       rq = ws_request_new_get_article_content(id);
+
+       data = malloc(sizeof(struct cbk_data));
+       data->id = id;
+       data->callback = callback;
+
+       add_async_request(rq, async_article_content_cbk, data);
+}