예제 #1
0
파일: FtpEntry.cs 프로젝트: kin988g/FTP
 /// <summary>
 /// Initializes a new instance of the <see cref="FtpEntry"/> class.
 /// </summary>
 /// <param name="path">The path.</param>
 /// <param name="size">The size.</param>
 /// <param name="type">The type.</param>
 /// <param name="date">The date.</param>
 /// <param name="target">The target.</param>
 public FtpEntry(FtpPath path, long?size, FtpEntryType type, DateTime date, FtpPath target)
 {
     Path   = path;
     Name   = path.GetFileName();
     Date   = date;
     Type   = type;
     Target = target;
     Size   = size;
 }
예제 #2
0
파일: FtpEntry.cs 프로젝트: modulexcite/FTP
 /// <summary>
 /// Initializes a new instance of the <see cref="FtpEntry" /> class.
 /// </summary>
 /// <param name="parent">The parent.</param>
 /// <param name="name">The name.</param>
 /// <param name="size">The size.</param>
 /// <param name="type">The type.</param>
 /// <param name="date">The date.</param>
 /// <param name="target">The target.</param>
 public FtpEntry(FtpPath parent, string name, long? size, FtpEntryType type, DateTime date, FtpPath target)
 {
     if (parent != null)
         Path = parent + name;
     Name = name;
     Date = date;
     Type = type;
     Target = target;
     Size = size;
 }
예제 #3
0
파일: FtpEntry.cs 프로젝트: kin988g/FTP
 /// <summary>
 /// Initializes a new instance of the <see cref="FtpEntry" /> class.
 /// </summary>
 /// <param name="parent">The parent.</param>
 /// <param name="name">The name.</param>
 /// <param name="size">The size.</param>
 /// <param name="type">The type.</param>
 /// <param name="date">The date.</param>
 /// <param name="target">The target.</param>
 public FtpEntry(FtpPath parent, string name, long?size, FtpEntryType type, DateTime date, FtpPath target)
 {
     if (parent != null)
     {
         Path = parent + name;
     }
     Name   = name;
     Date   = date;
     Type   = type;
     Target = target;
     Size   = size;
 }
예제 #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="type"></param>
        /// <returns></returns>
        public List <FtpDirectory> ExecuteNlst(FtpEntryType type)
        {
            FtpCommandResult rs = null;

            this.EnsureOpen();
            this.OpenDataSocket();

            Byte[] bytes          = new Byte[512];
            List <FtpDirectory> l = new List <FtpDirectory>();

            rs = this.Execute("Nlst");

            switch (rs.StatusCode)
            {
            case FtpCommandResultCode.DataConnectionAlreadyOpenTransferStarting: break;

            case FtpCommandResultCode.FileStatusOkayAboutToOpenDataConnection: break;

            default:
            {
                CloseDataSocket();
                throw new FtpClientException(rs);
            }
            }
            this.ConnectDataSocket();
            String text = this._DataSocket.GetResponseText();

            text = this.GetResponseText();
            this.CloseDataSocket();

            rs = this.GetResponse();

            if (rs.StatusCode != FtpCommandResultCode.ClosingDataConnection)
            {
                throw new FtpClientException(rs);
            }
            StringReader sr = new StringReader(text);

            while (sr.Peek() > -1)
            {
                l.Add(new FtpDirectory(sr.ReadLine()));
            }
            return(l);
        }
예제 #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="type"></param>
 /// <returns></returns>
 public Task <List <FtpDirectory> > ExecuteListAsync(FtpEntryType type)
 {
     return(CreateNewTask <List <FtpDirectory> >(() => this.ExecuteList(type)));
 }
예제 #6
0
        private Image GetIconForType( FtpEntryType type )
        {
            Image img;

            switch ( type )
            {
                case FtpEntryType.File:
                    img = Properties.Resources.file_16;
                        //Image.FromFile( @"Icons/16/file-16.png" );
                    break;
                case FtpEntryType.Directory:
                    img = Properties.Resources.folder_16;
                        //Image.FromFile( @"Icons/16/folder-16.png" );
                    break;
                case FtpEntryType.Link:
                    img = Properties.Resources.shortcut_16;
                        //Image.FromFile( @"Icons/16/shortcut.png" );
                    break;
                default:
                    img = new Bitmap( 16,16 );
                    break;
            }

            return img;
        }
예제 #7
-1
파일: FtpEntry.cs 프로젝트: modulexcite/FTP
 /// <summary>
 /// Initializes a new instance of the <see cref="FtpEntry"/> class.
 /// </summary>
 /// <param name="path">The path.</param>
 /// <param name="size">The size.</param>
 /// <param name="type">The type.</param>
 /// <param name="date">The date.</param>
 /// <param name="target">The target.</param>
 public FtpEntry(FtpPath path, long? size, FtpEntryType type, DateTime date, FtpPath target)
 {
     Path = path;
     Name = path.GetFileName();
     Date = date;
     Type = type;
     Target = target;
     Size = size;
 }