pathanimator/c++/main.h

43 lines
996 B
C++

/// \file main.h
/// \copyright 2022 Sascha Nitsch
/// Licence under MIT license
/// \brief declaration of the main class for the application
#ifndef MAIN_H_
#define MAIN_H_
// system includes
#include <inttypes.h>
#include <string>
// own includes
#include "algorithm/algorithm.h"
/// main class
class Main {
public:
/// \brief constructor
Main();
/// \brief destructor
~Main();
/// \brief initialize algorithm
/// \param argc number of arguments
/// \param argv list of arguments
/// \return true on success
bool init(int argc, const char* argv[]);
/// \brief run algorithm
/// \return true on success
bool run();
private:
/// \brief print program usage
/// \param programName name of our program
void printUsage(const char* programName);
/// input image filename
std::string m_inputFilename;
/// output image filename
std::string m_outputFilename;
/// pointer to the to be used algorithm
Algorithm::Algorithm* m_algorithm;
};
#endif // MAIN_H_