diff options
author | hjk <hjk@qt.io> | 2023-01-06 12:59:42 +0100 |
---|---|---|
committer | hjk <hjk@qt.io> | 2023-01-06 12:54:25 +0000 |
commit | 1874906ce131f23fba90f893daa266e1828204fa (patch) | |
tree | e67509b90fd4007043b22475be39cc43ee0ec6fe | |
parent | bee489f9e2d34f24d9ac2dc004fd4e576637af3b (diff) | |
download | qt-creator-1874906ce131f23fba90f893daa266e1828204fa.tar.gz |
Utils: Make CommandLine related operators hidden friends
Change-Id: Ifb81bb565f7343739883c06817f3e304bdc5b963
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
-rw-r--r-- | src/libs/utils/commandline.cpp | 19 | ||||
-rw-r--r-- | src/libs/utils/commandline.h | 21 |
2 files changed, 21 insertions, 19 deletions
diff --git a/src/libs/utils/commandline.cpp b/src/libs/utils/commandline.cpp index b03c9fcaec..a23e9f96a1 100644 --- a/src/libs/utils/commandline.cpp +++ b/src/libs/utils/commandline.cpp @@ -13,13 +13,6 @@ #include <QRegularExpression> #include <QStack> -QT_BEGIN_NAMESPACE -QDebug operator<<(QDebug dbg, const Utils::CommandLine &cmd) -{ - return dbg << cmd.toUserOutput(); -} -QT_END_NAMESPACE - // The main state of the Unix shell parser enum MxQuoting { MxBasic, MxSingleQuote, MxDoubleQuote, MxParen, MxSubst, MxGroup, MxMath }; @@ -1531,4 +1524,14 @@ QStringList CommandLine::splitArguments() const return ProcessArgs::splitArgs(m_arguments, m_executable.osType()); } -} // namespace Utils +QTCREATOR_UTILS_EXPORT bool operator==(const CommandLine &first, const CommandLine &second) +{ + return first.m_executable == second.m_executable && first.m_arguments == second.m_arguments; +} + +QTCREATOR_UTILS_EXPORT QDebug operator<<(QDebug dbg, const CommandLine &cmd) +{ + return dbg << cmd.toUserOutput(); +} + +} // Utils diff --git a/src/libs/utils/commandline.h b/src/libs/utils/commandline.h index 11ffcc202f..caf4e0df00 100644 --- a/src/libs/utils/commandline.h +++ b/src/libs/utils/commandline.h @@ -64,7 +64,8 @@ public: * Assumes that the name of the actual command is *not* part of the line. * Terminates after the first command if the command line is complex. */ - class QTCREATOR_UTILS_EXPORT ArgIterator { + class QTCREATOR_UTILS_EXPORT ArgIterator + { public: ArgIterator(QString *str, OsType osType = HostOsInfo::hostOs()) : m_str(str), m_osType(osType) @@ -80,6 +81,7 @@ public: //! Insert argument into the command line after the last one fetched via next(). //! This may be used before the first call to next() to insert at the front. void appendArg(const QString &str); + private: QString *m_str, m_value; int m_pos = 0; @@ -88,7 +90,8 @@ public: OsType m_osType; }; - class QTCREATOR_UTILS_EXPORT ConstArgIterator { + class QTCREATOR_UTILS_EXPORT ConstArgIterator + { public: ConstArgIterator(const QString &str, OsType osType = HostOsInfo::hostOs()) : m_str(str), m_ait(&m_str, osType) @@ -96,6 +99,7 @@ public: bool next() { return m_ait.next(); } bool isSimple() const { return m_ait.isSimple(); } QString value() const { return m_ait.value(); } + private: QString m_str; ArgIterator m_ait; @@ -148,19 +152,14 @@ public: bool isEmpty() const { return m_executable.isEmpty(); } - friend bool operator==(const CommandLine &first, const CommandLine &second) { - return first.m_executable == second.m_executable && first.m_arguments == second.m_arguments; - } - private: + friend QTCREATOR_UTILS_EXPORT bool operator==(const CommandLine &first, const CommandLine &second); + friend QTCREATOR_UTILS_EXPORT QDebug operator<<(QDebug dbg, const CommandLine &cmd); + FilePath m_executable; QString m_arguments; }; -} // namespace Utils - -QT_BEGIN_NAMESPACE -QTCREATOR_UTILS_EXPORT QDebug operator<<(QDebug dbg, const Utils::CommandLine &cmd); -QT_END_NAMESPACE +} // Utils Q_DECLARE_METATYPE(Utils::CommandLine) |