2014-02-16 09:46:14 +00:00
|
|
|
#include "BaseExternalTool.h"
|
|
|
|
|
|
|
|
#include <QProcess>
|
2014-02-16 11:08:39 +00:00
|
|
|
#include <QDir>
|
|
|
|
#include <QInputDialog>
|
|
|
|
|
2014-02-16 09:46:14 +00:00
|
|
|
#ifdef Q_OS_WIN
|
|
|
|
#include <windows.h>
|
|
|
|
#endif
|
|
|
|
|
2014-02-16 11:52:35 +00:00
|
|
|
#include "logic/BaseInstance.h"
|
2014-02-16 11:08:39 +00:00
|
|
|
#include "MultiMC.h"
|
|
|
|
|
2014-03-30 19:11:05 +01:00
|
|
|
BaseExternalTool::BaseExternalTool(InstancePtr instance, QObject *parent)
|
2014-02-16 09:46:14 +00:00
|
|
|
: QObject(parent), m_instance(instance)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
BaseExternalTool::~BaseExternalTool()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
qint64 BaseExternalTool::pid(QProcess *process)
|
|
|
|
{
|
|
|
|
#ifdef Q_OS_WIN
|
|
|
|
struct _PROCESS_INFORMATION *procinfo = process->pid();
|
|
|
|
return procinfo->dwProcessId;
|
|
|
|
#else
|
|
|
|
return process->pid();
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
2014-03-30 19:11:05 +01:00
|
|
|
BaseDetachedTool::BaseDetachedTool(InstancePtr instance, QObject *parent)
|
2014-02-16 09:46:14 +00:00
|
|
|
: BaseExternalTool(instance, parent)
|
|
|
|
{
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
void BaseDetachedTool::run()
|
|
|
|
{
|
|
|
|
runImpl();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
BaseExternalToolFactory::~BaseExternalToolFactory()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2014-03-30 19:11:05 +01:00
|
|
|
BaseDetachedTool *BaseDetachedToolFactory::createDetachedTool(InstancePtr instance,
|
|
|
|
QObject *parent)
|
2014-02-16 09:46:14 +00:00
|
|
|
{
|
|
|
|
return qobject_cast<BaseDetachedTool *>(createTool(instance, parent));
|
|
|
|
}
|