- 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>
/// Stat a file for size, folder, creation/access/modify times
/// </summary>
public class StatCommand : FileSystemCommand {
/// <summary>
/// Create a command to stat a file
/// </summary>
/// <param name="reader">Socket from the NSE</param>
/// <param name="writer">Socket to the NSE</param>
public StatCommand(BinaryReader reader, BinaryWriter writer):base(reader,writer)
{
;
}
/// <summary>
/// Stat a file and return info on it
/// Note that these times below are in Windows time which is
/// 100-nanosecond intervals that have elapsed since January 1, 1601 12:00 A.M.
/// INPUT: Filename
/// OUTPUT:
/// folderflag
/// createtime
/// modifiedtime
/// lastaccesstime
/// filesize
///
/// </summary>
/// <param name="fs"></param>
public override void DoIt(FileSystem fs) {
// Read the args...
string path = IOLibrary.ReadString(myReader);
//Debug.WriteLine("CSharpFileSystem::StatCommand Stat'ing file "+path);
CSharpFileSystem.FileInfo info = fs.Stat(path);
//Debug.WriteLine("CSharpFileSystem::StatCommand Done Stat'ing file "+path);
IOLibrary.WriteShort(myWriter,(short)(info.FolderFlag?1:0));
IOLibrary.WriteLong(myWriter,info.CreateTime.ToFileTime());
IOLibrary.WriteLong(myWriter,info.LastModifiedTime.ToFileTime());
IOLibrary.WriteLong(myWriter,info.LastAccessTime.ToFileTime());
IOLibrary.WriteInt(myWriter,(int)info.Size); // convert the long-long to an int
//Debug.WriteLine("CSharpFileSystem::StatCommand Done reply back to the 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.