CGopherConnection Class
Manages your connection to a gopher Internet server.
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 CGopherConnection : public CInternetConnection
Members
Public Constructors
Name | Description |
---|---|
CGopherConnection::CGopherConnection | Constructs a CGopherConnection object. |
Public Methods
Name | Description |
---|---|
CGopherConnection::CreateLocator | Creates a CGopherLocator object to find files on a gopher server. |
CGopherConnection::GetAttribute | Retrieves attribute information about the gopher object. |
CGopherConnection::OpenFile | Opens a gopher file. |
Remarks
The gopher service is one of three Internet services recognized by the MFC WinInet classes.
The class CGopherConnection
contains a constructor and three additional member functions that manage the gopher service: OpenFile, CreateLocator, and GetAttribute.
To communicate with a gopher Internet server, you must first create an instance of CInternetSession, and then call CInternetSession::GetGopherConnection, which creates the CGopherConnection
object and returns a pointer to it. You never create a CGopherConnection
object directly.
To learn more about how CGopherConnection
works with the other MFC Internet classes, see the article Internet Programming with WinInet. For more information about using the other two supported Internet services, FTP and HTTP see the classes CHttpConnection and CFtpConnection.
Inheritance Hierarchy
CGopherConnection
Requirements
Header: afxinet.h
CGopherConnection::CGopherConnection
This member function is called to construct a CGopherConnection
object.
CGopherConnection(
CInternetSession* pSession,
HINTERNET hConnected,
LPCTSTR pstrServer,
DWORD_PTR dwContext);
CGopherConnection(
CInternetSession* pSession,
LPCTSTR pstrServer,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
DWORD_PTR dwContext = 0,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);
Parameters
pSession
A pointer to the related CInternetSession object.
hConnected
The Windows handle of the current Internet session.
pstrServer
A pointer to a string containing the FTP server name.
dwContext
The context identifier for the operation. dwContext identifies the operation's status information returned by CInternetSession::OnStatusCallback. The default is set to 1; however, you can explicitly assign a specific context ID for the operation. The object and any work it does will be associated with that context ID.
pstrUserName
Pointer to a null-terminated string that specifies the name of the user to log in. If NULL, the default is anonymous.
pstrPassword
A pointer to a null-terminated string that specifies the password to use to log in. If both pstrPassword and pstrUserName are NULL, the default anonymous password is the user's email name. If pstrPassword is NULL (or an empty string) but pstrUserName is not NULL, a blank password is used. The following table describes the behavior for the four possible settings of pstrUserName and pstrPassword:
pstrUserName | pstrPassword | Username sent to FTP server | Password sent to FTP server |
---|---|---|---|
NULL or " " | NULL or " " | "anonymous" | User's email name |
Non- NULL String | NULL or " " | pstrUserName | " " |
NULL Non- NULL String | ERROR | ERROR | |
Non- NULL String | Non- NULL String | pstrUserName | pstrPassword |
nPort
A number that identifies the TCP/IP port to use on the server.
Remarks
You never create a CGopherConnection
directly. Rather, call CInternetSession::GetGopherConnection, which creates a CGopherConnection
object and returns a pointer to it.
CGopherConnection::CreateLocator
Call this member function to create a gopher locator to find or identify a file on a gopher server.
CGopherLocator CreateLocator(
LPCTSTR pstrDisplayString,
LPCTSTR pstrSelectorString,
DWORD dwGopherType);
static CGopherLocator CreateLocator(LPCTSTR pstrLocator);
static CGopherLocator CreateLocator(
LPCTSTR pstrServerName,
LPCTSTR pstrDisplayString,
LPCTSTR pstrSelectorString,
DWORD dwGopherType,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);
Parameters
pstrDisplayString
A pointer to a string containing the name of the gopher document or directory to be retrieved. If the pstrDisplayString parameter is NULL, the default directory for the gopher server is returned.
pstrSelectorString
A pointer to the selector string to be sent to the gopher server in order to retrieve an item. pstrSelectorString can be NULL.
dwGopherType
This specifies whether pstrSelectorString refers to a directory or document, and whether the request is gopher or gopher+. See the attributes for the structure GOPHER_FIND_DATA in the Windows SDK.
pstrLocator
A pointer to a string identifying the file to open. Generally, this string is returned from a call to CGopherFileFind::GetLocator.
pstrServerName
A pointer to a string containing the gopher server name.
nPort
The number identifying the Internet port for this connection.
Return Value
A CGopherLocator object.
Remarks
The static version of the member function requires you to specify a server, while the non-static version uses the server name from the connection object.
In order to retrieve information from a gopher server, an application must first get a gopher locator. The application must then treat the locator as an opaque token (that is, the application can use the locator but not directly manipulate or compare it). Normally, the application uses the locator for calls to the CGopherFileFind::FindFile member function to retrieve a specific piece of information.
CGopherConnection::GetAttribute
Call this member function to retrieve specific attribute information about an item from the gopher server.
BOOL GetAttribute(
CGopherLocator& refLocator CString strRequestedAttributes,
CString& strResult,);
Parameters
refLocator
A reference to a CGopherLocator object.
strRequestedAttributes
A space-delimited string specifying the names of the requested attributes.
strResult
A reference to a CString that receives the locator type.
Return Value
Nonzero if successful; otherwise 0. If the call fails, the Win32 function GetLastError may be called to determine the cause of the error.
CGopherConnection::OpenFile
Call this member function to open a file on a gopher server.
CGopherFile* OpenFile(
CGopherLocator& refLocator,
DWORD dwFlags = 0,
LPCTSTR pstrView = NULL,
DWORD_PTR dwContext = 1);
Parameters
refLocator
A reference to a CGopherLocator object.
dwFlags
Any combination of INTERNET_FLAG_* flags. See CInternetSession::OpenUrl for further information on INTERNET_FLAG_* flags.
pstrView
A pointer to a file-view string. If several views of the file exist at the server, this parameter specifies which file view to open. If pstrView is NULL, the default file view is used.
dwContext
The context ID for the file being opened. See Remarks for more information about dwContext.
Return Value
A pointer to the CGopherFile object to be opened.
Remarks
Override the dwContext default to set the context identifier to a value of your choosing. The context identifier is associated with this specific operation of the CGopherConnection
object created by its CInternetSession object. The value is returned to CInternetSession::OnStatusCallback to provide status on the operation with which it is identified. See the article Internet First Steps: WinInet for more information about the context identifier.
See also
CInternetConnection Class
Hierarchy Chart
CFtpConnection Class
CHttpConnection Class
CInternetConnection Class
CGopherLocator Class
CGopherFile Class
CInternetSession Class