1 /** 2 * This file is part of TelepathyQt 3 * 4 * @copyright Copyright (C) 2008-2012 Collabora Ltd. <http://www.collabora.co.uk/> 5 * @copyright Copyright (C) 2008-2012 Nokia Corporation 6 * @license LGPL 2.1 7 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public 10 * License as published by the Free Software Foundation; either 11 * version 2.1 of the License, or (at your option) any later version. 12 * 13 * This library is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with this library; if not, write to the Free Software 20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 21 */ 22 23 #ifndef _TelepathyQt_types_h_HEADER_GUARD_ 24 #define _TelepathyQt_types_h_HEADER_GUARD_ 25 26 #ifndef IN_TP_QT_HEADER 27 #error IN_TP_QT_HEADER 28 #endif 29 30 #include <TelepathyQt/_gen/types.h> 31 32 #include <TelepathyQt/Global> 33 #include <TelepathyQt/SharedPtr> 34 #include <TelepathyQt/MethodInvocationContext> 35 36 #include <QDBusVariant> 37 38 namespace Tp 39 { 40 41 TP_QT_EXPORT void registerTypes(); 42 43 template <typename T> class Filter; 44 template <typename T> class GenericCapabilityFilter; 45 template <typename T> class GenericPropertyFilter; 46 47 class AbstractClient; 48 class AbstractClientApprover; 49 class AbstractClientHandler; 50 class AbstractClientObserver; 51 class Account; 52 typedef GenericCapabilityFilter<Account> AccountCapabilityFilter; 53 class AccountFactory; 54 typedef Filter<Account> AccountFilter; 55 class AccountManager; 56 class AccountPropertyFilter; 57 class AccountSet; 58 class CallChannel; 59 class CallContent; 60 class CallStream; 61 class CaptchaAuthentication; 62 class Channel; 63 class ChannelDispatchOperation; 64 class ChannelFactory; 65 class ChannelRequest; 66 class ClientObject; 67 class ClientRegistrar; 68 class Connection; 69 class ConnectionFactory; 70 class ConnectionLowlevel; 71 class ConnectionManager; 72 class ConnectionManagerLowlevel; 73 class Contact; 74 class ContactFactory; 75 class ContactManager; 76 class ContactMessenger; 77 class ContactSearchChannel; 78 class DBusProxy; 79 class DebugReceiver; 80 class DBusTubeChannel; 81 class FileTransferChannel; 82 class IncomingDBusTubeChannel; 83 class IncomingFileTransferChannel; 84 class IncomingStreamTubeChannel; 85 class OutgoingDBusTubeChannel; 86 class OutgoingFileTransferChannel; 87 class OutgoingStreamTubeChannel; 88 class Profile; 89 class ProfileManager; 90 class RoomListChannel; 91 class ServerAuthenticationChannel; 92 class SimpleObserver; 93 class SimpleCallObserver; 94 class SimpleTextObserver; 95 class StreamedMediaChannel; 96 class StreamedMediaStream; 97 class StreamTubeChannel; 98 class StreamTubeClient; 99 class StreamTubeServer; 100 class TextChannel; 101 class TubeChannel; 102 103 #ifndef DOXYGEN_SHOULD_SKIP_THIS 104 105 typedef SharedPtr<AbstractClient> AbstractClientPtr; 106 typedef SharedPtr<AbstractClientApprover> AbstractClientApproverPtr; 107 typedef SharedPtr<AbstractClientHandler> AbstractClientHandlerPtr; 108 typedef SharedPtr<AbstractClientObserver> AbstractClientObserverPtr; 109 typedef SharedPtr<Account> AccountPtr; 110 typedef SharedPtr<AccountCapabilityFilter> AccountCapabilityFilterPtr; 111 typedef SharedPtr<const AccountCapabilityFilter> AccountCapabilityFilterConstPtr; 112 typedef SharedPtr<AccountFactory> AccountFactoryPtr; 113 typedef SharedPtr<const AccountFactory> AccountFactoryConstPtr; 114 typedef SharedPtr<AccountFilter> AccountFilterPtr; 115 typedef SharedPtr<const AccountFilter> AccountFilterConstPtr; 116 typedef SharedPtr<AccountManager> AccountManagerPtr; 117 typedef SharedPtr<AccountPropertyFilter> AccountPropertyFilterPtr; 118 typedef SharedPtr<const AccountPropertyFilter> AccountPropertyFilterConstPtr; 119 typedef SharedPtr<AccountSet> AccountSetPtr; 120 typedef SharedPtr<CallChannel> CallChannelPtr; 121 typedef SharedPtr<CallContent> CallContentPtr; 122 typedef SharedPtr<CallStream> CallStreamPtr; 123 typedef SharedPtr<CaptchaAuthentication> CaptchaAuthenticationPtr; 124 typedef SharedPtr<Channel> ChannelPtr; 125 typedef SharedPtr<ChannelDispatchOperation> ChannelDispatchOperationPtr; 126 typedef SharedPtr<ChannelFactory> ChannelFactoryPtr; 127 typedef SharedPtr<const ChannelFactory> ChannelFactoryConstPtr; 128 typedef SharedPtr<ChannelRequest> ChannelRequestPtr; 129 typedef SharedPtr<ClientObject> ClientObjectPtr; 130 typedef SharedPtr<ClientRegistrar> ClientRegistrarPtr; 131 typedef SharedPtr<Connection> ConnectionPtr; 132 typedef SharedPtr<ConnectionFactory> ConnectionFactoryPtr; 133 typedef SharedPtr<const ConnectionFactory> ConnectionFactoryConstPtr; 134 typedef SharedPtr<ConnectionLowlevel> ConnectionLowlevelPtr; 135 typedef SharedPtr<const ConnectionLowlevel> ConnectionLowlevelConstPtr; 136 typedef SharedPtr<ConnectionManager> ConnectionManagerPtr; 137 typedef SharedPtr<ConnectionManagerLowlevel> ConnectionManagerLowlevelPtr; 138 typedef SharedPtr<const ConnectionManagerLowlevel> ConnectionManagerLowlevelConstPtr; 139 typedef SharedPtr<Contact> ContactPtr; 140 typedef QSet<ContactPtr> Contacts; 141 typedef SharedPtr<ContactFactory> ContactFactoryPtr; 142 typedef SharedPtr<const ContactFactory> ContactFactoryConstPtr; 143 typedef SharedPtr<ContactManager> ContactManagerPtr; 144 typedef SharedPtr<ContactMessenger> ContactMessengerPtr; 145 typedef SharedPtr<ContactSearchChannel> ContactSearchChannelPtr; 146 typedef SharedPtr<DBusProxy> DBusProxyPtr; 147 typedef SharedPtr<DBusTubeChannel> DBusTubeChannelPtr; 148 typedef SharedPtr<DebugReceiver> DebugReceiverPtr; 149 typedef SharedPtr<FileTransferChannel> FileTransferChannelPtr; 150 typedef SharedPtr<IncomingDBusTubeChannel> IncomingDBusTubeChannelPtr; 151 typedef SharedPtr<IncomingFileTransferChannel> IncomingFileTransferChannelPtr; 152 typedef SharedPtr<IncomingStreamTubeChannel> IncomingStreamTubeChannelPtr; 153 typedef SharedPtr<OutgoingDBusTubeChannel> OutgoingDBusTubeChannelPtr; 154 typedef SharedPtr<OutgoingFileTransferChannel> OutgoingFileTransferChannelPtr; 155 typedef SharedPtr<OutgoingStreamTubeChannel> OutgoingStreamTubeChannelPtr; 156 typedef SharedPtr<Profile> ProfilePtr; 157 typedef SharedPtr<ProfileManager> ProfileManagerPtr; 158 typedef SharedPtr<RoomListChannel> RoomListChannelPtr; 159 typedef SharedPtr<ServerAuthenticationChannel> ServerAuthenticationChannelPtr; 160 typedef SharedPtr<SimpleObserver> SimpleObserverPtr; 161 typedef SharedPtr<SimpleCallObserver> SimpleCallObserverPtr; 162 typedef SharedPtr<SimpleTextObserver> SimpleTextObserverPtr; 163 typedef TP_QT_DEPRECATED SharedPtr<StreamedMediaChannel> StreamedMediaChannelPtr; 164 typedef TP_QT_DEPRECATED SharedPtr<StreamedMediaStream> StreamedMediaStreamPtr; 165 typedef SharedPtr<StreamTubeChannel> StreamTubeChannelPtr; 166 typedef SharedPtr<StreamTubeClient> StreamTubeClientPtr; 167 typedef SharedPtr<StreamTubeServer> StreamTubeServerPtr; 168 typedef SharedPtr<TextChannel> TextChannelPtr; 169 typedef SharedPtr<TubeChannel> TubeChannelPtr; 170 171 template<typename T1 = MethodInvocationContextTypes::Nil, typename T2 = MethodInvocationContextTypes::Nil, 172 typename T3 = MethodInvocationContextTypes::Nil, typename T4 = MethodInvocationContextTypes::Nil, 173 typename T5 = MethodInvocationContextTypes::Nil, typename T6 = MethodInvocationContextTypes::Nil, 174 typename T7 = MethodInvocationContextTypes::Nil, typename T8 = MethodInvocationContextTypes::Nil> 175 class MethodInvocationContextPtr : public SharedPtr<MethodInvocationContext<T1, T2, T3, T4, T5, T6, T7, T8> > 176 { 177 public: MethodInvocationContextPtr()178 inline MethodInvocationContextPtr() { } MethodInvocationContextPtr(MethodInvocationContext<T1,T2,T3,T4,T5,T6,T7,T8> * d)179 explicit inline MethodInvocationContextPtr(MethodInvocationContext<T1, T2, T3, T4, T5, T6, T7, T8> *d) 180 : SharedPtr<MethodInvocationContext<T1, T2, T3, T4, T5, T6, T7, T8> >(d) { } MethodInvocationContextPtr(const SharedPtr<MethodInvocationContext<T1,T2,T3,T4,T5,T6,T7,T8>> & o)181 inline MethodInvocationContextPtr(const SharedPtr<MethodInvocationContext<T1, T2, T3, T4, T5, T6, T7, T8> > &o) 182 : SharedPtr<MethodInvocationContext<T1, T2, T3, T4, T5, T6, T7, T8> >(o) { } 183 }; 184 185 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 186 187 } // Tp 188 189 #endif 190