Maximilien Siavelis
2019-05-06 59521087f7c80c40525b17431f2988a815a842a0
src/tools/license-generator/license-generator.h
@@ -15,19 +15,30 @@
namespace po = boost::program_options;
/**
 * This class is used to generate a new license.
 * It has no metnod main, for testing reasons.
 * This class contains all the logic used to generate a new license.
 * Since it has no method "main", can be easily used in unit tests.
 */
class LicenseGenerator {
private:
   LicenseGenerator();
   static void printHelp(const char* prog_name, const po::options_description& options);
   static po::options_description configureProgramOptions();
   static vector<FullLicenseInfo> parseLicenseInfo(po::variables_map vm);
   static vector<FullLicenseInfo> parseLicenseInfo(const po::variables_map& vm);
   static void generateAndOutputLicenses(const po::variables_map& vm,
         ostream& outputFile);
   static string normalize_date(const char * s);
   static string normalize_date(const std::string& s);
public:
   /**
    * Available options:
    * <ul>
    *    <li>-s : use Client Signature.</li>
    * </ul>
    * @param argc
    *          count of arguments.
    * @param argv
    *          char** of parameters.
    * @return
    */
   static int generateLicense(int argc, const char** argv);
};