ionflux.org | Impressum

tools.hpp File Reference

Various tools & helper functions header. More...

#include <string>
#include <iostream>
#include <fstream>
#include <sstream>
#include <iomanip>
#include <vector>
#include <termios.h>
#include <stdio.h>
#include <bzlib.h>
#include <sys/types.h>
#include <dirent.h>
#include <unistd.h>
#include "sha1.h"
#include <netinet/in.h>
#include <sys/stat.h>
#include <paths.h>
#include <fcntl.h>
#include "MersenneTwister.h"
#include "ionflux/Tokenizer.hpp"

Include dependency graph for tools.hpp:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  Ionflux
namespace  Ionflux::Tools

Functions

std::string Ionflux::Tools::makeHex (const std::string &inputData)
 Make readable hexadecimal code.
std::string Ionflux::Tools::makeReadable (const std::string &inputData, const std::string &replacement)
 Replace unreadable characters.
std::string Ionflux::Tools::makeNiceHex (const std::string &hex, const std::string &readable, int bytesPerLine, int groupBytes)
 Make nice hexadecimal output.
std::string Ionflux::Tools::sha1 (const std::string &secret, bool hexOut=false)
 Calculate SHA-1 hash.
void Ionflux::Tools::explode (const std::string &bytes, const std::string &splitString, std::vector< std::string > &result)
 Explode a string.
void Ionflux::Tools::explodeQuoted (const std::string &bytes, std::vector< std::string > &result)
 Explode a string.
bool Ionflux::Tools::isOneOf (char c, const std::string &testChars)
 Check type of a character.
bool Ionflux::Tools::isNumber (const std::string &bytes)
 Check whether a string represents a number.
bool Ionflux::Tools::isAlpha (const std::string &bytes)
 Check whether a string represents an alpha.
bool Ionflux::Tools::isInteger (const std::string &bytes)
 Check whether a string represents an integer.
bool Ionflux::Tools::isFloat (const std::string &bytes)
 Check whether a string represents a float.
bool Ionflux::Tools::isIdentifier (const std::string &bytes)
 Check whether a string represents an identifier.
std::string Ionflux::Tools::readFile (const std::string &fileName)
 Read a file.
bool Ionflux::Tools::writeFile (const std::string &fileName, const std::string &data, char writeMode)
 Write to file.
bool Ionflux::Tools::bz2Compress (const std::string &inputData, std::string &outputBuffer)
 Compress data.
bool Ionflux::Tools::bz2Decompress (const std::string &inputData, std::string &outputBuffer)
 Decompress data.
std::string Ionflux::Tools::packInt (int data)
 Pack integer.
std::string Ionflux::Tools::packDouble (double data)
 Pack double.
std::string Ionflux::Tools::packBool (bool data)
 Pack boolean.
int Ionflux::Tools::unpackInt (const std::string &data)
 Unpack integer.
double Ionflux::Tools::unpackDouble (const std::string &data)
 Unpack double.
bool Ionflux::Tools::unpackBool (const std::string &data)
 Unpack boolean.
void Ionflux::Tools::socketInit ()
 Initialize socket API.
void Ionflux::Tools::socketShutdown ()
 Shutdown socket API.
void Ionflux::Tools::daemonize ()
 Daemonize.
std::string Ionflux::Tools::parseHex (const std::string &inputData)
 Parse hex string.
void Ionflux::Tools::getPassword (const std::string &prompt, std::string &password)
 Get a password.
void Ionflux::Tools::getRandomBytes (std::string &bytes, unsigned int n, MTRand *source)
 Get random bytes.
void Ionflux::Tools::getRandomIdentifier (std::string &bytes, unsigned int n, MTRand *source)
 Get random identifier.
bool Ionflux::Tools::readDir (const std::string &dirName, std::vector< std::string > &target, bool prependDirName=false, bool recursive=false)
 Read directory entries.
std::string Ionflux::Tools::getCurrentDir ()
 Get current working directory.
bool Ionflux::Tools::getFileList (const std::vector< std::string > &pathList, std::vector< std::string > &target, bool recursive=false, const std::string &filterExpr="")
 Get file list.
int Ionflux::Tools::getOpPrecedence (const std::string &op, bool unary=false)
 Get operator precedence.
