74 lines · 1.8 KB · C
RawDownload
#ifndef LAUNCHER_H#define LAUNCHER_H #include <boost/program_options/variables_map.hpp>#include "ResourceFile.h"#include <boost/filesystem.hpp> /** * @brief The Launcher class * * Subclasses are instantiated by the corresponding LaunchMethod subclasses. */ class Launcher{protected:    boost::program_options::variables_map& options;     ResourceFile app;    boost::filesystem::path tempDir, appPath, outPath;    bool keepTempFiles;public:    /**     * @brief Launcher     * @param options     *     * Create a Launcher object and set up a temporary directory to play in.     * Reads the Applicatio specified on the command line into the `app` member variable.     * Also create an empty file named 'out' in the temporary directory, for test suite programs.     */    Launcher(boost::program_options::variables_map& options);     /**     * @brief Launcher     * @param options     * @param f     *     * Create a Launcher object, set up a temporary directory     * and store the application to be executed at `appPath` in the temporary directory,     * using format `f`.     */    Launcher(boost::program_options::variables_map& options, ResourceFile::Format f);      /**     * @brief ~Launcher     * Delete our temporary directory.     */    virtual ~Launcher();     /**     * @brief Go     * @param timeout     * @return true for success     *     * Launch the application, return true on success and false on error or timeout.     */    virtual bool Go(int timeout = 0) = 0;     /**     * @brief DumpOutput     *     * After the application has been run, copy the contents of the 'out' file to stdout.     */    virtual void DumpOutput();     /**     * @brief KeepTempFiles     * Inhibit deletion of the temporary directory.     */    void KeepTempFiles() { keepTempFiles = true; }}; #endif // LAUNCHER_H

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t