Mercurial > bellaciao
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 +