#ifndef VMCHOOSER_VSESSION_H_ #define VMCHOOSER_VSESSION_H_ #include #include #include #include #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 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 keywords() const; bool containsKeywords(const QList& 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 run() const; int type() const; bool operator<(const Session& other) const; static QList loadFromXmlDocument(const QDomDocument& doc); protected: virtual QString checkCanRunInternal() const; private: QList keywords_; QDomDocument doc_; QDomElement eintrag_; void readKeywords(); }; #endif /*VMCHOOSER_VSESSION_H_*/