Class LaunchBundle

Nested Relationships

Nested Types

Class Documentation

class LaunchBundle

One launch file and any other bonus files that get bundled with it, i.e. the RViz launch file and its config.

Each launch bundle is presented to the user as option to generate. They are bundled because it would not (generally) make sense to generate the RViz config without the launch file.

Public Functions

inline LaunchBundle(const std::string &title, const std::string &description, const std::string &launch_name, const std::set<std::string> &dependencies = {})
Parameters:
  • title – The display name for this LaunchBundle

  • description – An English description of the files contained within

  • launch_name – The identifier that signifies the name of the generated launch file (launch_name.launch.py)

  • dependencies – Each string is the name of a package that should be added as a dependency if this bundle is generated

inline const std::string &getTitle() const
inline const std::string &getDescription() const
inline unsigned int getID() const

The ID is an index in a list, used for quick identification and argument passing.

inline void setID(unsigned int id)
inline void addFile(const std::filesystem::path &relative_path, const std::string &description)
inline const std::set<std::string> getDependencies() const
inline bool operator<(const LaunchBundle &other) const

Defined so that LaunchBundles can be added to sets.

inline void collectFiles(const std::filesystem::path &package_path, const GeneratedTime &last_gen_time, std::vector<GeneratedFilePtr> &files) const

Protected Attributes

std::string title_
std::string description_
std::string launch_name_
std::set<std::string> dependencies_
unsigned int id_
std::vector<BonusFile> bonus_files_
struct BonusFile

Public Functions

inline BonusFile(const std::filesystem::path &path, const std::string &description)

Public Members

std::filesystem::path path
std::string description
class BonusTemplatedFile : public TemplatedGeneratedFile

Public Functions

inline BonusTemplatedFile(const std::filesystem::path &package_path, const GeneratedTime &last_gen_time, const std::filesystem::path &relative_path, const std::string &description)
inline std::filesystem::path getRelativePath() const override
inline std::string getDescription() const override
inline std::filesystem::path getTemplatePath() const override
inline bool hasChanges() const override

Protected Attributes

std::filesystem::path relative_path_
std::string description_
class GenericLaunchTemplate : public TemplatedGeneratedFile

Public Functions

inline GenericLaunchTemplate(const std::filesystem::path &package_path, const GeneratedTime &last_gen_time, const LaunchBundle &parent)
inline std::filesystem::path getRelativePath() const override
inline std::string getDescription() const override
inline std::filesystem::path getTemplatePath() const override
inline bool hasChanges() const override
inline bool write() override

Protected Attributes

const LaunchBundle &parent_
std::string function_name_
std::filesystem::path relative_path_
std::filesystem::path template_path_