GNU CommonC++
Classes | Typedefs | Functions | Variables
ost Namespace Reference

Classes

class  AppLog
 Application logger is a class that implements a logger that can be used by applications to save log file somewhere on the system. More...
 
class  Assoc
 This class is used to associate (object) pointers with named strings. More...
 
class  AtomicCounter
 The AtomicCounter class offers thread-safe manipulation of an integer counter. More...
 
class  BaseObject
 BaseObject. More...
 
class  Buffer
 The buffer class represents an IPC service that is built upon a buffer of fixed capacity that can be used to transfer objects between one or more producer and consumer threads. More...
 
class  Cancellation
 A class to automatically set the thread cancellation mode of a member function. More...
 
class  ChecksumDigest
 A simple checksum digest function. More...
 
struct  cistring_char_traits
 
class  CommandOption
 CommandOption is the base class for all command line options. More...
 
class  CommandOptionArg
 Class for options with an argument e.g. More...
 
class  CommandOptionCollect
 It only makes sense to have a single one of these set and it is also exclusive with CommandOptionRest. More...
 
class  CommandOptionNoArg
 CommandOption type for flags. More...
 
class  CommandOptionParse
 This is the CommandOptionParse interface class. More...
 
class  CommandOptionRest
 It only makes sense to have a single one of these set and it is exclusive with CommandOptionCollect. More...
 
class  CommandOptionWithArg
 Derived class of CommandOption for options that have a value associated with them. More...
 
class  Conditional
 A conditional variable synchcronization object for one to one and one to many signal and control events between processes. More...
 
class  Counter
 The counter template is used for generic objects which act as automatic counters. More...
 
class  CRC16Digest
 A crc16 collection/compution hash accumulator class. More...
 
class  CRC32Digest
 A crc32 collection/computation hash accumulator class. More...
 
class  Date
 The Date class uses a julian date representation of the current year, month, and day. More...
 
class  DateNumber
 A number class that manipulates a string buffer that is also a date. More...
 
class  Datetime
 The Datetime class uses a julian date representation of the current year, month, and day and a integer representation of the current time. More...
 
class  DCCPSocket
 DCCP sockets are used for stream based connected sessions between two sockets. More...
 
class  Digest
 The digest base class is used for implementing and deriving one way hashing functions. More...
 
class  Dir
 A low level portable directory class. More...
 
class  DirTree
 A generic class to walk a hierarchical directory structure. More...
 
class  DSO
 The DSO dynamic loader class is used to load object files. More...
 
class  Engine
 Engine. More...
 
class  Event
 The Event class implements a feature originally found in the WIN32 API; event notification. More...
 
class  File
 
class  FixedBuffer
 A buffer class that holds a known capacity of fixed sized objects defined during creation. More...
 
class  HEXdump
 Produces a dump of a buffer in a hexdump way with its code Ascii translation and relative buffer address. More...
 
class  IPV4Address
 The network name and address objects are all derived from a common IPV4Address base class. More...
 
class  IPV4Broadcast
 The broadcast address object is used to store the broadcast address for a specific subnet. More...
 
class  IPV4Cidr
 The CIDR class is used to support routing tables and validate address policies. More...
 
class  IPV4Host
 This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket. More...
 
class  IPV4Mask
 Internet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the IPV4Mask derived object. More...
 
class  IPV4Multicast
 A specialization of IPV4Address that provides address validation for multicast addresses. More...
 
class  IPV4MulticastValidator
 Class for the function object that validates multicast addresses. More...
 
class  IPV4Validator
 Classes derived from IPV4Address would require an specific validator to pass to the IPV4Address constructor. More...
 
class  IPV6Address
 The network name and address objects are all derived from a common IPV6Address base class. More...
 
class  IPV6Broadcast
 The broadcast address object is used to store the broadcast address for a specific subnet. More...
 
class  IPV6Cidr
 The CIDR class is used to support routing tables and validate address policies. More...
 
class  IPV6Host
 This object is used to hold the actual and valid internet address of a specific host machine that will be accessed through a socket. More...
 
class  IPV6Mask
 Internet addresses used specifically as masking addresses (such as " 255.255.255.0") are held in the IPV6Mask derived object. More...
 
