giftcurs-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[giFTcurs-commits] giFTcurs/src giftsrv.c giftsrv.h transfer.c


From: Göran Weinholt
Subject: [giFTcurs-commits] giFTcurs/src giftsrv.c giftsrv.h transfer.c
Date: Thu, 04 Nov 2004 09:54:17 -0500

CVSROOT:        /cvsroot/giftcurs
Module name:    giFTcurs
Branch:         
Changes by:     Göran Weinholt <address@hidden> 04/11/04 14:48:26

Modified files:
        src            : giftsrv.c giftsrv.h transfer.c 

Log message:
        Begin support for downloading.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/giftcurs/giFTcurs/src/giftsrv.c.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/giftcurs/giFTcurs/src/giftsrv.h.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/giftcurs/giFTcurs/src/transfer.c.diff?tr1=1.148&tr2=1.149&r1=text&r2=text

Patches:
Index: giFTcurs/src/giftsrv.c
diff -u giFTcurs/src/giftsrv.c:1.4 giFTcurs/src/giftsrv.c:1.5
--- giFTcurs/src/giftsrv.c:1.4  Tue Nov  2 01:07:41 2004
+++ giFTcurs/src/giftsrv.c      Thu Nov  4 14:48:25 2004
@@ -18,7 +18,7 @@
  * along with giFTcurs; if not, write to the Free Software Foundation,
  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,  USA.
  *
- * $Id: giftsrv.c,v 1.4 2004/11/02 01:07:41 weinholt Exp $
+ * $Id: giftsrv.c,v 1.5 2004/11/04 14:48:25 weinholt Exp $
  */
 #include "giftcurs.h"
 
@@ -147,6 +147,23 @@
        gift_register_call(msg.xid, callback, user_data);
 }
 
+void GIFTSRV_DownloadStart(RPCfunc callback, gpointer user_data,
+                                                  GString *searchobj, GString 
*resultobj)
+{
+       struct rpc_msg msg;
+       gc_xdr_data *data_out = gc_xdr_new();
+
+       gc_rpc_init_call(&msg, GIFTSRV_PROGNUM, GIFTSRV_VERSION, 64);
+       gc_rpc_process(&msg, data_out, XDR_ENCODE);
+       gc_xdr_vopaque(data_out, (gpointer*) &searchobj->str, &searchobj->len, 
-1);
+       gc_xdr_vopaque(data_out, (gpointer*) &resultobj->str, &resultobj->len, 
-1);
+       if (gift_write(data_out) < 0)
+               callback(NULL, NULL, user_data);
+       gc_xdr_free(data_out);
+
+       gift_register_call(msg.xid, callback, user_data);
+}
+
 /***** Functions to translate giFT specific data structures to/from XDR *****/
 
 static void GIFT_hash_encode(gc_xdr_data *blob, struct GIFT_hash_t *hash)
Index: giFTcurs/src/giftsrv.h
diff -u giFTcurs/src/giftsrv.h:1.3 giFTcurs/src/giftsrv.h:1.4
--- giFTcurs/src/giftsrv.h:1.3  Wed Nov  3 21:30:05 2004
+++ giFTcurs/src/giftsrv.h      Thu Nov  4 14:48:25 2004
@@ -18,7 +18,7 @@
  * along with giFTcurs; if not, write to the Free Software Foundation,
  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,  USA.
  *
- * $Id: giftsrv.h,v 1.3 2004/11/03 21:30:05 weinholt Exp $
+ * $Id: giftsrv.h,v 1.4 2004/11/04 14:48:25 weinholt Exp $
  */
 #ifndef _GIFTSRV_H
 #define _GIFTSRV_H
@@ -132,8 +132,6 @@
 
 void GIFTSRV_DownloadStart(RPCfunc callback, gpointer user_data,
                                                   GString *searchobj, GString 
*resultobj);
-void GIFTSRV_TransferList(RPCfunc callback, gpointer user_data,
-                                                 enum GIFT_xfertype_t);
 void GIFTSRV_TransferPause(RPCfunc callback, gpointer user_data,
                                                   GString *xferobj);
 void GIFTSRV_TransferUnpause(RPCfunc callback, gpointer user_data,
Index: giFTcurs/src/transfer.c
diff -u giFTcurs/src/transfer.c:1.148 giFTcurs/src/transfer.c:1.149
--- giFTcurs/src/transfer.c:1.148       Wed Nov  3 21:30:05 2004
+++ giFTcurs/src/transfer.c     Thu Nov  4 14:48:25 2004
@@ -18,7 +18,7 @@
  * along with giFTcurs; if not, write to the Free Software Foundation,
  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,  USA.
  *
- * $Id: transfer.c,v 1.148 2004/11/03 21:30:05 weinholt Exp $
+ * $Id: transfer.c,v 1.149 2004/11/04 14:48:25 weinholt Exp $
  */
 #include "giftcurs.h"
 
@@ -32,6 +32,7 @@
 #include "gift.h"
 #include "settings.h"
 #include "events.h"
+#include "giftsrv.h"
 
 /* This should never be used. It's only here so it can be translated. */
 static const char *_statuses[] G_GNUC_UNUSED;
@@ -108,6 +109,7 @@
 static void transfer_detach_all(void);
 static const char *transfer_sort_order(const transfer_tree *);
 static const char *source_sort_order(void);
+static transfer *transfer_new(GString *xferobj);
 static void transfer_destroy(transfer *);
 static void source_destroy(source *);
 
@@ -150,8 +152,25 @@
        tree_resort(&downloads);
 }
 
+static void GIFTSRV_DownloadStart_return(struct rpc_msg *msg,
+                                                                               
 gc_xdr_data *data,     gpointer user_data)
+{
+       GString *xferobj;
+       
+       if (rpc_decode_error(msg, __FUNCTION__))
+               return;
+
+       /* GIFT_xferobj_t */
+       xferobj = g_string_new(NULL);
+       gc_xdr_vopaque(data, (gpointer*) &xferobj->str, &xferobj->len, -1);
+
+       tree_insort(&downloads, transfer_new(xferobj));
+}
+
 void download_start(GString *searchobj, GString *resultobj)
 {
+       GIFTSRV_DownloadStart(GIFTSRV_DownloadStart_return, NULL,
+                                                 searchobj, resultobj);
 }
 
 static void source_destroy(source * s)
@@ -231,14 +250,11 @@
        transfer_destroy(t);
 }
 
-static transfer *transfer_new(GString *xferobj, const char *name,
-                                                         gint64 size)
+static transfer *transfer_new(GString *xferobj)
 {
        transfer *t = NEW_NODE(transfer);
 
        t->active = 1;
-       t->filename = convert_to_locale(g_strdup(name));
-       t->filesize = size;
        t->protocol = NULL;
        t->last_time = g_timer_new();
        list_initialize(tree_children(t));




reply via email to

[Prev in Thread] Current Thread [Next in Thread]