Go to the documentation of this file.
27 #include <SimoxUtility/meta/EnumNames.hpp>
29 #include <ArmarXCore/interface/components/PythonApplicationManagerInterface.h>
53 virtual public armarx::PythonApplicationManagerInterface
75 return "PythonApplicationManager";
122 using path = std::filesystem::path;
150 static std::optional<path>
checkCandidatePaths(
const std::vector<path>& candidates, std::function<
bool(
path)> existsFn);
160 bool inputOk =
false;
std::string sharedVenvsDir
std::string pythonScriptPath
void onExitComponent() override
path findPythonScriptPath(const Properties &properties) const
Replaces some parts of the ExternalApplicationManager to be more suitable for python scripts.
std::vector< std::string > pythonPathEntriesVector
void derive(const Properties &properties)
path findArmarXPackagePath(const Properties &properties) const
void read(PropertyUser &props, const std::string &prefix="")
static const simox::meta::EnumNames< VenvType > VenvTypeNames
path getDedicatedVenvPath(const Properties &properties) const
void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="")
std::string armarxPackageName
static std::optional< path > checkCandidateDirectories(const std::vector< path > &candidates)
static std::optional< path > checkCandidateFiles(const std::vector< path > &candidates)
std::string deriveApplicationPath() const override
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
void onDisconnectComponent() override
void onConnectComponent() override
path findPythonBinaryPath(const Properties &properties) const
path findPythonPackagePath(const Properties &properties) const
void addApplicationArguments(Ice::StringSeq &args) override
std::filesystem::path path
void onInitComponent() override
std::string armarxPythonPackagesDir
static std::optional< path > checkCandidatePaths(const std::vector< path > &candidates, std::function< bool(path)> existsFn)
path findVenvPath(const Properties &properties) const
std::string deriveWorkingDir() const override
std::string pythonPackageName
Executes a given application and keeps track if it is still running. Provides methods for stopping an...
Abstract PropertyUser class.
std::vector< std::string > pythonScriptArgumentsVector
path getSharedVenvPath(const Properties &properties) const
std::string pythonScriptArgumentsString
Whitespace separated list of arguments.
This file offers overloads of toIce() and fromIce() functions for STL container types.
friend std::ostream & operator<<(std::ostream &os, const Paths &rhs)
std::string getDefaultName() const override
std::string pythonPathEntriesString