internal virtual void DoEnum(List<object> list, bool files, string wildcard, int searchAttributes
, ISmbFilenameFilter fnf, ISmbFileFilter ff)
{
if (ff != null && ff is DosFileFilter)
{
DosFileFilter dff = (DosFileFilter)ff;
if (dff.Wildcard != null)
{
wildcard = dff.Wildcard;
}
searchAttributes = dff.Attributes;
}
try
{
int hostlen = Url.GetHost() != null ? Url.GetHost().Length : 0;
if (hostlen == 0 || GetType() == TypeWorkgroup)
{
DoNetServerEnum(list, files, wildcard, searchAttributes, fnf, ff);
}
else
{
if (_share == null)
{
DoShareEnum(list, files, wildcard, searchAttributes, fnf, ff);
}
else
{
DoFindFirstNext(list, files, wildcard, searchAttributes, fnf, ff);
}
}
}
catch (UnknownHostException uhe)
{
throw new SmbException(Url.ToString(), uhe);
}
catch (UriFormatException mue)
{
throw new SmbException(Url.ToString(), mue);
}
}