Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
rosmon::launch::LaunchConfig Class Reference

#include <launch_config.h>

Classes

struct  YAMLResult
 

Public Types

typedef std::shared_ptr< const LaunchConfigConstPtr
 
enum  OutputAttr { OutputAttr::Obey, OutputAttr::Ignore }
 
typedef std::shared_ptr< LaunchConfigPtr
 

Public Member Functions

std::string anonName (const std::string &base)
 
void applyAutoIncrementSpawnDelayToAll (const ros::WallDuration &autoIncrementSpawnDelay)
 
const std::map< std::string, std::string > & arguments () const
 
bool disableUI () const
 
void evaluateParameters ()
 
std::string generateAnonHash ()
 
 LaunchConfig ()
 
std::string nodeLogDir () const
 
const std::vector< Node::Ptr > & nodes () const
 
const std::map< std::string, XmlRpc::XmlRpcValue > & parameters () const
 
void parse (const std::string &filename, bool onlyArguments=false)
 
void parseString (const std::string &input, bool onlyArguments=false)
 
std::string rosmonNodeName () const
 
void setArgument (const std::string &name, const std::string &value)
 
void setDefaultCPULimit (double CPULimit)
 
void setDefaultMemoryLimit (uint64_t memoryLimit)
 
void setDefaultStopTimeout (double timeout)
 
void setNodeLogDir (const std::string &logDir)
 
void setOutputAttrMode (OutputAttr mode)
 
void setWarningOutput (std::ostream *warningStream)
 
std::ostream & warningOutput ()
 
std::string windowTitle () const
 

Private Types

enum  ParamContext { PARAM_GENERAL, PARAM_IN_NODE }
 
using ParameterFuture = std::future< XmlRpc::XmlRpcValue >
 
using ParameterList = std::map< std::string, XmlRpc::XmlRpcValue >
 

Private Member Functions

void loadYAMLParams (const ParseContext &ctx, const YAML::Node &n, const std::string &prefix)
 
XmlRpc::XmlRpcValue paramToXmlRpc (const ParseContext &ctx, const std::string &value, const std::string &type="")
 
void parse (TiXmlElement *element, ParseContext *ctx, bool onlyArguments=false)
 
void parseArgument (TiXmlElement *element, ParseContext &ctx)
 
void parseEnv (TiXmlElement *element, ParseContext &ctx)
 
void parseInclude (TiXmlElement *element, ParseContext &ctx)
 
void parseNode (TiXmlElement *element, ParseContext &ctx)
 
void parseParam (TiXmlElement *element, ParseContext &ctx, ParamContext paramContext=PARAM_GENERAL)
 
void parseRemap (TiXmlElement *element, ParseContext &ctx)
 
void parseROSParam (TiXmlElement *element, ParseContext &ctx)
 
void parseTopLevelAttributes (TiXmlElement *element)
 

Private Attributes

std::mt19937_64 m_anonGen
 
bool m_disableUI = false
 
std::string m_nodeLogDir
 
std::vector< Node::Ptrm_nodes
 
OutputAttr m_outputAttrMode {OutputAttr::Ignore}
 
std::map< std::string, ParameterFuturem_paramJobs
 
ParameterList m_params
 
ParseContext m_rootContext
 
std::string m_rosmonNodeName
 
std::ostream * m_warningOutput = &std::cerr
 
std::string m_windowTitle
 
std::vector< std::future< YAMLResult > > m_yamlParamJobs
 

Detailed Description

Definition at line 175 of file launch_config.h.

Member Typedef Documentation

◆ ConstPtr

typedef std::shared_ptr<const LaunchConfig> rosmon::launch::LaunchConfig::ConstPtr

Definition at line 179 of file launch_config.h.

◆ ParameterFuture

Definition at line 260 of file launch_config.h.

◆ ParameterList

using rosmon::launch::LaunchConfig::ParameterList = std::map<std::string, XmlRpc::XmlRpcValue>
private

Definition at line 259 of file launch_config.h.

◆ Ptr

Definition at line 178 of file launch_config.h.

Member Enumeration Documentation

◆ OutputAttr

Enumerator
Obey 
Ignore 

Definition at line 183 of file launch_config.h.

◆ ParamContext

Enumerator
PARAM_GENERAL 

tag inside <node>

