From 030d91e628a2ecd5634376c9c4d903a1fa0fb423 Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Mon, 3 Mar 2014 15:14:20 +0100 Subject: added files from vmchooser1 --- src/vsession.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/vsession.h (limited to 'src/vsession.h') diff --git a/src/vsession.h b/src/vsession.h new file mode 100644 index 0000000..8bbcc7e --- /dev/null +++ b/src/vsession.h @@ -0,0 +1,72 @@ +#ifndef VMCHOOSER_VSESSION_H_ +#define VMCHOOSER_VSESSION_H_ + +#include +#include +#include +#include +#include +#include "session.h" + +enum ImgType { + VMWARE, + VBOX, + OTHER +}; + +class VSession : public Session { + public: + bool init(const QString& xml, const QString& baseDirPath); + + ImgType imgtype() const; + bool isActive() const; + bool isLocked() const; + bool isValid() const; + int priority() const; + + QString shortDescription() const { + return getAttribute("short_description"); + } + + QString description() const { + return getAttribute("description"); + } + + QString icon() const; + + QString os() const { + return getAttribute("os"); + } + + QString getAttribute(const QString& nodeName, + const QString& attribute = "param") const; + QString getNodeText(const QString& nodeName) const; + + void addNodeWithAttribute(const QString& nodeName, + const QString& value, + const QString& attribute = "param", + bool replace = true); + void addPrinters(const QString& script, const QString& type = "printer"); + void addScanners(const QString& script); + void addUserAndHostname(); + void mergePoolXml(); + + QString toXml() const; + + bool run() const; + + int type() const; + + bool operator<(const Session& other) const; + + static QList readXmlDir(const QString& path); + static QList readXmlFile(const QString& filepath); + + private: + QDomDocument doc_; + QString baseDirPath_; + + QProcess *_process; +}; + +#endif /*VMCHOOSER_VSESSION_H_*/ -- cgit v1.2.3-55-g7522