11#ifndef UsageManager_hpp
12#define UsageManager_hpp
15#include <opencv2/core.hpp>
17#include "../constants.hpp"
UsageManager class is a utility class that helps with configuration parameters.
void checkUsage(void)
Checks if the configuration parameters are valid and if they are equal to the number of the expected ...
static std::mutex singletonMutex
Mutex for thread-safe access.
int * get_argc(void)
Get the argc's pointer.
const char * get_expectedUsageMessage(void)
Get the expected usage message.
virtual ~UsageManager()
Destroy the Usage Manager object.
const char * expectedUsageMessage
a simple message that lets the user understand how to properly run the executable.
void operator=(const UsageManager &)=delete
Disabling the possibility to assign a Singleton object. Singletons should not be assignable.
UsageManager(UsageManager &other)=delete
Disabling the possibility to clone the Singleton object. Singletons should not be cloneable.
char *** get_argv(void)
Get the argv's pointer.
int * argc
configuration parameters' number.
char *** argv
configuration parameters.
UsageManager(int *argc=nullptr, char ***argv=nullptr, const int expected_argc=0, const char *expectedUsageMessage=nullptr)
Construct a new UsageManager object.
static UsageManager * sharedInstance
The field for storing the singleton instance.
const int get_expected_argc(void)
Get the expected argc value.
static UsageManager * getInstance(void)
Get the unique class instance. This methods should be called in the following scenario: when we just ...
const int expected_argc
expected configuration parameters' number.