src/core/apprunner.h
00001 //------------------------------------------------------------------------------
00002 // apprunner.h
00003 //------------------------------------------------------------------------------
00004 //
00005 // This program is free software; you can redistribute it and/or
00006 // modify it under the terms of the GNU General Public License
00007 // as published by the Free Software Foundation; either version 2
00008 // of the License, or (at your option) any later version.
00009 //
00010 // This program is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 //
00015 // You should have received a copy of the GNU General Public License
00016 // along with this program; if not, write to the Free Software
00017 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
00018 // 02110-1301, USA.
00019 //
00020 //------------------------------------------------------------------------------
00021 // Copyright (C) 2010 "Zalewa" <zalewapl@gmail.com>
00022 //------------------------------------------------------------------------------
00023 #ifndef __APP_RUNNER_H_
00024 #define __APP_RUNNER_H_
00025 
00026 #include "global.h"
00027 #include <QDir>
00028 #include <QFileInfo>
00029 #include <QStringList>
00030 
00031 class Message;
00032 
00036 class CommandLineInfo
00037 {
00038         public:
00039                 QDir                    applicationDir; 
00040                 QStringList     args; 
00041                 QFileInfo               executable; 
00042 };
00043 
00044 class MAIN_EXPORT AppRunner : public QObject
00045 {
00046         public:
00057                 static void                             cleanArguments(QStringList& args);
00058 
00059 #ifdef Q_WS_MAC
00060                 static QString                  findBundleBinary(const QFileInfo &file);
00061 #endif
00062 
00063                 static Message                  runExecutable(const CommandLineInfo& cmdInfo);
00064 };
00065 
00066 #endif
 All Classes Files Functions Variables Typedefs Enumerations Enumerator