diff dbus_types.h @ 0:22b44846b04b

Initial commit
author Goffi <goffi@goffi.org>
date Sat, 06 Aug 2011 15:37:02 +0200
parents
children 220e5619bf87
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dbus_types.h	Sat Aug 06 15:37:02 2011 +0200
@@ -0,0 +1,80 @@
+/*
+Mignonne: a Salut à Toi frontend
+Copyright (C) 2011  Jérôme Poisson (goffi@goffi.org)
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU Affero 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 Affero General Public License for more details.
+
+You should have received a copy of the GNU Affero General Public License
+along with this program.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef DBUS_TYPES_H
+#define DBUS_TYPES_H
+
+#include <QtDBus>
+#include <QHash>
+#include <QMap>
+#include <QString>
+#include <QList>
+
+typedef QHash<QString, QString> StringDict;
+
+struct ContactT {
+    QString jid;
+    StringDict attributes;
+    QList<QString> groups;
+};
+
+struct MessageT {
+    QString from_jid;
+    QString text;
+};
+
+typedef QMap<int,MessageT> HistoryT;
+
+struct MenuT {
+    QString category;
+    QString name;
+    QString type;
+};
+
+struct PresenceInfoT {
+    QString show;
+    int priority;
+    QHash<QString, QString> statuses;
+};
+
+typedef QMap<QString,PresenceInfoT> ResourcePresenceT;
+
+typedef QHash<QString,ResourcePresenceT> PresenceStatusT;
+
+typedef QHash<QString, StringDict> ActionResultExtDataT;
+
+Q_DECLARE_METATYPE(StringDict);
+Q_DECLARE_METATYPE(ContactT);
+Q_DECLARE_METATYPE(QList<ContactT>);
+Q_DECLARE_METATYPE(HistoryT);
+Q_DECLARE_METATYPE(PresenceStatusT);
+Q_DECLARE_METATYPE(MenuT);
+Q_DECLARE_METATYPE(QList<MenuT>);
+Q_DECLARE_METATYPE(ActionResultExtDataT);
+
+QDBusArgument &operator<<(QDBusArgument &argument, const ContactT &contact);
+const QDBusArgument &operator>>(const QDBusArgument &argument, ContactT &contact);
+QDBusArgument &operator<<(QDBusArgument &argument, const MenuT &menu);
+const QDBusArgument &operator>>(const QDBusArgument &argument, MenuT &menu);
+QDBusArgument &operator<<(QDBusArgument &argument, const MessageT &message);
+const QDBusArgument &operator>>(const QDBusArgument &argument, MessageT &message);
+QDBusArgument &operator<<(QDBusArgument &argument, const PresenceInfoT &presence_info);
+const QDBusArgument &operator>>(const QDBusArgument &argument, PresenceInfoT &presence_info);
+
+#endif
+