jingle-filetransfer/filetransfer.c
changeset 120 3e2085a44a5c
parent 119 0b9a7b505079
child 123 58bd57666ef9
equal deleted inserted replaced
119:0b9a7b505079 120:3e2085a44a5c
   276     session_add_content(sess, "file", JINGLE_SESSION_STATE_PENDING);
   276     session_add_content(sess, "file", JINGLE_SESSION_STATE_PENDING);
   277 
   277 
   278     jft->desc = g_strdup(args[0]);
   278     jft->desc = g_strdup(args[0]);
   279     jft->type = JINGLE_FT_OFFER;
   279     jft->type = JINGLE_FT_OFFER;
   280     jft->name = g_path_get_basename(filename);
   280     jft->name = g_path_get_basename(filename);
   281     // TODO: Transform date to a good format (ios8601)
       
   282     jft->date = fileinfo.st_mtime;
   281     jft->date = fileinfo.st_mtime;
   283     jft->size = fileinfo.st_size;
   282     jft->size = fileinfo.st_size;
   284     jft->outfile = g_io_channel_new_file (filename, "r", NULL);
   283     jft->outfile = g_io_channel_new_file (filename, "r", NULL);
   285     if (jft->outfile == NULL) {
   284     if (jft->outfile == NULL) {
   286       scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: Cannot open file %s", args[1]);
   285       scr_LogPrint(LPRINT_LOGNORM, "Jingle File Transfer: Cannot open file %s", args[1]);
   302 
   301 
   303 void jingle_ft_tomessage(gconstpointer data, LmMessageNode *node)
   302 void jingle_ft_tomessage(gconstpointer data, LmMessageNode *node)
   304 {
   303 {
   305   JingleFT *jft = (JingleFT*) data;
   304   JingleFT *jft = (JingleFT*) data;
   306   gchar *size = NULL;
   305   gchar *size = NULL;
       
   306   gchar date[19];
   307   
   307   
   308   if (lm_message_node_get_child(node, "description") != NULL)
   308   if (lm_message_node_get_child(node, "description") != NULL)
   309     return;
   309     return;
   310 
   310 
   311   LmMessageNode *node2 = lm_message_node_add_child(node, "description", NULL);
   311   LmMessageNode *node2 = lm_message_node_add_child(node, "description", NULL);
   323                                  "size", size, NULL);
   323                                  "size", size, NULL);
   324   g_free(size);
   324   g_free(size);
   325   
   325   
   326   if (jft->hash != NULL)
   326   if (jft->hash != NULL)
   327     lm_message_node_set_attribute(node2, "hash", jft->hash);
   327     lm_message_node_set_attribute(node2, "hash", jft->hash);
       
   328 
       
   329   if (jft->date)
       
   330     if (!to_iso8601(date, jft->date))
       
   331       lm_message_node_set_attribute(node2, "date", date);
   328 
   332 
   329   if (jft->desc != NULL)
   333   if (jft->desc != NULL)
   330     lm_message_node_add_child(node2, "desc", jft->desc);
   334     lm_message_node_add_child(node2, "desc", jft->desc);
   331 
   335 
   332   //if (jft->data != 0)
   336   //if (jft->data != 0)