class  IPV6Multicast
 A specialization of IPV6Address that provides address validation for multicast addresses. More...
 
class  IPV6MulticastValidator
 Class for the function object that validates multicast addresses. More...
 
class  IPV6Validator
 Classes derived from IPV6Address would require an specific validator to pass to the IPV6Address constructor. More...
 
class  IZStream
 
class  Keydata
 Keydata objects are used to load and hold "configuration" data for a given application. More...
 
class  keyMap
 
class  LinkedDouble
 Self managed double linked list object chain. More...
 
class  LinkedSingle
 Self managed single linked list object chain. More...
 
class  Lockfile
 This class is used to create a "named" lock entity that can be used to control access to a resource between multiple processes. More...
 
class  MapIndex
 The MapIndex allows linear access into a MapTable, that otherwise could have its elements being retrieved only by key. More...
 
class  MapObject
 The MapObject is a base class which can be used to make a derived class operate on a MapTable. More...
 
class  MappedFile
 Create and map a disk file into memory. More...
 
class  MapTable
 A map table allows for entities to be mapped (hash index) onto it. More...
 
class  MD5Digest
 A md5 collection/computation accululator class. More...
 
class  MemPager
 The memory pager is used to allocate cumulative memory pages for storing object specific "persistant" data that is presumed to persist during the life of a given derived object. More...
 
class  MemPagerObject
 This class is used to create derived classes which are constructed within a memory pager pool. More...
 
class  MIMEFormData
 This is a document part type for use in submitting multipart form data to a web server. More...
 
class  MIMEItemPart
 This is used to attach an item part to a MIME multipart document that is being streamed. More...
 
class  MIMEMultipart
 A container class for multi-part MIME document objects which can be streamed to a std::ostream destination. More...
 
class  MIMEMultipartForm
 The Multipart form is a MIME multipart document specific for the construction and delivery of form data to a web server through a post method. More...
 
class  Mutex
 The Mutex class is used to protect a section of code so that at any given time only a single thread can perform the protected operation. More...
 
class  MutexCounter
 The Mutex Counter is a counter variable which can safely be incremented or decremented by multiple threads. More...
 
class  MutexLock
 The MutexLock class is used to protect a section of code so that at any given time only a single thread can perform the protected operation. More...
 
class  NetworkDeviceInfo
 Network device information class. More...
 
class  Number
 A number manipulation class. More...
 
class  objCounter
 Generic template class for creating classes which maintain an active count of the number of instances currently in active use. More...
 
class  objList
 Used to create and manage a single linked list of objects of a common type. More...
 
class  objMap
 Used to create and manage a hash index of objects through a common type. More...
 
class  objSync
 Generic template to create objects of a common base type which share a static mutex so that all instances of the class have a global lock. More...
 
class  OZStream
 
class  Pointer
 Used to create and manage referece counted pointers. More...
 
class  PosixThread
 
class  Process
 A class for containing portable process related functions that help create portable code. More...
 
class  RandomFile
 The purpose of this class is to define a base class for low level random file access that is portable between Win32 and Posix systems. More...
 
class  ReadLock
 The ReadLock class is used to protect a section of code through a ThreadLock for "read" access to the member function. More...
 
class  RefObject
 A reference countable object. More...
 
class  RefPointer
 Pointer to reference counted objects. More...
 
class  Runable
 A container for objects that can be queued against a runlist. More...
 
class  Runlist
 A runlist is used to restrict concurrent exection to a limited set of concurrent sessions, much like a semaphore. More...
 
class  Semaphore
 A semaphore is generally used as a synchronization object between multiple threads or to protect a limited and finite resource such as a memory or thread pool. More...
 
class  SemaphoreLock
 The SemaphoreLock class is used to protect a section of code through a semaphore so that only x instances of the member function may execute concurrently. More...
 
class  Serial
 The Serial class is used as the base for all serial I/O services under APE. More...
 
class  SerialPort
 The serial port is an internal class which is attached to and then serviced by a specified SerialService thread. More...
 
class  SerialService
 The SerialService is a thead service object that is meant to service attached serial ports. More...
 
class  SharedFile
 This class defines a database I/O file service that can be shared by multiple processes. More...
 
