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

#include <cMailslot.h>

Inheritance diagram for GrayLib::cMailslot:
GrayLib::cMailslotReader GrayLib::cMailslotWriter

Public Member Functions

virtual void Disconnect ()
 
cStringF get_MailslotPath () const
 
bool isOpen () const
 
 UNITTEST2_PREDEF (cMailslot)
 

Static Public Attributes

static const FILECHAR_tk_pszServerDefault = _FN(".")
 

Protected Member Functions

 cMailslot ()
 
virtual ~cMailslot ()
 
virtual HRESULT Connect (const FILECHAR_t *pszSlotName, const FILECHAR_t *pszServerName=nullptr, _SECURITY_ATTRIBUTES *pSa=nullptr)=0
 

Static Protected Member Functions

static StrLen_t GRAYCALL MakeMailslotPath (OUT FILECHAR_t *pszPath, const FILECHAR_t *pszSlotName, const FILECHAR_t *pszServerName=nullptr)
 
static cStringF GRAYCALL MakeMailslotPath (const FILECHAR_t *pszSlotName, const FILECHAR_t *pszServerName=nullptr)
 

Protected Attributes

cStringF m_sMailslotPath
 "\\\\%s\\mailslot\\%s" More...
 
mqd_t m_q
 init to -1 More...
 

Detailed Description

Generic mail slot sender or receiver. works as Interprocess OR (Microsoft) inter-network messaging. (set pszServerName)

Note
On linux this might be replaced by something like D-BUS or mq_open() ?? Windows 7 UAC seems to kill performance on this ?

Constructor & Destructor Documentation

◆ cMailslot()

GrayLib::cMailslot::cMailslot ( )
protected

◆ ~cMailslot()

GrayLib::cMailslot::~cMailslot ( )
protectedvirtual

Member Function Documentation

◆ Connect()

virtual HRESULT GrayLib::cMailslot::Connect ( const FILECHAR_t pszSlotName,
const FILECHAR_t pszServerName = nullptr,
_SECURITY_ATTRIBUTES *  pSa = nullptr 
)
protectedpure virtual

◆ Disconnect()

void GrayLib::cMailslot::Disconnect ( )
virtual

Closes a connection to a mail slot.

◆ get_MailslotPath()

cStringF GrayLib::cMailslot::get_MailslotPath ( ) const
inline

◆ isOpen()

bool GrayLib::cMailslot::isOpen ( ) const
inline

◆ MakeMailslotPath() [1/2]

cStringF GRAYCALL GrayLib::cMailslot::MakeMailslotPath ( const FILECHAR_t pszSlotName,
const FILECHAR_t pszServerName = nullptr 
)
staticprotected

◆ MakeMailslotPath() [2/2]

StrLen_t GRAYCALL GrayLib::cMailslot::MakeMailslotPath ( OUT FILECHAR_t pszPath,
const FILECHAR_t pszSlotName,
const FILECHAR_t pszServerName = nullptr 
)
staticprotected
  • pszServer = "." by default = local machine.

◆ UNITTEST2_PREDEF()

GrayLib::cMailslot::UNITTEST2_PREDEF ( cMailslot  )

Member Data Documentation

◆ k_pszServerDefault

const FILECHAR_t * GrayLib::cMailslot::k_pszServerDefault = _FN(".")
static

◆ m_q

mqd_t GrayLib::cMailslot::m_q
protected

init to -1

◆ m_sMailslotPath

cStringF GrayLib::cMailslot::m_sMailslotPath
protected

"\\\\%s\\mailslot\\%s"


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