// This file is part of the Noddybox.WindowsPhone C# suite. // // Noddybox.Emulation is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Noddybox.Emulation is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Noddybox.Emulation. If not, see . // // Copyright (c) 2012 Ian Cowburn // using System; namespace Noddybox.WindowsPhone.Net { using System; /// /// Provides the file info type returned by FTPClient /// public class FTPFile : IComparable { // ------------------------------------------------- // - PUBLIC MEMBERS - // ------------------------------------------------- /// /// File type /// public enum FileType { /// /// Directory /// Dir, /// /// File /// File }; /// /// Constructor /// public FTPFile(string name, FileType type, ulong size) { m_type=type; m_name=name; m_size=size; } /// /// The name of the file /// public string Name { get {return m_name;} } /// /// The type of the file /// public FileType Type { get {return m_type;} } /// /// The size of the file (returns 0 for directories) /// public ulong Size { get { if (m_type==FileType.Dir) { return 0; } else { return m_size; } } } /// /// Compares instance /// int IComparable.CompareTo(object o) { if (o is FTPFile) { FTPFile f=(FTPFile)o; if (m_type==FileType.Dir && f.m_type!=FileType.Dir) { return -1; } if (m_type==FileType.File && f.m_type!=FileType.File) { return 1; } return m_name.CompareTo(f.m_name); } throw new ArgumentException("object not an FTPFile"); } // ------------------------------------------------- // - PRIVATE MEMBERS - // ------------------------------------------------- private FileType m_type; private ulong m_size; private string m_name; } }