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

Go to the source code of this file.

Classes

class  ifw::core::utils::system::Mutex
 The Mutex class: Scope based mutex semaphore. The ifw::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

namespace  ifw
 
namespace  ifw::core
 
namespace  ifw::core::utils
 
namespace  ifw::core::utils::system
 

Macros

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

Functions

double ifw::core::utils::system::_Time ()
 
void ifw::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.
 
void ifw::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.
 
std::string ifw::core::utils::system::Platform ()
 Get the name of the platform (OS).
 
int64_t ifw::core::utils::system::Random (const int64_t min_val, const int64_t max_val)
 Generate an int64_t random number in the inteval specified.
 
std::string ifw::core::utils::system::ExecCommand (const std::string &command)
 Execute a shell command (synchroneously).
 

Macro Definition Documentation

◆ BEGIN_CRIT_SEC

#define BEGIN_CRIT_SEC ( id)
Value:
{ \
The Mutex class: Scope based mutex semaphore. The ifw::core::utils::system::Mutex semaphore is used t...
Definition system.hpp:69

Macro to initiate critical section.

◆ END_CRIT_SEC

#define END_CRIT_SEC ( id)    }

Dummy macro to mark end of critical section.