summaryrefslogtreecommitdiff
path: root/src/libs/utils/macroexpander.h
diff options
context:
space:
mode:
authorhjk <hjk121@nokiamail.com>2014-10-21 13:19:38 +0200
committerhjk <hjk121@nokiamail.com>2014-10-22 10:21:21 +0200
commit35e883eea00d1144d624cc2c2f606712afa60ef3 (patch)
treee220c7315bc7806482b8b2678ab9cfec8ff3f960 /src/libs/utils/macroexpander.h
parent1b3db2f57b2067e962e43854ffd1603084473185 (diff)
downloadqt-creator-35e883eea00d1144d624cc2c2f606712afa60ef3.tar.gz
Utils: MacroExpander API cosmetics.
Make const-correct, add convenience function for commandline parameter expansion. Change-Id: I12c3651e4e7b8a0a9319d1dfbea676b622b1a41a Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
Diffstat (limited to 'src/libs/utils/macroexpander.h')
-rw-r--r--src/libs/utils/macroexpander.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/libs/utils/macroexpander.h b/src/libs/utils/macroexpander.h
index c11cb92dbd..5e8dec9e01 100644
--- a/src/libs/utils/macroexpander.h
+++ b/src/libs/utils/macroexpander.h
@@ -47,20 +47,22 @@ class MacroExpander;
typedef std::function<MacroExpander *()> MacroExpanderProvider;
typedef QVector<MacroExpander *> MacroExpanders;
-class QTCREATOR_UTILS_EXPORT MacroExpander : public AbstractMacroExpander
+class QTCREATOR_UTILS_EXPORT MacroExpander
{
Q_DECLARE_TR_FUNCTIONS("MacroExpander")
public:
explicit MacroExpander();
- ~MacroExpander();
+ virtual ~MacroExpander();
- bool resolveMacro(const QString &name, QString *ret);
+ virtual bool resolveMacro(const QString &name, QString *ret) const;
- QString value(const QByteArray &variable, bool *found = 0);
+ QString value(const QByteArray &variable, bool *found = 0) const;
- QString expand(const QString &stringWithVariables);
- QByteArray expand(const QByteArray &stringWithVariables);
+ QString expand(const QString &stringWithVariables) const;
+ QByteArray expand(const QByteArray &stringWithVariables) const;
+
+ QString expandProcessArgs(const QString &argsWithVariables) const;
typedef std::function<QString(QString)> PrefixFunction;
typedef std::function<QString()> StringFunction;
@@ -78,10 +80,11 @@ public:
void registerFileVariables(const QByteArray &prefix,
const QString &heading, const StringFunction &value);
- QList<QByteArray> variables();
- QString variableDescription(const QByteArray &variable);
+ QList<QByteArray> variables() const;
+ QString variableDescription(const QByteArray &variable) const;
MacroExpanders subExpanders() const;
+ AbstractMacroExpander *abstractExpander() const;
QString displayName() const;
void setDisplayName(const QString &displayName);
@@ -95,6 +98,7 @@ private:
MacroExpander(const MacroExpander &) Q_DECL_EQ_DELETE;
void operator=(const MacroExpander &) Q_DECL_EQ_DELETE;
+ friend class Internal::MacroExpanderPrivate;
Internal::MacroExpanderPrivate *d;
};