class  SharedMemPager
 The shared mempager uses a mutex to protect key access methods. More...
 
class  SimpleTCPStream
 Simple TCP Stream, to be used with Common C++ Library. More...
 
class  Slog
 The slog class is used to stream messages to the system's logging facility (syslogd). More...
 
class  Socket
 The Socket is used as the base for all Internet protocol services under Common C++. More...
 
class  SocketPort
 The socket port is an internal class which is attached to and then serviced by a specific SocketService "object". More...
 
class  SocketService
 The SocketService is a thread pool object that is meant to service attached socket ports. More...
 
class  SSLStream
 
class  SString
 
class  StackPager
 The StackPager provides a repository to stash and retrieve working data in last-in-first-out order. More...
 
class  String
 This is a generic and portable string class. More...
 
class  StringObject
 The StringObject class is used to derive subclasses that use the String managed memory pool for all space allocations by overriding new and delete operators. More...
 
class  StringTokenizer
 Splits delimited string into tokens. More...
 
class  SysTime
 This class is used to access non-reentrant date and time functions in the standard C library. More...
 
class  TCPSession
 The TCP session is used to primarily to represent a client connection that can be managed on a seperate thread. More...
 
class  TCPSocket
 TCP sockets are used for stream based connected sessions between two sockets. More...
 
class  TCPStream
 TCP streams are used to represent TCP client connections to a server by TCP protocol servers for accepting client connections. More...
 
class  TCPV6Socket
 TCPV6 sockets are used for stream based connected sessions between two ipv6 sockets. More...
 
class  Thread
 Every thread of execution in an application is created by instantiating an object of a class derived from the Thread class. More...
 
class  ThreadFile
 This class defines a database I/O file service that can be shared by multiple threads. More...
 
class  ThreadKey
 This class allows the creation of a thread context unique "pointer" that can be set and retrieved and can be used to create thread specific data areas for implementing "thread safe" library routines. More...
 
class  ThreadLock
 The ThreadLock class impliments a thread rwlock for optimal reader performance on systems which have rwlock support, and reverts to a simple mutex for those that do not. More...
 
class  ThreadQueue
 Somewhat generic queue processing class to establish a producer consumer queue. More...
 
class  Time
 The Time class uses a integer representation of the current time. More...
 
class  TimerPort
 Timer ports are used to provide synchronized timing events when managed under a "service thread" such as SocketService. More...
 
class  TTYSession
 The TTYSession aggragates a TTYStream and a Common C++ Thread which is assumed to be the execution context that will be used to perform actual I/O operations. More...
 
class  TTYStream
 TTY streams are used to represent serial connections that are fully "streamable" objects using C++ stream classes and friends. More...
 
class  ttystream
 A more natural C++ "ttystream" class for use by non-threaded applications. More...
 
class  TypeManager
 This class manages the types for generation of the persistent objects. More...
 
class  UDPBroadcast
 Representing a UDP socket used for subnet broadcasts, this class provides an alternate binding and setPeer() capability for UDP sockets. More...
 
class  UDPDuplex
 UDP duplex connections impliment a bi-directional point-to-point UDP session between two peer hosts. More...
 
class  UDPReceive
 Representing half of a two-way UDP connection, the UDP receiver can receive data from another peer host or subnet. More...
 
class  UDPSocket
 UDP sockets implement the TCP SOCK_DGRAM UDP protocol. More...
 
class  UDPTransmit
 Representing half of a two-way UDP connection, the UDP transmitter can broadcast data to another selected peer host or to an entire subnet. More...
 
class  UnixSession
 The Unix domain session is used to primarily to represent a client connection that can be managed on a seperate thread. More...
 
class  UnixSocket
 Unix domain sockets are used for stream based connected sessions between processes on the same machine. More...
 
class  unixstream
 A more natural C++ "unixstream" class for use by non-threaded applications. More...
 
class  UnixStream
 Unix streams are used to represent Unix domain client connections to a local server for accepting client connections. More...
 
class  URLStream
 A URL processing version of TCPStream. More...
 
class  WriteLock
 The WriteLock class is used to protect a section of code through a ThreadLock for "write" access to the member function. More...
 
class  XMLRPC
 This class impliments a core XMLRPC service without the underlying transports. More...
 
