File indexing completed on 2024-05-05 03:49:17

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2012 Dennis Nienhüser <nienhueser@kde.org>
0004 //
0005 
0006 #include "MarbleDeclarativeObject.h"
0007 
0008 #include "MarbleDirs.h"
0009 #include "MarbleGlobal.h"
0010 
0011 #include <QProcessEnvironment>
0012 
0013 class MarbleDeclarativeObjectPrivate
0014 {
0015 public:
0016     // Yet empty
0017 };
0018 
0019 MarbleDeclarativeObject::MarbleDeclarativeObject( QObject *parent ) :
0020     QObject( parent ),
0021     d( new MarbleDeclarativeObjectPrivate )
0022 {
0023     // nothing to do
0024 }
0025 
0026 MarbleDeclarativeObject::~MarbleDeclarativeObject()
0027 {
0028     delete d;
0029 }
0030 
0031 QString MarbleDeclarativeObject::version() const
0032 {
0033     return Marble::MARBLE_VERSION_STRING;
0034 }
0035 
0036 QString MarbleDeclarativeObject::resolvePath(const QString &path) const
0037 {
0038     return Marble::MarbleDirs::path( path );
0039 }
0040 
0041 bool MarbleDeclarativeObject::canExecute(const QString &program) const
0042 {
0043     QString path = QProcessEnvironment::systemEnvironment().value(QStringLiteral("PATH"), QStringLiteral("/usr/local/bin:/usr/bin:/bin"));
0044     for( const QString &dir: path.split( QLatin1Char( ':' ) ) ) {
0045         QFileInfo const executable( QDir( dir ), program );
0046         if ( executable.exists() && executable.isExecutable() ) {
0047             return true;
0048         }
0049     }
0050 
0051     return false;
0052 }
0053 
0054 #include "moc_MarbleDeclarativeObject.cpp"