public override void DoListFolderItems(FtpListing listing)
{
String[] lNames = Directory.GetDirectories(LocalPath);
foreach (String name in lNames)
{
FtpListingItem lListingItem = listing.Add();
lListingItem.Directory = true;
lListingItem.FileName = Path.GetFileName(name);
lListingItem.FileDate = Directory.GetLastWriteTime(Path.Combine(LocalPath, name));
lListingItem.Size = 0;
lListingItem.User = "system";
lListingItem.Group = "system";
lListingItem.UserRead = UserRead;
lListingItem.UserWrite = UserWrite;
lListingItem.UserExec = UserRead;
lListingItem.GroupRead = GroupRead;
lListingItem.GroupWrite = GroupWrite;
lListingItem.GroupExec = GroupRead;
lListingItem.OtherRead = WorldRead;
lListingItem.OtherWrite = WorldWrite;
lListingItem.OtherExec = WorldRead;
}
DirectoryInfo lDirectory = new DirectoryInfo(LocalPath);
FileInfo[] lFiles = lDirectory.GetFiles();
foreach (FileInfo file in lFiles)
{
FtpListingItem lListingItem = listing.Add();
lListingItem.Directory = false;
lListingItem.FileName = file.Name;
lListingItem.FileDate = file.LastWriteTime;
lListingItem.Size = file.Length;
lListingItem.User = "system";
lListingItem.Group = "system";
lListingItem.UserRead = UserRead;
lListingItem.UserWrite = UserWrite;
lListingItem.UserExec = false;
lListingItem.GroupRead = GroupRead;
lListingItem.GroupWrite = GroupWrite;
lListingItem.GroupExec = false;
lListingItem.OtherRead = WorldRead;
lListingItem.OtherWrite = WorldWrite;
lListingItem.OtherExec = false;
}
AddListingItems(listing, SubFolders);
AddListingItems(listing, Files);
}