class  XMLStream
 This class impliments a basic XML stream parser that can be used to examine an XML resource thru virtual I/O methods. More...
 
class  ZNumber
 

Typedefs

typedef unsigned short tpport_t
 Transport Protocol Ports. More...
 
typedef unsigned long pos_t
 
typedef size_t ccxx_size_t
 
typedef std::string_char_traits< char > cstring_char_traits
 
typedef std::basic_string< char > cstring
 
typedef std::basic_string< char, cistring_char_traits< char > > cistring
 
typedef class BaseObject *(* NewBaseObjectFunction) (void)
 
typedef int signo_t
 

Functions

__EXPORT std::ostream & operator<< (std::ostream &os, const IPV4Address &ia)
 
struct in_addr getaddress (const IPV4Address &ia)
 
__EXPORT std::ostream & operator<< (std::ostream &os, const IPV6Address &ia)
 
struct in6_addr getaddress (const IPV6Address &ia)
 
__EXPORT AppLogdebug (AppLog &sl)
 Manipulator for debug level. More...
 
__EXPORT AppLogwarn (AppLog &sl)
 Manipulator for warn level. More...
 
__EXPORT AppLogerror (AppLog &sl)
 Manipulator for error level. More...
 
__EXPORT AppLogemerg (AppLog &sl)
 Manipulator for emerg level. More...
 
__EXPORT AppLogalert (AppLog &sl)
 Manipulator for alert level. More...
 
__EXPORT AppLogcritical (AppLog &sl)
 Manipulator for critical level. More...
 
__EXPORT AppLognotice (AppLog &sl)
 Manipulator for notice level. More...
 
__EXPORT AppLoginfo (AppLog &sl)
 Manipulator for info level. More...
 
__EXPORT CommandOptionParsemakeCommandOptionParse (int argc, char **argv, const char *comment, CommandOption *options=defaultCommandOptionList)
 makeCommandOptionParse will create an implementation of a CommandOptionParse object. More...
 
template<typename T >
const T & abs (const T &v)
 
__EXPORT void endKeydata (void)
 
__EXPORT void * memmove (char *dest, const char *source, size_t length)
 
__EXPORT char * strdup (const char *str)
 
__EXPORT int lockf (int fd, int mode, long offset)
 
char * strtok_r (char *s, const char *d, char **x)
 
__EXPORT char * lsetField (char *target, size_t size, const char *src, const char fill=0)
 
__EXPORT char * rsetField (char *target, size_t size, const char *src, const char fill=0)
 
__EXPORT char * setString (char *target, size_t size, const char *src)
 
__EXPORT char * addString (char *target, size_t size, const char *src)
 
__EXPORT char * newString (const char *src, size_t size=0)
 
__EXPORT void delString (char *str)
 
__EXPORT char * setUpper (char *string, size_t size)
 
__EXPORT char * setLower (char *string, size_t size)
 
__EXPORT char * find (const char *cs, char *str, size_t len=0)
 
__EXPORT char * rfind (const char *cs, char *str, size_t len=0)
 
__EXPORT char * ifind (const char *cs, char *str, size_t len=0)
 
__EXPORT char * strip (const char *cs, char *str, size_t len=0)
 
__EXPORT size_t strchop (const char *cs, char *str, size_t len=0)
 
__EXPORT size_t strtrim (const char *cs, char *str, size_t len=0)
 
char * dupString (const char *src, size_t size=0)
 
__EXPORT std::istream & getline (std::istream &is, String &str, char delim='\n', size_t size=0)
 
struct timespec * getTimeout (struct timespec *spec, timeout_t timeout)
 
void wait (signo_t signo)
 
ThreadgetThread (void)
 
struct tm * localtime_r (const time_t *t, struct tm *b)
 
char * ctime_r (const time_t *t, char *buf)
 
struct tm * gmtime_r (const time_t *t, struct tm *b)
 
char * asctime_r (const struct tm *tm, char *b)
 

Variables

class __EXPORT IPV4Host
 
class __EXPORT IPV6Host
 
__EXPORT AppLog alog
 alog global log stream definition More...
 
__EXPORT CommandOptiondefaultCommandOptionList
 This defines a linked list head pointer for all the command line options that use the default list. More...
 