PARAM_IN_NODE 

tag everywhere else

Definition at line 234 of file launch_config.h.

Constructor & Destructor Documentation

◆ LaunchConfig()

rosmon::launch::LaunchConfig::LaunchConfig ( )

Definition at line 193 of file launch_config.cpp.

Member Function Documentation

◆ anonName()

std::string rosmon::launch::LaunchConfig::anonName ( const std::string &  base)

◆ applyAutoIncrementSpawnDelayToAll()

void rosmon::launch::LaunchConfig::applyAutoIncrementSpawnDelayToAll ( const ros::WallDuration autoIncrementSpawnDelay)

Definition at line 274 of file launch_config.cpp.

◆ arguments()

const std::map<std::string, std::string>& rosmon::launch::LaunchConfig::arguments ( ) const
inline

Definition at line 218 of file launch_config.h.

◆ disableUI()

bool rosmon::launch::LaunchConfig::disableUI ( ) const
inline

Definition at line 231 of file launch_config.h.

◆ evaluateParameters()

void rosmon::launch::LaunchConfig::evaluateParameters ( )

Definition at line 1185 of file launch_config.cpp.

◆ generateAnonHash()

std::string rosmon::launch::LaunchConfig::generateAnonHash ( )

Definition at line 1169 of file launch_config.cpp.

◆ loadYAMLParams()

void rosmon::launch::LaunchConfig::loadYAMLParams ( const ParseContext ctx,
const YAML::Node &  n,
const std::string &  prefix 
)
private

Definition at line 986 of file launch_config.cpp.

◆ nodeLogDir()

std::string rosmon::launch::LaunchConfig::nodeLogDir ( ) const
inline

Definition at line 202 of file launch_config.h.

◆ nodes()

const std::vector<Node::Ptr>& rosmon::launch::LaunchConfig::nodes ( ) const
inline

Definition at line 215 of file launch_config.h.

◆ parameters()

const std::map<std::string, XmlRpc::XmlRpcValue>& rosmon::launch::LaunchConfig::parameters ( ) const
inline

Definition at line 212 of file launch_config.h.

◆ paramToXmlRpc()

XmlRpc::XmlRpcValue rosmon::launch::LaunchConfig::paramToXmlRpc ( const ParseContext ctx,
const std::string &  value,
const std::string &  type = "" 
)
private

Definition at line 865 of file launch_config.cpp.

◆ parse() [1/2]

void rosmon::launch::LaunchConfig::parse ( const std::string &  filename,
bool  onlyArguments = false 
)

Definition at line 226 of file launch_config.cpp.

◆ parse() [2/2]

void rosmon::launch::LaunchConfig::parse ( TiXmlElement *  element,
ParseContext ctx,
bool  onlyArguments = false 
)
private

Definition at line 303 of file launch_config.cpp.

◆ parseArgument()

void rosmon::launch::LaunchConfig::parseArgument ( TiXmlElement *  element,
ParseContext ctx 
)
private

Definition at line 1122 of file launch_config.cpp.

◆ parseEnv()

void rosmon::launch::LaunchConfig::parseEnv ( TiXmlElement *  element,
ParseContext ctx 
)
private

Definition at line 1147 of file launch_config.cpp.

◆ parseInclude()

void rosmon::launch::LaunchConfig::parseInclude ( TiXmlElement *  element,
ParseContext ctx 
)
private

Definition at line 1038 of file launch_config.cpp.

◆ parseNode()

void rosmon::launch::LaunchConfig::parseNode ( TiXmlElement *  element,
ParseContext ctx 
)
private

Definition at line 364 of file launch_config.cpp.

◆ parseParam()

void rosmon::launch::LaunchConfig::parseParam ( TiXmlElement *  element,
ParseContext ctx,
ParamContext  paramContext = PARAM_GENERAL 
)
private

Definition at line 572 of file launch_config.cpp.

◆ parseRemap()

void rosmon::launch::LaunchConfig::parseRemap ( TiXmlElement *  element,
ParseContext ctx 
)
private

Definition at line 1158 of file launch_config.cpp.

◆ parseROSParam()

void rosmon::launch::LaunchConfig::parseROSParam ( TiXmlElement *  element,
ParseContext ctx 
)
private

Definition at line 905 of file launch_config.cpp.

