- ARCHIVAL set of C++ utils,
- developed mainly between 2010-2014,
- still used within some OLDER projects, but NOT maintaned anymore (even for bug fixes),
- Should works on Windows 32/64, Linux and MacOS,
- MIT LICENSE - use for any purpose (including commercial) as long as you keep copyright notice,
-
Core:
- LibArgs - argv[] parser driven by CONFIG TABLE,
- LibDebug - logs and debug helper, RESOURCE MONITOR, which tracks used resources (files, sockets, mutexes etc.) in human-readable file and updates this file at runtime,
- LibFile - OS independent FILE functions (open/read/write, read content at-once, temporary files, transactional/atomic write etc.)
- LibIO - high-level I/O routines with built-in timeout functionality, abstract I/O constructs: FIFO, circular buffer, IO Multiplexer,
- LibIpc - INTER-PROCESS COMUNICATION (IPC) using Named Pipe (Windows) or local socket (Linux/MacOS),
- LibJob - abstract Job queue and synchronization schemes,
- LibLock - OS independent SYNCHRONIZATION (mutexes and semaphores),
- LibObject - base C++ object scheme with thread-safe REFERENCE COUNTER,
- LibProcess - OS independent PROCESS management (create, wait, kill, etc.),
- LibReg - high-level WINDOWS REGISTRY management (Windows only),
- LibService - high-level routines to manage WINDOWS SERVICES,
- LibSSMap - String-to-String dictionary class, often used to read/write CONFIGURATION FILES,
- LibStr - STRING and RAW BUFFER helpers,
- LibSystem - helpers to read SYSTEM DATA such as OS version, amount of free memory, supported CPU instructions etc.,
- LibThread - OS independent THREAD management (create, wait, kill, etc.),
- LibVariant - implementation of VARIANT TYPE with operator overloading (add, sub, div etc.),
-
Net:
- LibCGI - C++ wrappers for Common Gateway Interface (CGI) interface,
- LibNet - middle-level NETWORK related functions (TCP client, callback-based TCP server, epool, IO Completion Ports, SMTP client),
- LibNetEx - high-level network related functions,
- LibSecure - SECURITY related (SSL/TLS, encryption, random numbers), needs OpenSSL to work,
- LibSftp - OS independent SFPT client library.
- Install MinGW
- Get qcbuild tool
- Go to main Tegenaria project root in cmd shell.
- Execute commands:
qcbuild
Build.bat
- Go to main Tegenaria project root in terminal.
- Get qcbuild tool
- Execute commands:
./qcbuild
./Build.sh