class __EXPORT MIMEMultipart
 
class __EXPORT MIMEItemPart
 
class __EXPORT Runlist
 
class __EXPORT Runable
 
class __EXPORT MapObject
 
class __EXPORT MapIndex
 
class __EXPORT SerialPort
 
class __EXPORT SerialService
 
__EXPORT Slog slog
 
class __EXPORT SimpleTCPStream
 
class __EXPORT SocketPort
 
class __EXPORT SocketService
 
class __EXPORT Thread
 
class __EXPORT ThreadKey
 
class __EXPORT Conditional
 
class __EXPORT Event
 

Typedef Documentation

◆ ccxx_size_t

typedef size_t ost::ccxx_size_t

◆ cistring

typedef std::basic_string<char, cistring_char_traits<char> > ost::cistring

◆ cstring

typedef std::basic_string<char> ost::cstring

◆ cstring_char_traits

typedef std::string_char_traits<char> ost::cstring_char_traits

◆ NewBaseObjectFunction

typedef class BaseObject*(* ost::NewBaseObjectFunction) (void)

◆ pos_t

typedef unsigned long ost::pos_t

◆ signo_t

typedef int ost::signo_t

◆ tpport_t

typedef unsigned short ost::tpport_t

Transport Protocol Ports.

Examples
SampleSocketPort.cpp.

Function Documentation

◆ abs()

template<typename T >
const T& ost::abs ( const T &  v)
inline

◆ addString()

__EXPORT char* ost::addString ( char *  target,
size_t  size,
const char *  src 
)

◆ alert()

__EXPORT AppLog& ost::alert ( AppLog sl)
inline

Manipulator for alert level.

Parameters
slapplication logger stream
Returns
application logger stream

◆ asctime_r()

char* ost::asctime_r ( const struct tm *  tm,
char *  b 
)
inline

◆ critical()

__EXPORT AppLog& ost::critical ( AppLog sl)
inline

Manipulator for critical level.

Parameters
slapplication logger stream
Returns
application logger stream

◆ ctime_r()

char* ost::ctime_r ( const time_t *  t,
char *  buf 
)
inline

◆ debug()

__EXPORT AppLog& ost::debug ( AppLog sl)
inline

Manipulator for debug level.

Parameters
slapplication logger stream
Returns
application logger stream

◆ delString()

__EXPORT void ost::delString ( char *  str)

◆ dupString()

char* ost::dupString ( const char *  src,
size_t  size = 0 
)
inline

References newString().

◆ emerg()

__EXPORT AppLog& ost::emerg ( AppLog sl)
inline

Manipulator for emerg level.

Parameters
slapplication logger stream
Returns
application logger stream

◆ endKeydata()

__EXPORT void ost::endKeydata ( void  )

This should be used before detaching a deamon, exec(), fork(), etc.

References ost::Keydata::end().

◆ error()

__EXPORT AppLog& ost::error ( AppLog sl)
inline

Manipulator for error level.

Parameters
slapplication logger stream
Returns
application logger stream

Referenced by ost::RandomFile::error(), ost::Serial::error(), and ost::Socket::error().

◆ find()

__EXPORT char* ost::find ( const char *  cs,
char *  str,
size_t  len = 0 
)

Referenced by ost::String::find().

◆ getaddress() [1/2]

struct in_addr ost::getaddress ( const IPV4Address ia)
inline

◆ getaddress() [2/2]

struct in6_addr ost::getaddress ( const IPV6Address ia)
inline

◆ getline()

__EXPORT std::istream& ost::getline ( std::istream &  is,
String str,
char  delim = '\n',
size_t  size = 0 
)
Parameters
isstream to read.
strstring to save into.
delimdeliminator to use.
sizeoptional size limitor.

◆ getThread()

Thread* ost::getThread ( void  )
inline

References ost::Thread::get().

◆ getTimeout()

struct timespec* ost::getTimeout ( struct timespec *  spec,
timeout_t  timeout 
)

◆ gmtime_r()

struct tm* ost::gmtime_r ( const time_t *  t,
struct tm *  b 
)
inline

◆ ifind()

__EXPORT char* ost::ifind ( const char *  cs,
char *  str,
size_t  len = 0 
)

