Mercurial > pidgin.yaz
comparison src/protocols/msn/transaction.c @ 9193:502707ca1836
[gaim-migrate @ 9988]
Patch by Felipe Contreras to add MSN file transfer and buddy icons. Please
test and report any bugs!
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Sun, 06 Jun 2004 02:39:08 +0000 |
parents | c30d81b4dd22 |
children | ab6636c5a136 |
comparison
equal
deleted
inserted
replaced
9192:5655dcd94d0f | 9193:502707ca1836 |
---|---|
88 | 88 |
89 return str; | 89 return str; |
90 } | 90 } |
91 | 91 |
92 void | 92 void |
93 msn_transaction_queue_cmd(MsnTransaction *trans, MsnCommand *cmd) | |
94 { | |
95 gaim_debug_info("msn", "queueing command.\n"); | |
96 trans->pendent_cmd = cmd; | |
97 msn_command_ref(cmd); | |
98 } | |
99 | |
100 void | |
101 msn_transaction_unqueue_cmd(MsnTransaction *trans, MsnCmdProc *cmdproc) | |
102 { | |
103 gaim_debug_info("msn", "unqueueing command.\n"); | |
104 MsnCommand *cmd = trans->pendent_cmd; | |
105 g_return_if_fail(cmd != NULL); | |
106 | |
107 msn_cmdproc_process_cmd(cmdproc, cmd); | |
108 msn_command_unref(cmd); | |
109 | |
110 trans->pendent_cmd = NULL; | |
111 } | |
112 | |
113 #if 0 | |
114 void | |
115 msn_transaction_queue(MsnTransaction *trans, MsnTransaction *elem) | |
116 { | |
117 if (trans->queue == NULL) | |
118 trans->queue = g_queue_new(); | |
119 | |
120 g_queue_push_tail(trans->queue, elem); | |
121 } | |
122 | |
123 void | |
124 msn_transaction_unqueue(MsnTransaction *trans, MsnCmdProc *cmdproc) | |
125 { | |
126 MsnTransaction *elem; | |
127 | |
128 while ((elem = g_queue_pop_head(trans->queue)) != NULL) | |
129 msn_cmdproc_send_trans(cmdproc, elem); | |
130 } | |
131 #endif | |
132 | |
133 void | |
93 msn_transaction_set_payload(MsnTransaction *trans, | 134 msn_transaction_set_payload(MsnTransaction *trans, |
94 const char *payload, int payload_len) | 135 const char *payload, int payload_len) |
95 { | 136 { |
96 g_return_if_fail(trans != NULL); | 137 g_return_if_fail(trans != NULL); |
97 g_return_if_fail(payload != NULL); | 138 g_return_if_fail(payload != NULL); |
98 | 139 |
99 trans->payload = g_strdup(payload); | 140 trans->payload = g_strdup(payload); |
100 trans->payload_len = payload_len ? payload_len : strlen(trans->payload); | 141 trans->payload_len = payload_len ? payload_len : strlen(trans->payload); |
101 } | 142 } |
143 | |
144 void | |
145 msn_transaction_set_data(MsnTransaction *trans, void *data) | |
146 { | |
147 g_return_if_fail(trans != NULL); | |
148 | |
149 trans->data = data; | |
150 } | |
151 | |
152 void | |
153 msn_transaction_add_cb(MsnTransaction *trans, char *answer, | |
154 MsnTransCb cb, void *data) | |
155 { | |
156 g_return_if_fail(trans != NULL); | |
157 g_return_if_fail(answer != NULL); | |
158 | |
159 if (trans->callbacks == NULL) | |
160 trans->callbacks = g_hash_table_new_full(g_str_hash, g_str_equal, NULL, NULL); | |
161 | |
162 g_hash_table_insert(trans->callbacks, answer, cb); | |
163 | |
164 trans->data = data; | |
165 } |