From e078a2887cf2dc61da49ce302324ff1485f95af9 Mon Sep 17 00:00:00 2001 From: Ian C Date: Mon, 1 Oct 2012 20:59:12 +0000 Subject: Added non-working code for an attempt at FTP --- Noddybox.WindowsPhone.FTP/FTPFile.cs | 125 +++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 Noddybox.WindowsPhone.FTP/FTPFile.cs (limited to 'Noddybox.WindowsPhone.FTP/FTPFile.cs') diff --git a/Noddybox.WindowsPhone.FTP/FTPFile.cs b/Noddybox.WindowsPhone.FTP/FTPFile.cs new file mode 100644 index 0000000..61ab481 --- /dev/null +++ b/Noddybox.WindowsPhone.FTP/FTPFile.cs @@ -0,0 +1,125 @@ +// 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; + } +} -- cgit v1.2.3