33 #include <mcabber/commands.h> |
33 #include <mcabber/commands.h> |
34 |
34 |
35 #include <jingle/jingle.h> |
35 #include <jingle/jingle.h> |
36 #include <jingle/check.h> |
36 #include <jingle/check.h> |
37 #include <jingle/register.h> |
37 #include <jingle/register.h> |
|
38 #include <jingle/sessions.h> |
38 |
39 |
39 #include "filetransfer.h" |
40 #include "filetransfer.h" |
40 |
41 |
41 |
42 |
42 gconstpointer jingle_ft_check(JingleContent *cn, GError **err); |
43 gconstpointer jingle_ft_check(JingleContent *cn, GError **err); |
205 if (!args[1]) { |
206 if (!args[1]) { |
206 scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: give me a name!"); |
207 scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: give me a name!"); |
207 return; |
208 return; |
208 } |
209 } |
209 |
210 |
|
211 if (!g_file_test (args[1], G_FILE_TEST_EXISTS)) { |
|
212 scr_LogPrint(LPRINT_LOGNORM, "File doesn't exist!"); |
|
213 return; |
|
214 } |
|
215 |
210 if (!g_strcmp0(args[0], "send")) { |
216 if (!g_strcmp0(args[0], "send")) { |
211 scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: try to sent %s!", |
217 scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: try to sent %s!", |
212 args[1]); |
218 args[1]); |
213 |
219 // Create a new session for send a file |
214 |
220 { |
|
221 JingleSession *sess; |
|
222 gchar *sid = new_sid(); |
|
223 const gchar *jid = settings_opt_get("jid"); |
|
224 JingleFT *jft = g_new0(JingleFT, 1); |
|
225 sess = session_new(sid, jid, jid); |
|
226 session_add_content(sess, "file", JINGLE_SESSION_STATE_PENDING); |
|
227 |
|
228 jft->name = g_strdup(args[1]); |
|
229 jft->hash = NULL; |
|
230 jft->date = 0; |
|
231 jft->size = 0; |
|
232 jft->outfile = NULL; |
|
233 session_add_app(sess, "file", NS_JINGLE_APP_FT, jft); |
|
234 |
|
235 |
|
236 g_free(sid); |
|
237 } |
215 } else if (!g_strcmp0(args[0], "request")) { |
238 } else if (!g_strcmp0(args[0], "request")) { |
216 scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: try to request %s!", |
239 scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: try to request %s!", |
217 args[1]); |
240 args[1]); |
218 //later |
241 //later |
219 } |
242 } |
|
243 |
|
244 |
220 |
245 |
221 free_arg_lst(args); |
246 free_arg_lst(args); |
222 } |
247 } |
223 |
248 |
224 static void jingle_ft_init(void) |
249 static void jingle_ft_init(void) |