The GroundBase library defines a base layer of functionality that is required for almost all applications. It provides primitive classes, introduces several paradigms and is designed with these goals in mind:
- Provide a small set of basic utility classes.
- Make software development easier by introducing consistent conventions.
- Provide a level of OS independence, to enhance portability.
GroundBase Core is written in C, and an API is also available in C++.
- libGroundBase : Library
- SystemTests : a simple program to test if all assumptions made in the library about the underlying OS are correct.
- UnitTests : Unit tests, and a few integration tests that will be moved in an other separate project.
- IntegrationTests : Todo :)
make
+make install
+make test
should work. See DEPENDENCIES about missing stuffs.- To install c++ headers :
make testCpp
+make installCPP
./UnitTests
and./UnitTestsCPP
- doxygen doxyConfiguration
- Documentation will be generated inside 'Documentation' folder.
Base class for most GroundBase's classes. Defines various methods such as a constructor, retain/release operations, hash, etc.
GroundBase's representation of a string.
Wrapper object for numeric values.
Ordered Set.
Ordered Array.
Mostly a wrapper around pthread mecanisms.
Hashmap associating a key (GBString) and a value (any GBObject).
A class for reading/writting Xml formatted content.
a set of functions to load/save datas using Json format.
A complete mecanism, built to perform async actions, notifications, etc. Many GroundBase classes are constructed and designed to use a runloop (Sockets , Timers , etc.)
A timer class, to use on a GBRunLoop instance.
A networking class, to use on a GBRunLoop instance.
A class designed for reading/writting into shared memory.
These classes provide a lightweight mechanism for both interprocess and distant communication.
Acquires a system lock preventing other application instances from running simultaneously.
- Creation : 14/07/2016
- Update for ver 5.4.1 : 17/01/2018
- Update for ver 5.4.9 : 10/03/2018