All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
HSEP Namespace Reference

HSEP generic namespace, including basic processing tools. More...

Namespaces

namespace  EC
 Error code definitions.
 

Classes

class  Array
 Template Array class that complements the base functionality found in an STL vector. More...
 
class  Dam
 Defines a synchronization primitive that blocks any thread that call the wait method if the internal state for the primitive is "closed" and let them pass when the state becomes "open". More...
 
class  Dictionary
 Provides a pair container where the key is a string and the content element is a pointer to a template definition. More...
 
class  DirTool
 Offers tools to work with directories in the file systems provided by the operating system. More...
 
class  DriverLib
 The DriverLib is a special type of "Library" that will execute several standard exported functions to "acquire" several "instances" from the specified library. More...
 
class  BaseDriverSet
 Base class for DriverSet template with generic functionality. More...
 
class  DriverSet
 Provides a "set" of libraries sharing the same type of functionality. More...
 
class  NullReferenceException
 Exception that is triggered when an attempt to obtain a reference on a non existing object is performed. More...
 
class  FileTool
 Provides accessories to read and write different types of structured files. More...
 
class  Gate
 The Gate provides a queued synchronization access control. More...
 
class  SharedGate
 Muti-process version of Gate. More...
 
class  HSEPObject
 Base object to create state controlled objects (when it is necessary to understand if the have a valid state, and to check the last result provided by their methods). More...
 
class  Library
 Base class encapsulating the operating system mechanism to load dynamic libraries and their exported functions. More...
 
class  LoggerTool
 Provides primitives to send messages to the operating system logs. More...
 
class  ManagedBuffer
 Managed Buffer to be used as a control center for a Shared Memory buffer. More...
 
class  ExclusiveScope
 RAII control for a Mutex. More...
 
class  Scope
 A Scope creates a RAII control structure protecting the execution for a particular function or "worker". More...
 
class  SharedMutex
 Defines a type of mutex that can be used inside a Shared Memory area. More...
 
class  Mutex
 Provides a basic inter-process synchronization mutex. More...
 
class  PosixExclusiveScope
 Defines an ExclusiveScope that works directly on a basic pthread_mutex_t POSIX structure. More...
 
class  Regexp
 Regular expression processing, conforming with POSIX extended regular expressions. More...
 
class  RegexpChecker
 Provides a basic "extended POSIX" regular expression match engine. More...
 
class  ServiceThread
 Base thread that must be inherited to provide useful functionality to a service. More...
 
class  ServiceThreadFactory
 ThreadFactory that must be inherited to create a particular type of ServiceThread to be executed by the corresponding Service. More...
 
class  Service
 Creates an operating system Service. More...
 
class  SharedMemory
 This class is work in progress ... More...
 
class  StringTool
 Provides basic extensions on the stl string functionality. More...
 
class  Thread
 Base class to create thread aware classes. More...
 
class  LThread
 Special type of "light" non movable thread that runs the lambda function has been provided in the constructor. More...
 
class  TimeTool
 Offer time related functionality. More...
 
struct  ContextST
 FileTool internal reentrant structure for the FileTool class. More...
 

Typedefs

typedef Array< string > StringArray
 Array of Strings.
 
typedef Array< int > IntArray
 Array of Integers.
 
typedef Array< Dictionary
< string > > 
StringDictionaryArray
 Array of Strings Dictionary.
 
typedef Dictionary< string > StringDictionary
 Dictionary of strings.
 
typedef Dictionary< int > IntDictionary
 Dictionary of integers.
 
typedef Dictionary< double > DoubleDictionary
 Dictionary of double float numbers.
 
typedef Dictionary
< StringDictionary
StringDictionaryDictionary
 Dictionary of String Dictionaries.
 
typedef long ErrorCode
 Codified HSEP error type.
 
typedef function< void()> ScopeWorker
 A simple lambda function.
 
typedef list< Thread * > ThreadPtrList
 
typedef ThreadPtrList::iterator ThreadPtrListIterator
 

Enumerations

enum  LogType { LT_SYSTEMINFO, LT_SYSTEMERROR }
 

Functions

template<class T >
void fillArray (Array< T > &pArray, function< T *()> pWorker, int pSize)
 Template function that fills an array executing the provided pWorker function.
 
void scope (Mutex &pMutex, ScopeWorker pWorker)
 
void TerminateHandler (int pSignal)
 

Variables

const char HEXVALUES [22] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','a','b','c','d','e','f'}
 
const char REVHEX [256]
 REVHEX is intended to reduce the time to convert numeric values to their corresponding value numbers to O(1).
 

Detailed Description

HSEP generic namespace, including basic processing tools.

Typedef Documentation

Dictionary of double float numbers.

Definition at line 309 of file Dictionary.h.

typedef long HSEP::ErrorCode

Codified HSEP error type.

Definition at line 31 of file ErrorClasses.h.

typedef Array<int> HSEP::IntArray

Array of Integers.

Definition at line 178 of file Array.h.

Dictionary of integers.

Definition at line 308 of file Dictionary.h.

typedef function<void ()> HSEP::ScopeWorker

A simple lambda function.

It is expected to receive any parameter from the context and not from specific parameters.

Definition at line 56 of file Mutex.h.

typedef Array<string> HSEP::StringArray

Array of Strings.

Definition at line 177 of file Array.h.

Dictionary of strings.

Definition at line 307 of file Dictionary.h.

Array of Strings Dictionary.

Definition at line 179 of file Array.h.

Dictionary of String Dictionaries.

Definition at line 311 of file Dictionary.h.

typedef list<Thread*> HSEP::ThreadPtrList

Definition at line 232 of file Thread.h.

typedef ThreadPtrList::iterator HSEP::ThreadPtrListIterator

Definition at line 233 of file Thread.h.

Enumeration Type Documentation

Enumerator:
LT_SYSTEMINFO 

The data is of information level.

LT_SYSTEMERROR 

The data is an error.

Definition at line 31 of file LoggerTool.h.

Function Documentation

template<class T >
void HSEP::fillArray ( Array< T > &  pArray,
function< T *()>  pWorker,
int  pSize 
)

Template function that fills an array executing the provided pWorker function.

Parameters
pArrayInstance to fill.
pWorkerFunction that will create new Array elements.
pSizeQuantity of elements to create.

Definition at line 189 of file Array.h.

References HSEP::Array< T >::push().

+ Here is the call graph for this function:

void HSEP::scope ( Mutex &  pMutex,
ScopeWorker  pWorker 
)

Definition at line 25 of file Mutex.cpp.

void HSEP::TerminateHandler ( int  pSignal)

Definition at line 156 of file Service.cpp.

References LT_SYSTEMINFO, and HSEP::LoggerTool::send().

+ Here is the call graph for this function:

Variable Documentation

const char HSEP::HEXVALUES[22] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','a','b','c','d','e','f'}

Definition at line 36 of file StringTool.h.

Referenced by HSEP::StringTool::fromHex(), and HSEP::StringTool::toHex().

const char HSEP::REVHEX[256]
Initial value:
=
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 0, 0,
0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0,10,11,12,13,14,15, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}

REVHEX is intended to reduce the time to convert numeric values to their corresponding value numbers to O(1).

Definition at line 41 of file StringTool.h.

Referenced by HSEP::StringTool::fromHex().