[Top][All Lists]
[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));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [giFTcurs-commits] giFTcurs/src giftsrv.c giftsrv.h transfer.c,
Göran Weinholt <=