- galaxysource.zip
- Galaxy
- Common
- CSharpFileSystem
- Galaxy.sln
- GalaxyExplorer
- GalaxyFilePidl
- GalaxyPIDLManager
- GalaxyToolkit
- GalaxyToolkit.vdproj
- Release
- galaxyjavasrc.zip
- GalaxyJavaSrc
- galaxy
- jars
- log4j.README
- log4j-1.2.8.jar
- oncrpc.jar
|
/*
Copyright 2005 Chad Yoshikawa
http://www.ececs.uc.edu/~yoshikco
yoshikco@ececs.uc.edu
This program 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 2 of the License, or
(at your option) any later version.
This program 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 this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
using System;
using System.IO;
using System.Diagnostics;
using System.Net.Sockets;
using CSharpFileSystem;
namespace CSharpFileSystem.Commands
{
/// <summary>
/// List files in a directory and return the result
/// </summary>
public class ListFilesCommand : FileSystemCommand
{
/// <summary>
/// Create a new command capable of listing files in the Galaxy filesystem
/// </summary>
/// <param name="reader">The socket from the NSE</param>
/// <param name="writer">The socket to the NSE</param>
public ListFilesCommand(BinaryReader reader, BinaryWriter writer):base(reader,writer)
{
;
}
/// <summary>
/// List files in Galaxy and return the result
/// INPUT: Fully-qualified absolute path
/// OUTPUT:
/// number of files
/// followed by "number of files" of the following 3 things:
/// filename
/// filesize
/// folderflag
/// </summary>
/// <param name="fs">the Galaxy filesystem object</param>
public override void DoIt(FileSystem fs) {
string path = IOLibrary.ReadString(myReader);
//Debug.WriteLine("CSharpFileSystem::ListFilesCommand listing files of path "+path);
// This is where we call out to the filesystem object
CSharpFileSystem.FileInfo [] file_infos = fs.ListFiles(path);
//Debug.WriteLine("CSharpFileSystem::ListFilesCommand done listing files of path "+path);
IOLibrary.WriteInt(myWriter,file_infos.Length); // how many we're going to write back
foreach (CSharpFileSystem.FileInfo info in file_infos) {
IOLibrary.WriteString(myWriter,info.FileName);
IOLibrary.WriteInt(myWriter,(int)info.Size);
IOLibrary.WriteShort(myWriter,(short)(info.FolderFlag?1:0));
}
//Debug.WriteLine("CSharpFileSystem::ListFilesCommand done writing back "+file_infos.Length+" entries to NSE over the wire for path "+path);
}
} // end class
} // end namespace
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.