Index: src/daemon/common/guiDecoding.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/daemon/common/guiDecoding.ml,v
retrieving revision 1.42
diff -u -w -r1.42 guiDecoding.ml
--- src/daemon/common/guiDecoding.ml	18 Sep 2005 19:00:51 -0000	1.42
+++ src/daemon/common/guiDecoding.ml	8 Nov 2005 18:36:12 -0000
@@ -520,6 +520,16 @@
     else
       get_list get_uid s pos
   in
+  let sub_files, pos =
+    if proto > 35 then
+      get_list (fun s pos ->
+          let name, pos = get_string s pos in
+          let size, pos = get_int64 s pos, pos+8 in
+          (name, size), pos
+      ) s pos
+    else [], pos
+  in
+
   (*
   assert (num = file_info_test.file_num);
   assert (net = file_info_test.file_network);
@@ -564,6 +574,7 @@
     file_last_seen = last_seen;
     file_priority = priority;
     file_uids = uids;
+    file_sub_files = sub_files;
   }, pos
 
 let get_host_state proto s pos =
Index: src/daemon/common/guiEncoding.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/daemon/common/guiEncoding.ml,v
retrieving revision 1.40
diff -u -w -r1.40 guiEncoding.ml
--- src/daemon/common/guiEncoding.ml	18 Sep 2005 19:00:51 -0000	1.40
+++ src/daemon/common/guiEncoding.ml	8 Nov 2005 18:36:13 -0000
@@ -554,7 +554,12 @@
     if proto > 21 then
       buf_string buf f.file_comment;
     if proto > 30 then
-      buf_list buf buf_uid f.file_uids
+      buf_list buf buf_uid f.file_uids;
+    if proto > 35 then
+      buf_list buf (fun buf (name, size) ->
+          buf_string buf name;
+          buf_int64 buf size
+      ) f.file_sub_files
       
 let buf_addr proto buf addr =
   (match addr with
Index: src/daemon/common/guiProto.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/daemon/common/guiProto.ml,v
retrieving revision 1.19
diff -u -w -r1.19 guiProto.ml
--- src/daemon/common/guiProto.ml	18 Sep 2005 19:00:51 -0000	1.19
+++ src/daemon/common/guiProto.ml	8 Nov 2005 18:36:13 -0000
@@ -31,7 +31,7 @@
   
 let to_gui_last_opcode = 58
 let from_gui_last_opcode = 67
-let best_gui_version = 35
+let best_gui_version = 36
   
 (* I will try to report all changes to the protocol here: send me patches
 if I don't !
Index: src/daemon/common/guiTypes.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/daemon/common/guiTypes.ml,v
retrieving revision 1.22
diff -u -w -r1.22 guiTypes.ml
--- src/daemon/common/guiTypes.ml	18 Sep 2005 19:00:51 -0000	1.22
+++ src/daemon/common/guiTypes.ml	8 Nov 2005 18:36:13 -0000
@@ -142,6 +142,7 @@
     mutable file_last_seen : int;
     mutable file_priority : int;
     mutable file_uids : Uid.t list;
+    mutable file_sub_files : (string * int64) list;
   }
   
 type user_info = {
@@ -323,5 +324,6 @@
     file_last_seen = BasicSocket.last_time ();
     file_priority = 0;
    file_uids = [];
+    file_sub_files = [];
  } 
   
Index: src/networks/bittorrent/bTInteractive.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/networks/bittorrent/bTInteractive.ml,v
retrieving revision 1.63
diff -u -w -r1.63 bTInteractive.ml
--- src/networks/bittorrent/bTInteractive.ml	7 Nov 2005 20:11:42 -0000	1.63
+++ src/networks/bittorrent/bTInteractive.ml	8 Nov 2005 18:36:14 -0000
@@ -406,6 +406,7 @@
     P.file_last_seen = BasicSocket.last_time ();
     P.file_priority = file_priority (as_file file);
     P.file_uids = [Uid.create (BTUrl file.file_id)];
+    P.file_sub_files = file.file_files;
   }
 
 let op_ft_info ft =
@@ -436,6 +437,7 @@
     P.file_last_seen = BasicSocket.last_time ();
     P.file_priority = 0;
     P.file_uids = [];
+    P.file_sub_files = [];
   }
 
 
