CGopherFileFind Class
Aids in Internet file searches of gopher servers.
Note
The classes CGopherConnection
, CGopherFile
, CGopherFileFind
, CGopherLocator
and their members have been deprecated because they do not work on the Windows XP platform, but they will continue to work on earlier platforms.
Syntax
class CGopherFileFind : public CFileFind
Members
Public Constructors
Name | Description |
---|---|
CGopherFileFind::CGopherFileFind | Constructs a CGopherFileFind object. |
Public Methods
Name | Description |
---|---|
CGopherFileFind::FindFile | Finds a file on a gopher server. |
CGopherFileFind::FindNextFile | Continues a file search from a previous call to FindFile. |
CGopherFileFind::GetCreationTime | Gets the time the specified file was created. |
CGopherFileFind::GetLastAccessTime | Gets the time the specified file was last accessed. |
CGopherFileFind::GetLastWriteTime | Gets the time the specified file was last written to. |
CGopherFileFind::GetLength | Gets the length of the found file, in bytes. |
CGopherFileFind::GetLocator | Get a CGopherLocator object. |
CGopherFileFind::GetScreenName | Gets the name of a gopher screen. |
CGopherFileFind::IsDots | Tests for the current directory and parent directory markers while iterating through files. |
Remarks
CGopherFileFind
includes member functions that begin a search, locate a file, and return a file's URL.
Other MFC classes designed for Internet and local file searched include CFtpFileFind and CFileFind. Together with CGopherFileFind
, these classes provide a seamless mechanism for the user to find specific files, regardless of the server protocol, file type, or location (either a local machine or a remote server.) Note that there is no MFC class for searching on HTTP servers because HTTP does not support the direct file manipulation required by searches.
Note
CGopherFileFind
does not support the following member functions of its base class CFileFind:
In addition, when used with CGopherFileFind
, the CFileFind
member function IsDots is always FALSE.
For more information about how to use CGopherFileFind
and the other WinInet classes, see the article Internet Programming with WinInet.
Inheritance Hierarchy
CGopherFileFind
Requirements
Header: afxinet.h
CGopherFileFind::CGopherFileFind
This member function is called to construct a CGopherFileFind
object.
explicit CGopherFileFind(
CGopherConnection* pConnection,
DWORD_PTR dwContext = 1);
Parameters
pConnection
A pointer to a CGopherConnection object.
dwContext
The context identifier for the operation. See Remarks for more information about dwContext.
Remarks
The default value for dwContext is sent by MFC to the CGopherFileFind
object from the CInternetSession object that created the CGopherFileFind
object. When you construct a CGopherFileFind
object, you can override the default to set the context identifier to a value of your choosing. The context identifier is returned to CInternetSession::OnStatusCallback to provide status on the object with which it is identified. See the article Internet First Steps: WinInet for more information about the context identifier.
CGopherFileFind::FindFile
Call this member function to find a gopher file.
virtual BOOL FindFile(
CGopherLocator& refLocator,
LPCTSTR pstrString,
DWORD dwFlags = INTERNET_FLAG_RELOAD);
virtual BOOL FindFile(
LPCTSTR pstrString,
DWORD dwFlags = INTERNET_FLAG_RELOAD);
Parameters
refLocator
A reference to a CGopherLocator object.
pstrString
A pointer to a string containing the file name.
dwFlags
The flags describing how to handle this session. The valid flags are:
INTERNET_FLAG_RELOAD Get the data from the remote server even if it is locally cached.
INTERNET_FLAG_DONT_CACHE Do not cache the data, either locally or in any gateways.
INTERNET_FLAG_SECURE Request secure transactions on the wire with Secure Sockets Layer or PCT. This flag is applicable to HTTP requests only.
INTERNET_FLAG_USE_EXISTING If possible, reuse the existing connections to the server for new
FindFile
requests, instead of creating a new session for each request.
Return Value
Nonzero if successful; otherwise 0. To get extended error information, call the Win32 function GetLastError.
Remarks
After calling FindFile
to retrieve the first gopher object, you can call FindNextFile to retrieve subsequent gopher files.
CGopherFileFind::FindNextFile
Call this member function to continue a file search begun with a call to CGopherFileFind::FindFile.
virtual BOOL FindNextFile();
Return Value
Nonzero if there are more files; zero if the file found is the last one in the directory or if an error occurred. To get extended error information, call the Win32 function GetLastError. If the file found is the last file in the directory, or if no matching files can be found, the GetLastError
function returns ERROR_NO_MORE_FILES.
CGopherFileFind::GetCreationTime
Gets the creation time for the current file.
virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
virtual BOOL GetCreationTime(CTime& refTime) const;
Parameters
pTimeStamp
A pointer to a FILETIME structure containing the time the file was created.
refTime
A reference to a CTime object.
Return Value
Nonzero if successful; 0 if unsuccessful. GetCreationTime
returns 0 only if FindNextFile has never been called on this CGopherFileFind
object.
Remarks
You must call FindNextFile at least once before calling GetCreationTime
.
Note
Not all file systems use the same semantics to implement the time stamp returned by this function. This function may return the same value returned by other time stamp functions if the underlying file system or server does not support keeping the time attribute. See the WIN32_FIND_DATA structure for information about time formats. On some operating systems, the returned time is in the time zone local to the machine were the file is located. See the Win32 FileTimeToLocalFileTime API for more information.
CGopherFileFind::GetLastAccessTime
Gets the time the specified file was last accessed.
virtual BOOL GetLastAccessTime(CTime& refTime) const;
virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;
Parameters
refTime
A reference to a CTime object.
pTimeStamp
A pointer to a FILETIME structure containing the time the file was last accessed.
Return Value
Nonzero if successful; 0 if unsuccessful. GetLastAccessTime
returns 0 only if FindNextFile has never been called on this CGopherFileFind
object.
Remarks
You must call FindNextFile at least once before calling GetLastAccessTime
.
Note
Not all file systems use the same semantics to implement the time stamp returned by this function. This function may return the same value returned by other time stamp functions if the underlying file system or server does not support keeping the time attribute. See the WIN32_FIND_DATA structure for information about time formats. On some operating systems, the returned time is in the time zone local to the machine were the file is located. See the Win32 FileTimeToLocalFileTime API for more information.
CGopherFileFind::GetLastWriteTime
Gets the last time the file was changed.
virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
virtual BOOL GetLastWriteTime(CTime& refTime) const;
Parameters
pTimeStamp
A pointer to a FILETIME structure containing the time the file was last written to.
refTime
A reference to a CTime object.
Return Value
Nonzero if successful; 0 if unsuccessful. GetLastWriteTime
returns 0 only if FindNextFile has never been called on this CGopherFileFind
object.
Remarks
You must call FindNextFile at least once before calling GetLastWriteTime
.
Note
Not all file systems use the same semantics to implement the time stamp returned by this function. This function may return the same value returned by other time stamp functions if the underlying file system or server does not support keeping the time attribute. See the WIN32_FIND_DATA structure for information about time formats. On some operating systems, the returned time is in the time zone local to the machine were the file is located. See the Win32 FileTimeToLocalFileTime API for more information.
CGopherFileFind::GetLength
Call this member function to get the length, in bytes, of the found file.
virtual ULONGLONG GetLength() const;
Return Value
The length, in bytes, of the found file.
Remarks
GetLength
uses the Win32 structure WIN32_FIND_DATA to get the value of the file size in bytes.
Note
As of MFC 7.0, GetLength
supports 64-bit integer types. Previously-existing code built with this newer version of the library may result in truncation warnings.
Example
See the example for CFile::GetLength (the base class implementation).
CGopherFileFind::GetLocator
Call this member function to get the CGopherLocator object that FindFile uses to find the gopher file.
CGopherLocator GetLocator() const;
Return Value
A CGopherLocator
object.
CGopherFileFind::GetScreenName
Call this member function to get the name of the gopher screen.
CString GetScreenName() const;
Return Value
The name of the gopher screen.
CGopherFileFind::IsDots
Tests for the current directory and parent directory markers while iterating through files.
virtual BOOL IsDots() const;
Return Value
Nonzero if the found file has the name "." or "..", which indicates that the found file is actually a directory. Otherwise 0.
Remarks
You must call FindNextFile at least once before calling IsDots
.
See also
CFileFind Class
Hierarchy Chart
CFtpFileFind Class
CFileFind Class
CInternetFile Class
CGopherFile Class
CHttpFile Class