ifw-core  5.0.0-pre2
Classes | Namespaces | Macros | Functions
system.hpp File Reference
#include <string>
#include <sys/sem.h>
#include <pthread.h>
#include <mutex>
#include <rad/logger.hpp>
#include <core/utils/base/base.hpp>

Go to the source code of this file.

Classes

class  core::utils::system::Mutex
 The Mutex class: Scope based mutex semaphore. The core::utils::system::Mutex semaphore is used to implement a safe mutex semaphore, at scope level. When entering the scope the semaphore is automatically created, based on a ID, if not existing, and locked. The semaphore created is recursive. When leaving the scope, the destructor will automatically unlock the semaphore. More...
 

Namespaces

 core
 
 core::utils
 
 core::utils::system
 

Macros

#define BEGIN_CRIT_SEC(id)
 Macro to initiate critical section. More...
 
#define END_CRIT_SEC(id)   }
 Dummy macro to mark end of critical section. More...
 

Functions

double core::utils::system::_Time ()
 
void core::utils::system::Assert (const bool condition, const std::string &message, std::array< std::string, 3 > &location)
 Check if pointer is NULL. If yes, throw std::runtime_error. More...
 
void core::utils::system::AssertPtr (const void *ptr, const std::string &object, std::array< std::string, 3 > &location)
 Check if pointer is NULL. If yes, throw std::runtime_error. More...
 
std::string core::utils::system::Platform ()
 Get the name of the platform (OS). More...
 
int64_t core::utils::system::Random (const int64_t min_val, const int64_t max_val)
 Generate an int64_t random number in the inteval specified. More...
 
std::string core::utils::system::ExecCommand (const std::string &command)
 Execute a shell command (synchroneously). More...
 

Macro Definition Documentation

◆ BEGIN_CRIT_SEC

#define BEGIN_CRIT_SEC (   id)
Value:
{ \
core::utils::system::Mutex tmp_mutex(id); \

Macro to initiate critical section.

◆ END_CRIT_SEC

#define END_CRIT_SEC (   id)    }

Dummy macro to mark end of critical section.