39#include "blocxx/BLOCXX_config.h"
82#if defined(BLOCXX_WIN32)
100#if defined(BLOCXX_WIN32)
118#if defined(BLOCXX_WIN32)
#define BLOCXX_ASSERT(CON)
BLOCXX_ASSERT works similar to the assert() macro, but instead of calling abort(),...
#define BLOCXX_DEFINE_EXCEPTION_WITH_ID(NAME)
Define a new exception class named <NAME>Exception that derives from Exception.
#define BLOCXX_THROW_ERRNO_MSG(exType, msg)
Throw an exception using FILE, LINE, errno and strerror(errno)
#define BLOCXX_GLOBAL_MUTEX_INIT()
#define BLOCXX_LAZY_GLOBAL_INIT(...)
Statically initialize a LazyGlobal instance.
This class can be used to store a global variable that is lazily initialized in a thread safe manner.
Socket()
Construct a non-SSL Socket.
static LazyGlobal< Socket::ShutDownMechanism_t, int, ShutDownMechanismFactory > s_shutDownMechanism
static void shutdownAllSockets()
Call this to shutdown all sockets.
static void createShutDownMechanism()
static void deleteShutDownMechanism()
static bool gotShutDown() BLOCXX_DEPRECATED
Have the sockets been shutdown?
static UnnamedPipeRef createUnnamedPipe(EOpen doOpen=E_OPEN)
Create an instance of the concrete class that implements the UnnamedPipe interface.
static bool b_gotShutDown
static GlobalMutex shutdownMutex