diff plugins/icq/filesession.c @ 1432:4c510ca3563f

[gaim-migrate @ 1442] icqlib 1.1.5 committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Sun, 28 Jan 2001 01:52:27 +0000
parents 0a766047b4fd
children 0ef6603d986e
line wrap: on
line diff
--- a/plugins/icq/filesession.c	Sat Jan 27 11:18:17 2001 +0000
+++ b/plugins/icq/filesession.c	Sun Jan 28 01:52:27 2001 +0000
@@ -47,6 +47,9 @@
 {
   icq_FileSession *p=(icq_FileSession *)pv;
 
+  invoke_callback(p->icqlink, icq_FileNotify)(p, FILE_NOTIFY_CLOSE, 0, 
+    NULL);
+
   if(p->files) {
     char **p2=p->files;
     while(*p2)
@@ -84,9 +87,14 @@
   if(status!=p->status)
   {
     p->status=status;
-    if(p->id && p->icqlink->icq_RequestNotify)
-      (*p->icqlink->icq_RequestNotify)(p->icqlink, p->id, ICQ_NOTIFY_FILE,
-       status, 0);
+    if(p->id)
+      invoke_callback(p->icqlink, icq_FileNotify)(p, FILE_NOTIFY_STATUS,
+        status, NULL);
+    if (status == FILE_STATUS_SENDING)
+      icq_SocketSetHandler(p->tcplink->socket, ICQ_SOCKET_WRITE,
+        icq_FileSessionSendData, p);
+    else
+      icq_SocketSetHandler(p->tcplink->socket, ICQ_SOCKET_WRITE, NULL, NULL);
   }
 }
 
@@ -181,10 +189,9 @@
       p->total_transferred_bytes+=count;
       p->current_file_progress+=count;
       icq_FileSessionSetStatus(p, FILE_STATUS_SENDING);
-      
-      if (p->icqlink->icq_RequestNotify)
-        (*p->icqlink->icq_RequestNotify)(p->icqlink, p->id,
-          ICQ_NOTIFY_FILEDATA, count, NULL); 
+
+      invoke_callback(p->icqlink, icq_FileNotify)(p, FILE_NOTIFY_DATAPACKET,
+        count, buffer);
   }
 
   /* done transmitting if read returns less that 2048 bytes */