Index: src/networks/direct_connect/dcInteractive.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/networks/direct_connect/dcInteractive.ml,v
retrieving revision 1.22
diff -u -w -r1.22 dcInteractive.ml
--- src/networks/direct_connect/dcInteractive.ml	5 Nov 2005 16:23:40 -0000	1.22
+++ src/networks/direct_connect/dcInteractive.ml	8 Nov 2005 18:36:15 -0000
@@ -315,6 +315,7 @@
         P.file_last_seen = BasicSocket.last_time ();
         P.file_priority = file_priority (as_file file.file_file);
         P.file_uids = [];
+        P.file_sub_files = [];
       }    
   );
   (*
Index: src/networks/donkey/donkeyInteractive.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/networks/donkey/donkeyInteractive.ml,v
retrieving revision 1.68
diff -u -w -r1.68 donkeyInteractive.ml
--- src/networks/donkey/donkeyInteractive.ml	7 Nov 2005 20:11:42 -0000	1.68
+++ src/networks/donkey/donkeyInteractive.ml	8 Nov 2005 18:36:16 -0000
@@ -1030,6 +1030,7 @@
             P.file_age = file_age file;
             P.file_last_seen = file.file_file.impl_file_last_seen;
             P.file_uids = [Uid.create (Ed2k file.file_md4)];
+            P.file_sub_files = [];
           } in
         v
       with e ->
Index: src/networks/fileTP/fileTPInteractive.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/networks/fileTP/fileTPInteractive.ml,v
retrieving revision 1.21
diff -u -w -r1.21 fileTPInteractive.ml
--- src/networks/fileTP/fileTPInteractive.ml	6 Oct 2005 10:19:30 -0000	1.21
+++ src/networks/fileTP/fileTPInteractive.ml	8 Nov 2005 18:36:16 -0000
@@ -101,6 +101,7 @@
         P.file_last_seen = BasicSocket.last_time ();
         P.file_priority = file_priority (as_file file);
         P.file_uids = [Uid.create (FileTP file.file_id)];
+        P.file_sub_files = [];
       }
   )
 
Index: src/networks/gnutella/gnutellaInteractive.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/networks/gnutella/gnutellaInteractive.ml,v
retrieving revision 1.42
diff -u -w -r1.42 gnutellaInteractive.ml
--- src/networks/gnutella/gnutellaInteractive.ml	6 Oct 2005 10:19:30 -0000	1.42
+++ src/networks/gnutella/gnutellaInteractive.ml	8 Nov 2005 18:36:17 -0000
@@ -313,6 +313,7 @@
         P.file_last_seen = BasicSocket.last_time ();
         P.file_priority = file_priority (as_file file);
         P.file_uids = file.file_uids;
+        P.file_sub_files = [];
       }    
   )
   
Index: src/networks/openFT/openFTInteractive.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/networks/openFT/openFTInteractive.ml,v
retrieving revision 1.2
diff -u -w -r1.2 openFTInteractive.ml
--- src/networks/openFT/openFTInteractive.ml	17 May 2005 13:18:05 -0000	1.2
+++ src/networks/openFT/openFTInteractive.ml	8 Nov 2005 18:36:17 -0000
@@ -129,6 +129,7 @@
         P.file_chunks_age = [|0|];
         P.file_age = file_age file;
         P.file_last_seen = BasicSocket.last_time ();
+        P.file_sub_files = [];
       }    
   )
   
Index: src/networks/opennap/opennapInteractive.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/networks/opennap/opennapInteractive.ml,v
retrieving revision 1.18
diff -u -w -r1.18 opennapInteractive.ml
--- src/networks/opennap/opennapInteractive.ml	19 Sep 2005 15:58:06 -0000	1.18
+++ src/networks/opennap/opennapInteractive.ml	8 Nov 2005 18:36:17 -0000
@@ -156,6 +156,7 @@
         P.file_last_seen = BasicSocket.last_time ();
         P.file_priority = file_priority (as_file file.file_file);
         P.file_uids = [];
+        P.file_sub_files = [];
         }    
   )
   
Index: src/networks/soulseek/slskInteractive.ml
===================================================================
RCS file: /cvsroot/mldonkey/mldonkey/src/networks/soulseek/slskInteractive.ml,v
retrieving revision 1.18
diff -u -w -r1.18 slskInteractive.ml
--- src/networks/soulseek/slskInteractive.ml	19 Sep 2005 15:58:07 -0000	1.18
+++ src/networks/soulseek/slskInteractive.ml	8 Nov 2005 18:36:17 -0000
@@ -218,6 +218,7 @@
         P.file_last_seen = BasicSocket.last_time ();
         P.file_priority = file_priority (as_file file.file_file);
         P.file_uids = [];
+        P.file_sub_files = [];
       }    
   );
   (*
