ros_package.h
Go to the documentation of this file.
00001 #ifndef _UTILITIES_ROS_PACKAGE_CONFIG_H_
00002 #define _UTILITIES_ROS_PACKAGE_CONFIG_H_
00003 
00004 #include <QStringList>
00005 #include <rospack/rospack.h>
00006 #include "utilities/abstract_config.h"
00007 
00008 namespace utilities
00009 {
00010 class Export;
00011 
00012 class RosPackage : public utilities::AbstractConfig
00013 {
00014   Q_OBJECT
00015 public:
00016   RosPackage(QObject* parent = NULL);
00017   virtual ~RosPackage();
00018   QString getWorkspaceUrl() const;
00019   QString getName() const;
00020   QString getUrl() const;
00021   QString getVersion() const;
00022   QString getDescription() const;
00023   QString getAuthor() const;
00024   QString getAuthorEmail() const;
00025   QString getMaintainer() const;
00026   QString getMaintainerEmail() const;
00027   QString getLicense() const;
00028   QString getBuildtoolDepend() const;
00029   QStringList getBuildDepends() const;
00030   QStringList getRunDepends() const;
00031   Export* getExport() const;
00032   void setWorkspaceUrl(const QString& url);
00033   void setName(const QString& name);
00034   void setUrl(const QString& url);
00035   void setVersion(const QString& version);
00036   void setDescription(const QString& description);
00037   void setAuthor(const QString& name);
00038   void setAuthorEmail(const QString& email);
00039   void setMaintainer(const QString& name);
00040   void setMaintainerEmail(const QString& email);
00041   void setLicense(const QString& license);
00042   void setBuildtoolDepend(const QString& depend);
00043   void setBuildDepends(const QString& depends);
00044   void setBuildDepends(const QStringList& depends);
00045   void setRunDepends(const QString& depends);
00046   void setRunDepends(const QStringList& depends);
00047   size_t countBuildDepends() const;
00048   size_t countRunDepends() const;
00049   QString getBuildDepend(size_t index) const;
00050   QString getRunDepend(size_t index) const;
00051   void addBuildDepend(const QString& depend);
00052   void addRunDepend(const QString& depend);
00053   void removeBuildDepend(const QString& depend);
00054   void removeRunDepend(const QString& depend);
00055   void clearBuildDepends();
00056   void clearRunDepends();
00057   QString validate() const;
00058   bool isValidPackageName() const;
00059   virtual bool createPackage();
00060   bool createManifest();
00061   virtual bool createCMakeLists();
00062   bool updateManifest();
00063   QString getManifestUrl() const;
00064   QString getCMakeListsUrl() const;
00065   bool catkinMake() const;
00066   bool workspaceExists() const;
00067   bool catkinInitWorkspace() const;
00068   void save() const;
00069   void load(const QString& url);
00070   virtual void reset();
00071   void write(QDataStream& stream) const;
00072   void read(QDataStream& stream);
00073   RosPackage& operator=(const RosPackage& config);
00074 
00075 signals:
00076   void workspaceUrlChanged(const QString& url);
00077   void nameChanged(const QString& name);
00078   void urlChanged(const QString& url);
00079   void versionChanged(const QString& version);
00080   void descriptionChanged(const QString& description);
00081   void authorChanged(const QString& name);
00082   void authorEmailChanged(const QString& email);
00083   void maintainerChanged(const QString& name);
00084   void maintainerEmailChanged(const QString& email);
00085   void licenseChanged(const QString& license);
00086   void buildtoolDependChanged(const QString& depend);
00087   void buildDependsChanged(const QStringList& depends);
00088   void buildDependAdded(const QString& depend);
00089   void buildDependRemoved(const QString& depend);
00090   void buildDependsCleared();
00091   void runDependsChanged(const QStringList& depends);
00092   void runDependAdded(const QString& depend);
00093   void runDependRemoved(const QString& depend);
00094   void runDependsCleared();
00095 
00096 protected:
00097   rospack::Rospack rp_;
00098   void save(QSettings& settings) const;
00099   void load(QSettings& settings);
00100 
00101 protected:
00102   QString workspace_url_;
00103   QString name_;
00104   QString url_;
00105   QString version_;
00106   QString description_;
00107   QString author_;
00108   QString author_email_;
00109   QString maintainer_;
00110   QString maintainer_email_;
00111   QString license_;
00112   QString buildtool_depend_;
00113   QStringList build_depends_;
00114   QStringList run_depends_;
00115   Export* export_;
00116   void updateRp();
00117 
00118 private slots:
00119   void setUrl();
00120 };
00121 
00122 class Export : public AbstractConfig
00123 {
00124   Q_OBJECT
00125 public:
00126   Export(RosPackage* parent);
00127   virtual ~Export();
00128   QString getName(size_t index) const;
00129   QString getValue(const QString &name) const;
00130   QStringList getAllNames() const;
00131   QStringList getAllValues() const;
00132   void setAll(const QStringList& all_names, const QStringList& all_values);
00133   size_t count() const;
00134   void add(const QString& name, const QString& value);
00135   void remove(const QString& name);
00136   void clear();
00137   void save(QSettings& settings) const;
00138   void load(QSettings& settings);
00139   virtual void reset();
00140   void write(QDataStream& stream) const;
00141   void read(QDataStream& stream);
00142   Export& operator=(const Export& config);
00143 
00144 signals:
00145   void allChanged(const QStringList& all_names,
00146                   const QStringList& all_values);
00147   void added(const QString& name, const QString& value);
00148   void removed(const QString& name, const QString& value);
00149   void cleared();
00150 
00151 private:
00152   QStringList all_names_;
00153   QStringList all_values_;
00154 };
00155 
00156 class RosMetapackage : public RosPackage
00157 {
00158   Q_OBJECT
00159 public:
00160   RosMetapackage(QObject* parent = NULL);
00161   virtual ~RosMetapackage();
00162   virtual void reset();
00163   bool createCMakeLists();
00164 };
00165 }
00166 
00167 #endif // _UTILITIES_ROS_PACKAGE_CONFIG_H_


rqt_mrta
Author(s): Adriano Henrique Rossette Leite
autogenerated on Thu Jun 6 2019 18:50:52