blob: af012305e3737f2f1837ce2e90812d2b6393d835 (
plain) (
tree)
|
|
#ifndef VMCHOOSER_VSESSION_H_
#define VMCHOOSER_VSESSION_H_
#include <QString>
#include <QList>
#include <QDomDocument>
#include <QDir>
#include "session.h"
#include "globals.h"
class VSession : public Session {
public:
bool init(const QDomElement& xml);
bool isActive() const;
bool isLocked() const;
int priority() const;
bool isTemplate() const {
return getAttribute(QStringLiteral("is_template")).toInt() != 0;
}
bool isForLocation() const {
return getAttribute(QStringLiteral("for_location")).toInt() != 0;
}
bool canEdit() const {
return getAttribute(QStringLiteral("allow_edit")).toInt() != 0;
}
QString virtualizer() const {
return getAttribute(QStringLiteral("virtualmachine"));
}
QString shortDescription() const {
return getAttribute(QStringLiteral("short_description"));
}
QString description() const {
return getAttribute(QStringLiteral("long_description"));
}
QIcon icon() const;
QString os() const {
return getAttribute(QStringLiteral("os"));
}
QString osDisplayName() const {
return getAttribute(QStringLiteral("os_name"));
}
QString uuid() const {
return getAttribute(QStringLiteral("uuid"));
}
SectionType section() const {
if (g_forLocationHandling != LOCATION_IGNORE && isForLocation()) {
return SECTION_FOR_LOCATION;
}
if (g_templateHandling == TEMPLATES_BUMP && isTemplate()) {
return SECTION_TEMPLATES;
}
return SECTION_GENERIC;
}
bool needsVtx() const;
QVariant foregroundRole() const;
QString getAttribute(const QString& nodeName,
const QString& attribute = QStringLiteral("param")) const;
QList<QString> keywords() const;
bool containsKeywords(const QList<QString>& keywords) const;
QString getNodeText(const QString& nodeName) const;
void addNodeWithAttribute(const QString& nodeName,
const QString& value,
const QString& attribute = QStringLiteral("param"),
bool replace = true);
QString toXml() const;
bool prepareRun() const;
void run() const;
int type() const;
bool operator<(const Session& other) const;
static QList<Session*> loadFromXmlDocument(const QDomDocument& doc);
protected:
virtual QString checkCanRunInternal() const;
private:
QList<QString> keywords_;
QDomDocument doc_;
QDomElement eintrag_;
void readKeywords();
};
#endif /*VMCHOOSER_VSESSION_H_*/
|