Mon, 06 Aug 2012 13:16:32 +0200
Gadu-Gadu: OAuth support
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
1 | #include "libgaduw.h" |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
2 | |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
3 | #include <debug.h> |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
4 | |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
5 | #include "purplew.h" |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
6 | |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
7 | /******************************************************************************* |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
8 | * HTTP requests. |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
9 | ******************************************************************************/ |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
10 | |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
11 | static void ggp_libgaduw_http_processing_cancel(PurpleConnection *gc, |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
12 | void *_req); |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
13 | |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
14 | static void ggp_libgaduw_http_handler(gpointer _req, gint fd, |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
15 | PurpleInputCondition cond); |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
16 | |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
17 | static void ggp_libgaduw_http_finish(ggp_libgaduw_http_req *req, |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
18 | gboolean success); |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
19 | |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
20 | /******************************************************************************/ |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
21 | |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
22 | ggp_libgaduw_http_req * ggp_libgaduw_http_watch(PurpleConnection *gc, |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
23 | struct gg_http *h, ggp_libgaduw_http_cb cb, |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
24 | gpointer user_data, gboolean show_processing) |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
25 | { |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
26 | ggp_libgaduw_http_req *req; |
|
33309
bc2f2ea7b5ab
Gadu-Gadu: refactoring of account registration done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33308
diff
changeset
|
27 | purple_debug_misc("gg", "ggp_libgaduw_http_watch(h=%x, " |
|
bc2f2ea7b5ab
Gadu-Gadu: refactoring of account registration done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33308
diff
changeset
|
28 | "show_processing=%d)\n", (unsigned int)h, show_processing); |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
29 | |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
30 | req = g_new(ggp_libgaduw_http_req, 1); |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
31 | req->user_data = user_data; |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
32 | req->cb = cb; |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
33 | req->cancelled = FALSE; |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
34 | req->h = h; |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
35 | req->processing = NULL; |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
36 | if (show_processing) |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
37 | req->processing = ggp_purplew_request_processing(gc, NULL, |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
38 | req, ggp_libgaduw_http_processing_cancel); |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
39 | req->inpa = ggp_purplew_http_input_add(h, ggp_libgaduw_http_handler, |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
40 | req); |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
41 | |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
42 | return req; |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
43 | } |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
44 | |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
45 | static void ggp_libgaduw_http_processing_cancel(PurpleConnection *gc, |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
46 | void *_req) |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
47 | { |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
48 | ggp_libgaduw_http_req *req = _req; |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
49 | req->processing = NULL; |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
50 | ggp_libgaduw_http_cancel(req); |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
51 | } |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
52 | |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
53 | static void ggp_libgaduw_http_handler(gpointer _req, gint fd, |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
54 | PurpleInputCondition cond) |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
55 | { |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
56 | ggp_libgaduw_http_req *req = _req; |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
57 | |
|
33309
bc2f2ea7b5ab
Gadu-Gadu: refactoring of account registration done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33308
diff
changeset
|
58 | if (req->h->callback(req->h) == -1 || req->h->state == GG_STATE_ERROR) |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
59 | { |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
60 | purple_debug_error("gg", "ggp_libgaduw_http_handler: failed to " |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
61 | "make http request: %d\n", req->h->error); |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
62 | ggp_libgaduw_http_finish(req, FALSE); |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
63 | return; |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
64 | } |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
65 | |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
66 | //TODO: verbose mode |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
67 | //purple_debug_misc("gg", "ggp_libgaduw_http_handler: got fd update " |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
68 | // "[check=%d, state=%d]\n", req->h->check, req->h->state); |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
69 | |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
70 | if (req->h->state != GG_STATE_DONE) |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
71 | { |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
72 | purple_input_remove(req->inpa); |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
73 | req->inpa = ggp_purplew_http_input_add(req->h, |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
74 | ggp_libgaduw_http_handler, req); |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
75 | return; |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
76 | } |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
77 | |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
78 | if (!req->h->data || !req->h->body) |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
79 | { |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
80 | purple_debug_error("gg", "ggp_libgaduw_http_handler: got empty " |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
81 | "http response: %d\n", req->h->error); |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
82 | ggp_libgaduw_http_finish(req, FALSE); |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
83 | return; |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
84 | } |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
85 | |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
86 | ggp_libgaduw_http_finish(req, TRUE); |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
87 | } |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
88 | |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
89 | void ggp_libgaduw_http_cancel(ggp_libgaduw_http_req *req) |
|
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
90 | { |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
91 | purple_debug_misc("gg", "ggp_libgaduw_http_cancel\n"); |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
92 | req->cancelled = TRUE; |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
93 | gg_http_stop(req->h); |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
94 | ggp_libgaduw_http_finish(req, FALSE); |
|
33307
45147502ceab
Gadu-Gadu: refactoring - gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
diff
changeset
|
95 | } |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
96 | |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
97 | static void ggp_libgaduw_http_finish(ggp_libgaduw_http_req *req, |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
98 | gboolean success) |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
99 | { |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
100 | purple_debug_misc("gg", "ggp_libgaduw_http_finish(h=%x, processing=%x):" |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
101 | " success=%d\n", (unsigned int)req->h, |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
102 | (unsigned int)req->processing, success); |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
103 | if (req->processing) |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
104 | { |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
105 | ggp_purplew_request_processing_done(req->processing); |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
106 | req->processing = NULL; |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
107 | } |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
108 | purple_input_remove(req->inpa); |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
109 | req->cb(req->h, success, req->cancelled, req->user_data); |
|
33309
bc2f2ea7b5ab
Gadu-Gadu: refactoring of account registration done
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33308
diff
changeset
|
110 | req->h->destroy(req->h); |
|
33308
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
111 | g_free(req); |
|
140aa3ad4cae
Gadu-Gadu: cancellable gg_http watcher
Tomasz Wasilczyk <tomkiewicz@cpw.pidgin.im>
parents:
33307
diff
changeset
|
112 | } |