src-common/types.h

changeset 44
d0bf58f3560f
parent 39
2c368cf5cc19
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src-common/types.h	Sat Jun 06 23:02:51 2015 +0300
@@ -0,0 +1,62 @@
+/*
+ *  ZCinema: Zandronum demo launcher
+ *  Copyright (C) 2013-2015 Teemu Piippo
+ *
+ *  This program is free software: you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation, either version 3 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#pragma once
+#include <QString>
+#include <QList>
+#include <QVariant>
+
+template<class T> using list = QList<T>;
+template<class T> using initlist = std::initializer_list<T>;
+using std::size_t;
+
+typedef qint8 int8;
+typedef qint16 int16;
+typedef qint32 int32;
+typedef qint64 int64;
+typedef quint8 uint8;
+typedef quint16 uint16;
+typedef quint32 uint32;
+typedef quint64 uint64;
+
+struct ZandronumVersion
+{
+	ZandronumVersion (QString name, bool isRelease, QString binaryPath) :
+		name (name),
+		binaryPath (binaryPath),
+		isRelease (isRelease) {}
+
+	ZandronumVersion() :
+		isRelease (false) {}
+
+	QString name;
+	QString binaryPath;
+	bool isRelease;
+};
+
+inline QDataStream& operator<< (QDataStream& out, const ZandronumVersion& version)
+{
+	return (out << version.name << version.binaryPath << version.isRelease);
+}
+
+inline QDataStream& operator>> (QDataStream& in, ZandronumVersion& version)
+{
+	return (in >> version.name >> version.binaryPath >> version.isRelease);
+}
+
+Q_DECLARE_METATYPE (ZandronumVersion)
\ No newline at end of file

mercurial