Esempio n. 1
0
 /// <summary>
 /// Agrega una lista de archivos de un usuario de la red a la ventana
 /// </summary>
 /// <param name="netUser">El usuario dueño de la lista de archivo</param>
 /// <param name="fileList">La lista de archivos</param>
 public void addFileList(NetUser netUser, FileInformationList fileList)
 {
     if (treeView.InvokeRequired)
     {
         NetUserFilesCallback d = new NetUserFilesCallback(addFileList);
         this.Invoke(d, new object[] { netUser, fileList });
     }
     else
     {
         removeFileList(netUser);
         FileInformation[] fileListArray = fileList.toArray();
         lock (thisLock)
         {
             foreach (FileInformation file in fileListArray)
             {
                 TreeNode fileNode = new TreeNode(file.Name + " (" + (file.Size / 1024) + " KB) " + " [" + netUser.Name + "]");
                 fileNode.ImageIndex         = 0;
                 fileNode.SelectedImageIndex = 0;
                 NetUserFile netUserFile = new NetUserFile();
                 netUserFile.NetUser         = netUser;
                 netUserFile.FileInformation = file;
                 fileNode.Tag = netUserFile;
                 assignMenuStrip(ref fileNode, netUserFile);
                 treeView.Nodes.Add(fileNode);
             }
         }
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Convierte un paquete de bytes en las propiedades del mensaje
        /// </summary>
        /// <param name="messagePack">El paquete de bytes</param>
        public override void unPack(byte[] messagePack)
        {
            FileList = new FileInformationList();
            int listSize = BitConverter.ToInt32(messagePack, 0);
            int i        = 4;

            for (int n = 0; n < listSize; n++)
            {
                FileInformation fileInformation = new FileInformation();
                byte[]          id = new byte[16];
                Array.Copy(messagePack, i, id, 0, 16);
                fileInformation.Id = new Guid(id);
                i += 16;
                fileInformation.Size = BitConverter.ToInt64(messagePack, i);
                i += 8;
                int nameSize = BitConverter.ToInt32(messagePack, i);
                i += 4;
                fileInformation.Name = Encoding.Unicode.GetString(messagePack, i, nameSize);
                i += nameSize;
                FileList.add(fileInformation);
            }
        }
Esempio n. 3
0
 /// <summary>
 /// Constructor parametrizado
 /// </summary>
 /// <param name="targetNetUser">El receptor de este mensaje</param>
 /// <param name="fileList">La lista de archivos compartidos</param>
 public FileListMessage(NetUser targetNetUser, FileInformationList fileList) : this()
 {
     this.TargetNetUser = targetNetUser;
     this.FileList      = fileList;
 }
 /// <summary>
 /// Constructor parametrizado
 /// </summary>
 /// <param name="targetNetUser">El receptor de este mensaje</param>
 /// <param name="fileList">La lista de archivos compartidos</param>
 public FileListMessage(NetUser targetNetUser, FileInformationList fileList)
     : this()
 {
     this.TargetNetUser = targetNetUser;
     this.FileList = fileList;
 }
 /// <summary>
 /// Convierte un paquete de bytes en las propiedades del mensaje
 /// </summary>
 /// <param name="messagePack">El paquete de bytes</param>
 public override void unPack(byte[] messagePack)
 {
     FileList = new FileInformationList();
     int listSize = BitConverter.ToInt32(messagePack, 0);
     int i = 4;
     for (int n = 0; n < listSize; n++)
     {
         FileInformation fileInformation = new FileInformation();
         byte[] id = new byte[16];
         Array.Copy(messagePack, i, id, 0, 16);
         fileInformation.Id = new Guid(id);
         i += 16;
         fileInformation.Size = BitConverter.ToInt64(messagePack, i);
         i += 8;
         int nameSize = BitConverter.ToInt32(messagePack, i);
         i += 4;
         fileInformation.Name = Encoding.Unicode.GetString(messagePack, i, nameSize);
         i += nameSize;
         FileList.add(fileInformation);
     }
 }