mirror of
https://github.com/autc04/Retro68.git
synced 2024-11-28 05:51:04 +00:00
32 lines
724 B
C++
32 lines
724 B
C++
#ifndef LAUNCHMETHOD_H
|
|
#define LAUNCHMETHOD_H
|
|
|
|
#include <string>
|
|
#include <boost/program_options/options_description.hpp>
|
|
#include <boost/program_options/variables_map.hpp>
|
|
|
|
#include <memory>
|
|
|
|
class Launcher;
|
|
|
|
class LaunchMethod
|
|
{
|
|
public:
|
|
typedef boost::program_options::options_description options_description;
|
|
typedef boost::program_options::variables_map variables_map;
|
|
|
|
LaunchMethod();
|
|
virtual ~LaunchMethod();
|
|
|
|
virtual std::string GetName() = 0;
|
|
virtual void GetOptions(options_description& desc);
|
|
virtual bool CheckOptions(variables_map& options);
|
|
|
|
virtual std::unique_ptr<Launcher> MakeLauncher(variables_map& options) = 0;
|
|
|
|
protected:
|
|
bool CheckExecutable(std::string program);
|
|
};
|
|
|
|
#endif // LAUNCHMETHOD_H
|