sneedmc/logic/tools/BaseExternalTool.cpp

54 lines
964 B
C++
Raw Normal View History

#include "BaseExternalTool.h"
#include <QProcess>
#include <QDir>
#include <QInputDialog>
#ifdef Q_OS_WIN
#include <windows.h>
#endif
2014-02-16 11:52:35 +00:00
#include "logic/BaseInstance.h"
#include "MultiMC.h"
2014-03-30 18:11:05 +00:00
BaseExternalTool::BaseExternalTool(InstancePtr instance, QObject *parent)
: 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 18:11:05 +00:00
BaseDetachedTool::BaseDetachedTool(InstancePtr instance, QObject *parent)
: BaseExternalTool(instance, parent)
{
}
void BaseDetachedTool::run()
{
runImpl();
}
BaseExternalToolFactory::~BaseExternalToolFactory()
{
}
2014-03-30 18:11:05 +00:00
BaseDetachedTool *BaseDetachedToolFactory::createDetachedTool(InstancePtr instance,
QObject *parent)
{
return qobject_cast<BaseDetachedTool *>(createTool(instance, parent));
}