Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayFTP::cFTPFactoryData Class Reference

#include <cFTPFactory.h>

Inheritance diagram for GrayFTP::cFTPFactoryData:
GrayLib::IProtocolFactory

Public Member Functions

 cFTPFactoryData (cFTPFactory &rFactory, cClientFTP *pClient=nullptr)
 
virtual const char * get_ProtocolName () const override
 
virtual HRESULT TestProtocol (const BYTE *pszPrefixData, size_t iPrefixLen) const override
 
virtual cProtocolStreamPtr CreateProtocolStream (IUnkObject *pServerConnection, cStreamInput *pStreamInp, cStreamOutput *pStreamOut) override
 
- Public Member Functions inherited from GrayLib::IProtocolFactory
virtual ~IProtocolFactory ()
 
virtual size_t get_ProtocolMaxMessageSize () const
 

Public Attributes

cFTPFactorym_rFactory
 My parent server for creating corresponding command client. More...
 
cClientFTPm_pClient
 NON PASV direct data connection for this command client. else nullptr. More...
 

Detailed Description

a FTP protocol plug-in for cNetServer Create PASV data connections for data to/from the cFTPFactory. cClientFTPData

Constructor & Destructor Documentation

◆ cFTPFactoryData()

GrayFTP::cFTPFactoryData::cFTPFactoryData ( cFTPFactory rFactory,
cClientFTP pClient = nullptr 
)
inline

Member Function Documentation

◆ CreateProtocolStream()

cProtocolStreamPtr GrayFTP::cFTPFactoryData::CreateProtocolStream ( IUnkObject *  pServerConnection,
cStreamInput pStreamInp,
cStreamOutput pStreamOut 
)
overridevirtual

IProtocolFactory a FTP data connection. Both PASV and NON PASV come here. Though NON PASV (pNetStream->m_pListenPort=nullptr) should not have to search this !

  • pClient = cNetServerConnection for this connection. it must match an existing cClientFTP command connection. m_aConnectCmd

Implements GrayLib::IProtocolFactory.

◆ get_ProtocolName()

virtual const char* GrayFTP::cFTPFactoryData::get_ProtocolName ( ) const
inlineoverridevirtual

IProtocolFactory

Implements GrayLib::IProtocolFactory.

◆ TestProtocol()

virtual HRESULT GrayFTP::cFTPFactoryData::TestProtocol ( const BYTE *  pszPrefixData,
size_t  iPrefixLen 
) const
inlineoverridevirtual

IProtocolFactory create FTP PASV protocol with no client 'hello' needed. Port bound. No inspection required.

Implements GrayLib::IProtocolFactory.

Member Data Documentation

◆ m_pClient

cClientFTP* GrayFTP::cFTPFactoryData::m_pClient

NON PASV direct data connection for this command client. else nullptr.

◆ m_rFactory

cFTPFactory& GrayFTP::cFTPFactoryData::m_rFactory

My parent server for creating corresponding command client.


The documentation for this class was generated from the following files: