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

#include <cXProtocolServer.h>

Inheritance diagram for GrayLib::cXProtocolFactory:
GrayLib::IProtocolFactory GrayLib::cXProtocolDataMgr

Public Member Functions

 cXProtocolFactory ()
 
virtual ~cXProtocolFactory ()
 
virtual const char * get_ProtocolName () const override
 
virtual size_t get_ProtocolMaxMessageSize () 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 ()
 
- Public Member Functions inherited from GrayLib::cXProtocolDataMgr
 cXProtocolDataMgr ()
 
virtual ~cXProtocolDataMgr ()
 
virtual cScriptableInterfaceDefFindInterfaceDef (cXObject *pObj, SCRIPTINTERFACEID_t bInterfaceID)
 
virtual cXObjectPtr FindXObj (UID_t uid, SCRIPTINTERFACEID_t bInterfaceID=SCRIPTINTERFACEID_MAX, cScriptableInterfaceDef **ppInterfaceDef=nullptr)
 

Additional Inherited Members

- Public Attributes inherited from GrayLib::cXProtocolDataMgr
cStringF m_sFileRootDir
 This is the virtual root for this server. XPROTO_File (as the other side is concerned, unless onReq_File is overridden) More...
 

Detailed Description

Singleton for managing server streams of this protocol. Base class for defining XProtocol.

Constructor & Destructor Documentation

◆ cXProtocolFactory()

GrayLib::cXProtocolFactory::cXProtocolFactory ( )

◆ ~cXProtocolFactory()

GrayLib::cXProtocolFactory::~cXProtocolFactory ( )
virtual

Member Function Documentation

◆ CreateProtocolStream()

virtual cProtocolStreamPtr GrayLib::cXProtocolFactory::CreateProtocolStream ( IUnkObject *  pServerConnection,
cStreamInput pStreamInp,
cStreamOutput pStreamOut 
)
inlineoverridevirtual

◆ get_ProtocolMaxMessageSize()

virtual size_t GrayLib::cXProtocolFactory::get_ProtocolMaxMessageSize ( ) const
inlineoverridevirtual
Returns
Max size of a single message.

Reimplemented from GrayLib::IProtocolFactory.

◆ get_ProtocolName()

virtual const char* GrayLib::cXProtocolFactory::get_ProtocolName ( ) const
inlineoverridevirtual

◆ TestProtocol()

HRESULT GrayLib::cXProtocolFactory::TestProtocol ( const BYTE *  pszPrefixData,
size_t  iPrefixLen 
) const
overridevirtual

Server should produce cXProtocolServerStream on demand. get a XPROTO_Error as hello.

Returns
Number of bytes consumed = good client, HRESULT_WIN32_C(ERROR_IO_INCOMPLETE) = Too short ! but maybe valid if i get more. <0 = NOT a valid client of this type. HRESULT_WIN32_C(ERROR_BAD_FORMAT)

Implements GrayLib::IProtocolFactory.


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