summaryrefslogtreecommitdiffstats
path: root/src/XSessionHandler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/XSessionHandler.cpp')
-rw-r--r--src/XSessionHandler.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/XSessionHandler.cpp b/src/XSessionHandler.cpp
new file mode 100644
index 0000000..4291a9a
--- /dev/null
+++ b/src/XSessionHandler.cpp
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2010,2011 - RZ Uni Freiburg
+ * Copyright (c) 2010,2011 - OpenSLX Project
+ *
+ * This program/file is free software distributed under the GPL version 2.
+ * See http://gpl.openslx.org/
+ *
+ * If you have any feedback please consult http://feedback.openslx.org/ and
+ * send your feedback to feedback@openslx.org
+ *
+ * General information about OpenSLX - libChooser can be found under
+ * http://openslx.org
+ *
+ */
+
+#include <QFile>
+#include <QList>
+#include <QFileInfo>
+
+
+#include "XSessionHandler.h"
+#include "XSession.h"
+#include "Session.h"
+
+XSessionHandler::XSessionHandler() {
+ // TODO Auto-generated constructor stub
+
+}
+
+XSessionHandler::~XSessionHandler() {
+ // TODO Auto-generated destructor stub
+}
+
+
+QList<Session*> XSessionHandler::readSessions(const QString& path) {
+ QList<Session*> retval;
+ foreach (QFileInfo fi, QDir(path).entryInfoList(QStringList("*.desktop"))) {
+ if (fi.baseName().compare("default") == 0) {
+ continue;
+ }
+ XSession* session = new XSession;
+ if (session->init(fi.absoluteFilePath())) {
+ retval.append(session);
+ }
+ }
+ return retval;
+}