aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs')
-rw-r--r--Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs313
1 files changed, 0 insertions, 313 deletions
diff --git a/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs b/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs
deleted file mode 100644
index 1b2f5eddc..000000000
--- a/Emby.Server.Implementations/IO/SharpCifs/Util/Sharpen/FilePath.cs
+++ /dev/null
@@ -1,313 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Threading;
-
-namespace SharpCifs.Util.Sharpen
-{
- public class FilePath
- {
- private string _path;
- private static long _tempCounter;
-
- public FilePath ()
- {
- }
-
- public FilePath (string path)
- : this ((string) null, path)
- {
-
- }
-
- public FilePath (FilePath other, string child)
- : this ((string) other, child)
- {
-
- }
-
- public FilePath (string other, string child)
- {
- if (other == null) {
- _path = child;
- } else {
- while (!string.IsNullOrEmpty(child) && (child[0] == Path.DirectorySeparatorChar || child[0] == Path.AltDirectorySeparatorChar))
- child = child.Substring (1);
-
- if (!string.IsNullOrEmpty(other) && other[other.Length - 1] == Path.VolumeSeparatorChar)
- other += Path.DirectorySeparatorChar;
-
- _path = Path.Combine (other, child);
- }
- }
-
- public static implicit operator FilePath (string name)
- {
- return new FilePath (name);
- }
-
- public static implicit operator string (FilePath filePath)
- {
- return filePath == null ? null : filePath._path;
- }
-
- public override bool Equals (object obj)
- {
- FilePath other = obj as FilePath;
- if (other == null)
- return false;
- return GetCanonicalPath () == other.GetCanonicalPath ();
- }
-
- public override int GetHashCode ()
- {
- return _path.GetHashCode ();
- }
-
- public bool CreateNewFile ()
- {
- try {
- //Stream.`Close` method deleted
- //File.Open (_path, FileMode.CreateNew).Close ();
- File.Open(_path, FileMode.CreateNew).Dispose();
- return true;
- } catch {
- return false;
- }
- }
-
- public static FilePath CreateTempFile ()
- {
- return new FilePath (Path.GetTempFileName ());
- }
-
- public static FilePath CreateTempFile (string prefix, string suffix)
- {
- return CreateTempFile (prefix, suffix, null);
- }
-
- public static FilePath CreateTempFile (string prefix, string suffix, FilePath directory)
- {
- string file;
- if (prefix == null) {
- throw new ArgumentNullException ("prefix");
- }
- if (prefix.Length < 3) {
- throw new ArgumentException ("prefix must have at least 3 characters");
- }
- string str = (directory == null) ? Path.GetTempPath () : directory.GetPath ();
- do {
- file = Path.Combine (str, prefix + Interlocked.Increment (ref _tempCounter) + suffix);
- } while (File.Exists (file));
-
- new FileOutputStream (file).Close ();
- return new FilePath (file);
- }
-
-
- public void DeleteOnExit ()
- {
- }
-
-
- public FilePath GetAbsoluteFile ()
- {
- return new FilePath (Path.GetFullPath (_path));
- }
-
- public string GetAbsolutePath ()
- {
- return Path.GetFullPath (_path);
- }
-
- public FilePath GetCanonicalFile ()
- {
- return new FilePath (GetCanonicalPath ());
- }
-
- public string GetCanonicalPath ()
- {
- string p = Path.GetFullPath (_path);
- p.TrimEnd (Path.DirectorySeparatorChar);
- return p;
- }
-
- public string GetName ()
- {
- return Path.GetFileName (_path);
- }
-
- public FilePath GetParentFile ()
- {
- return new FilePath (Path.GetDirectoryName (_path));
- }
-
- public string GetPath ()
- {
- return _path;
- }
-
- public bool IsAbsolute ()
- {
- return Path.IsPathRooted (_path);
- }
-
- public bool IsDirectory ()
- {
- return false; // FileHelper.Instance.IsDirectory(this);
- }
-
- public bool IsFile ()
- {
- return false; //FileHelper.Instance.IsFile (this);
- }
-
- public long LastModified ()
- {
- return 0; // FileHelper.Instance.LastModified(this);
- }
-
- public long Length ()
- {
- return 0; // FileHelper.Instance.Length(this);
- }
-
- public string[] List ()
- {
- return List (null);
- }
-
- public string[] List (IFilenameFilter filter)
- {
- try {
- if (IsFile ())
- return null;
- List<string> list = new List<string> ();
- foreach (string filePth in Directory.GetFileSystemEntries (_path)) {
- string fileName = Path.GetFileName (filePth);
- if ((filter == null) || filter.Accept (this, fileName)) {
- list.Add (fileName);
- }
- }
- return list.ToArray ();
- } catch {
- return null;
- }
- }
-
- public FilePath[] ListFiles ()
- {
- try {
- if (IsFile ())
- return null;
- List<FilePath> list = new List<FilePath> ();
- foreach (string filePath in Directory.GetFileSystemEntries (_path)) {
- list.Add (new FilePath (filePath));
- }
- return list.ToArray ();
- } catch {
- return null;
- }
- }
-
- static void MakeDirWritable (string dir)
- {
- //FileHelper.Instance.MakeDirWritable (dir);
- }
-
- static void MakeFileWritable (string file)
- {
- //FileHelper.Instance.MakeFileWritable (file);
- }
-
- public bool Mkdir ()
- {
- try {
- if (Directory.Exists (_path))
- return false;
- Directory.CreateDirectory (_path);
- return true;
- } catch (Exception) {
- return false;
- }
- }
-
- public bool Mkdirs ()
- {
- try {
- if (Directory.Exists (_path))
- return false;
- Directory.CreateDirectory (_path);
- return true;
- } catch {
- return false;
- }
- }
-
- public bool RenameTo (FilePath file)
- {
- return RenameTo (file._path);
- }
-
- public bool RenameTo (string name)
- {
- return false; // FileHelper.Instance.RenameTo(this, name);
- }
-
- public bool SetLastModified (long milis)
- {
- return false; // FileHelper.Instance.SetLastModified(this, milis);
- }
-
- public bool SetReadOnly ()
- {
- return false; // FileHelper.Instance.SetReadOnly(this);
- }
-
- public Uri ToUri ()
- {
- return new Uri (_path);
- }
-
- // Don't change the case of this method, since ngit does reflection on it
- public bool CanExecute ()
- {
- return false; // FileHelper.Instance.CanExecute(this);
- }
-
- // Don't change the case of this method, since ngit does reflection on it
- public bool SetExecutable (bool exec)
- {
- return false; // FileHelper.Instance.SetExecutable(this, exec);
- }
-
- public string GetParent ()
- {
- string p = Path.GetDirectoryName (_path);
- if (string.IsNullOrEmpty(p) || p == _path)
- return null;
- return p;
- }
-
- public override string ToString ()
- {
- return _path;
- }
-
- static internal string PathSeparator {
- get { return Path.PathSeparator.ToString (); }
- }
-
- static internal char PathSeparatorChar {
- get { return Path.PathSeparator; }
- }
-
- static internal char SeparatorChar {
- get { return Path.DirectorySeparatorChar; }
- }
-
- static internal string Separator {
- get { return Path.DirectorySeparatorChar.ToString (); }
- }
- }
-}