diff --git a/src/blackmisc/applicationinfolist.cpp b/src/blackmisc/applicationinfolist.cpp index f34071b16..dc7c05cb1 100644 --- a/src/blackmisc/applicationinfolist.cpp +++ b/src/blackmisc/applicationinfolist.cpp @@ -13,5 +13,12 @@ namespace BlackMisc { CApplicationInfoList::CApplicationInfoList() = default; - CApplicationInfoList::CApplicationInfoList(const CSequence &other) : CSequence(other) {} + CApplicationInfoList::CApplicationInfoList(const CSequence &other) : + CSequence(other) + {} + + bool CApplicationInfoList::containsApplication(CApplicationInfo::Application application) const + { + return this->contains(&CApplicationInfo::application, application); + } } diff --git a/src/blackmisc/applicationinfolist.h b/src/blackmisc/applicationinfolist.h index e2b426398..e28f4ebd3 100644 --- a/src/blackmisc/applicationinfolist.h +++ b/src/blackmisc/applicationinfolist.h @@ -33,6 +33,9 @@ namespace BlackMisc //! Construct from base class object. CApplicationInfoList(const CSequence &other); + + //! List containing entry for CApplicationInfo::Application ? + bool containsApplication(CApplicationInfo::Application application) const; }; } diff --git a/src/blackmisc/fileutils.cpp b/src/blackmisc/fileutils.cpp index 910adbc5b..2ba2efd39 100644 --- a/src/blackmisc/fileutils.cpp +++ b/src/blackmisc/fileutils.cpp @@ -306,4 +306,17 @@ namespace BlackMisc }); return it->filePath(); } + + QStringList getSwiftExecutablesImpl() + { + static const QFileInfo mySelf = QFileInfo(QCoreApplication::applicationFilePath()); // path + dir + static const QStringList filter("*." + mySelf.suffix()); + return mySelf.dir().entryList(filter); + } + + const QStringList &CFileUtils::getSwiftExecutables() + { + static const QStringList executables(getSwiftExecutablesImpl()); + return executables; + } } // ns diff --git a/src/blackmisc/fileutils.h b/src/blackmisc/fileutils.h index 1c0c6d67d..15de7bbbc 100644 --- a/src/blackmisc/fileutils.h +++ b/src/blackmisc/fileutils.h @@ -112,6 +112,9 @@ namespace BlackMisc //! Returns path to the newest file in dir, optionally matching a wildcard, or empty string. static QString findNewestFile(const QDir &dir, bool recursive, const QStringList &nameFilters = {}, const QStringList &excludeDirectories = {}); + + //! Get all swift executables + static const QStringList &getSwiftExecutables(); }; } // ns