◆ parseString()

void rosmon::launch::LaunchConfig::parseString ( const std::string &  input,
bool  onlyArguments = false 
)

Definition at line 249 of file launch_config.cpp.

◆ parseTopLevelAttributes()

void rosmon::launch::LaunchConfig::parseTopLevelAttributes ( TiXmlElement *  element)
private

Definition at line 288 of file launch_config.cpp.

◆ rosmonNodeName()

std::string rosmon::launch::LaunchConfig::rosmonNodeName ( ) const
inline

Definition at line 223 of file launch_config.h.

◆ setArgument()

void rosmon::launch::LaunchConfig::setArgument ( const std::string &  name,
const std::string &  value 
)

Definition at line 206 of file launch_config.cpp.

◆ setDefaultCPULimit()

void rosmon::launch::LaunchConfig::setDefaultCPULimit ( double  CPULimit)

Definition at line 216 of file launch_config.cpp.

◆ setDefaultMemoryLimit()

void rosmon::launch::LaunchConfig::setDefaultMemoryLimit ( uint64_t  memoryLimit)

Definition at line 221 of file launch_config.cpp.

◆ setDefaultStopTimeout()

void rosmon::launch::LaunchConfig::setDefaultStopTimeout ( double  timeout)

Definition at line 211 of file launch_config.cpp.

◆ setNodeLogDir()

void rosmon::launch::LaunchConfig::setNodeLogDir ( const std::string &  logDir)

Definition at line 1268 of file launch_config.cpp.

◆ setOutputAttrMode()

void rosmon::launch::LaunchConfig::setOutputAttrMode ( OutputAttr  mode)

Definition at line 1258 of file launch_config.cpp.

◆ setWarningOutput()

void rosmon::launch::LaunchConfig::setWarningOutput ( std::ostream *  warningStream)

Definition at line 1263 of file launch_config.cpp.

◆ warningOutput()

std::ostream& rosmon::launch::LaunchConfig::warningOutput ( )
inline

Definition at line 190 of file launch_config.h.

◆ windowTitle()

std::string rosmon::launch::LaunchConfig::windowTitle ( ) const
inline

Definition at line 226 of file launch_config.h.

Member Data Documentation

◆ m_anonGen

std::mt19937_64 rosmon::launch::LaunchConfig::m_anonGen
private

Definition at line 272 of file launch_config.h.

◆ m_disableUI

bool rosmon::launch::LaunchConfig::m_disableUI = false
private

Definition at line 280 of file launch_config.h.

◆ m_nodeLogDir

std::string rosmon::launch::LaunchConfig::m_nodeLogDir
private

Definition at line 284 of file launch_config.h.

◆ m_nodes

std::vector<Node::Ptr> rosmon::launch::LaunchConfig::m_nodes
private

Definition at line 257 of file launch_config.h.

◆ m_outputAttrMode

OutputAttr rosmon::launch::LaunchConfig::m_outputAttrMode {OutputAttr::Ignore}
private

Definition at line 278 of file launch_config.h.

◆ m_paramJobs

std::map<std::string, ParameterFuture> rosmon::launch::LaunchConfig::m_paramJobs
private

Definition at line 269 of file launch_config.h.

◆ m_params

ParameterList rosmon::launch::LaunchConfig::m_params
private

Definition at line 268 of file launch_config.h.

◆ m_rootContext

ParseContext rosmon::launch::LaunchConfig::m_rootContext
private

Definition at line 255 of file launch_config.h.

◆ m_rosmonNodeName

std::string rosmon::launch::LaunchConfig::m_rosmonNodeName
private

Definition at line 274 of file launch_config.h.

◆ m_warningOutput

std::ostream* rosmon::launch::LaunchConfig::m_warningOutput = &std::cerr
private

Definition at line 282 of file launch_config.h.

◆ m_windowTitle

std::string rosmon::launch::LaunchConfig::m_windowTitle
private

Definition at line 276 of file launch_config.h.

◆ m_yamlParamJobs

std::vector<std::future<YAMLResult> > rosmon::launch::LaunchConfig::m_yamlParamJobs
private

Definition at line 270 of file launch_config.h.


The documentation for this class was generated from the following files:


rosmon_core
Author(s): Max Schwarz
autogenerated on Fri Jun 16 2023 02:15:06