class EngineLauncherInterface

#include <engine_client_interface.h>

class EngineLauncherInterface: public PtrTemplates {
public:
    // typedefs

    typedef decltype(DataPackIdentifier::Type) engine_type_t;

    // construction

    EngineLauncherInterface(const engine_type_t& engineType);

    // methods

    const engine_type_t& engineType() const;

    virtual EngineClientInterfaceSharedPtr launchEngine(
        nlohmann::json& engineConfig,
        ProcessLauncherInterface::unique_ptr&& launcher
    ) = 0;
};

// direct descendants

template <const char* ENGINE_TYPE>
class EngineLauncher;

Inherited Members

public:
    // typedefs

    typedef std::shared_ptr<T> shared_ptr;
    typedef std::shared_ptr<const T> const_shared_ptr;
    typedef std::unique_ptr<T> unique_ptr;
    typedef std::unique_ptr<const T> const_unique_ptr;