C++ OnPosix














































C++ OnPosix



OnPosix library (also called minimal posix C++ library), is a miniature library to abstract Posix mechanisms to C++ developers. It offers various features like logging, threading, IPC, networking, etc.
Majority of the attributes provided by this library can be found either in a standard library complaint with the C++11 standard or inside the Boost library.
Regrettably, however, for some embedded Linux devices, these libraries cannot display feasible solutions, due to scarcity of memory space (for the Boost libraries) and the lack of new C++ compiler (e.g., on Xilinx MicroBlaze).
On these platforms, the OnPosix library symbolize a nominal and good solution to have object-oriented POSIX mechanisms.
The library is available both as a static (.a) library and a shared (.so) library.


Licensing Information -

The library has been refined in the context of the ERA project, financially supported by the European commission under the FP& program.
The library is licensed under version 2 of the GNU LIBRARY GENERAL PUBLIC LICENSE (LGPL).


Download and Installation -

Type - git clone git://git.code.sf.net/p/onposix/code onposix-code . One can also download a zip archive from anywhere from the internet.

Building the library - make

The library is built both as static (.a) library and a shared (.so) library.
To install the library on your system, type - make install

To install the library in a specific directory, type - make TARGET_DIR=/absolute/path install

Doxygen is used to create documentation. To generate the documentation, type - make doc

Google C++ Testing Framework is used for unit testing. To test the library, specify the googletest path by setting the GTEST_INCLUDE_DIR and GTEST_LIB_DIR variables in the Makefile and type -
make test
./test


-> OnPosix library also offer Observer designer pattern on descriptors (i.e., onposix::DescriptorsMonitor), buffers (i.e., onposix::Buffer) and shared queues (i.e., onposix::PosixSharedQueue and onposix::PosixPrioritySharedQueue).

Comments