std::string Ionflux::Tools::escape (const std::string &source, const std::string &escapeWhat=" '\"")
 Escape string.
std::string Ionflux::Tools::toUpper (const std::string &text, unsigned int numChars=0, unsigned int offset=0)
 Convert string to upper case.
std::string Ionflux::Tools::toLower (const std::string &text, unsigned int numChars=0, unsigned int offset=0)
 Convert string to lower case.
bool Ionflux::Tools::toBool (const std::string &text)
 Convert string to bool.
unsigned int Ionflux::Tools::utf8GetSize (unsigned char byte)
 Get UTF-8 character size.
unsigned int Ionflux::Tools::utf8GetSize (const std::string &bytes)
 Get UTF-8 character string size.
bool Ionflux::Tools::utf8ToUInt (const std::string &bytes, unsigned int &target)
 Convert UTF-8 character to unsigned int.
bool Ionflux::Tools::utf8ToUInt (const std::string &bytes, std::vector< unsigned int > &target)
 Convert UTF-8 character string to unsigned int vector.
std::string Ionflux::Tools::uintToUtf8 (unsigned int uniChar)
 Convert unsigned int to UTF-8 character.
void Ionflux::Tools::uintToUtf8 (const std::vector< unsigned int > &uniChars, std::string &target)
 Convert unsigned int vector to UTF-8 character string.
std::string Ionflux::Tools::utf8Trim (const std::string &bytes, bool leftTrim=true, bool rightTrim=true)
 Trim UTF-8 string.
bool Ionflux::Tools::utf8IsOneOf (unsigned int c, const std::string &testChars)
 Check type of Unicode character.
bool Ionflux::Tools::utf8IsOneOf (unsigned int c, const std::vector< unsigned int > &testChars)
 Check type of Unicode character.
std::string Ionflux::Tools::utf8Escape (const std::string &source)
 Escape UTF-8 string.
std::string Ionflux::Tools::utf8Unescape (const std::string &source)
 Unescape ASCII string.
std::string Ionflux::Tools::quote (const std::string &source, const unsigned char quoteChar= '\'')
 Quote string.
std::string Ionflux::Tools::unquote (const std::string &source, const std::string &addQuoteChars="")
 Unquote string.
std::string Ionflux::Tools::trim (const std::string &bytes, bool leftTrim=true, bool rightTrim=true)
 Trim byte string.
const CharTypeMap & Ionflux::Tools::getCharTypes ()
 Get character type lookup map.
std::string Ionflux::Tools::urlEncode (const std::string &bytes)
 URL-encode bytes.
std::string Ionflux::Tools::urlDecode (const std::string &bytes)
 URL-decode bytes.
std::string Ionflux::Tools::appendDirSeparator (const std::string &path, unsigned char separator=DIR_SEPARATOR)
 Append directory separator.
std::string Ionflux::Tools::prependDirSeparator (const std::string &path, unsigned char separator=DIR_SEPARATOR)
 Prepend directory separator.
bool Ionflux::Tools::validatePath (const std::string &path, int mask=0755)
 Validate path.
std::string Ionflux::Tools::xmlEscape (const std::string &bytes)
 Escape XML markup.
MTRand & Ionflux::Tools::getRandomizer ()
 Get randomizer.

Variables

const std::string Ionflux::Tools::MODULE_NAME = "Ionflux Tools"
 Module name.
const std::string Ionflux::Tools::MODULE_VERSION = "0.2.3"
 Module version.
const int Ionflux::Tools::READ_BUFFER_SIZE = 1024
 Default size for read buffers.
const int Ionflux::Tools::COMPRESS_BUFFER_SIZE = 1024
 Default size for compression (and decompression) buffers.
const int Ionflux::Tools::DIR_BUFFER_SIZE = 1024
 Default size for directory name buffers.
const int Ionflux::Tools::DIR_BUFFER_SIZE_MAX = 65536
 Maximum size for directory name buffers.
const char Ionflux::Tools::DIR_SEPARATOR = '/'
 Directory separator.


Detailed Description

Various tools & helper functions header.


Generated on Tue Mar 14 21:06:25 2006 for Ionflux Tools Class Library (iftools) by  doxygen 1.4.6