Release 0.5-1 contains (Muti-profile support, Contacts Integration)
[vicar] / src / vicar-telepathy / src / connectioninterfacecapabilitiestypes.h
1 /*
2 @version: 0.5
3 @author: Sudheer K. <scifi1947 at gmail.com>
4 @license: GNU General Public License
5
6 Based on QtTelepathy with copyright notice below.
7 */
8
9 /*
10  * QtTelepathy, the Tapioca Qt4 Telepathy Client Library
11  * Copyright (C) 2006 by Tobias Hunger <tobias.hunger@basyskom.de>
12  * Copyright (C) 2006 by INdT
13  *  @author Andre Moreira Magalhaes <andre.magalhaes@indt.org>
14  *
15  * This library is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU Lesser General Public
17  * License as published by the Free Software Foundation; either
18  * version 2.1 of the License, or (at your option) any later version.
19  *
20  * This library is distributed in the hope that it will be useful,
21  * but WITHOUT ANY WARRANTY; without even the implied warranty of
22  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
23  * Lesser General Public License for more details.
24  *
25  * You should have received a copy of the GNU Lesser General Public
26  * License along with this library; if not, write to the Free Software
27  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
28  */
29
30 #ifndef CONNECTIONINTERFACECAPABILITIESTYPES_H
31 #define CONNECTIONINTERFACECAPABILITIESTYPES_H
32
33 #include <QtCore/QList>
34 #include <QtCore/QDebug>
35 #include <QtCore/QVariantMap>
36 #include <QtDBus/QDBusArgument>
37 #include <QtDBus/QDBusObjectPath>
38
39 namespace org {
40 namespace freedesktop {
41 namespace Telepathy {
42
43 class ContactCapabilities
44 {
45 public:
46     uint handle;
47     QString channelType;
48     uint genericCapabilityFlags;
49     uint typeSpecificFlags;
50 };
51 typedef QList<ContactCapabilities> ContactCapabilitiesList;
52
53 class CapabilityPair
54 {
55 public:
56     QString channelType;
57     uint typeSpecificFlags;
58 };
59 typedef QList<CapabilityPair> CapabilityPairList;
60
61 class CapabilityChange
62 {
63 public:
64     uint handle;
65     QString channelType;
66     uint oldGenericFlags;
67     uint newGenericFlags;
68     uint oldTypeSpecificFlags;
69     uint newTypeSpecificFlags;
70 };
71 typedef QList<CapabilityChange> CapabilityChangeList;
72
73 } // namespace Telepathy
74 } // namespace freedesktop
75 } // namespace org
76
77 Q_DECLARE_METATYPE(org::freedesktop::Telepathy::ContactCapabilities)
78 Q_DECLARE_METATYPE(org::freedesktop::Telepathy::ContactCapabilitiesList)
79
80 const QDBusArgument& operator>>(const QDBusArgument& arg, org::freedesktop::Telepathy::ContactCapabilities& val);
81 QDBusArgument& operator<<(QDBusArgument& arg, const org::freedesktop::Telepathy::ContactCapabilities& val);
82 QDebug& operator<<(QDebug arg, const org::freedesktop::Telepathy::ContactCapabilities& val);
83
84 Q_DECLARE_METATYPE(org::freedesktop::Telepathy::CapabilityPair)
85 Q_DECLARE_METATYPE(org::freedesktop::Telepathy::CapabilityPairList)
86
87 const QDBusArgument& operator>>(const QDBusArgument& arg, org::freedesktop::Telepathy::CapabilityPair& val);
88 QDBusArgument& operator<<(QDBusArgument& arg, const org::freedesktop::Telepathy::CapabilityPair& val);
89 QDebug& operator<<(QDebug arg, const org::freedesktop::Telepathy::CapabilityPair& val);
90
91 Q_DECLARE_METATYPE(org::freedesktop::Telepathy::CapabilityChange)
92 Q_DECLARE_METATYPE(org::freedesktop::Telepathy::CapabilityChangeList)
93
94 const QDBusArgument& operator>>(const QDBusArgument& arg, org::freedesktop::Telepathy::CapabilityChange& val);
95 QDBusArgument& operator<<(QDBusArgument& arg, const org::freedesktop::Telepathy::CapabilityChange& val);
96 QDebug& operator<<(QDebug arg, const org::freedesktop::Telepathy::CapabilityChange& val);
97
98 #endif // CONNECTIONINTERFACECAPABILITIESTYPES_H