public void ReadDirDir() { CIFSDirInfo dirinfo = nc.ReadDir(share1); string[] pro = new string[] { "subcarpeta" }; string[] res = dirinfo.GetDirectories(); if (pro.Length <= res.Length) { for (int x = 0; x < pro.Length; x++) { if (pro[x] != res[x]) { Assert.IsTrue(false); } } } else { Assert.IsTrue(false); } Assert.IsTrue(true); }
/// <summary> /// Llegeix el contingut d'una carpeta /// </summary> /// <param name="path"> /// Ruta de la carpeta que es vol llegir <see cref="System.String"/> /// </param> /// <returns> /// Informació del directori<see cref="CIFSDirInfo"/> /// </returns> public CIFSDirInfo ReadDir(string UNCpath) { CIFSDirInfo dirinfo = new CIFSDirInfo(); DirectoryInfo dir = new DirectoryInfo(UNCpath); DirectoryInfo[] dirs = dir.GetDirectories(); FileInfo[] fi = dir.GetFiles(); if (fi != null) { foreach (FileInfo f in fi) { dirinfo.addFile(f.Name); } } if (dirs != null) { foreach (DirectoryInfo d in dirs) { dirinfo.addDir(d.Name); } } return(dirinfo); }
public void ReadDirFiles() { CIFSDirInfo dirinfo = nc.ReadDir(share1); string[] pro = new string[] { "file5.jpg", "file2.txt" }; string[] res = dirinfo.GetFiles(); if (pro.Length <= res.Length) { for (int x = 0; x < pro.Length; x++) { if (pro[x] != res[x]) { Assert.IsTrue(false); } } } else { Assert.IsTrue(false); } Assert.IsTrue(true); }
/// <summary> /// Llegeix el contingut d'una carpeta /// </summary> /// <param name="UNCpath"> /// Ruta de la carpeta que es vol llegir <see cref="System.String"/> /// </param> /// <returns> /// Informació del directori<see cref="CIFSDirInfo"/> /// </returns> public CIFSDirInfo ReadDir(string UNCpath) { CIFSDirInfo dirinfo = new CIFSDirInfo(); int dh = 0; dh = WrapperSambaClient.smbc_opendir(@"smb:" + parseUNCPath(UNCpath)); if (dh < 0) { System.Console.WriteLine(Stdlib.GetLastError().ToString()); if (Stdlib.GetLastError().ToString() == "EACCES" || Stdlib.GetLastError().ToString() == "EROFS") { throw new UnauthorizedAccessException(Stdlib.GetLastError().ToString()); } if (Stdlib.GetLastError().ToString() == "EINVAL" || Stdlib.GetLastError().ToString() == "ENOENT") { throw new DirectoryNotFoundException(Stdlib.GetLastError().ToString()); } if (Stdlib.GetLastError().ToString() == "EXDEV") { throw new ArgumentException(Stdlib.GetLastError().ToString()); } } else { IntPtr dirbuf = new IntPtr(); dirbuf = WrapperSambaClient.smbc_readdir(dh); while (dirbuf != IntPtr.Zero) //recorrem tot el directori { SambaDirInfo dir = (SambaDirInfo)Marshal.PtrToStructure(dirbuf, typeof(SambaDirInfo)); //passem el punter a l'estructura dirbuf = WrapperSambaClient.smbc_readdir(dh); //s'ha de controlar quin tipus de recurs s'està llegint System.Console.WriteLine(); if (dir.smbc_type == 7 || dir.smbc_type == 8) { if (dir.name != ".." && dir.name != ".") { if (dir.smbc_type == 7) { dirinfo.addDir(dir.name); //afegim el nom del directori a la matriu de directoris del objecte CIFSDirInfo } if (dir.smbc_type == 8) { dirinfo.addFile(dir.name); //afegim el nom del fitxer a la matriu de fitxers del objecte CIFSDirInfo } } } } WrapperSambaClient.smbc_closedir(dh); } return(dirinfo); }
/// <summary> /// Llegeix el contingut d'una carpeta /// </summary> /// <param name="UNCpath"> /// Ruta de la carpeta que es vol llegir <see cref="System.String"/> /// </param> /// <returns> /// Informació del directori<see cref="CIFSDirInfo"/> /// </returns> public CIFSDirInfo ReadDir(string UNCpath){ CIFSDirInfo dirinfo = new CIFSDirInfo(); int dh=0; dh=WrapperSambaClient.smbc_opendir(@"smb:"+parseUNCPath(UNCpath)); if (dh<0){ System.Console.WriteLine(Stdlib.GetLastError().ToString()); if (Stdlib.GetLastError().ToString()=="EACCES" || Stdlib.GetLastError().ToString()=="EROFS") throw new UnauthorizedAccessException (Stdlib.GetLastError().ToString()); if (Stdlib.GetLastError().ToString()=="EINVAL" || Stdlib.GetLastError().ToString()=="ENOENT") throw new DirectoryNotFoundException(Stdlib.GetLastError().ToString()); if (Stdlib.GetLastError().ToString()=="EXDEV") throw new ArgumentException(Stdlib.GetLastError().ToString()); } else{ IntPtr dirbuf = new IntPtr(); dirbuf= WrapperSambaClient.smbc_readdir(dh); while(dirbuf!= IntPtr.Zero){ //recorrem tot el directori SambaDirInfo dir = (SambaDirInfo)Marshal.PtrToStructure(dirbuf, typeof(SambaDirInfo)); //passem el punter a l'estructura dirbuf= WrapperSambaClient.smbc_readdir(dh); //s'ha de controlar quin tipus de recurs s'està llegint System.Console.WriteLine(); if (dir.smbc_type ==7 || dir.smbc_type==8){ if (dir.name!=".." && dir.name!="."){ if (dir.smbc_type ==7) dirinfo.addDir(dir.name); //afegim el nom del directori a la matriu de directoris del objecte CIFSDirInfo if (dir.smbc_type ==8) dirinfo.addFile(dir.name); //afegim el nom del fitxer a la matriu de fitxers del objecte CIFSDirInfo } } } WrapperSambaClient.smbc_closedir(dh); } return dirinfo; }
/// <summary> /// Llegeix el contingut d'una carpeta /// </summary> /// <param name="path"> /// Ruta de la carpeta que es vol llegir <see cref="System.String"/> /// </param> /// <returns> /// Informació del directori<see cref="CIFSDirInfo"/> /// </returns> public CIFSDirInfo ReadDir(string UNCpath) { CIFSDirInfo dirinfo = new CIFSDirInfo(); DirectoryInfo dir = new DirectoryInfo(UNCpath); DirectoryInfo[] dirs = dir.GetDirectories(); FileInfo[] fi = dir.GetFiles(); if(fi!=null) { foreach(FileInfo f in fi) { dirinfo.addFile(f.Name); } } if(dirs!=null) { foreach(DirectoryInfo d in dirs) { dirinfo.addDir(d.Name); } } return dirinfo; }
public void ReadDirError() { //No existeix el directory CIFSDirInfo dirinfo = nc.ReadDir(share1 + @"newDirectory3"); }