◆ info()

__EXPORT AppLog& ost::info ( AppLog sl)
inline

Manipulator for info level.

Parameters
slapplication logger stream
Returns
application logger stream

◆ localtime_r()

struct tm* ost::localtime_r ( const time_t *  t,
struct tm *  b 
)
inline

◆ lockf()

__EXPORT int ost::lockf ( int  fd,
int  mode,
long  offset 
)

◆ lsetField()

__EXPORT char* ost::lsetField ( char *  target,
size_t  size,
const char *  src,
const char  fill = 0 
)

◆ makeCommandOptionParse()

__EXPORT CommandOptionParse* ost::makeCommandOptionParse ( int  argc,
char **  argv,
const char *  comment,
CommandOption options = defaultCommandOptionList 
)

makeCommandOptionParse will create an implementation of a CommandOptionParse object.

This particular implementation is a wrapper around getopt_long(3). That interface unfortunatly does not provide enough information to give the best error messages with malformed input. If the implementation changes there is a good chance that the binary interface will remain the same.

Examples
cmdlineopt.cpp.

◆ memmove()

__EXPORT void* ost::memmove ( char *  dest,
const char *  source,
size_t  length 
)

◆ newString()

__EXPORT char* ost::newString ( const char *  src,
size_t  size = 0 
)

Referenced by dupString().

◆ notice()

__EXPORT AppLog& ost::notice ( AppLog sl)
inline

Manipulator for notice level.

Parameters
slapplication logger stream
Returns
application logger stream

◆ operator<<() [1/2]

__EXPORT std::ostream& ost::operator<< ( std::ostream &  os,
const IPV4Address ia 
)

◆ operator<<() [2/2]

__EXPORT std::ostream& ost::operator<< ( std::ostream &  os,
const IPV6Address ia 
)

◆ rfind()

__EXPORT char* ost::rfind ( const char *  cs,
char *  str,
size_t  len = 0 
)

◆ rsetField()

__EXPORT char* ost::rsetField ( char *  target,
size_t  size,
const char *  src,
const char  fill = 0 
)

◆ setLower()

__EXPORT char* ost::setLower ( char *  string,
size_t  size 
)

◆ setString()

__EXPORT char* ost::setString ( char *  target,
size_t  size,
const char *  src 
)

◆ setUpper()

__EXPORT char* ost::setUpper ( char *  string,
size_t  size 
)

◆ strchop()

__EXPORT size_t ost::strchop ( const char *  cs,
char *  str,
size_t  len = 0 
)

Referenced by ost::String::chop().

◆ strdup()

__EXPORT char* ost::strdup ( const char *  str)

◆ strip()

__EXPORT char* ost::strip ( const char *  cs,
char *  str,
size_t  len = 0 
)

◆ strtok_r()

char* ost::strtok_r ( char *  s,
const char *  d,
char **  x 
)
inline

◆ strtrim()

__EXPORT size_t ost::strtrim ( const char *  cs,
char *  str,
size_t  len = 0 
)

Referenced by ost::String::trim().

◆ wait()

void ost::wait ( signo_t  signo)
Examples
cmdlineopt.cpp.

◆ warn()

__EXPORT AppLog& ost::warn ( AppLog sl)
inline

Manipulator for warn level.

Parameters
slapplication logger stream
Returns
application logger stream

Variable Documentation

◆ alog

__EXPORT AppLog ost::alog

alog global log stream definition

◆ Conditional

◆ defaultCommandOptionList

__EXPORT CommandOption* ost::defaultCommandOptionList

This defines a linked list head pointer for all the command line options that use the default list.

It will most likely be used in most cases without being explicitly referenced in application code. It is a default value of various method's parameters.

Examples
cmdlineopt.cpp.

◆ Event

◆ IPV4Host

◆ IPV6Host

◆ MapIndex

◆ MapObject

◆ MIMEItemPart

◆ MIMEMultipart

◆ Runable

◆ Runlist

◆ SerialPort

◆ SerialService

◆ SimpleTCPStream

◆ slog

__EXPORT Slog ost::slog
Examples
slogTest.cpp.

◆ SocketPort

◆ SocketService

◆ Thread

◆ ThreadKey