summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2009-07-28 13:08:02 (GMT)
committerSimon McVittie <smcv@debian.org>2009-07-28 13:08:02 (GMT)
commit9b451a5bc8ea987b61691c7081409d5e8aae7285 (patch)
treea0a6a22a1d6e6ff6db79ae28588309ab8e635a06
parent2c02f0fae1aef1398c5ae506300804c696da35ab (diff)
downloadpackage-telepathy-qt4-9b451a5bc8ea987b61691c7081409d5e8aae7285.tar.gz
package-telepathy-qt4-9b451a5bc8ea987b61691c7081409d5e8aae7285.tar.xz
Imported Upstream version 0.1.9
-rw-r--r--ChangeLog1797
-rw-r--r--Makefile.in7
-rw-r--r--NEWS57
-rw-r--r--TODO32
-rw-r--r--TelepathyQt4/Farsight/Makefile.in1
-rw-r--r--TelepathyQt4/FileTransfer13
-rw-r--r--TelepathyQt4/FileTransferChannel13
-rw-r--r--TelepathyQt4/Makefile.am24
-rw-r--r--TelepathyQt4/Makefile.in34
-rw-r--r--TelepathyQt4/Prototype/Account.cpp285
-rw-r--r--TelepathyQt4/Prototype/Account.h173
-rw-r--r--TelepathyQt4/Prototype/AccountManager.cpp390
-rw-r--r--TelepathyQt4/Prototype/AccountManager.h166
-rw-r--r--TelepathyQt4/Prototype/AvatarManager.cpp320
-rw-r--r--TelepathyQt4/Prototype/AvatarManager.h174
-rw-r--r--TelepathyQt4/Prototype/CapabilitiesManager.cpp321
-rw-r--r--TelepathyQt4/Prototype/CapabilitiesManager.h129
-rw-r--r--TelepathyQt4/Prototype/ChatChannel.cpp243
-rw-r--r--TelepathyQt4/Prototype/ChatChannel.h119
-rw-r--r--TelepathyQt4/Prototype/Client/ChannelHandler6
-rw-r--r--TelepathyQt4/Prototype/Client/StreamEngine6
-rw-r--r--TelepathyQt4/Prototype/Connection.cpp439
-rw-r--r--TelepathyQt4/Prototype/Connection.h256
-rw-r--r--TelepathyQt4/Prototype/ConnectionFacade.cpp266
-rw-r--r--TelepathyQt4/Prototype/ConnectionFacade.h143
-rw-r--r--TelepathyQt4/Prototype/Constants6
-rw-r--r--TelepathyQt4/Prototype/Contact.cpp191
-rw-r--r--TelepathyQt4/Prototype/Contact.h247
-rw-r--r--TelepathyQt4/Prototype/ContactManager.cpp1145
-rw-r--r--TelepathyQt4/Prototype/ContactManager.h351
-rw-r--r--TelepathyQt4/Prototype/DBusInterface.cpp49
-rw-r--r--TelepathyQt4/Prototype/Makefile.am198
-rw-r--r--TelepathyQt4/Prototype/Makefile.in904
-rw-r--r--TelepathyQt4/Prototype/PresenceManager.cpp623
-rw-r--r--TelepathyQt4/Prototype/PresenceManager.h151
-rw-r--r--TelepathyQt4/Prototype/Stream_Engine.xml44
-rw-r--r--TelepathyQt4/Prototype/StreamedMediaChannel.cpp855
-rw-r--r--TelepathyQt4/Prototype/StreamedMediaChannel.h436
-rw-r--r--TelepathyQt4/Prototype/TpQt4Prototype.pc.in11
-rw-r--r--TelepathyQt4/Prototype/Types6
-rw-r--r--TelepathyQt4/Prototype/all.xml10
-rw-r--r--TelepathyQt4/Prototype/channel-handler.xml9
-rw-r--r--TelepathyQt4/Prototype/cli-channel-handler.cpp23
-rw-r--r--TelepathyQt4/Prototype/cli-channel-handler.h27
-rw-r--r--TelepathyQt4/Prototype/cli-stream-engine.cpp23
-rw-r--r--TelepathyQt4/Prototype/cli-stream-engine.h27
-rw-r--r--TelepathyQt4/Prototype/constants.h27
-rw-r--r--TelepathyQt4/Prototype/stream-engine.xml9
-rw-r--r--TelepathyQt4/Prototype/types.cpp22
-rw-r--r--TelepathyQt4/Prototype/types.h27
-rw-r--r--TelepathyQt4/RoomList13
-rw-r--r--TelepathyQt4/RoomListChannel13
-rw-r--r--TelepathyQt4/abstract-interface.h1
-rw-r--r--TelepathyQt4/account-manager.cpp15
-rw-r--r--TelepathyQt4/account-manager.h17
-rw-r--r--TelepathyQt4/account.cpp37
-rw-r--r--TelepathyQt4/account.h18
-rw-r--r--TelepathyQt4/channel-dispatch-operation.cpp57
-rw-r--r--TelepathyQt4/channel-dispatch-operation.h20
-rw-r--r--TelepathyQt4/channel-factory.cpp8
-rw-r--r--TelepathyQt4/channel-request.cpp8
-rw-r--r--TelepathyQt4/channel-request.h19
-rw-r--r--TelepathyQt4/channel.cpp116
-rw-r--r--TelepathyQt4/channel.h113
-rw-r--r--TelepathyQt4/client-registrar.cpp2
-rw-r--r--TelepathyQt4/connection-manager-internal.h1
-rw-r--r--TelepathyQt4/connection-manager.cpp87
-rw-r--r--TelepathyQt4/connection-manager.h36
-rw-r--r--TelepathyQt4/connection.cpp178
-rw-r--r--TelepathyQt4/connection.h73
-rw-r--r--TelepathyQt4/constants.h8
-rw-r--r--TelepathyQt4/contact-manager-internal.h (renamed from TelepathyQt4/Prototype/DBusInterface.h)41
-rw-r--r--TelepathyQt4/contact-manager.cpp300
-rw-r--r--TelepathyQt4/contact-manager.h254
-rw-r--r--TelepathyQt4/contact.cpp67
-rw-r--r--TelepathyQt4/contact.h13
-rw-r--r--TelepathyQt4/dbus-proxy.h17
-rw-r--r--TelepathyQt4/debug.cpp43
-rw-r--r--TelepathyQt4/debug.h40
-rw-r--r--TelepathyQt4/file-transfer-channel.cpp (renamed from TelepathyQt4/file-transfer.cpp)26
-rw-r--r--TelepathyQt4/file-transfer-channel.h (renamed from TelepathyQt4/file-transfer.h)14
-rw-r--r--TelepathyQt4/key-file.cpp6
-rw-r--r--TelepathyQt4/key-file.h4
-rw-r--r--TelepathyQt4/manager-file.cpp29
-rw-r--r--TelepathyQt4/manager-file.h5
-rw-r--r--TelepathyQt4/message.h6
-rw-r--r--TelepathyQt4/optional-interface-factory.cpp88
-rw-r--r--TelepathyQt4/optional-interface-factory.h185
-rw-r--r--TelepathyQt4/pending-account.h5
-rw-r--r--TelepathyQt4/pending-channel.cpp4
-rw-r--r--TelepathyQt4/pending-connection.h5
-rw-r--r--TelepathyQt4/pending-contact-attributes.h5
-rw-r--r--TelepathyQt4/pending-contacts.h4
-rw-r--r--TelepathyQt4/pending-operation.cpp227
-rw-r--r--TelepathyQt4/pending-operation.h116
-rw-r--r--TelepathyQt4/pending-ready.h4
-rw-r--r--TelepathyQt4/pending-string-list.h3
-rw-r--r--TelepathyQt4/readiness-helper.cpp71
-rw-r--r--TelepathyQt4/readiness-helper.h32
-rw-r--r--TelepathyQt4/referenced-handles.cpp121
-rw-r--r--TelepathyQt4/referenced-handles.h344
-rw-r--r--TelepathyQt4/room-list-channel.cpp (renamed from TelepathyQt4/room-list.cpp)26
-rw-r--r--TelepathyQt4/room-list-channel.h (renamed from TelepathyQt4/room-list.h)14
-rw-r--r--TelepathyQt4/simple-pending-operations.h39
-rw-r--r--TelepathyQt4/streamed-media-channel.h2
-rw-r--r--TelepathyQt4/text-channel.h2
-rw-r--r--TelepathyQt4/types.h8
-rwxr-xr-xconfigure69
-rw-r--r--configure.ac9
-rw-r--r--doc/html/Farsight_2channel_8h_source.html2
-rw-r--r--doc/html/__gen_2constants_8h_source.html2
-rw-r--r--doc/html/__gen_2types_8h_source.html2
-rw-r--r--doc/html/abstract-client_8h_source.html2
-rw-r--r--doc/html/abstract-interface_8h_source.html17
-rw-r--r--doc/html/account-manager_8h_source.html97
-rw-r--r--doc/html/account_8h_source.html122
-rw-r--r--doc/html/accounts_example.html2
-rw-r--r--doc/html/accounts_example_account_item_cpp.html2
-rw-r--r--doc/html/accounts_example_account_item_h.html2
-rw-r--r--doc/html/accounts_example_accounts_window_cpp.html2
-rw-r--r--doc/html/accounts_example_accounts_window_h.html2
-rw-r--r--doc/html/accounts_example_main.html2
-rw-r--r--doc/html/annotated.html7
-rw-r--r--doc/html/async_model.html2
-rw-r--r--doc/html/bugreport.html2
-rw-r--r--doc/html/call_example.html2
-rw-r--r--doc/html/call_example_call_handler_cpp.html2
-rw-r--r--doc/html/call_example_call_handler_h.html2
-rw-r--r--doc/html/call_example_call_roster_widget_cpp.html2
-rw-r--r--doc/html/call_example_call_roster_widget_h.html2
-rw-r--r--doc/html/call_example_call_widget_cpp.html2
-rw-r--r--doc/html/call_example_call_widget_h.html2
-rw-r--r--doc/html/call_example_call_window_cpp.html2
-rw-r--r--doc/html/call_example_call_window_h.html2
-rw-r--r--doc/html/call_example_farsight_channel_cpp.html2
-rw-r--r--doc/html/call_example_farsight_channel_h.html2
-rw-r--r--doc/html/call_example_main.html2
-rw-r--r--doc/html/call_example_video_widget_cpp.html2
-rw-r--r--doc/html/call_example_video_widget_h.html2
-rw-r--r--doc/html/channel-dispatch-operation_8h_source.html92
-rw-r--r--doc/html/channel-dispatcher_8h_source.html2
-rw-r--r--doc/html/channel-factory_8h_source.html2
-rw-r--r--doc/html/channel-request_8h_source.html91
-rw-r--r--doc/html/channel_8h_source.html449
-rw-r--r--doc/html/classTp_1_1AbstractClient-members.html2
-rw-r--r--doc/html/classTp_1_1AbstractClient.html2
-rw-r--r--doc/html/classTp_1_1AbstractClientApprover-members.html2
-rw-r--r--doc/html/classTp_1_1AbstractClientApprover.html2
-rw-r--r--doc/html/classTp_1_1AbstractClientHandler-members.html2
-rw-r--r--doc/html/classTp_1_1AbstractClientHandler.html2
-rw-r--r--doc/html/classTp_1_1AbstractClientObserver-members.html2
-rw-r--r--doc/html/classTp_1_1AbstractClientObserver.html2
-rw-r--r--doc/html/classTp_1_1AbstractInterface-members.html2
-rw-r--r--doc/html/classTp_1_1AbstractInterface.html2
-rw-r--r--doc/html/classTp_1_1Account-members.html19
-rw-r--r--doc/html/classTp_1_1Account.html78
-rw-r--r--doc/html/classTp_1_1AccountManager-members.html18
-rw-r--r--doc/html/classTp_1_1AccountManager.html70
-rw-r--r--doc/html/classTp_1_1Channel-members.html21
-rw-r--r--doc/html/classTp_1_1Channel.html584
-rw-r--r--doc/html/classTp_1_1ChannelDispatchOperation-members.html21
-rw-r--r--doc/html/classTp_1_1ChannelDispatchOperation.html56
-rw-r--r--doc/html/classTp_1_1ChannelFactory-members.html2
-rw-r--r--doc/html/classTp_1_1ChannelFactory.html2
-rw-r--r--doc/html/classTp_1_1ChannelRequest-members.html21
-rw-r--r--doc/html/classTp_1_1ChannelRequest.html47
-rw-r--r--doc/html/classTp_1_1Channel_1_1GroupMemberChangeDetails-members.html13
-rw-r--r--doc/html/classTp_1_1Channel_1_1GroupMemberChangeDetails.html98
-rw-r--r--doc/html/classTp_1_1ClientAdaptor-members.html2
-rw-r--r--doc/html/classTp_1_1ClientAdaptor.html2
-rw-r--r--doc/html/classTp_1_1ClientApproverAdaptor-members.html2
-rw-r--r--doc/html/classTp_1_1ClientApproverAdaptor.html2
-rw-r--r--doc/html/classTp_1_1ClientHandlerAdaptor-members.html2
-rw-r--r--doc/html/classTp_1_1ClientHandlerAdaptor.html2
-rw-r--r--doc/html/classTp_1_1ClientHandlerRequestsAdaptor-members.html2
-rw-r--r--doc/html/classTp_1_1ClientHandlerRequestsAdaptor.html2
-rw-r--r--doc/html/classTp_1_1ClientObserverAdaptor-members.html2
-rw-r--r--doc/html/classTp_1_1ClientObserverAdaptor.html2
-rw-r--r--doc/html/classTp_1_1ClientRegistrar-members.html2
-rw-r--r--doc/html/classTp_1_1ClientRegistrar.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1AccountInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1AccountInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1AccountInterfaceAvatarInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1AccountInterfaceAvatarInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1AccountManagerInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1AccountManagerInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelDispatchOperationInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelDispatchOperationInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelDispatcherInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelDispatcherInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceCallStateInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceCallStateInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceChatStateInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceChatStateInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceDTMFInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceDTMFInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceGroupInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceGroupInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceHoldInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceHoldInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceMediaSignallingInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceMediaSignallingInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceMessagesInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfaceMessagesInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfacePasswordInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelInterfacePasswordInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelRequestInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelRequestInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeContactListInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeContactListInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeFileTransferInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeFileTransferInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeRoomListInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeRoomListInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeStreamedMediaInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeStreamedMediaInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeTextInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeTextInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeTubesInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ChannelTypeTubesInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ClientApproverInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ClientApproverInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ClientHandlerInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ClientHandlerInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ClientInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ClientInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ClientInterfaceRequestsInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ClientInterfaceRequestsInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ClientObserverInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ClientObserverInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceAliasingInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceAliasingInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceAvatarsInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceAvatarsInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceCapabilitiesInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceCapabilitiesInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceContactsInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceContactsInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfacePresenceInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfacePresenceInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceRequestsInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceRequestsInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceSimplePresenceInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionInterfaceSimplePresenceInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionManagerInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1ConnectionManagerInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1DBus_1_1DBusDaemonInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1DBus_1_1DBusDaemonInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1DBus_1_1IntrospectableInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1DBus_1_1IntrospectableInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1DBus_1_1PeerInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1DBus_1_1PeerInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1DBus_1_1PropertiesInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1DBus_1_1PropertiesInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1MediaSessionHandlerInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1MediaSessionHandlerInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1MediaStreamHandlerInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1MediaStreamHandlerInterface.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1PropertiesInterfaceInterface-members.html2
-rw-r--r--doc/html/classTp_1_1Client_1_1PropertiesInterfaceInterface.html2
-rw-r--r--doc/html/classTp_1_1Connection-members.html22
-rw-r--r--doc/html/classTp_1_1Connection.html466
-rw-r--r--doc/html/classTp_1_1ConnectionManager-members.html18
-rw-r--r--doc/html/classTp_1_1ConnectionManager.html48
-rw-r--r--doc/html/classTp_1_1ConnectionManager_1_1Private_1_1PendingNames-members.html2
-rw-r--r--doc/html/classTp_1_1ConnectionManager_1_1Private_1_1PendingNames.html2
-rw-r--r--doc/html/classTp_1_1Connection_1_1PendingConnect-members.html2
-rw-r--r--doc/html/classTp_1_1Connection_1_1PendingConnect.html2
-rw-r--r--doc/html/classTp_1_1Contact-members.html7
-rw-r--r--doc/html/classTp_1_1Contact.html126
-rw-r--r--doc/html/classTp_1_1ContactManager-members.html11
-rw-r--r--doc/html/classTp_1_1ContactManager.html272
-rw-r--r--doc/html/classTp_1_1DBusProxy-members.html5
-rw-r--r--doc/html/classTp_1_1DBusProxy.html126
-rw-r--r--doc/html/classTp_1_1Feature-members.html2
-rw-r--r--doc/html/classTp_1_1Feature.html2
-rw-r--r--doc/html/classTp_1_1Features-members.html2
-rw-r--r--doc/html/classTp_1_1Features.html2
-rw-r--r--doc/html/classTp_1_1FileTransferChannel-members.html (renamed from doc/html/classTp_1_1FileTransfer-members.html)26
-rw-r--r--doc/html/classTp_1_1FileTransferChannel.html (renamed from doc/html/classTp_1_1FileTransfer.html)40
-rw-r--r--doc/html/classTp_1_1KeyFile-members.html2
-rw-r--r--doc/html/classTp_1_1KeyFile.html2
-rw-r--r--doc/html/classTp_1_1ManagerFile-members.html2
-rw-r--r--doc/html/classTp_1_1ManagerFile.html2
-rw-r--r--doc/html/classTp_1_1MediaStream-members.html2
-rw-r--r--doc/html/classTp_1_1MediaStream.html2
-rw-r--r--doc/html/classTp_1_1Message-members.html2
-rw-r--r--doc/html/classTp_1_1Message.html2
-rw-r--r--doc/html/classTp_1_1MethodInvocationContext-members.html2
-rw-r--r--doc/html/classTp_1_1MethodInvocationContext.html2
-rw-r--r--doc/html/classTp_1_1MethodInvocationContextPtr-members.html2
-rw-r--r--doc/html/classTp_1_1MethodInvocationContextPtr.html2
-rw-r--r--doc/html/classTp_1_1OptionalInterfaceCache-members.html2
-rw-r--r--doc/html/classTp_1_1OptionalInterfaceCache.html2
-rw-r--r--doc/html/classTp_1_1OptionalInterfaceFactory-members.html10
-rw-r--r--doc/html/classTp_1_1OptionalInterfaceFactory.html107
-rw-r--r--doc/html/classTp_1_1PendingAccount-members.html2
-rw-r--r--doc/html/classTp_1_1PendingAccount.html2
-rw-r--r--doc/html/classTp_1_1PendingChannel-members.html2
-rw-r--r--doc/html/classTp_1_1PendingChannel.html2
-rw-r--r--doc/html/classTp_1_1PendingChannelRequest-members.html2
-rw-r--r--doc/html/classTp_1_1PendingChannelRequest.html2
-rw-r--r--doc/html/classTp_1_1PendingChannelRequestCancelOperation-members.html2
-rw-r--r--doc/html/classTp_1_1PendingChannelRequestCancelOperation.html2
-rw-r--r--doc/html/classTp_1_1PendingConnection-members.html2
-rw-r--r--doc/html/classTp_1_1PendingConnection.html2
-rw-r--r--doc/html/classTp_1_1PendingContactAttributes-members.html2
-rw-r--r--doc/html/classTp_1_1PendingContactAttributes.html2
-rw-r--r--doc/html/classTp_1_1PendingContactManagerRemoveContactListGroup-members.html54
-rw-r--r--doc/html/classTp_1_1PendingContactManagerRemoveContactListGroup.html102
-rw-r--r--doc/html/classTp_1_1PendingContacts-members.html2
-rw-r--r--doc/html/classTp_1_1PendingContacts.html2
-rw-r--r--doc/html/classTp_1_1PendingFailure-members.html2
-rw-r--r--doc/html/classTp_1_1PendingFailure.html6
-rw-r--r--doc/html/classTp_1_1PendingHandles-members.html2
-rw-r--r--doc/html/classTp_1_1PendingHandles.html2
-rw-r--r--doc/html/classTp_1_1PendingMediaStreams-members.html2
-rw-r--r--doc/html/classTp_1_1PendingMediaStreams.html2
-rw-r--r--doc/html/classTp_1_1PendingOperation-members.html2
-rw-r--r--doc/html/classTp_1_1PendingOperation.html8
-rw-r--r--doc/html/classTp_1_1PendingReady-members.html2
-rw-r--r--doc/html/classTp_1_1PendingReady.html2
-rw-r--r--doc/html/classTp_1_1PendingSendMessage-members.html2
-rw-r--r--doc/html/classTp_1_1PendingSendMessage.html2
-rw-r--r--doc/html/classTp_1_1PendingStringList-members.html2
-rw-r--r--doc/html/classTp_1_1PendingStringList.html2
-rw-r--r--doc/html/classTp_1_1PendingSuccess-members.html2
-rw-r--r--doc/html/classTp_1_1PendingSuccess.html6
-rw-r--r--doc/html/classTp_1_1PendingVoidMethodCall-members.html2
-rw-r--r--doc/html/classTp_1_1PendingVoidMethodCall.html8
-rw-r--r--doc/html/classTp_1_1ProtocolInfo-members.html6
-rw-r--r--doc/html/classTp_1_1ProtocolInfo.html6
-rw-r--r--doc/html/classTp_1_1ProtocolParameter-members.html12
-rw-r--r--doc/html/classTp_1_1ProtocolParameter.html16
-rw-r--r--doc/html/classTp_1_1ReadinessHelper-members.html2
-rw-r--r--doc/html/classTp_1_1ReadinessHelper.html2
-rw-r--r--doc/html/classTp_1_1ReadyObject-members.html2
-rw-r--r--doc/html/classTp_1_1ReadyObject.html2
-rw-r--r--doc/html/classTp_1_1ReceivedMessage-members.html2
-rw-r--r--doc/html/classTp_1_1ReceivedMessage.html2
-rw-r--r--doc/html/classTp_1_1RefCounted-members.html2
-rw-r--r--doc/html/classTp_1_1RefCounted.html2
-rw-r--r--doc/html/classTp_1_1ReferencedHandles-members.html2
-rw-r--r--doc/html/classTp_1_1ReferencedHandles.html2
-rw-r--r--doc/html/classTp_1_1RoomListChannel-members.html (renamed from doc/html/classTp_1_1RoomList-members.html)26
-rw-r--r--doc/html/classTp_1_1RoomListChannel.html (renamed from doc/html/classTp_1_1RoomList.html)40
-rw-r--r--doc/html/classTp_1_1SharedPtr-members.html2
-rw-r--r--doc/html/classTp_1_1SharedPtr.html2
-rw-r--r--doc/html/classTp_1_1StatefulDBusProxy-members.html5
-rw-r--r--doc/html/classTp_1_1StatefulDBusProxy.html2
-rw-r--r--doc/html/classTp_1_1StatelessDBusProxy-members.html5
-rw-r--r--doc/html/classTp_1_1StatelessDBusProxy.html2
-rw-r--r--doc/html/classTp_1_1StreamedMediaChannel-members.html20
-rw-r--r--doc/html/classTp_1_1StreamedMediaChannel.html6
-rw-r--r--doc/html/classTp_1_1TextChannel-members.html20
-rw-r--r--doc/html/classTp_1_1TextChannel.html6
-rw-r--r--doc/html/classTp_1_1WeakData-members.html2
-rw-r--r--doc/html/classTp_1_1WeakData.html2
-rw-r--r--doc/html/classTp_1_1WeakPtr-members.html2
-rw-r--r--doc/html/classTp_1_1WeakPtr.html2
-rw-r--r--doc/html/classes.html30
-rw-r--r--doc/html/cli-account-manager_8h_source.html2
-rw-r--r--doc/html/cli-account_8h_source.html2
-rw-r--r--doc/html/cli-channel-dispatch-operation_8h_source.html2
-rw-r--r--doc/html/cli-channel-dispatcher_8h_source.html2
-rw-r--r--doc/html/cli-channel-request_8h_source.html2
-rw-r--r--doc/html/cli-channel_8h_source.html2
-rw-r--r--doc/html/cli-client_8h_source.html2
-rw-r--r--doc/html/cli-connection-manager_8h_source.html2
-rw-r--r--doc/html/cli-connection_8h_source.html2
-rw-r--r--doc/html/cli-dbus_8h_source.html2
-rw-r--r--doc/html/cli-media-session-handler_8h_source.html2
-rw-r--r--doc/html/cli-media-stream-handler_8h_source.html2
-rw-r--r--doc/html/cli-properties_8h_source.html2
-rw-r--r--doc/html/client-registrar-internal_8h_source.html2
-rw-r--r--doc/html/client-registrar_8h_source.html2
-rw-r--r--doc/html/client_8h_source.html2
-rw-r--r--doc/html/connection-internal_8h_source.html2
-rw-r--r--doc/html/connection-manager-internal_8h_source.html59
-rw-r--r--doc/html/connection-manager_8h_source.html180
-rw-r--r--doc/html/connection_8h_source.html277
-rw-r--r--doc/html/constants_8h_source.html7
-rw-r--r--doc/html/contact-manager-internal_8h_source.html89
-rw-r--r--doc/html/contact-manager_8h_source.html276
-rw-r--r--doc/html/contact_8h_source.html187
-rw-r--r--doc/html/dbus-proxy_8h_source.html143
-rw-r--r--doc/html/dbus_8h_source.html2
-rw-r--r--doc/html/debug-internal_8h_source.html2
-rw-r--r--doc/html/debug_8h_source.html25
-rw-r--r--doc/html/examples.html2
-rw-r--r--doc/html/feature_8h_source.html2
-rw-r--r--doc/html/file-transfer-channel_8h_source.html (renamed from doc/html/file-transfer_8h_source.html)26
-rw-r--r--doc/html/files.html7
-rw-r--r--doc/html/functions.html2
-rw-r--r--doc/html/functions_0x61.html47
-rw-r--r--doc/html/functions_0x62.html4
-rw-r--r--doc/html/functions_0x63.html12
-rw-r--r--doc/html/functions_0x64.html2
-rw-r--r--doc/html/functions_0x65.html2
-rw-r--r--doc/html/functions_0x66.html22
-rw-r--r--doc/html/functions_0x67.html20
-rw-r--r--doc/html/functions_0x68.html2
-rw-r--r--doc/html/functions_0x69.html84
-rw-r--r--doc/html/functions_0x6b.html2
-rw-r--r--doc/html/functions_0x6c.html2
-rw-r--r--doc/html/functions_0x6d.html6
-rw-r--r--doc/html/functions_0x6e.html2
-rw-r--r--doc/html/functions_0x6f.html57
-rw-r--r--doc/html/functions_0x70.html26
-rw-r--r--doc/html/functions_0x71.html2
-rw-r--r--doc/html/functions_0x72.html55
-rw-r--r--doc/html/functions_0x73.html104
-rw-r--r--doc/html/functions_0x74.html2
-rw-r--r--doc/html/functions_0x75.html12
-rw-r--r--doc/html/functions_0x76.html2
-rw-r--r--doc/html/functions_0x77.html2
-rw-r--r--doc/html/functions_0x79.html2
-rw-r--r--doc/html/functions_0x7e.html16
-rw-r--r--doc/html/functions_enum.html4
-rw-r--r--doc/html/functions_eval.html6
-rw-r--r--doc/html/functions_func.html24
-rw-r--r--doc/html/functions_func_0x62.html2
-rw-r--r--doc/html/functions_func_0x63.html10
-rw-r--r--doc/html/functions_func_0x64.html2
-rw-r--r--doc/html/functions_func_0x65.html2
-rw-r--r--doc/html/functions_func_0x66.html6
-rw-r--r--doc/html/functions_func_0x67.html18
-rw-r--r--doc/html/functions_func_0x68.html2
-rw-r--r--doc/html/functions_func_0x69.html72
-rw-r--r--doc/html/functions_func_0x6b.html2
-rw-r--r--doc/html/functions_func_0x6c.html2
-rw-r--r--doc/html/functions_func_0x6d.html6
-rw-r--r--doc/html/functions_func_0x6e.html2
-rw-r--r--doc/html/functions_func_0x6f.html52
-rw-r--r--doc/html/functions_func_0x70.html38
-rw-r--r--doc/html/functions_func_0x71.html2
-rw-r--r--doc/html/functions_func_0x72.html50
-rw-r--r--doc/html/functions_func_0x73.html95
-rw-r--r--doc/html/functions_func_0x74.html2
-rw-r--r--doc/html/functions_func_0x75.html10
-rw-r--r--doc/html/functions_func_0x76.html2
-rw-r--r--doc/html/functions_func_0x77.html2
-rw-r--r--doc/html/functions_func_0x79.html2
-rw-r--r--doc/html/functions_func_0x7e.html16
-rw-r--r--doc/html/functions_prop.html2
-rw-r--r--doc/html/functions_type.html2
-rw-r--r--doc/html/functions_vars.html10
-rw-r--r--doc/html/graph_legend.html2
-rw-r--r--doc/html/group__clientaccount.html2
-rw-r--r--doc/html/group__clientchannel.html6
-rw-r--r--doc/html/group__clientchanneldispatchoperation.html2
-rw-r--r--doc/html/group__clientchannelrequest.html2
-rw-r--r--doc/html/group__clientcm.html2
-rw-r--r--doc/html/group__clientconn.html2
-rw-r--r--doc/html/group__clientdbus.html2
-rw-r--r--doc/html/group__clientmsesh.html2
-rw-r--r--doc/html/group__clientmstrh.html2
-rw-r--r--doc/html/group__clientprops.html2
-rw-r--r--doc/html/group__clientsideproxies.html2
-rw-r--r--doc/html/group__debug.html2
-rw-r--r--doc/html/group__enumtypeconsts.html2
-rw-r--r--doc/html/group__errorstrconsts.html18
-rw-r--r--doc/html/group__flagtypeconsts.html2
-rw-r--r--doc/html/group__ifacestrconsts.html2
-rw-r--r--doc/html/group__list.html2
-rw-r--r--doc/html/group__mapping.html2
-rw-r--r--doc/html/group__struct.html2
-rw-r--r--doc/html/group__typesconstants.html2
-rw-r--r--doc/html/group__utilityconsts.html2
-rw-r--r--doc/html/hierarchy.html7
-rw-r--r--doc/html/index.html4
-rw-r--r--doc/html/index.qhp122
-rw-r--r--doc/html/inherit__graph__47.map37
-rw-r--r--doc/html/inherit__graph__47.md52
-rw-r--r--doc/html/inherit__graph__47.pngbin68901 -> 80128 bytes
-rw-r--r--doc/html/inherit__graph__57.map4
-rw-r--r--doc/html/inherit__graph__57.md52
-rw-r--r--doc/html/inherit__graph__57.pngbin166056 -> 165915 bytes
-rw-r--r--doc/html/inherits.html6
-rw-r--r--doc/html/installation.html2
-rw-r--r--doc/html/introduction.html2
-rw-r--r--doc/html/key-file_8h_source.html66
-rw-r--r--doc/html/mailing_lists.html2
-rw-r--r--doc/html/manager-file_8h_source.html43
-rw-r--r--doc/html/media-session-handler_8h_source.html2
-rw-r--r--doc/html/media-stream-handler_8h_source.html2
-rw-r--r--doc/html/message_8h_source.html122
-rw-r--r--doc/html/method-invocation-context_8h_source.html2
-rw-r--r--doc/html/modules.html2
-rw-r--r--doc/html/namespaceTp.html21
-rw-r--r--doc/html/namespaceTp_1_1Client.html2
-rw-r--r--doc/html/namespaceTp_1_1Client_1_1DBus.html2
-rw-r--r--doc/html/namespaceTp_1_1MethodInvocationContextTypes.html2
-rw-r--r--doc/html/namespacemembers.html2
-rw-r--r--doc/html/namespacemembers_0x63.html2
-rw-r--r--doc/html/namespacemembers_0x64.html2
-rw-r--r--doc/html/namespacemembers_0x65.html2
-rw-r--r--doc/html/namespacemembers_0x66.html6
-rw-r--r--doc/html/namespacemembers_0x68.html2
-rw-r--r--doc/html/namespacemembers_0x6c.html2
-rw-r--r--doc/html/namespacemembers_0x6d.html2
-rw-r--r--doc/html/namespacemembers_0x6e.html2
-rw-r--r--doc/html/namespacemembers_0x6f.html2
-rw-r--r--doc/html/namespacemembers_0x70.html2
-rw-r--r--doc/html/namespacemembers_0x71.html2
-rw-r--r--doc/html/namespacemembers_0x72.html6
-rw-r--r--doc/html/namespacemembers_0x73.html2
-rw-r--r--doc/html/namespacemembers_0x74.html2
-rw-r--r--doc/html/namespacemembers_0x77.html2
-rw-r--r--doc/html/namespacemembers_enum.html2
-rw-r--r--doc/html/namespacemembers_eval.html2
-rw-r--r--doc/html/namespacemembers_func.html2
-rw-r--r--doc/html/namespacemembers_type.html10
-rw-r--r--doc/html/namespacemembers_vars.html2
-rw-r--r--doc/html/namespaces.html2
-rw-r--r--doc/html/optional-interface-factory_8h_source.html159
-rw-r--r--doc/html/pending-account_8h_source.html61
-rw-r--r--doc/html/pending-channel-request-internal_8h_source.html2
-rw-r--r--doc/html/pending-channel-request_8h_source.html2
-rw-r--r--doc/html/pending-channel_8h_source.html2
-rw-r--r--doc/html/pending-connection_8h_source.html61
-rw-r--r--doc/html/pending-contact-attributes_8h_source.html69
-rw-r--r--doc/html/pending-contacts_8h_source.html94
-rw-r--r--doc/html/pending-handles_8h_source.html2
-rw-r--r--doc/html/pending-operation_8h_source.html87
-rw-r--r--doc/html/pending-ready_8h_source.html34
-rw-r--r--doc/html/pending-string-list_8h_source.html51
-rw-r--r--doc/html/properties_8h_source.html2
-rw-r--r--doc/html/readiness-helper_8h_source.html194
-rw-r--r--doc/html/ready-object_8h_source.html2
-rw-r--r--doc/html/referenced-handles_8h_source.html449
-rw-r--r--doc/html/room-list-channel_8h_source.html (renamed from doc/html/room-list_8h_source.html)26
-rw-r--r--doc/html/roster_example.html2
-rw-r--r--doc/html/roster_example_main.html2
-rw-r--r--doc/html/roster_example_roster_item_cpp.html2
-rw-r--r--doc/html/roster_example_roster_item_h.html2
-rw-r--r--doc/html/roster_example_roster_widget_cpp.html2
-rw-r--r--doc/html/roster_example_roster_widget_h.html2
-rw-r--r--doc/html/roster_example_roster_window_cpp.html2
-rw-r--r--doc/html/roster_example_roster_window_h.html2
-rw-r--r--doc/html/shared-ptr_8h_source.html2
-rw-r--r--doc/html/shared_ptr.html2
-rw-r--r--doc/html/simple-pending-operations_8h_source.html110
-rw-r--r--doc/html/streamed-media-channel_8h_source.html4
-rw-r--r--doc/html/structTp_1_1AliasMap-members.html2
-rw-r--r--doc/html/structTp_1_1AliasMap.html2
-rw-r--r--doc/html/structTp_1_1AliasPair-members.html2
-rw-r--r--doc/html/structTp_1_1AliasPair.html2
-rw-r--r--doc/html/structTp_1_1Avatar-members.html2
-rw-r--r--doc/html/structTp_1_1Avatar.html2
-rw-r--r--doc/html/structTp_1_1AvatarTokenMap-members.html2
-rw-r--r--doc/html/structTp_1_1AvatarTokenMap.html2
-rw-r--r--doc/html/structTp_1_1CapabilityChange-members.html2
-rw-r--r--doc/html/structTp_1_1CapabilityChange.html2
-rw-r--r--doc/html/structTp_1_1CapabilityPair-members.html2
-rw-r--r--doc/html/structTp_1_1CapabilityPair.html2
-rw-r--r--doc/html/structTp_1_1ChannelCallStateMap-members.html2
-rw-r--r--doc/html/structTp_1_1ChannelCallStateMap.html2
-rw-r--r--doc/html/structTp_1_1ChannelClass-members.html2
-rw-r--r--doc/html/structTp_1_1ChannelClass.html2
-rw-r--r--doc/html/structTp_1_1ChannelDetails-members.html2
-rw-r--r--doc/html/structTp_1_1ChannelDetails.html2
-rw-r--r--doc/html/structTp_1_1ChannelInfo-members.html2
-rw-r--r--doc/html/structTp_1_1ChannelInfo.html2
-rw-r--r--doc/html/structTp_1_1ConnectionManager_1_1Private-members.html3
-rw-r--r--doc/html/structTp_1_1ConnectionManager_1_1Private.html18
-rw-r--r--doc/html/structTp_1_1ContactAttributesMap-members.html2
-rw-r--r--doc/html/structTp_1_1ContactAttributesMap.html2
-rw-r--r--doc/html/structTp_1_1ContactCapability-members.html2
-rw-r--r--doc/html/structTp_1_1ContactCapability.html2
-rw-r--r--doc/html/structTp_1_1ContactPresences-members.html2
-rw-r--r--doc/html/structTp_1_1ContactPresences.html2
-rw-r--r--doc/html/structTp_1_1DBusTubeMember-members.html2
-rw-r--r--doc/html/structTp_1_1DBusTubeMember.html2
-rw-r--r--doc/html/structTp_1_1HandleIdentifierMap-members.html2
-rw-r--r--doc/html/structTp_1_1HandleIdentifierMap.html2
-rw-r--r--doc/html/structTp_1_1HandleOwnerMap-members.html2
-rw-r--r--doc/html/structTp_1_1HandleOwnerMap.html2
-rw-r--r--doc/html/structTp_1_1LastActivityAndStatuses-members.html2
-rw-r--r--doc/html/structTp_1_1LastActivityAndStatuses.html2
-rw-r--r--doc/html/structTp_1_1LocalPendingInfo-members.html2
-rw-r--r--doc/html/structTp_1_1LocalPendingInfo.html2
-rw-r--r--doc/html/structTp_1_1MediaSessionHandlerInfo-members.html2
-rw-r--r--doc/html/structTp_1_1MediaSessionHandlerInfo.html2
-rw-r--r--doc/html/structTp_1_1MediaStreamHandlerCandidate-members.html2
-rw-r--r--doc/html/structTp_1_1MediaStreamHandlerCandidate.html2
-rw-r--r--doc/html/structTp_1_1MediaStreamHandlerCodec-members.html2
-rw-r--r--doc/html/structTp_1_1MediaStreamHandlerCodec.html2
-rw-r--r--doc/html/structTp_1_1MediaStreamHandlerTransport-members.html2
-rw-r--r--doc/html/structTp_1_1MediaStreamHandlerTransport.html2
-rw-r--r--doc/html/structTp_1_1MediaStreamInfo-members.html2
-rw-r--r--doc/html/structTp_1_1MediaStreamInfo.html2
-rw-r--r--doc/html/structTp_1_1MessagePart-members.html2
-rw-r--r--doc/html/structTp_1_1MessagePart.html2
-rw-r--r--doc/html/structTp_1_1MessagePartContentMap-members.html2
-rw-r--r--doc/html/structTp_1_1MessagePartContentMap.html2
-rw-r--r--doc/html/structTp_1_1MethodInvocationContextTypes_1_1ForEach-members.html2
-rw-r--r--doc/html/structTp_1_1MethodInvocationContextTypes_1_1ForEach.html2
-rw-r--r--doc/html/structTp_1_1MethodInvocationContextTypes_1_1Nil.html2
-rw-r--r--doc/html/structTp_1_1MethodInvocationContextTypes_1_1Select-members.html2
-rw-r--r--doc/html/structTp_1_1MethodInvocationContextTypes_1_1Select.html2
-rw-r--r--doc/html/structTp_1_1MultipleStatusMap-members.html2
-rw-r--r--doc/html/structTp_1_1MultipleStatusMap.html2
-rw-r--r--doc/html/structTp_1_1ObjectPathList-members.html2
-rw-r--r--doc/html/structTp_1_1ObjectPathList.html2
-rw-r--r--doc/html/structTp_1_1ParamSpec-members.html2
-rw-r--r--doc/html/structTp_1_1ParamSpec.html2
-rw-r--r--doc/html/structTp_1_1PendingTextMessage-members.html2
-rw-r--r--doc/html/structTp_1_1PendingTextMessage.html2
-rw-r--r--doc/html/structTp_1_1PropertyFlagsChange-members.html2
-rw-r--r--doc/html/structTp_1_1PropertyFlagsChange.html2
-rw-r--r--doc/html/structTp_1_1PropertySpec-members.html2
-rw-r--r--doc/html/structTp_1_1PropertySpec.html2
-rw-r--r--doc/html/structTp_1_1PropertyValue-members.html2
-rw-r--r--doc/html/structTp_1_1PropertyValue.html2
-rw-r--r--doc/html/structTp_1_1QualifiedPropertyValueMap-members.html2
-rw-r--r--doc/html/structTp_1_1QualifiedPropertyValueMap.html2
-rw-r--r--doc/html/structTp_1_1ReadinessHelper_1_1Introspectable-members.html9
-rw-r--r--doc/html/structTp_1_1ReadinessHelper_1_1Introspectable.html69
-rw-r--r--doc/html/structTp_1_1RequestableChannelClass-members.html2
-rw-r--r--doc/html/structTp_1_1RequestableChannelClass.html2
-rw-r--r--doc/html/structTp_1_1RichPresenceAccessControl-members.html2
-rw-r--r--doc/html/structTp_1_1RichPresenceAccessControl.html2
-rw-r--r--doc/html/structTp_1_1RoomInfo-members.html2
-rw-r--r--doc/html/structTp_1_1RoomInfo.html2
-rw-r--r--doc/html/structTp_1_1SimpleContactPresences-members.html2
-rw-r--r--doc/html/structTp_1_1SimpleContactPresences.html2
-rw-r--r--doc/html/structTp_1_1SimplePresence-members.html2
-rw-r--r--doc/html/structTp_1_1SimplePresence.html2
-rw-r--r--doc/html/structTp_1_1SimpleStatusSpec-members.html2
-rw-r--r--doc/html/structTp_1_1SimpleStatusSpec.html2
-rw-r--r--doc/html/structTp_1_1SimpleStatusSpecMap-members.html2
-rw-r--r--doc/html/structTp_1_1SimpleStatusSpecMap.html2
-rw-r--r--doc/html/structTp_1_1SingleContactAttributesMap-members.html2
-rw-r--r--doc/html/structTp_1_1SingleContactAttributesMap.html2
-rw-r--r--doc/html/structTp_1_1SocketAddressIP-members.html2
-rw-r--r--doc/html/structTp_1_1SocketAddressIP.html2
-rw-r--r--doc/html/structTp_1_1SocketAddressIPv4-members.html2
-rw-r--r--doc/html/structTp_1_1SocketAddressIPv4.html2
-rw-r--r--doc/html/structTp_1_1SocketAddressIPv6-members.html2
-rw-r--r--doc/html/structTp_1_1SocketAddressIPv6.html2
-rw-r--r--doc/html/structTp_1_1SocketNetmaskIPv4-members.html2
-rw-r--r--doc/html/structTp_1_1SocketNetmaskIPv4.html2
-rw-r--r--doc/html/structTp_1_1SocketNetmaskIPv6-members.html2
-rw-r--r--doc/html/structTp_1_1SocketNetmaskIPv6.html2
-rw-r--r--doc/html/structTp_1_1StatusSpec-members.html2
-rw-r--r--doc/html/structTp_1_1StatusSpec.html2
-rw-r--r--doc/html/structTp_1_1StatusSpecMap-members.html2
-rw-r--r--doc/html/structTp_1_1StatusSpecMap.html2
-rw-r--r--doc/html/structTp_1_1StringStringMap-members.html2
-rw-r--r--doc/html/structTp_1_1StringStringMap.html2
-rw-r--r--doc/html/structTp_1_1StringVariantMap-members.html2
-rw-r--r--doc/html/structTp_1_1StringVariantMap.html2
-rw-r--r--doc/html/structTp_1_1SupportedSocketMap-members.html2
-rw-r--r--doc/html/structTp_1_1SupportedSocketMap.html2
-rw-r--r--doc/html/structTp_1_1TubeInfo-members.html2
-rw-r--r--doc/html/structTp_1_1TubeInfo.html2
-rw-r--r--doc/html/structTp_1_1UIntList-members.html2
-rw-r--r--doc/html/structTp_1_1UIntList.html2
-rw-r--r--doc/html/text-channel_8h_source.html4
-rw-r--r--doc/html/types_8h_source.html10
-rw-r--r--examples/Makefile.in1
-rw-r--r--examples/accounts/Makefile.in1
-rw-r--r--examples/call/Makefile.in1
-rw-r--r--examples/extensions/Makefile.in1
-rw-r--r--examples/roster/Makefile.in1
-rw-r--r--m4/Makefile.in1
-rw-r--r--spec/Makefile.in1
-rw-r--r--tests/Makefile.am6
-rw-r--r--tests/Makefile.in7
-rw-r--r--tests/dbus/Makefile.am5
-rw-r--r--tests/dbus/Makefile.in25
-rw-r--r--tests/dbus/client.cpp8
-rw-r--r--tests/dbus/conn-roster-groups.cpp305
-rw-r--r--tests/dbus/conn-roster.cpp2
-rw-r--r--tests/dbus/contacts.cpp10
-rw-r--r--tests/lib/Makefile.in1
-rw-r--r--tests/lib/callable/Makefile.in1
-rw-r--r--tests/lib/contactlist/Makefile.in1
-rw-r--r--tests/lib/contactlist/conn.c9
-rw-r--r--tests/lib/contactlist/contact-list-manager.c18
-rw-r--r--tests/lib/contactlist/contact-list.c5
-rw-r--r--tests/lib/csh/Makefile.in1
-rw-r--r--tests/lib/echo/Makefile.in1
-rw-r--r--tests/lib/echo2/Makefile.in1
-rw-r--r--tests/manager-file.cpp13
-rw-r--r--tests/pinocchio/Makefile.in1
-rw-r--r--tests/prototype/Makefile.am61
-rw-r--r--tests/prototype/Makefile.in683
-rw-r--r--tests/prototype/avatar.pngbin7657 -> 0 bytes
-rw-r--r--tests/prototype/prototype.cpp1394
-rw-r--r--tests/prototype/prototype.h145
-rw-r--r--tests/telepathy/managers/test-manager-file-invalid-signature.manager86
-rw-r--r--tests/telepathy/managers/test-manager-file-malformed-keyfile.manager (renamed from tests/telepathy/managers/test-manager-file-invalid.manager)0
-rw-r--r--tests/telepathy/managers/test-manager-file.manager8
-rw-r--r--tools/Makefile.in1
700 files changed, 8874 insertions, 16447 deletions
diff --git a/ChangeLog b/ChangeLog
index 2eadfdc..7ad1584 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,1800 @@
+commit d5dec56858acb6035ea4ea141b7206c3af9dc3ef
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 19:17:07 2009 -0300
+
+ Prepare release 0.1.9
+
+ NEWS | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ configure.ac | 2 +-
+ 2 files changed, 58 insertions(+), 1 deletions(-)
+
+commit 9721acc268d59a62e3cd1b35c3a876177a99a141
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 19:22:53 2009 -0300
+
+ Fixed make dist.
+
+ Added missing manager files to build system.
+
+ tests/Makefile.am | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit b1dddf0d1c6cbbd033aef63b7be3afcd65784651
+Merge: c3aa1c0 23a4b8b
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 18:41:43 2009 -0300
+
+ Merge commit 'gberg/fix-api-inconsistency'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit c3aa1c091be90085ab1cb3a532be3b219b1c3a14
+Merge: cb6c27c cb6d8a6
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 18:40:53 2009 -0300
+
+ Merge commit 'gberg/doc-fixes'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit cb6c27c256c85d019ca22b236681a8867c4c4cd6
+Merge: 59d1b74 535e338
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 18:39:19 2009 -0300
+
+ Merge branch 'misc'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit 59d1b7473fc7d05b90379264c814539c0b9fbcc5
+Merge: 1ecf6d6 4a0f88b
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 18:39:09 2009 -0300
+
+ Merge branch 'trivia'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit 1ecf6d649025d673fc9e3f12bf6db23de77c8b1a
+Merge: 304e033 a9feff9
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 18:38:10 2009 -0300
+
+ Merge branch 'roster-groups'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit a9feff9c9dcab5b58f5cf89684a31d18a6b3892d
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 14:56:14 2009 -0300
+
+ ContactManager: Explicitly say that addGroup succeeds if the group already exists.
+
+ TelepathyQt4/contact-manager.cpp | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit e60c068b0063d963fd9643066fdc2505de295272
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 14:50:31 2009 -0300
+
+ ContactManager: Renamed groupAdd/RemoveContacts to addContactsToGroup/removeContactsFromGroup.
+
+ TelepathyQt4/contact-manager.cpp | 8 ++++----
+ TelepathyQt4/contact-manager.h | 4 ++--
+ TelepathyQt4/contact.cpp | 4 ++--
+ tests/dbus/conn-roster-groups.cpp | 4 ++--
+ 4 files changed, 10 insertions(+), 10 deletions(-)
+
+commit 59cbc78bcbd2e68e4106f5395592d8bce6a13231
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 14:44:39 2009 -0300
+
+ Contact/ContactManager: Docs++.
+
+ TelepathyQt4/contact-manager.cpp | 4 ++--
+ TelepathyQt4/contact.cpp | 3 ++-
+ 2 files changed, 4 insertions(+), 3 deletions(-)
+
+commit 521f3b2054465aec97ba4cba5d0790614b9a67d6
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 14:42:14 2009 -0300
+
+ Fixed copy/paste error.
+
+ tests/dbus/conn-roster-groups.cpp | 2 +-
+ tests/dbus/conn-roster.cpp | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit d746ae2d36c637ae3221857eab2099d0b02f108d
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 14:35:24 2009 -0300
+
+ ContactManager: Proper remove contact list group even if there are contacts in the group.
+
+ TelepathyQt4/Makefile.am | 2 +
+ TelepathyQt4/contact-manager-internal.h | 50 ++++++++++++++++++++++++++++++
+ TelepathyQt4/contact-manager.cpp | 51 ++++++++++++++++++++++++++++--
+ 3 files changed, 99 insertions(+), 4 deletions(-)
+
+commit a6a8ba75dd1b40e22e8e5638a31e7d0e971e9743
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 14:10:05 2009 -0300
+
+ ContactManager: Use ensureChannel to create contact list groups, so it succeeds if the group already exists.
+
+ TelepathyQt4/contact-manager.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 47e1596c2c6f78f1f08b2aa5c123d27df526d8b2
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 14:09:19 2009 -0300
+
+ ContactManager: Removed TODO.
+
+ TelepathyQt4/contact-manager.cpp | 9 ---------
+ 1 files changed, 0 insertions(+), 9 deletions(-)
+
+commit a2797d76debe332cb2c2eaec16ecff91ae5785aa
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 14:08:19 2009 -0300
+
+ ContactManager: Let's not assume that contact list groups with empty names are not allowed, let the CM decide it.
+
+ TelepathyQt4/contact-manager.cpp | 5 -----
+ 1 files changed, 0 insertions(+), 5 deletions(-)
+
+commit 0ca784231a2cd582391dfc8e0e634abf9b8f561f
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 14:00:31 2009 -0300
+
+ Connection: Comments++.
+
+ TelepathyQt4/connection.cpp | 10 ++++++----
+ 1 files changed, 6 insertions(+), 4 deletions(-)
+
+commit f5eb9a449f051959e8e1106dc86d44f3dab4a7b9
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 13:55:58 2009 -0300
+
+ Connection/ContactManager: Use proper english when naming contact list channels and contact list group channels.
+
+ TelepathyQt4/connection.cpp | 34 ++++++++++----------
+ TelepathyQt4/contact-manager.cpp | 64 +++++++++++++++++++-------------------
+ TelepathyQt4/contact-manager.h | 8 ++--
+ 3 files changed, 53 insertions(+), 53 deletions(-)
+
+commit 6d40ac3aef2873081d7bd9d36f2f6399ca08c9c5
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 13:47:01 2009 -0300
+
+ Connection: Refactor code that checks if FeatureRosterGroups is ready.
+
+ Changes suggested by Simon McVittie <simon.mcvittie@collabora.co.uk>
+
+ TelepathyQt4/connection.cpp | 43 ++++++++++++++++++++++++++++---------------
+ 1 files changed, 28 insertions(+), 15 deletions(-)
+
+commit 23a4b8b16e27049f59485b225104bc1e2d05fcb7
+Author: George Goldberg <george.goldberg@collabora.co.uk>
+Date: Thu Jul 23 16:18:17 2009 +0100
+
+ Chat requiredForRegistration() to isRequiredForRegistration() to make it consistent with other bool returning getters.
+
+ TelepathyQt4/connection-manager.cpp | 2 +-
+ TelepathyQt4/connection-manager.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 535e338e5481454ecdd4084c43afe20c2603bbe9
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 12:03:39 2009 -0300
+
+ FileTransferChannel: Fixed redundancy on comment.
+
+ TelepathyQt4/file-transfer-channel.cpp | 2 +-
+ TelepathyQt4/file-transfer-channel.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 66bd3d2b5872386db0624e6d17310c1799b5e5f1
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 12:02:56 2009 -0300
+
+ RoomListChannel: Fixed redundancy on comment.
+
+ TelepathyQt4/room-list-channel.cpp | 2 +-
+ TelepathyQt4/room-list-channel.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 1e83635c90b87967ecf1b6377b4618992d05dba7
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 02:12:09 2009 -0300
+
+ Renamed FileTransfer to FileTransferChannel.
+
+ TelepathyQt4/FileTransfer | 13 -----
+ TelepathyQt4/FileTransferChannel | 13 +++++
+ TelepathyQt4/Makefile.am | 8 ++--
+ TelepathyQt4/channel-factory.cpp | 4 +-
+ TelepathyQt4/file-transfer-channel.cpp | 92 ++++++++++++++++++++++++++++++++
+ TelepathyQt4/file-transfer-channel.h | 56 +++++++++++++++++++
+ TelepathyQt4/file-transfer.cpp | 92 --------------------------------
+ TelepathyQt4/file-transfer.h | 56 -------------------
+ TelepathyQt4/types.h | 4 +-
+ 9 files changed, 169 insertions(+), 169 deletions(-)
+
+commit 6ec7fbf49385426f89bcab6a72c4f6f3f185f183
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 02:04:56 2009 -0300
+
+ Renamed RoomList to RoomListChannel.
+
+ TelepathyQt4/Makefile.am | 8 ++--
+ TelepathyQt4/RoomList | 13 -----
+ TelepathyQt4/RoomListChannel | 13 +++++
+ TelepathyQt4/channel-factory.cpp | 4 +-
+ TelepathyQt4/pending-channel.cpp | 4 --
+ TelepathyQt4/room-list-channel.cpp | 91 ++++++++++++++++++++++++++++++++++++
+ TelepathyQt4/room-list-channel.h | 56 ++++++++++++++++++++++
+ TelepathyQt4/room-list.cpp | 91 ------------------------------------
+ TelepathyQt4/room-list.h | 56 ----------------------
+ TelepathyQt4/types.h | 4 +-
+ 10 files changed, 168 insertions(+), 172 deletions(-)
+
+commit b5eb4b3c8e74b0b25839e9659dbaa3e927ba158a
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 01:46:15 2009 -0300
+
+ ContactManager: Removed contactGroups method in favor of Contact::groups().
+
+ TelepathyQt4/contact-manager.cpp | 19 -------------------
+ TelepathyQt4/contact-manager.h | 1 -
+ 2 files changed, 0 insertions(+), 20 deletions(-)
+
+commit a213a27e6db5685e2ff29e04e88788812d4e8088
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 01:45:48 2009 -0300
+
+ Contact: Added some docs.
+
+ TelepathyQt4/contact.cpp | 28 ++++++++++++++++++++++++++++
+ 1 files changed, 28 insertions(+), 0 deletions(-)
+
+commit 7ad79f9954ec4da393306f5a1ad9df0a10615815
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 01:37:27 2009 -0300
+
+ roster-groups example: Added tests for contact list group removal.
+
+ tests/dbus/conn-roster-groups.cpp | 28 ++++++++++++++++++++++++++++
+ 1 files changed, 28 insertions(+), 0 deletions(-)
+
+commit baccfe9e754e53d24024d82a107aeeec49e2d0ce
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 01:36:26 2009 -0300
+
+ ContactManager: Remove contact list group channel from internal list when group is removed.
+
+ TelepathyQt4/contact-manager.cpp | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit a5a94d1c9c23dcfee0f7a65c66652ba07819547e
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 01:31:16 2009 -0300
+
+ roster-groups example: Added tests for removing contacts from a contact list group.
+
+ tests/dbus/conn-roster-groups.cpp | 29 ++++++++++++++++++++++++++++-
+ 1 files changed, 28 insertions(+), 1 deletions(-)
+
+commit 979ff78a74bec16d8a0c08f9f51251a60ec60922
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 01:26:50 2009 -0300
+
+ roster-groups example: Added tests for adding contacts to a contact list group.
+
+ tests/dbus/conn-roster-groups.cpp | 28 +++++++++++++++++++++++++++-
+ 1 files changed, 27 insertions(+), 1 deletions(-)
+
+commit c581d3303f4d49fbe076f7e0de1ace4fb339c635
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 01:13:46 2009 -0300
+
+ roster-groups example: Added tests for contact list group creation.
+
+ tests/dbus/conn-roster-groups.cpp | 22 +++++++++++++++++++++-
+ 1 files changed, 21 insertions(+), 1 deletions(-)
+
+commit b23858efb0ea5f62670342f4102303f76214a97f
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jul 23 01:11:13 2009 -0300
+
+ ContactManager: Create empty contact list groups using CreateChannel instead of RequestHandles.
+
+ TelepathyQt4/contact-manager.cpp | 16 ++++++++++++++++
+ 1 files changed, 16 insertions(+), 0 deletions(-)
+
+commit 067fc084b451c04c197b62197901be18067f5c38
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 19:38:46 2009 -0300
+
+ roster-groups example: Added initial test cases for roster groups support.
+
+ tests/dbus/Makefile.am | 5 +
+ tests/dbus/conn-roster-groups.cpp | 204 +++++++++++++++++++++++++++++++++++++
+ 2 files changed, 209 insertions(+), 0 deletions(-)
+
+commit 15097d730cf5e6cfac0bef0f5de34af9fbada222
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 19:37:44 2009 -0300
+
+ Merge 'contactlist' example CM from latest tp-glib.
+
+ tests/lib/contactlist/conn.c | 9 ++++-----
+ tests/lib/contactlist/contact-list-manager.c | 18 ++++++++----------
+ tests/lib/contactlist/contact-list.c | 5 ++++-
+ 3 files changed, 16 insertions(+), 16 deletions(-)
+
+commit 90d0f4b64c3561b22a577af2a9f648f8751ec29f
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 16:16:23 2009 -0300
+
+ Contact: Cache contact list groups.
+
+ TelepathyQt4/contact-manager.cpp | 19 +++++--------------
+ TelepathyQt4/contact.cpp | 15 ++++++++++-----
+ 2 files changed, 15 insertions(+), 19 deletions(-)
+
+commit ffc0fc412f0e545671220e370ac1e1abf0d82cab
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 16:08:54 2009 -0300
+
+ ContactManager: Added membersAdded/removed to groupMembersChanged signal.
+
+ TelepathyQt4/contact-manager.cpp | 4 ++--
+ TelepathyQt4/contact-manager.h | 4 +++-
+ 2 files changed, 5 insertions(+), 3 deletions(-)
+
+commit 7bc0865c692591cee8de670cef3263dcbf47cdbc
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 16:06:51 2009 -0300
+
+ ContactManager: Renamed groupChanged signal to groupMembersChanged.
+
+ TelepathyQt4/contact-manager.cpp | 2 +-
+ TelepathyQt4/contact-manager.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit c48f9e6f0872c90d9103b0d5b865259d502e2b0a
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 16:03:54 2009 -0300
+
+ ContactManager: Update contacts when contact list group changes.
+
+ TelepathyQt4/contact-manager.cpp | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+commit 0b0974171f4b1598c4d3537080810f24ec00f26a
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 16:01:57 2009 -0300
+
+ ContactManager: Added groupChanged signal.
+
+ TelepathyQt4/contact-manager.cpp | 27 +++++++++++++++++++++++++++
+ TelepathyQt4/contact-manager.h | 7 +++++++
+ 2 files changed, 34 insertions(+), 0 deletions(-)
+
+commit aa13ae102cc84579ecad19ea930c7e898caea6b0
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 15:55:50 2009 -0300
+
+ ContactManager: Refactor common code for setting/adding contact list groups.
+
+ TelepathyQt4/contact-manager.cpp | 27 +++++++++++++--------------
+ 1 files changed, 13 insertions(+), 14 deletions(-)
+
+commit 36159173b7fa4359eefdea75e8abbe3c8a3c9a61
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 15:53:48 2009 -0300
+
+ ContactManager: Added Private::parent member.
+
+ TelepathyQt4/contact-manager.cpp | 7 ++++---
+ 1 files changed, 4 insertions(+), 3 deletions(-)
+
+commit 6b9411d1de738ab31a00b000b17aac76b3ee170c
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 15:49:18 2009 -0300
+
+ Contact: Added removedFromGroup signal.
+
+ TelepathyQt4/contact.cpp | 5 +++++
+ TelepathyQt4/contact.h | 2 ++
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+commit d502906d83ebeaa4adee0873e77a3a112d6610f2
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 15:48:34 2009 -0300
+
+ Contact: Added addedToGroup signal.
+
+ TelepathyQt4/contact.cpp | 5 +++++
+ TelepathyQt4/contact.h | 4 ++++
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+commit cd89d66766abc0a268ecee4a387ee319ec459496
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 15:40:17 2009 -0300
+
+ ContactManager: Added some docs.
+
+ TelepathyQt4/contact-manager.cpp | 75 ++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 75 insertions(+), 0 deletions(-)
+
+commit fc45705cc12c3561e880fc29d3f6e3be16b9c52d
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 15:40:06 2009 -0300
+
+ ContactManager: Fixed typo.
+
+ TelepathyQt4/contact-manager.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit c8f5de2fbba05ed89d8773fd16573162682e99f2
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 05:02:32 2009 -0300
+
+ Contact: Added groups method.
+
+ TelepathyQt4/contact.cpp | 7 +++++++
+ TelepathyQt4/contact.h | 1 +
+ 2 files changed, 8 insertions(+), 0 deletions(-)
+
+commit 61df6c5bb4482e91a39c64251b4381cd83f4bc4c
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 05:01:53 2009 -0300
+
+ ContactManager: Added contactGroups method.
+
+ TelepathyQt4/contact-manager.cpp | 22 ++++++++++++++++++++++
+ TelepathyQt4/contact-manager.h | 1 +
+ 2 files changed, 23 insertions(+), 0 deletions(-)
+
+commit 2f2fc99ce343e9f7ab8ed5b7b6762ea6a53d7a6f
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 04:52:55 2009 -0300
+
+ Contact: Added removeFromGroup support.
+
+ TelepathyQt4/contact.cpp | 8 ++++++++
+ TelepathyQt4/contact.h | 1 +
+ 2 files changed, 9 insertions(+), 0 deletions(-)
+
+commit 5907815d3db0be0ff39e83adba37dca19af96da3
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 04:51:53 2009 -0300
+
+ Contact: Added addToGroup method.
+
+ TelepathyQt4/contact.cpp | 8 ++++++++
+ TelepathyQt4/contact.h | 2 ++
+ 2 files changed, 10 insertions(+), 0 deletions(-)
+
+commit 61e463a9cb319d2672a6faabcc9b1bf1db19df07
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 04:43:30 2009 -0300
+
+ ContactManager: Added removeGroup method.
+
+ TelepathyQt4/contact-manager.cpp | 11 +++++++++++
+ TelepathyQt4/contact-manager.h | 1 +
+ 2 files changed, 12 insertions(+), 0 deletions(-)
+
+commit ec438050ae8227ff397e622d956fe1516e2faece
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 04:39:32 2009 -0300
+
+ COntactManager: Added addGroup method.
+
+ TelepathyQt4/contact-manager.cpp | 11 +++++++++++
+ TelepathyQt4/contact-manager.h | 2 ++
+ 2 files changed, 13 insertions(+), 0 deletions(-)
+
+commit bc147a99943a3c01024a5feb861b2442effc992b
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 04:30:51 2009 -0300
+
+ ContactManager: Added groupRemoveContacts method.
+
+ TelepathyQt4/contact-manager.cpp | 12 ++++++++++++
+ TelepathyQt4/contact-manager.h | 2 ++
+ 2 files changed, 14 insertions(+), 0 deletions(-)
+
+commit f8a49b53b4b19b07ae5a64192548695221631cac
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 04:28:52 2009 -0300
+
+ ContactManager: Added groupAddContacts method.
+
+ TelepathyQt4/contact-manager.cpp | 12 ++++++++++++
+ TelepathyQt4/contact-manager.h | 2 ++
+ 2 files changed, 14 insertions(+), 0 deletions(-)
+
+commit a709d85b2ec56d680d04e5d66b2906c4bb43c6ba
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 04:17:46 2009 -0300
+
+ ContactManager: Added groupRemoved signal.
+
+ TelepathyQt4/contact-manager.cpp | 26 ++++++++++++++++++++++----
+ TelepathyQt4/contact-manager.h | 4 ++++
+ 2 files changed, 26 insertions(+), 4 deletions(-)
+
+commit b6bd35b5368d4f296604153f93f620809b75f92b
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 04:07:32 2009 -0300
+
+ ContactManager: Added groupContacts method.
+
+ TelepathyQt4/contact-manager.cpp | 10 ++++++++++
+ TelepathyQt4/contact-manager.h | 2 ++
+ 2 files changed, 12 insertions(+), 0 deletions(-)
+
+commit 059c481a59b59632dcc502fbaabb3c8f9caedd30
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 03:57:44 2009 -0300
+
+ ContactManager: Added groupAdded signal.
+
+ TelepathyQt4/contact-manager.cpp | 3 ++-
+ TelepathyQt4/contact-manager.h | 1 +
+ 2 files changed, 3 insertions(+), 1 deletions(-)
+
+commit f5d6bd163f261a718f27401a1c989bc8d985015a
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 03:53:18 2009 -0300
+
+ Connection: Added initial roster groups support.
+
+ TelepathyQt4/connection.cpp | 102 ++++++++++++++++++++++++++++++++++++++
+ TelepathyQt4/connection.h | 4 ++
+ TelepathyQt4/contact-manager.cpp | 32 ++++++++++++
+ TelepathyQt4/contact-manager.h | 4 ++
+ 4 files changed, 142 insertions(+), 0 deletions(-)
+
+commit 743c8b2d037e55118201b1a297e4111fcb614bf7
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Wed Jul 22 03:14:17 2009 -0300
+
+ ContactManager: Follow name convention when dealing with contact lists channels.
+
+ TelepathyQt4/connection.cpp | 2 +-
+ TelepathyQt4/contact-manager.cpp | 2 +-
+ TelepathyQt4/contact-manager.h | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 4a0f88b7c41883edb352a167034da22cd6ab7e6f
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Tue Jul 21 14:02:36 2009 -0300
+
+ PendingOperation: Fixed debug when trying to finish a PendingOperation already finished.
+
+ TelepathyQt4/pending-operation.cpp | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit cb6d8a6c408216003013defec8f7e749aaec6e98
+Author: George Goldberg <george.goldberg@collabora.co.uk>
+Date: Mon Jul 20 19:55:26 2009 +0100
+
+ Fix smcv review comments on Account::setAutomaticPresence() and Account::automaticPresence().
+
+ TelepathyQt4/account.cpp | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+commit 86459043729824144c213917f1c9a6ea1fe440f6
+Author: George Goldberg <george.goldberg@collabora.co.uk>
+Date: Mon Jul 20 19:53:23 2009 +0100
+
+ Fix smcv review comments on Account::connection() api-docs.
+
+ TelepathyQt4/account.cpp | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 267324d505a0f70b4f39b70531dc7efba156e647
+Author: George Goldberg <george.goldberg@collabora.co.uk>
+Date: Mon Jul 13 13:08:56 2009 +0100
+
+ API doc fixes for Account::setAutomaticPresence().
+
+ TelepathyQt4/account.cpp | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 57bb9835c1fcf6702219aabd4645ec9835e5083c
+Author: George Goldberg <george.goldberg@collabora.co.uk>
+Date: Mon Jul 13 13:06:40 2009 +0100
+
+ API doc fixes for Account::automaticPresence().
+
+ TelepathyQt4/account.cpp | 7 ++++---
+ 1 files changed, 4 insertions(+), 3 deletions(-)
+
+commit e695ca204cdfe1a5f144770303de653fff6156be
+Author: George Goldberg <george.goldberg@collabora.co.uk>
+Date: Mon Jul 13 13:04:33 2009 +0100
+
+ grammar++
+
+ TelepathyQt4/account.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 38f3cf9f6940803da7830524ca919dbafbabeb62
+Author: George Goldberg <george.goldberg@collabora.co.uk>
+Date: Mon Jul 13 13:02:54 2009 +0100
+
+ API doc fixes for Account::connection().
+
+ TelepathyQt4/account.cpp | 9 +++++----
+ 1 files changed, 5 insertions(+), 4 deletions(-)
+
+commit 304e033caca90bceb47b2201f7bb846474adb83e
+Merge: 1e0ee6b b389789
+Author: Olli Salli <olli.salli@collabora.co.uk>
+Date: Wed Jul 1 00:18:56 2009 +0300
+
+ Merge branch 'master' of dhansak:/srv/git.collabora.co.uk/git/telepathy-qt4
+
+commit 1e0ee6b134e40a9ad22f8fddcbba426f184d61cd
+Author: Olli Salli <olli.salli@collabora.co.uk>
+Date: Wed Jul 1 00:16:29 2009 +0300
+
+ Correctly order constructors before the members in pimpl structs
+
+ TelepathyQt4/channel.cpp | 6 +++---
+ TelepathyQt4/connection-manager.cpp | 16 ++++++++--------
+ TelepathyQt4/readiness-helper.cpp | 14 +++++++-------
+ 3 files changed, 18 insertions(+), 18 deletions(-)
+
+commit 249a0eb6fef452275abaf8c399e3141931ec51dd
+Author: Olli Salli <XXX CHANGE THIS INVALID ADDRESS TO SOMETHING SENSIBLE WHEN WORKING ON A NEW REPO XXX>
+Date: Tue Jun 30 23:56:55 2009 +0300
+
+ Use a private implementation for ReadinessHelper::Introspectable
+
+ TelepathyQt4/readiness-helper.cpp | 71 ++++++++++++++++++++++++++++++++-----
+ TelepathyQt4/readiness-helper.h | 31 +++++-----------
+ 2 files changed, 72 insertions(+), 30 deletions(-)
+
+commit b389789e70ee8b793ad7e168bffe0556bae2acbe
+Merge: 44ca148 7ee7879
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Tue Jun 30 17:43:53 2009 -0300
+
+ Merge branch 'manager-file'
+
+ Reviewed-by: Olli Salli <olli.salli@collabora.co.uk>
+
+commit aadc4e229c5efa46f200058768c531f07b6223c3
+Author: Olli Salli <XXX CHANGE THIS INVALID ADDRESS TO SOMETHING SENSIBLE WHEN WORKING ON A NEW REPO XXX>
+Date: Tue Jun 30 23:04:51 2009 +0300
+
+ Use fully private implementation in ProtocolInfo
+
+ TelepathyQt4/connection-manager.cpp | 23 ++++++++++++++++-------
+ TelepathyQt4/connection-manager.h | 6 ++----
+ 2 files changed, 18 insertions(+), 11 deletions(-)
+
+commit 5514377e713d91d45be6a57f4993b447317becef
+Author: Olli Salli <XXX CHANGE THIS INVALID ADDRESS TO SOMETHING SENSIBLE WHEN WORKING ON A NEW REPO XXX>
+Date: Tue Jun 30 22:51:21 2009 +0300
+
+ Use a private implementation in ProtocolParameter
+
+ TelepathyQt4/connection-manager.cpp | 53 ++++++++++++++++++++++++++++------
+ TelepathyQt4/connection-manager.h | 13 ++------
+ 2 files changed, 47 insertions(+), 19 deletions(-)
+
+commit 1475b1b06fbd6bf6baae7ae6722c008c2b37b924
+Author: Olli Salli <XXX CHANGE THIS INVALID ADDRESS TO SOMETHING SENSIBLE WHEN WORKING ON A NEW REPO XXX>
+Date: Tue Jun 30 21:51:41 2009 +0300
+
+ Use a private implementation for Channel::GroupMemberChangeDetails
+
+ TelepathyQt4/channel.cpp | 51 ++++++++++++++++++++++++++++++++++++++++++++++
+ TelepathyQt4/channel.h | 41 +++++++++++++++++++-----------------
+ 2 files changed, 73 insertions(+), 19 deletions(-)
+
+commit 7ee78798ae6f18329f5693fc1985f5dcb0c761df
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Tue Jun 30 15:01:27 2009 -0300
+
+ manager-file test: Use a more descriptive name for invalid test manager files.
+
+ tests/manager-file.cpp | 4 +-
+ .../test-manager-file-invalid-signature.manager | 86 ++++++++++++++++++++
+ .../managers/test-manager-file-invalid.manager | 4 -
+ .../managers/test-manager-file-invalid2.manager | 86 --------------------
+ .../test-manager-file-malformed-keyfile.manager | 4 +
+ 5 files changed, 92 insertions(+), 92 deletions(-)
+
+commit cc135eabe32404b8f61886aee57d9c67d5d3f8f7
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Tue Jun 30 14:45:26 2009 -0300
+
+ Fixed bug 20082: KeyFile: double (and other types?) not correctly tested.
+
+ TelepathyQt4/manager-file.cpp | 13 +++-
+ tests/manager-file.cpp | 3 +
+ .../managers/test-manager-file-invalid2.manager | 86 ++++++++++++++++++++
+ tests/telepathy/managers/test-manager-file.manager | 2 +-
+ 4 files changed, 101 insertions(+), 3 deletions(-)
+
+commit dbf6e0ba2c23eb0b7c041df22759583dca2eaf75
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Tue Jun 30 14:22:28 2009 -0300
+
+ Fixed bug 20080: KeyFile: ";" as a list may be mis-parsed.
+
+ Actually this was not a bug, just improving test coverage.
+
+ tests/manager-file.cpp | 8 ++++++++
+ tests/telepathy/managers/test-manager-file.manager | 6 +++++-
+ 2 files changed, 13 insertions(+), 1 deletions(-)
+
+commit 44ca14846974cf68fc06bd4430db2aff927f6ca9
+Merge: 71460dc 12d6826
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Tue Jun 30 14:28:27 2009 -0300
+
+ Merge branch 'connection'
+
+ Reviewed-by: Olli Salli <olli.salli@collabora.co.uk>
+
+commit 71460dc81dc2a4e1ddd27eccf1c435dcc63a43c8
+Merge: 1b1dac4 bd97c2a
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Tue Jun 30 14:27:36 2009 -0300
+
+ Merge branch 'client'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit bd97c2adb150afe0a9ff72c1213ad20279b87661
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Tue Jun 30 14:09:29 2009 -0300
+
+ client test: Use full-qualified name for properties when calling AddDispatchOperation.
+
+ tests/dbus/client.cpp | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 12d682660f1d4d3606caf4a456a3a35e80d0ab29
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Tue Jun 30 14:07:12 2009 -0300
+
+ Fixed bug 20268: Connection's selfContact object should initially have no features.
+
+ TelepathyQt4/connection.cpp | 5 +----
+ tests/dbus/contacts.cpp | 10 +++++++++-
+ 2 files changed, 10 insertions(+), 5 deletions(-)
+
+commit 1b1dac433143db0e229d3bf93a48b1838100b87c
+Merge: 49d331a c630111
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 16:04:49 2009 -0300
+
+ Merge branch 'cdo'
+
+ Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+
+commit c630111a1399687da57d0ea6116850afc9d46c3a
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 15:37:43 2009 -0300
+
+ ChannelDispatchOperation: Improved docs.
+
+ TelepathyQt4/channel-dispatch-operation.cpp | 38 +++++++++++++++++++++++++++
+ 1 files changed, 38 insertions(+), 0 deletions(-)
+
+commit f10f6159d7ba5d772e6620ba97e969190bcb64de
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 14:40:48 2009 -0300
+
+ ChannelDispatchOperation: Handle Finished signal.
+
+ Emit invalidated with TELEPATHY_QT4_ERROR_OBJECT_REMOVED when
+ ChannelDispatchOperation.Finished is received.
+
+ TelepathyQt4/channel-dispatch-operation.cpp | 11 +++++++++++
+ TelepathyQt4/channel-dispatch-operation.h | 1 +
+ TelepathyQt4/constants.h | 8 ++++++++
+ 3 files changed, 20 insertions(+), 0 deletions(-)
+
+commit 49d331aa7d7ff94b03552efeb7f5fb4a1cca4a66
+Merge: c70b926 b920ee3
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 14:29:44 2009 -0300
+
+ Merge branch 'client-bugfix'
+
+ Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+
+commit c70b926f92a6035557fa9bb0d500937a1c5f0068
+Merge: 0362c26 cd0ac8a
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 14:26:52 2009 -0300
+
+ Merge branch 'standardization'
+
+ Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+
+commit cd0ac8a8660d2a2532dcf4abdd7b1fae247a8722
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 13:41:53 2009 -0300
+
+ Updated HACKING file.
+
+ HACKING | 17 +++++++++++++++++
+ 1 files changed, 17 insertions(+), 0 deletions(-)
+
+commit ef8183837721c8225f4300a98008e564279fb759
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 13:36:33 2009 -0300
+
+ TextChannel: Added virtual dtor.
+
+ TelepathyQt4/text-channel.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit d801af6fc4abd0ff2a35a474652f96133bcf899c
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 13:36:21 2009 -0300
+
+ StreamedMediaChannel: Added virtual dtor.
+
+ TelepathyQt4/streamed-media-channel.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit e02c5992fe58bd648d28919f0b90cab62a687a8d
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 13:36:13 2009 -0300
+
+ RoomList: Added virtual dtor.
+
+ TelepathyQt4/room-list.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 50c80b81bd438dd3952a01ad9223e76f41c841d3
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 13:36:02 2009 -0300
+
+ FileTransfer: Added virtual dtor.
+
+ TelepathyQt4/file-transfer.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit f884aa41fd3a50cb135cfca7f5531fe60b101f32
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 13:35:51 2009 -0300
+
+ Connection: Added virtual dtor.
+
+ TelepathyQt4/connection.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit b359b0c9446f70d9677afad556a7da85e86f2205
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 13:35:43 2009 -0300
+
+ ConnectionManager: Added virtual dtor.
+
+ TelepathyQt4/connection-manager.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 0f72b9a4c22aa69296509cb3e0c06fe635fc5d16
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 13:35:32 2009 -0300
+
+ Channel: Added virtual dtor.
+
+ TelepathyQt4/channel.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit e9d2f273f81abf660f42dab6018d36d596c5ae70
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 13:35:19 2009 -0300
+
+ ChannelRequest: Added virtual dtor.
+
+ TelepathyQt4/channel-request.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 1c15fdc09c1c982a2efe2db32f8698dd123f296e
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 13:35:04 2009 -0300
+
+ ChannelDispatchOperation: Added virtual dtor.
+
+ TelepathyQt4/channel-dispatch-operation.h | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 09a071bdf8f27f1dd26711bac33eae3f94c4e807
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:39:00 2009 -0300
+
+ SimplePendingOperations: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/simple-pending-operations.h | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit d7839477e622d517354e3266cdcbd492c5470fb9
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:38:42 2009 -0300
+
+ ReferencedHandles: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/referenced-handles.h | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 1f0c89165b63dd53e0ec4b60fe918d4c5dc1ccfa
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:38:17 2009 -0300
+
+ ReadinessHelper: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/readiness-helper.h | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 84c51414b16cac0279fa926253a4c5461c18d39a
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:37:58 2009 -0300
+
+ PendingStringList: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/pending-string-list.h | 3 +--
+ 1 files changed, 1 insertions(+), 2 deletions(-)
+
+commit 4f803b2f5996b9940cd8a2f843e3106d5aed0893
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:37:31 2009 -0300
+
+ PendingReady: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/pending-ready.h | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit c2bf92bf1bdeac399bbcb6a5538e5fd6a5e4c2f2
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:37:04 2009 -0300
+
+ PendingOperation: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/pending-operation.h | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit e16bf119796a095f98b3e32c426c14dd5b2bc1ed
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:36:54 2009 -0300
+
+ PendingContacts: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/pending-contacts.h | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 2b088609b0a7c19013d6de2cd9bd2884c0e1007d
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:36:40 2009 -0300
+
+ PendingContactAttributes: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/pending-contact-attributes.h | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+commit fd6e404b71d6b41a4bfdc0c42813a2bc7d98d0b1
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:36:25 2009 -0300
+
+ PendingConnection: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/pending-connection.h | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 5a9a4b55672ddf402fea035507bee943bdc72201
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:35:52 2009 -0300
+
+ PendingAccount: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/pending-account.h | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 02592e3a83ccdfb942839c7b7d8abf11f7f440b8
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:35:36 2009 -0300
+
+ OptionalInterfaceFactory: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/optional-interface-factory.h | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit 331eac0c561f67386311fb5790938a903a0bfd84
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:34:41 2009 -0300
+
+ Message: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/message.h | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+commit a18cf503a4a10ea134abac7720d6a143300741d9
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:34:27 2009 -0300
+
+ ManagerFile: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/manager-file.h | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+commit 90a6a47ef081daf75976100f7e511f6430d7a9cc
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:34:17 2009 -0300
+
+ KeyFile: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/key-file.h | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit ed82eff0658a1d0b8ce8625205d76bdea699099a
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:34:04 2009 -0300
+
+ DBusProxy: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/dbus-proxy.h | 10 ++++++----
+ 1 files changed, 6 insertions(+), 4 deletions(-)
+
+commit 105b39302cfe18d4009e418f630c79a26d8f65c5
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:33:51 2009 -0300
+
+ Contact: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/contact.h | 3 +--
+ 1 files changed, 1 insertions(+), 2 deletions(-)
+
+commit f666f517a181983bb53e07540c72b30d3ea03d26
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:33:45 2009 -0300
+
+ ContactManager: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/contact-manager.h | 6 ++++--
+ 1 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 2287cebd901bad4040e6d09f85f03e3b0196d556
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:33:29 2009 -0300
+
+ Connection: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/connection.h | 55 +++++++++++++++++++++-----------------------
+ 1 files changed, 26 insertions(+), 29 deletions(-)
+
+commit 2eacaea95b3e1098915b60f0824574553278ed1e
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:33:19 2009 -0300
+
+ ConnectionManager: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/connection-manager.h | 13 ++++++-------
+ 1 files changed, 6 insertions(+), 7 deletions(-)
+
+commit 08942879025b199aad4e624cddd6d929dc3aa14e
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:33:06 2009 -0300
+
+ Channel: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/channel.h | 58 +++++++++++++++++++++++------------------------
+ 1 files changed, 28 insertions(+), 30 deletions(-)
+
+commit 74468ae3523df407cb1474514b2c38c35a5738ac
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:21:32 2009 -0300
+
+ AccountManager: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/account-manager.h | 13 +++++++------
+ 1 files changed, 7 insertions(+), 6 deletions(-)
+
+commit bf3f8a4ce49cb665c6b09e326b4dc8682375457b
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 12:18:05 2009 -0300
+
+ AbstractInterface: Standardize class definition.
+
+ - Moved public xxxInterface methods definition to the end of the public methods
+ declaration.
+ - Added friend struct Private declaration.
+ - Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ - Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ - Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ - Moved friend class xxx definitions to be placed right bellow private keyword.
+
+ TelepathyQt4/abstract-interface.h | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit b920ee3bbac534633c833eb463df06170fc16f10
+Author: George Kiagiadakis <kiagiadakis.george@gmail.com>
+Date: Mon Jun 29 11:02:51 2009 -0300
+
+ ClientApproverAdaptor: Use the dbus qualified name to get the connection property.
+
+ Patch from George Kiagiadakis <kiagiadakis.george@gmail.com>.
+
+ Signed-off-by: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+
+ TelepathyQt4/client-registrar.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 0362c261c4e6661d7b63a7e7ebc6e72ca919211c
+Merge: b795c8a 521a3e3
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 10:47:20 2009 -0300
+
+ Merge branch 'prototype-no-more'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit b795c8a7e806e4307aa8f726b5f5fba8000fd95a
+Merge: 433ff55 4053eac
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 10:45:38 2009 -0300
+
+ Merge branch 'optional-interface-factory'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit 433ff55894c36cdd137fadc50cc57434a47b6090
+Merge: 66cbd19 ecd3a1c
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 29 10:43:14 2009 -0300
+
+ Merge branch 'coding-style'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit 521a3e33dc73e1ad98fdf4d5fbe78c8c253aee5c
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 22 01:40:53 2009 -0300
+
+ Removed Prototype library.
+
+ TelepathyQt4/Makefile.am | 6 +-
+ TelepathyQt4/Prototype/Account.cpp | 285 -----
+ TelepathyQt4/Prototype/Account.h | 173 ---
+ TelepathyQt4/Prototype/AccountManager.cpp | 390 -------
+ TelepathyQt4/Prototype/AccountManager.h | 166 ---
+ TelepathyQt4/Prototype/AvatarManager.cpp | 320 ------
+ TelepathyQt4/Prototype/AvatarManager.h | 174 ---
+ TelepathyQt4/Prototype/CapabilitiesManager.cpp | 321 ------
+ TelepathyQt4/Prototype/CapabilitiesManager.h | 129 ---
+ TelepathyQt4/Prototype/ChatChannel.cpp | 243 ----
+ TelepathyQt4/Prototype/ChatChannel.h | 119 --
+ TelepathyQt4/Prototype/Client/ChannelHandler | 6 -
+ TelepathyQt4/Prototype/Client/StreamEngine | 6 -
+ TelepathyQt4/Prototype/Connection.cpp | 439 -------
+ TelepathyQt4/Prototype/Connection.h | 256 -----
+ TelepathyQt4/Prototype/ConnectionFacade.cpp | 266 -----
+ TelepathyQt4/Prototype/ConnectionFacade.h | 143 ---
+ TelepathyQt4/Prototype/Constants | 6 -
+ TelepathyQt4/Prototype/Contact.cpp | 191 ----
+ TelepathyQt4/Prototype/Contact.h | 247 ----
+ TelepathyQt4/Prototype/ContactManager.cpp | 1145 -------------------
+ TelepathyQt4/Prototype/ContactManager.h | 351 ------
+ TelepathyQt4/Prototype/DBusInterface.cpp | 49 -
+ TelepathyQt4/Prototype/DBusInterface.h | 51 -
+ TelepathyQt4/Prototype/Makefile.am | 198 ----
+ TelepathyQt4/Prototype/PresenceManager.cpp | 623 ----------
+ TelepathyQt4/Prototype/PresenceManager.h | 151 ---
+ TelepathyQt4/Prototype/Stream_Engine.xml | 44 -
+ TelepathyQt4/Prototype/StreamedMediaChannel.cpp | 855 --------------
+ TelepathyQt4/Prototype/StreamedMediaChannel.h | 436 -------
+ TelepathyQt4/Prototype/TpQt4Prototype.pc.in | 11 -
+ TelepathyQt4/Prototype/Types | 6 -
+ TelepathyQt4/Prototype/all.xml | 10 -
+ TelepathyQt4/Prototype/channel-handler.xml | 9 -
+ TelepathyQt4/Prototype/cli-channel-handler.cpp | 23 -
+ TelepathyQt4/Prototype/cli-channel-handler.h | 27 -
+ TelepathyQt4/Prototype/cli-stream-engine.cpp | 23 -
+ TelepathyQt4/Prototype/cli-stream-engine.h | 27 -
+ TelepathyQt4/Prototype/constants.h | 27 -
+ TelepathyQt4/Prototype/stream-engine.xml | 9 -
+ TelepathyQt4/Prototype/types.cpp | 22 -
+ TelepathyQt4/Prototype/types.h | 27 -
+ configure.ac | 7 -
+ tests/Makefile.am | 3 +-
+ tests/prototype/Makefile.am | 61 -
+ tests/prototype/avatar.png | Bin 7657 -> 0 bytes
+ tests/prototype/prototype.cpp | 1394 -----------------------
+ tests/prototype/prototype.h | 145 ---
+ 48 files changed, 4 insertions(+), 9616 deletions(-)
+
+commit 4053eace392da07410bb050f675ed48fcf47674b
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 22 01:23:11 2009 -0300
+
+ OptionalInterfaceFactory: Added optionalInterface method.
+
+ Moved optionalInterface method to OptionalInterfaceFactory removing
+ duplicated code.
+
+ TelepathyQt4/account.h | 14 --------------
+ TelepathyQt4/channel-dispatch-operation.h | 13 -------------
+ TelepathyQt4/channel-request.h | 13 -------------
+ TelepathyQt4/channel.h | 13 -------------
+ TelepathyQt4/connection.h | 14 --------------
+ TelepathyQt4/optional-interface-factory.h | 14 ++++++++++++++
+ 6 files changed, 14 insertions(+), 67 deletions(-)
+
+commit 0aadfca5d399a1bd7f67dd8c910aa025e4275642
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 22 01:18:13 2009 -0300
+
+ OptionalInterfaceFactory: Moved InterfaceSupportedChecking enum to OptionalInterfaceFactory.
+
+ Continue preparation for moving optionalInterface method to OptionalInterfaceFactory.
+
+ TelepathyQt4/dbus-proxy.h | 7 -------
+ TelepathyQt4/optional-interface-factory.h | 6 ++++++
+ 2 files changed, 6 insertions(+), 7 deletions(-)
+
+commit 69cd75a4dad05cd9ee443af0573f2f3d5da8f737
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Mon Jun 22 01:14:17 2009 -0300
+
+ OptionalInterfaceFactory: Added public interfaces and protected setInterfaces method.
+
+ Moved interfaces method to OptionalInterfaceFactory so it does not need to be
+ duplicated around every class.
+ This is also a preparation for moving optionalInterface method to
+ OptionalInterfaceFactory.
+
+ TelepathyQt4/account-manager.cpp | 13 +-----
+ TelepathyQt4/account-manager.h | 4 +-
+ TelepathyQt4/account.cpp | 14 ++----
+ TelepathyQt4/account.h | 4 +-
+ TelepathyQt4/channel-dispatch-operation.cpp | 8 +---
+ TelepathyQt4/channel-dispatch-operation.h | 4 +-
+ TelepathyQt4/channel-request.cpp | 8 +---
+ TelepathyQt4/channel-request.h | 4 +-
+ TelepathyQt4/channel.cpp | 65 +++++++-------------------
+ TelepathyQt4/channel.h | 3 +-
+ TelepathyQt4/connection-manager-internal.h | 1 -
+ TelepathyQt4/connection-manager.cpp | 9 +---
+ TelepathyQt4/connection-manager.h | 4 +-
+ TelepathyQt4/connection.cpp | 34 +++-----------
+ TelepathyQt4/connection.h | 4 +-
+ TelepathyQt4/optional-interface-factory.cpp | 8 +++
+ TelepathyQt4/optional-interface-factory.h | 14 +++++-
+ 17 files changed, 62 insertions(+), 139 deletions(-)
+
+commit ecd3a1cdb2f8c07a58d360404f3c95507f0ebc0c
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 13:28:02 2009 -0300
+
+ KeyFile: Updated copyright.
+
+ TelepathyQt4/key-file.cpp | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 4c34374192778dd4fb7599fd85069dc56b3154af
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:17:04 2009 -0300
+
+ KeyFile: Changed Q_FOREACH to foreach.
+
+ TelepathyQt4/key-file.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 49b1fd6fafd13529af46e2a3067481e260c0219e
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 13:27:52 2009 -0300
+
+ ManagerFile: Updated copyright.
+
+ TelepathyQt4/manager-file.cpp | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 331c6635ecc194af2c6c4719101935a87d92a6e3
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:16:48 2009 -0300
+
+ ManagerFile: Changed Q_FOREACH to foreach.
+
+ TelepathyQt4/manager-file.cpp | 12 ++++++------
+ 1 files changed, 6 insertions(+), 6 deletions(-)
+
+commit e47a716bcabb078edb064cca31d29d2649e340b0
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 13:04:46 2009 -0300
+
+ debug: Updated copyright.
+
+ TelepathyQt4/debug.cpp | 4 ++--
+ TelepathyQt4/debug.h | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit a5941e8a216ca8f33c9553dbbfe5aab0fad2a314
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:42:44 2009 -0300
+
+ debug: Moved docs to source file.
+
+ TelepathyQt4/debug.cpp | 39 +++++++++++++++++++++++++++++++++++++++
+ TelepathyQt4/debug.h | 36 ------------------------------------
+ 2 files changed, 39 insertions(+), 36 deletions(-)
+
+commit 1fa03cf710307f78bf8a468c8c8a8e7eda76dde2
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:50:32 2009 -0300
+
+ PendingOperation: Updated copyright.
+
+ TelepathyQt4/pending-operation.cpp | 4 ++--
+ TelepathyQt4/pending-operation.h | 4 ++--
+ TelepathyQt4/simple-pending-operations.h | 4 ++--
+ 3 files changed, 6 insertions(+), 6 deletions(-)
+
+commit 5a8d44a1d66926c7ba877383a702d4f0f0cfb32b
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:49:53 2009 -0300
+
+ PendingOperation: Moved docs to source file.
+
+ TelepathyQt4/pending-operation.cpp | 145 +++++++++++++++++++++++++++++-
+ TelepathyQt4/pending-operation.h | 103 ---------------------
+ TelepathyQt4/simple-pending-operations.h | 24 -----
+ 3 files changed, 144 insertions(+), 128 deletions(-)
+
+commit 9f7d132f4225c780575a991db1dfb0b429a33258
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:42:54 2009 -0300
+
+ PendingOperation: Fixed coding-style.
+
+ TelepathyQt4/pending-operation.cpp | 82 ++++++++++++------------------
+ TelepathyQt4/pending-operation.h | 8 ++--
+ TelepathyQt4/simple-pending-operations.h | 10 ++--
+ 3 files changed, 41 insertions(+), 59 deletions(-)
+
+commit 73a33b10c7d4d01522cb31b09d18da4b604748e4
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:28:22 2009 -0300
+
+ ReferencedHandles: Updated copyright.
+
+ TelepathyQt4/referenced-handles.cpp | 4 ++--
+ TelepathyQt4/referenced-handles.h | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit be215fa7428da5c620e5b31e71f5761ec3ec2a11
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:26:22 2009 -0300
+
+ ReferencedHandles: Moved docs to source file.
+
+ TelepathyQt4/referenced-handles.cpp | 38 +++++++++++++++++++++++++++++++++++
+ TelepathyQt4/referenced-handles.h | 37 ----------------------------------
+ 2 files changed, 38 insertions(+), 37 deletions(-)
+
+commit a9e188e39f4e8c540efb17fbe399f037423f928b
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:14:57 2009 -0300
+
+ ReferencedHandles: Fixed coding-style.
+
+ TelepathyQt4/referenced-handles.cpp | 79 ++++++----
+ TelepathyQt4/referenced-handles.h | 302 +++++++++++++++++-----------------
+ 2 files changed, 197 insertions(+), 184 deletions(-)
+
+commit 90b4d9d1e9d568d6cd5a5b49b95f85092c83481a
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:24:12 2009 -0300
+
+ OptionalInterfaceFactory: Updated copyright.
+
+ TelepathyQt4/optional-interface-factory.cpp | 4 ++--
+ TelepathyQt4/optional-interface-factory.h | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+commit b35e2450bb48b8d404730da094fb620079dbaa51
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:23:17 2009 -0300
+
+ OptionalInterfaceFactory: Move docs to source file.
+
+ TelepathyQt4/optional-interface-factory.cpp | 76 +++++++++++++++++++++++++++
+ TelepathyQt4/optional-interface-factory.h | 66 -----------------------
+ 2 files changed, 76 insertions(+), 66 deletions(-)
+
+commit 7a8424d9776563e3757908c41183da7e21f274f7
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:14:10 2009 -0300
+
+ OptionalInterfaceFactory: Fixed coding-style.
+
+ TelepathyQt4/optional-interface-factory.h | 156 ++++++++++++++--------------
+ 1 files changed, 78 insertions(+), 78 deletions(-)
+
+commit 1127652f4436bc1bfdc1e3a0756d4e52bdaba273
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:27:47 2009 -0300
+
+ ContactManager: Updated copyright.
+
+ TelepathyQt4/contact-manager.cpp | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 6af94694bed5fea9a897921c5a4233aa7c371d95
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: Thu Jun 18 12:13:03 2009 -0300
+
+ ContactManager: Fixed coding-style.
+
+ TelepathyQt4/contact-manager.h | 231 ++++++++++++++++++++-------------------
+ 1 files changed, 118 insertions(+), 113 deletions(-)
+
+commit 66cbd198e3af08a983f850248ec3cec7cf1591d3
+Author: George Goldberg <george.goldberg@collabora.co.uk>
+Date: Wed Jun 17 17:29:33 2009 +0100
+
+ Fix small error in apidocs example usage of AccountManager class.
+
+ TelepathyQt4/account-manager.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
commit eff6552b38d786755bcc78dd46a32f65f3897329
Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
Date: Tue Jun 16 13:23:14 2009 -0300
diff --git a/Makefile.in b/Makefile.in
index b1805fd..64c77eb 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -71,8 +71,8 @@ DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/tools/lcov.am $(srcdir)/tools/telepathy.am \
$(top_srcdir)/configure \
$(top_srcdir)/tests/dbus-1/services/account-manager.service.in \
- AUTHORS COPYING ChangeLog INSTALL NEWS config.guess config.sub \
- depcomp install-sh ltmain.sh missing
+ AUTHORS COPYING ChangeLog INSTALL NEWS TODO config.guess \
+ config.sub depcomp install-sh ltmain.sh missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/compiler.m4 \
@@ -239,7 +239,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PINOCCHIO = @PINOCCHIO@
PINOCCHIO_CTL = @PINOCCHIO_CTL@
PKG_CONFIG = @PKG_CONFIG@
-PROTO_CFLAGS = @PROTO_CFLAGS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
@@ -562,7 +561,7 @@ distclean-tags:
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
- $(mkdir_p) $(distdir)/. $(distdir)/TelepathyQt4 $(distdir)/TelepathyQt4/Prototype $(distdir)/doc $(distdir)/m4 $(distdir)/tests/dbus-1/services $(distdir)/tools
+ $(mkdir_p) $(distdir)/. $(distdir)/TelepathyQt4 $(distdir)/doc $(distdir)/m4 $(distdir)/tests/dbus-1/services $(distdir)/tools
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
diff --git a/NEWS b/NEWS
index 68241b4..6bd50b5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,60 @@
+telepathy-qt4 0.1.9 (2009-07-23)
+================================
+
+The "never too late" release.
+
+New API:
+
+* OptionalInterfaceFactory: Added methods interfaces and optionalInterface
+ and removed duplicated code in all OptionalInterfaceFactory subclasses.
+* Added ContactManager allKnownGroups, addGroup, removeGroup, groupContacts,
+ addContactsToGroup and removeContactsFromGroup methods.
+* Added ContactManager groupAdded, groupRemoved and groupMembersChanged signals.
+* Added Contact groups, addToGroup and removeFromGroup methods.
+* Added Contact addedToGroup and removedFromGroup signals.
+
+API changes:
+
+* Changed ProtocolParameter requiredForRegistration method to
+ isRequiredForRegistration to make it consistent with other bool returning
+ getters.
+
+Enhancements:
+
+* Changed all classes to follow coding-style.
+* Moved documentation to source file for all classes.
+* Standardize class definition in all classes:
+ * Moved public xxxInterface methods definition to the end of the public
+ methods declaration.
+ * Added friend struct Private declaration.
+ * Added Q_DISABLE_COPY(xxx) to all classes that can not be copied.
+ * Moved Q_DISABLE_COPY(xxx) declaration to the top of the class definition,
+ before the public keyword.
+ * Reorder public, protected, SIGNALS declaration as follows:
+ public
+ public Q_SLOTS
+ Q_SIGNALS
+ protected
+ protected Q_SLOTS
+ private Q_SLOTS
+ private
+ * Moved friend class xxx definitions to be placed right bellow private keyword.
+* ChannelDispatchOperation: Emit invalidated with
+ TELEPATHY_QT4_ERROR_OBJECT_REMOVED when ChannelDispatchOperation.Finished is
+ received.
+* Added/Improved some documentation.
+
+Fixes:
+
+* ClientApproverAdaptor: Use the dbus fully qualified name to get the connection
+ property (Patch from George Kiagiadakis <kiagiadakis.george@gmail.com>).
+* Fixed bug 20268: Connection's selfContact object should initially have no
+ features.
+* Fixed bug 20080: KeyFile: ";" as a list may be mis-parsed.
+* Fixed bug 20082: KeyFile: double (and other types?) not correctly tested.
+* Fixed bug 20353: No d-pointer in Channel::GroupMemberChangeDetails.
+* Fixed bug 20033: Contact / ContactList Group integration.
+
telepathy-qt4 0.1.8 (2009-06-16)
================================
diff --git a/TODO b/TODO
new file mode 100644
index 0000000..7ed2438
--- /dev/null
+++ b/TODO
@@ -0,0 +1,32 @@
+- Rename RoomList/FileTransfer to contain channel on the name
+- Contact:
+ - Add methods:
+ QStringList groups() *
+ PendingOperation *addToGroup(QString) *
+ PendingOperation *removeFromGroup(QString) *
+ - Add signals:
+ void addedToGroup(QString) *
+ void removedFromGroup(QString) *
+ - Documentation *
+ - Tests *
+- ContactManager:
+ - Add methods:
+ QStringList allGroups() *
+ QList<ContactPtr> groupContacts(QString) *
+ PendingOperation *addGroup(QString) *
+ PendingOperation *removeGroup(QString) *
+ PendingOperation *groupAddContacts(QString, QList<ContactPtr>) *
+ PendingOperation *groupRemoveContacts(QString, QList<ContactPtr>) *
+ = Add signals:
+ void groupAdded(QString) *
+ void groupRemoved(QString) *
+ - Documentation *
+ - Tests *
+
+
+- Refactor code for FeatureRosterGroups become ready *
+- Change ContactManager::groupAdd/RemoveContacts to
+ addContactsToGroup/removeContactsFromGroup *
+- RemoveGroup should remove all contacts from a group *
+- Add Contact::setGroups (postpone)
+-
diff --git a/TelepathyQt4/Farsight/Makefile.in b/TelepathyQt4/Farsight/Makefile.in
index f89aca4..fde9398 100644
--- a/TelepathyQt4/Farsight/Makefile.in
+++ b/TelepathyQt4/Farsight/Makefile.in
@@ -212,7 +212,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PINOCCHIO = @PINOCCHIO@
PINOCCHIO_CTL = @PINOCCHIO_CTL@
PKG_CONFIG = @PKG_CONFIG@
-PROTO_CFLAGS = @PROTO_CFLAGS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
diff --git a/TelepathyQt4/FileTransfer b/TelepathyQt4/FileTransfer
deleted file mode 100644
index fe7675b..0000000
--- a/TelepathyQt4/FileTransfer
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _TelepathyQt4_Client_FileTransfer_HEADER_GUARD_
-#define _TelepathyQt4_Client_FileTransfer_HEADER_GUARD_
-
-#ifndef IN_TELEPATHY_QT4_HEADER
-#define IN_TELEPATHY_QT4_HEADER
-#endif
-
-#include <TelepathyQt4/file-transfer.h>
-
-#undef IN_TELEPATHY_QT4_HEADER
-
-#endif
-// vim:set ft=cpp:
diff --git a/TelepathyQt4/FileTransferChannel b/TelepathyQt4/FileTransferChannel
new file mode 100644
index 0000000..8554983
--- /dev/null
+++ b/TelepathyQt4/FileTransferChannel
@@ -0,0 +1,13 @@
+#ifndef _TelepathyQt4_Client_FileTransferChannel_HEADER_GUARD_
+#define _TelepathyQt4_Client_FileTransferChannel_HEADER_GUARD_
+
+#ifndef IN_TELEPATHY_QT4_HEADER
+#define IN_TELEPATHY_QT4_HEADER
+#endif
+
+#include <TelepathyQt4/file-transfer-channel.h>
+
+#undef IN_TELEPATHY_QT4_HEADER
+
+#endif
+// vim:set ft=cpp:
diff --git a/TelepathyQt4/Makefile.am b/TelepathyQt4/Makefile.am
index 8ac3565..266124e 100644
--- a/TelepathyQt4/Makefile.am
+++ b/TelepathyQt4/Makefile.am
@@ -1,6 +1,6 @@
-# We need to build this directory before the Prototype subdirectory
-DIST_SUBDIRS = Prototype Farsight
-SUBDIRS = . Prototype
+DIST_SUBDIRS = Farsight
+# We need to build this directory before the Farsight subdirectory
+SUBDIRS = .
tpqt4includedir=$(includedir)/telepathy-1.0/TelepathyQt4
genincludedir=$(tpqt4includedir)/_gen
@@ -72,7 +72,7 @@ libtelepathy_qt4_la_SOURCES = \
debug.cpp \
debug-internal.h \
feature.cpp \
- file-transfer.cpp \
+ file-transfer-channel.cpp \
key-file.cpp \
manager-file.cpp \
media-session-handler.cpp \
@@ -94,7 +94,7 @@ libtelepathy_qt4_la_SOURCES = \
readiness-helper.cpp \
ready-object.cpp \
referenced-handles.cpp \
- room-list.cpp \
+ room-list-channel.cpp \
streamed-media-channel.cpp \
text-channel.cpp \
types.cpp
@@ -142,8 +142,9 @@ nodist_libtelepathy_qt4_la_SOURCES = \
_gen/connection-manager-internal.moc.hpp \
_gen/contact.moc.hpp \
_gen/contact-manager.moc.hpp \
+ _gen/contact-manager-internal.moc.hpp \
_gen/dbus-proxy.moc.hpp \
- _gen/file-transfer.moc.hpp \
+ _gen/file-transfer-channel.moc.hpp \
_gen/pending-account.moc.hpp \
_gen/pending-channel.moc.hpp \
_gen/pending-channel-request.moc.hpp \
@@ -156,7 +157,7 @@ nodist_libtelepathy_qt4_la_SOURCES = \
_gen/pending-ready.moc.hpp \
_gen/pending-string-list.moc.hpp \
_gen/readiness-helper.moc.hpp \
- _gen/room-list.moc.hpp \
+ _gen/room-list-channel.moc.hpp \
_gen/simple-pending-operations.moc.hpp \
_gen/streamed-media-channel.moc.hpp \
_gen/text-channel.moc.hpp
@@ -184,7 +185,7 @@ tpqt4include_HEADERS = \
DBus \
DBusProxy \
Feature \
- FileTransfer \
+ FileTransferChannel \
KeyFile \
ManagerFile \
MediaSessionHandler \
@@ -212,7 +213,7 @@ tpqt4include_HEADERS = \
RefCounted \
ReferencedHandles \
ReferencedHandlesIterator \
- RoomList \
+ RoomListChannel \
SharedPtr \
StatelessDBusProxy \
StatefulDBusProxy \
@@ -274,11 +275,12 @@ tpqt4include_HEADERS = \
constants.h \
contact.h \
contact-manager.h \
+ contact-manager-internal.h \
dbus.h \
dbus-proxy.h \
debug.h \
feature.h \
- file-transfer.h \
+ file-transfer-channel.h \
key-file.h \
manager-file.h \
media-session-handler.h \
@@ -300,7 +302,7 @@ tpqt4include_HEADERS = \
readiness-helper.h \
ready-object.h \
referenced-handles.h \
- room-list.h \
+ room-list-channel.h \
shared-ptr.h \
simple-pending-operations.h \
streamed-media-channel.h \
diff --git a/TelepathyQt4/Makefile.in b/TelepathyQt4/Makefile.in
index f743aef..84e5b2a 100644
--- a/TelepathyQt4/Makefile.in
+++ b/TelepathyQt4/Makefile.in
@@ -81,7 +81,7 @@ am_libtelepathy_qt4_la_OBJECTS = abstract-client.lo \
channel-dispatch-operation.lo client.lo client-registrar.lo \
connection.lo connection-manager.lo contact.lo \
contact-manager.lo dbus.lo dbus-proxy.lo debug.lo feature.lo \
- file-transfer.lo key-file.lo manager-file.lo \
+ file-transfer-channel.lo key-file.lo manager-file.lo \
media-session-handler.lo media-stream-handler.lo message.lo \
optional-interface-factory.lo pending-account.lo \
pending-channel.lo pending-channel-request.lo \
@@ -89,7 +89,7 @@ am_libtelepathy_qt4_la_OBJECTS = abstract-client.lo \
pending-contacts.lo pending-handles.lo pending-operation.lo \
pending-ready.lo pending-string-list.lo properties.lo \
readiness-helper.lo ready-object.lo referenced-handles.lo \
- room-list.lo streamed-media-channel.lo text-channel.lo \
+ room-list-channel.lo streamed-media-channel.lo text-channel.lo \
types.lo
nodist_libtelepathy_qt4_la_OBJECTS =
libtelepathy_qt4_la_OBJECTS = $(am_libtelepathy_qt4_la_OBJECTS) \
@@ -256,7 +256,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@
PINOCCHIO = @PINOCCHIO@
PINOCCHIO_CTL = @PINOCCHIO_CTL@
PKG_CONFIG = @PKG_CONFIG@
-PROTO_CFLAGS = @PROTO_CFLAGS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
@@ -336,10 +335,9 @@ sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
-
-# We need to build this directory before the Prototype subdirectory
-DIST_SUBDIRS = Prototype Farsight
-SUBDIRS = . Prototype $(am__append_1)
+DIST_SUBDIRS = Farsight
+# We need to build this directory before the Farsight subdirectory
+SUBDIRS = . $(am__append_1)
tpqt4includedir = $(includedir)/telepathy-1.0/TelepathyQt4
genincludedir = $(tpqt4includedir)/_gen
pkgconfigdir = ${libdir}/pkgconfig
@@ -403,7 +401,7 @@ libtelepathy_qt4_la_SOURCES = \
debug.cpp \
debug-internal.h \
feature.cpp \
- file-transfer.cpp \
+ file-transfer-channel.cpp \
key-file.cpp \
manager-file.cpp \
media-session-handler.cpp \
@@ -425,7 +423,7 @@ libtelepathy_qt4_la_SOURCES = \
readiness-helper.cpp \
ready-object.cpp \
referenced-handles.cpp \
- room-list.cpp \
+ room-list-channel.cpp \
streamed-media-channel.cpp \
text-channel.cpp \
types.cpp
@@ -473,8 +471,9 @@ nodist_libtelepathy_qt4_la_SOURCES = \
_gen/connection-manager-internal.moc.hpp \
_gen/contact.moc.hpp \
_gen/contact-manager.moc.hpp \
+ _gen/contact-manager-internal.moc.hpp \
_gen/dbus-proxy.moc.hpp \
- _gen/file-transfer.moc.hpp \
+ _gen/file-transfer-channel.moc.hpp \
_gen/pending-account.moc.hpp \
_gen/pending-channel.moc.hpp \
_gen/pending-channel-request.moc.hpp \
@@ -487,7 +486,7 @@ nodist_libtelepathy_qt4_la_SOURCES = \
_gen/pending-ready.moc.hpp \
_gen/pending-string-list.moc.hpp \
_gen/readiness-helper.moc.hpp \
- _gen/room-list.moc.hpp \
+ _gen/room-list-channel.moc.hpp \
_gen/simple-pending-operations.moc.hpp \
_gen/streamed-media-channel.moc.hpp \
_gen/text-channel.moc.hpp
@@ -515,7 +514,7 @@ tpqt4include_HEADERS = \
DBus \
DBusProxy \
Feature \
- FileTransfer \
+ FileTransferChannel \
KeyFile \
ManagerFile \
MediaSessionHandler \
@@ -543,7 +542,7 @@ tpqt4include_HEADERS = \
RefCounted \
ReferencedHandles \
ReferencedHandlesIterator \
- RoomList \
+ RoomListChannel \
SharedPtr \
StatelessDBusProxy \
StatefulDBusProxy \
@@ -605,11 +604,12 @@ tpqt4include_HEADERS = \
constants.h \
contact.h \
contact-manager.h \
+ contact-manager-internal.h \
dbus.h \
dbus-proxy.h \
debug.h \
feature.h \
- file-transfer.h \
+ file-transfer-channel.h \
key-file.h \
manager-file.h \
media-session-handler.h \
@@ -631,7 +631,7 @@ tpqt4include_HEADERS = \
readiness-helper.h \
ready-object.h \
referenced-handles.h \
- room-list.h \
+ room-list-channel.h \
shared-ptr.h \
simple-pending-operations.h \
streamed-media-channel.h \
@@ -774,7 +774,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dbus.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/debug.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/feature.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-transfer.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-transfer-channel.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/key-file.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/manager-file.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/media-session-handler.Plo@am__quote@
@@ -795,7 +795,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readiness-helper.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ready-object.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/referenced-handles.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/room-list.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/room-list-channel.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/streamed-media-channel.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text-channel.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/types.Plo@am__quote@
diff --git a/TelepathyQt4/Prototype/Account.cpp b/TelepathyQt4/Prototype/Account.cpp
deleted file mode 100644
index 155543e..0000000
--- a/TelepathyQt4/Prototype/Account.cpp
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/Account.h"
-
-#include <QDebug>
-#include <QMetaProperty>
-
-#include <TelepathyQt4/Account>
-#include <TelepathyQt4/AccountManager>
-
-#include <TelepathyQt4/Prototype/Connection.h>
-#include <TelepathyQt4/Prototype/PresenceManager.h>
-
-#define ENABLE_SALUT_WORKAROUND_ // Salut shows incorrect object path.
-
-namespace {
- const int g_protocolPosition = 6;
- const int g_connectionManagerPosition = 5;
- const char* g_offline = "offline";
-}
-
-using namespace TpPrototype;
-
-class TpPrototype::AccountPrivate
-{
-public:
- AccountPrivate()
- { init(); }
-
- QString m_handle;
- bool m_isValid;
- Tp::Client::AccountInterface* m_pInterface;
- QVariantMap m_parameters;
- QVariantMap m_properties;
- QString m_connectionManagerName;
- QString m_protocolName;
- QPointer<TpPrototype::Connection> m_pConnection;
-
- void init()
- {
- m_isValid = true;
- m_pInterface = NULL;
- m_pConnection= NULL;
- }
-};
-
-Account::Account( const QString& handle, QObject* parent ):
- QObject( parent ),
- d( new AccountPrivate )
-{
- init( handle );
-}
-
-Account::~Account()
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "D'tor Account:" << this;
-#endif
- delete d;
-}
-
-QVariantMap Account::parameters()
-{
- if ( d->m_parameters.isEmpty() )
- {
- d->m_parameters = d->m_pInterface->Parameters();
- }
-
- return d->m_parameters;
-}
-
-QVariantMap Account::properties()
-{
- Q_ASSERT( d->m_pInterface );
- if ( d->m_properties.isEmpty() )
- {
- for ( int i = 0; i < d->m_pInterface->metaObject()->propertyCount(); ++i )
- {
- const char* property_name = d->m_pInterface->metaObject()->property( i ).name();
- if ( QString( property_name ) == "objectName" )
- { continue; }
- d->m_properties.insert( property_name, d->m_pInterface->property( property_name ) );
- }
- }
-
- return d->m_properties;
-}
-
-void Account::setProperties( const QVariantMap& properties )
-{
- // Update local property cache and save property to DBUS service
- QStringList keys = properties.keys();
- foreach( const QString& key, keys )
- {
- d->m_pInterface->setProperty( qPrintable( key ), properties.value( key ) );
- d->m_properties.insert( key, properties.value( key ) );
- }
-}
-
-bool Account::setParameters( const QVariantMap& parameters )
-{
- if ( parameters.isEmpty() )
- { return false; }
-
- QDBusPendingReply<QStringList> reply = d->m_pInterface->UpdateParameters( parameters, QStringList() );
- reply.waitForFinished();
-
- if ( !reply.isValid() )
- {
- QDBusError error = reply.error();
-
- qWarning() << "setParameters: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return false;
- }
-
- // Update local cache.
- QStringList keys = parameters.keys();
- foreach( const QString& key, keys )
- {
- d->m_parameters.insert( key, parameters.value( key ) );
- }
- // fall through..
- return true;
-}
-
-TpPrototype::Connection* Account::connection( QObject *parent )
-{
- if ( !d->m_pConnection )
- {
- d->m_pConnection = new Connection( this, parent ? parent : this );
- }
- return d->m_pConnection;
-}
-
-bool Account::remove()
-{
- Q_ASSERT( d->m_pInterface );
-
- emit signalAboutToRemove();
-
- QDBusPendingReply<> remove_reply = d->m_pInterface->Remove();
- remove_reply.waitForFinished();
-
- if ( !remove_reply.isValid() )
- {
- QDBusError error = remove_reply.error();
-
- qWarning() << "Remove: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return false;
- }
-
- // slotRemoved();
-
- emit signalRemoved();
-
- // Fall through
- return true;
-}
-
-bool Account::isValid()
-{
- return d->m_isValid;
-}
-
-QString Account::connectionManagerName()
-{
- return d->m_connectionManagerName;
-}
-
-QString Account::protocolName()
-{
- return d->m_protocolName;
-}
-
-QString Account::currentPresence()
-{
- if ( !connection()->presenceManager() )
- {
- return g_offline;
- }
-#if 1
- disconnect ( connection()->presenceManager(), SIGNAL( signalOwnPresenceUpdated( const TpPrototype::Account* , const Tp::SimplePresence& ) ),
- this, SIGNAL( signalPresenceChanged() ) );
-
- connect ( connection()->presenceManager(), SIGNAL( signalOwnPresenceUpdated( const TpPrototype::Account* , const Tp::SimplePresence& ) ),
- this, SIGNAL( signalPresenceChanged() ) );
-#endif
-
- return connection()->presenceManager()->currentPresence().status;
-}
-
-QString Account::handle() const
-{
- return d->m_handle;
-}
-
-Tp::Client::AccountInterface* Account::interface()
-{
- return d->m_pInterface;
-}
-
-void Account::slotPropertiesChanged( const QVariantMap& properties )
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Account::slotPropertiesChanged(): " << properties;
-#endif
- QStringList keys = properties.keys();
- foreach( const QString& key, keys )
- {
- d->m_properties.insert( key, properties.value( key ) );
- }
-}
-
-void Account::slotRemoved()
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Account::slotRemoved(): sender:" << sender();
-#endif
- d->m_isValid = false;
-}
-
-void Account::init( const QString handle )
-{
- d->m_handle = handle;
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Handle:" << d->m_handle;
-#endif
- d->m_pInterface = new Tp::Client::AccountInterface( "org.freedesktop.Telepathy.AccountManager",
- d->m_handle,
- this );
-
- QStringList object_path_elements = d->m_pInterface->path().split('/');
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Object path: " << d->m_pInterface->path();
- qDebug() << "Elements : " << object_path_elements;
-#endif
- d->m_connectionManagerName = object_path_elements.at( g_connectionManagerPosition );
- d->m_protocolName = object_path_elements.at( g_protocolPosition );
-
-#ifdef ENABLE_SALUT_WORKAROUND_
- // Salut workaround..
- // Salut has a corrupt object path that results in an invalid protocol name
- if ( d->m_protocolName == "local_2dxmpp" )
- { d->m_protocolName = "local_xmpp"; }
-#endif
-
- // "-" is not allowed on as DBus object path. Thus "-" is mapped to "_".
- // Revert the mapping to get a correct protocol name
- d->m_protocolName.replace( '_', '-' );
-
- connect( d->m_pInterface, SIGNAL( AccountPropertyChanged( const QVariantMap& ) ),
- this, SLOT( slotPropertiesChanged( const QVariantMap& ) ) );
- connect( d->m_pInterface, SIGNAL( AccountPropertyChanged( const QVariantMap& ) ),
- this, SIGNAL( signalPropertiesChanged( const QVariantMap& ) ) );
- connect( d->m_pInterface, SIGNAL( Removed() ),
- this, SLOT( slotRemoved() ) );
-}
-
-#include "_gen/Account.h.moc"
diff --git a/TelepathyQt4/Prototype/Account.h b/TelepathyQt4/Prototype/Account.h
deleted file mode 100644
index 36aa44f..0000000
--- a/TelepathyQt4/Prototype/Account.h
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef TelepathyQt4_Prototype_Account_H_
-#define TelepathyQt4_Prototype_Account_H_
-
-#include <QObject>
-#include <QPointer>
-#include <QVariantMap>
-
-namespace Tp {
-namespace Client {
-class AccountInterface;
-}
-}
-
-namespace TpPrototype {
-
-class Connection;
-class AccountPrivate;
-
-/**
- * @ingroup qt_accountmgm
- * This class manages an account.
- * @todo: Account should be more like QPersistantModelIndex. Thus we don't have to use pointer of it.
- * @todo In order to allow custom extensions, we need a support to register proxies in the AccountManager
- */
-class Account : public QObject
-{
- Q_OBJECT
-public:
- /**
- * The parameters of this account.
- * Returns a list of all parameters of this account that were explicitly set by AccountManager::createAccount().
- * @return The properties as key,value pair.
- */
- QVariantMap parameters();
-
- /**
- * Properties of this account
- */
- QVariantMap properties();
-
- /**
- * Set Properties. Changes the given list of Properties.
- * @param properties The list of changed or new properties.
- */
- void setProperties( const QVariantMap& properties );
-
- /**
- * Set Parameters. Changes the given list of parameters.
- * @param parameters The list of changed or new parameters
- * @return True if successful.
- */
- bool setParameters( const QVariantMap& parameters );
-
- /**
- * Connection.
- * Returns a connection object that belongs to this account.<br>
- * <b>Info:</b> This class keeps ownership of this class.
- * @param parent The parent of this object. If NULL the connection is used as parent.
- * @return Connection object.
- */
- TpPrototype::Connection* connection( QObject* parent = NULL );
-
- /**
- * Remove account. Removes the given account.
- * <b>Note:</b> Although this call is synchronous, the internal book keeping of valid accounts is
- * updated by DBUS signals that might need some time. Thus, calling AccountManager::count() emmediately
- * after removing might return an incorrect value. Wait until AccountManager::signalAccountsUpdated() is emitted.
- * @return true if remove operation was successful.
- */
- bool remove();
-
- /**
- * Validity check.
- * Do not access any functions if this account is invalid.
- */
- bool isValid();
-
- /**
- * Get connection manager for this account.
- * Returns the connection manager that belongs to this account
- * @return The name of the connection manager (like gabble, ..).
- */
- QString connectionManagerName();
-
- /**
- * Get protocol for this account.
- * Returns the protocol that belongs to this account
- * @return The name of the protocol (like jabber, ..)
- */
- QString protocolName();
-
- /**
- * Get the current presence.
- * The presence for the current connection is returned.
- * Needs to be called befor <b>signalPresenceChanged()</b>will be emitted.
- * @return The current aggregated presence.
- */
- QString currentPresence();
-
-signals:
- /** Property were changed. This signal is emitted when properties were changed. */
- void signalPropertiesChanged( const QVariantMap& properties );
-
- /** About to remove. This signal is emmitted before the account is removed. */
- void signalAboutToRemove();
-
- /** Removed. This signal is emmitted after the account is removed. */
- void signalRemoved();
-
- /** Account presence was changed. Signal is emitted after the account changed its presence state.
- * <b>currentPresence()</b> has to be called before.
- */
- void signalPresenceChanged();
-
-
-protected slots:
- void slotPropertiesChanged( const QVariantMap& properties );
- void slotRemoved();
-
-protected:
- /**
- * Constructor. The account manager cannot be instantiated directly. Use AccountManager::account() for it!
- */
- Account( const QString& handle, QObject* parent );
- ~Account();
-
- /**
- * D-BUS interface.
- * This protected access to the D-BUS interface can be used to extend this class with special features.
- */
- Tp::Client::AccountInterface* interface();
-
- /**
- * Returns the handle.
- * The handle is an internal representation to access the real data. Its format should
- * not be interpreted.
- */
- QString handle() const;
-
-private:
- void init( const QString handle );
-
- AccountPrivate * const d;
- friend class AccountManager; // TODO: Remove this friend class
- friend class AccountManagerPrivate;
-};
-
-}
-
-
-#endif
diff --git a/TelepathyQt4/Prototype/AccountManager.cpp b/TelepathyQt4/Prototype/AccountManager.cpp
deleted file mode 100644
index 125aeb1..0000000
--- a/TelepathyQt4/Prototype/AccountManager.cpp
+++ /dev/null
@@ -1,390 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/AccountManager.h"
-
-#include <QCoreApplication>
-#include <QDBusObjectPath>
-#include <QDBusPendingReply>
-#include <QDebug>
-#include <QMap>
-#include <QPointer>
-
-#include <TelepathyQt4/AccountManager>
-#include <TelepathyQt4/DBus>
-#include <TelepathyQt4/Types>
-
-#include <TelepathyQt4/Prototype/Account.h>
-
-// #define ENABLE_DEBUG_OUTPUT_
-
-using namespace TpPrototype;
-
-AccountManager* TpPrototype::AccountManager::m_pInstance = NULL;
-
-class TpPrototype::AccountManagerPrivate
-{
-public:
- AccountManagerPrivate()
- { init(); }
-
- Tp::Client::AccountManagerInterface* m_pInterface;
- Tp::Client::DBus::PropertiesInterface* m_propertiesInterface;
- QMap<QString, QPointer<Account> > m_validAccountHandles;
-
- void init()
- {
- m_pInterface = NULL;
- }
-
- Tp::ObjectPathList validAccounts()
- {
- Q_ASSERT(m_propertiesInterface);
-
- QDBusPendingReply<QDBusVariant> get = m_propertiesInterface->Get(
- "org.freedesktop.Telepathy.AccountManager", "ValidAccounts");
- get.waitForFinished();
-
- if (!get.isValid())
- {
- qWarning().nospace() << get.error().name() << ": "
- << get.error().message();
- return Tp::ObjectPathList();
- }
-
- Tp::ObjectPathList paths = qdbus_cast<Tp::ObjectPathList>(
- get.value().variant());
-
- if (paths.size() == 0)
- {
- // maybe the AccountManager is buggy, like Mission Control
- // 5.0.beta45, and returns an array of strings rather than
- // an array of object paths?
-
- QStringList wronglyTypedPaths = qdbus_cast<QStringList>(
- get.value().variant());
-
- if (wronglyTypedPaths.size() > 0)
- {
- qWarning() << "AccountManager returned wrong type "
- "(expected 'ao', got 'as'); workaround active";
-
- Q_FOREACH (QString path, wronglyTypedPaths)
- {
- paths << QDBusObjectPath(path);
- }
- }
- }
-
- return paths;
- }
-
- void removeAccount( const QString& handle )
- {
- if ( m_validAccountHandles.contains( handle ) )
- {
- delete m_validAccountHandles.value( handle );
- m_validAccountHandles.remove( handle );
- }
- }
-
- void connectAccountToManager( const TpPrototype::Account* account, TpPrototype::AccountManager* dest )
- {
- QObject::connect( account, SIGNAL( signalRemoved() ),
- dest, SLOT( slotAccountRemoved() ) );
- QObject::connect( account, SIGNAL( signalPropertiesChanged( const QVariantMap& ) ),
- dest, SLOT( slotAccountUpdated() ) );
- QObject::connect( account, SIGNAL( signalPresenceChanged() ),
- dest, SLOT( slotAccountUpdated() ) );
- }
-
-};
-
-AccountManager::AccountManager( QObject* parent ):
- QObject( parent ),
- d( new AccountManagerPrivate )
-{
- init();
-}
-
-AccountManager* AccountManager::instance()
-{
- if ( NULL == m_pInstance )
- {
- m_pInstance = new AccountManager( QCoreApplication::instance() );
- Q_ASSERT( m_pInstance );
- }
-
- return m_pInstance;
-}
-
-
-AccountManager::~AccountManager()
-{
- delete d;
-}
-
-int AccountManager::count()
-{
- return d->m_validAccountHandles.count();
-}
-
-// TODO: Define a accountlist container class that stores the accounts and is doing the book keeping..
-QList<QPointer<Account> > AccountManager::accountList()
-{
- QList<QPointer<Account> > ret_list;
-
- Account* account = NULL;
- QStringList handles = d->m_validAccountHandles.keys();
- foreach( const QString& handle, handles )
- {
- account = d->m_validAccountHandles.value( handle );
- Q_ASSERT( account );
- if ( !account )
- {
- qWarning() << "Found handles that points to no object!";
- d->removeAccount( handle );
- continue;
- }
- ret_list.append( QPointer<Account>( account ) );
- }
-
- return ret_list;
-}
-
-#if 0
-TpPrototype::Account* account( int num )
-{
- if ( d->m_validAccountHandles.at(
-}
-#endif
-
-
-QList<QPointer<Account> > AccountManager::accountListOfEnabledAccounts()
-{
- QList<QPointer<Account> > ret_list;
-
- if ( accountList().count() != 0)
- {
- foreach (const QPointer<Account>& account, accountList() )
- {
- if ( account->properties().value( "Enabled" ) == true )
- {
- ret_list.append( account );
- }
- }
- }
- return ret_list;
-}
-
-bool AccountManager::createAccount( const QString& connectionManager, const QString& protocol, const QString& displayName, const QVariantMap& _parameters )
-{
- QVariantMap parameters = _parameters;
-
- //HACK: Set server for google talk which cannot be set after the account was created.
- // This should be removed after fixing the create account workflow!
- if ( parameters.value( "account" ).toString().contains( "google" ) )
- { parameters.insert( "server", "talk.google.com" ); }
-
- if ( parameters.contains( "port" ) && parameters.value( "port" ).type() != QVariant::UInt )
- {
- qWarning() << "We got the wrong type of the port. We correct it here manually";
- parameters.insert( "port", qvariant_cast<uint>( parameters.value( "port" ) ) );
- }
-
- // empty Parameterlists should not be send to create account. Otherwise strange things may happen..
- if ( parameters.size() > 0 )
- {
- QStringList keys = parameters.keys();
- foreach( const QString& key, keys )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "createAccount--> Key:" << key << "value:" << parameters.value( key );
-#endif
- if (parameters.value(key).toString().isEmpty() )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Remove Key:" << key << "value:" << parameters.value( key );
-#endif
- parameters.remove( key );
- }
- }
- }
-
- QDBusPendingReply<QDBusObjectPath> create_reply = d->m_pInterface->CreateAccount( connectionManager,
- protocol,
- displayName,
- parameters,
- QVariantMap());
- create_reply.waitForFinished();
-
- if ( !create_reply.isValid() )
- {
- QDBusError error = create_reply.error();
-
- qWarning() << "Disconnect: error type:" << error.type()
- << "Disconnect: error name:" << error.name()
- << "error message:" << error.message();
-
- return false;
- }
-
- // Fall through
- return true;
-}
-
-void AccountManager::slotAccountValidityChanged( const QDBusObjectPath& account, bool valid )
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "AccountManager::slotAccountValidityChanged: " << valid;
-#endif
- bool update_occurred = false;
- if ( valid )
- {
- // Add account to the list if it is not already stored
- if ( !d->m_validAccountHandles.contains( account.path() )
- || !d->m_validAccountHandles.value( account.path() ) )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "AccountManager::slotAccountValidityChanged: Add new account to list";
-#endif
- TpPrototype::Account* new_account = new Account( account.path(), this );
- d->connectAccountToManager( new_account, this );
- d->m_validAccountHandles.insert( account.path(), QPointer<Account>( new_account ) );
- update_occurred = true;
- emit signalNewAccountAvailable( new_account );
- }
- }
- else
- {
- if ( d->m_validAccountHandles.contains( account.path() ) )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "AccountManager::slotAccountValidityChanged: Remove account from list";
-#endif
- emit signalAboutToRemoveAccount( d->m_validAccountHandles.value( account.path() ) );
- d->removeAccount( account.path() );
- emit signalAccountRemoved();
- update_occurred = true;
- }
- }
- if ( update_occurred )
- { emit signalAccountsUpdated(); }
-}
-
-void AccountManager::slotAccountRemoved( const QDBusObjectPath& account )
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "AccountManager::slotAccountRemoved() <external>";
-#endif
- Account* account_object = d->m_validAccountHandles.value( account.path() );
- if ( !account_object )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "AccountManager::slotAccountRemoved():Account already removed";
-#endif
- return;
- }
-
- // These signals are emitted if an account was removed extarnally.
- // The signals were already emitted by slotAccountRemoved() if the account was removed locally
- emit signalAboutToRemoveAccount( account_object );
- d->removeAccount( account.path() );
- emit signalAccountRemoved();
- emit signalAccountsUpdated();
-}
-
-
-void AccountManager::slotAccountUpdated()
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "AccountManager::slotPropertiesChanged()";
-#endif
- Account* account = qobject_cast<Account*>( sender() );
- Q_ASSERT( account );
-
- emit signalAccountUpdated( account );
- emit signalAccountsUpdated();
-}
-
-// Called when an Account was removed
-void AccountManager::slotAccountRemoved()
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "AccountManager::slotAccountRemoved sender:" << sender();
-#endif
- Account* account = qobject_cast<Account*>( sender() );
- Q_ASSERT( account );
- if ( account )
- {
- QString handle = account->handle();
- emit signalAboutToRemoveAccount( account );
- d->removeAccount( handle );
- emit signalAccountRemoved();
- emit signalAccountsUpdated();
- }
-}
-
-void AccountManager::init()
-{
- Tp::registerTypes();
- d->m_pInterface = new Tp::Client::AccountManagerInterface( "org.freedesktop.Telepathy.AccountManager",
- "/org/freedesktop/Telepathy/AccountManager",
- this );
- Q_ASSERT( d->m_pInterface );
- if ( ! d->m_pInterface )
- { return; }
-
- if ( !d->m_pInterface->isValid() )
- {
- qWarning() << "Unable to connect to AccountManagerInterface: MissionControl seems to be missing!";
- }
- //Q_ASSERT( d->m_pInterface->isValid() );
-
- d->m_propertiesInterface = new Tp::Client::DBus::PropertiesInterface(
- "org.freedesktop.Telepathy.AccountManager",
- "/org/freedesktop/Telepathy/AccountManager",
- this);
- Q_ASSERT( d->m_propertiesInterface );
-
- // It might be better to use layzy initializing here.. (ses)
- Tp::ObjectPathList account_handles = d->validAccounts();
-
- foreach( const QDBusObjectPath& account_handle, account_handles )
- {
-
- Account* account = new Account( account_handle.path(), this );
- d->connectAccountToManager( account, this );
- d->m_validAccountHandles.insert( account_handle.path(), QPointer<Account>( account ) );
- emit signalNewAccountAvailable( account );
- emit signalAccountsUpdated();
- }
-
- connect( d->m_pInterface, SIGNAL( AccountValidityChanged( const QDBusObjectPath&, bool ) ),
- this, SLOT( slotAccountValidityChanged( const QDBusObjectPath&, bool ) ) );
- connect( d->m_pInterface, SIGNAL( AccountRemoved(const QDBusObjectPath& ) ),
- this, SLOT( slotAccountRemoved( const QDBusObjectPath& ) ) );
-
-
-}
-
-#include "_gen/AccountManager.h.moc"
diff --git a/TelepathyQt4/Prototype/AccountManager.h b/TelepathyQt4/Prototype/AccountManager.h
deleted file mode 100644
index 28b5812..0000000
--- a/TelepathyQt4/Prototype/AccountManager.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef TelepathyQt4_Prototype_AccountManager_H_
-#define TelepathyQt4_Prototype_AccountManager_H_
-
-#include <QDBusObjectPath>
-#include <QObject>
-#include <QPointer>
-
-#include <TelepathyQt4/Prototype/Account.h>
-
-#ifdef DEPRECATED_ENABLED__
-#define ATTRIBUTE_DEPRECATED __attribute__((deprecated))
-#else
-#define ATTRIBUTE_DEPRECATED
-#endif
-
-
-namespace TpPrototype {
-//
-class AccountManagerPrivate;
-
-/**
- * @defgroup qt_accountmgm Account Management
- * @ingroup qt_style_api
- * Classes that provide functions to handle accounts.
- */
-
-
-/**
- * This class manages all accounts.
- * The account manager provides access to the list of accounts. Additionally you can create and remove accounts.<br>
- * Use the Connectionfacade to obtain a list of valid parameters for a protocol or the list of available connection managers.<br>
- * @see ConnectionFacade
- * @ingroup qt_accountmgm
- * @todo Integrate all functions related to Accounts from the ConnectionFacade into this class.
- */
-class AccountManager : public QObject
-{
- Q_OBJECT
-public:
- /**
- * Returns pointer to the instance of this class.
- * @return Instance pointer.
- */
- static AccountManager* instance();
-
- /**
- * Number of Accounts. Returns how many accounts are available.
- * @return Number of accounts available.
- * @deprecated Use accountList().count() instead.
- */
- int count() ATTRIBUTE_DEPRECATED;
-
- /**
- * List of accounts. The account pointer is stored in a QPointer. If the account is removed it is deleted
- * by the account manager. Thus, the pointer is set to 0.
- * @todo: Return QList<Account> here, instead of a pointer.
- */
- QList<QPointer<Account> > accountList();
-
- /**
- * List of enabled accounts
- */
- QList<QPointer<Account> > accountListOfEnabledAccounts();
-
- /**
- * Create account. This function creates an account with the given parameters.<br>
- * <b>Note:</b> Although this call is synchronous, the internal book keeping of valid accounts is
- * updated by DBUS signals that might need some time. Thus, calling count() emmediately after create might
- * return an incorrect value. Wait until signalAccountsUpdated() is emitted.
- * @param connectionManager The name of the connection manager, e.g. &quot;salut&quot;.
- * @param protocol The protocol, e.g. &quot;local-xmpp&quot;.
- * @param parameters List of parameters needed to create the account
- * @param displayName The name of the account to display.
- * @return true when creating was successful.
- */
- bool createAccount( const QString& connectionManager, const QString& protocol, const QString& displayName, const QVariantMap& parameters );
-
- /**
- * Remove account. Removes the given account.
- * @param account The pointer to the account. The pointer is not accessable after this call!
- * @return true if remove operation was successful.
- */
- bool removeAccount( Account* account );
-
-signals:
- /**
- * Some changes occurred on the account data. This signal is emitted if the internal data of the account manager
- * is changed (accounts were created or removed).<br>
- * It is suggested to refetch all locally stored data after this signal.
- */
- void signalAccountsUpdated();
-
- /**
- * A new account is available.
- * This signal is emitted if a new account was created by a contact manager
- */
- void signalNewAccountAvailable( TpPrototype::Account* account );
-
- /**
- * An account will be removed from internal data.
- * This signal is emitted after the account was removed but immediately before the account is removed from the internal lists.<br>
- * Use this signal to obtain all necessary information to handle this remove operation properly. The signal <i>signalAccountRemoved()</i>
- * will be called immediately after cleaning the internal lists.
- * <br>
- * Do not use <i>account</i> after receiving this signal!
- * @see signalAccountRemoved()
- */
- void signalAboutToRemoveAccount( TpPrototype::Account* account );
-
- /**
- * An account was removed.
- * This signal is emitted after <i>signalAboutToRemoveAccount()</i>. The internal lists are updated now.
- * @see signalAboutToRemoveAccount()
- */
- void signalAccountRemoved();
-
- /**
- * An account was updated.
- * This signal is emitted after an account was updated.
- */
- void signalAccountUpdated( TpPrototype::Account* account );
-
-protected:
- /**
- * Constructor. The account manager cannot be instantiated directly. Use instance() for it!
- */
- AccountManager( QObject* parent = NULL );
- ~AccountManager();
-
-protected slots:
- void slotAccountValidityChanged( const QDBusObjectPath& account, bool valid );
- void slotAccountRemoved( const QDBusObjectPath& account );
- void slotAccountRemoved();
- void slotAccountUpdated();
-
-private:
- void init();
-
- AccountManagerPrivate * const d;
- static AccountManager* m_pInstance;
-};
-
-}
-
-#endif
diff --git a/TelepathyQt4/Prototype/AvatarManager.cpp b/TelepathyQt4/Prototype/AvatarManager.cpp
deleted file mode 100644
index 6bc91cf..0000000
--- a/TelepathyQt4/Prototype/AvatarManager.cpp
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/AvatarManager.h"
-
-#include <QCoreApplication>
-#include <QDBusObjectPath>
-#include <QDBusPendingReply>
-#include <QDebug>
-#include <QMap>
-#include <QPointer>
-
-#include <TelepathyQt4/Connection>
-
-#include <TelepathyQt4/Prototype/Account.h>
-#include <TelepathyQt4/Prototype/AccountManager.h>
-#include <TelepathyQt4/Prototype/ConnectionFacade.h>
-#include <TelepathyQt4/Prototype/Connection.h>
-#include <TelepathyQt4/Prototype/Contact.h>
-#include <TelepathyQt4/Prototype/ContactManager.h>
-
-// #define ENABLE_DEBUG_OUTPUT_
-
-using namespace TpPrototype;
-
-class TpPrototype::AvatarManagerPrivate
-{
-public:
- AvatarManagerPrivate( Connection* connection,
- Tp::Client::ConnectionInterface* interface )
- { init( connection, interface ); }
-
- Tp::Client::ConnectionInterface* m_pConnectionInterface;
- Tp::Client::ConnectionInterfaceAvatarsInterface* m_pAvatarsInterface;
- QPointer<Connection> m_pConnection;
-
- bool m_isValid;
- void init( Connection* connection,
- Tp::Client::ConnectionInterface* interface )
- {
- m_pConnection = connection;
- m_pConnectionInterface = interface;
- m_pAvatarsInterface = NULL;
- m_isValid = true;
- }
-
-};
-
-AvatarManager::AvatarManager( Connection* connection,
- Tp::Client::ConnectionInterface* interface,
- QObject* parent ):
- QObject( parent ),
- d( new AvatarManagerPrivate( connection, interface ) )
-{
- init( connection, interface );
-}
-
-AvatarManager::~AvatarManager()
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "D'tor AvatarManager (" << this << ")";
-#endif
- delete d;
-}
-
-bool AvatarManager::isValid()
-{
- return d->m_isValid;
-}
-
-
-
-TpPrototype::Connection* AvatarManager::connection()
-{
- return d->m_pConnection;
-}
-
-bool AvatarManager::setAvatar( const TpPrototype::AvatarManager::Avatar& newValue )
-{
- QDBusPendingReply<QString> set_avatar_reply = d->m_pAvatarsInterface->SetAvatar( newValue.avatar, newValue.mimeType );
- set_avatar_reply.waitForFinished();
-
- if ( !set_avatar_reply.isValid() )
- {
- QDBusError error = set_avatar_reply.error();
-
- qWarning() << "AvatarManager::setAvatar: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return false;
- }
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "AvatarManager::setAvatar: token " << set_avatar_reply.value();
-#endif
-
- return true;
-}
-
-void AvatarManager::requestAvatar()
-{
- uint self_handle = TpPrototype::ConnectionFacade::instance()->selfHandleForConnectionInterface( d->m_pConnectionInterface );
- QList<uint> contact_ids;
- contact_ids << self_handle;
-
- QDBusPendingReply<> avatars_reply = d->m_pAvatarsInterface->RequestAvatars( contact_ids );
-
- // slotAvatarRetrieved is called after this point.
-}
-
-TpPrototype::AvatarManager::AvatarRequirements AvatarManager::avatarRequirements()
-{
- Q_ASSERT( d->m_pAvatarsInterface );
-
- TpPrototype::AvatarManager::AvatarRequirements return_data;
- return_data.isValid = false;
-
- QDBusPendingReply<QStringList, ushort, ushort, ushort, ushort, uint> requirements_reply = d->m_pAvatarsInterface->GetAvatarRequirements();
- requirements_reply.waitForFinished();
-
- if ( !requirements_reply.isValid() )
- {
- QDBusError error = requirements_reply.error();
-
- qWarning() << "AvatarManager::GetAvatarRequirements: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return return_data;
- }
-
- TpPrototype::AvatarManager::AvatarRequirements ret_requirement;
- ret_requirement.mimeTypes = qvariant_cast<QStringList>( requirements_reply.argumentAt( 0 ) );
- ret_requirement.minimumWidth = qvariant_cast<ushort>(requirements_reply.argumentAt( 1 ) );
- ret_requirement.minimumHeight = qvariant_cast<ushort>(requirements_reply.argumentAt( 2 ) );
- ret_requirement.maximumWidth = qvariant_cast<ushort>(requirements_reply.argumentAt( 3 ) );
- ret_requirement.maximumHeight = qvariant_cast<ushort>(requirements_reply.argumentAt( 4 ) );
- ret_requirement.maxSize = qvariant_cast<uint>(requirements_reply.argumentAt( 5 ) );
- return_data.isValid = true;
-
- return ret_requirement;
-}
-
-void AvatarManager::avatarForContactList( const QList<QPointer<Contact> >& contacts )
-{
- Q_ASSERT( d->m_pAvatarsInterface );
- Tp::UIntList contact_ids;
- foreach( Contact* contact, contacts )
- {
- if ( !contact )
- { continue; }
- contact_ids.append( contact->telepathyHandle() );
- }
-
- QDBusPendingReply<> avatars_reply = d->m_pAvatarsInterface->RequestAvatars( contact_ids );
-
- // slotAvatarRetrieved is called after this point.
-}
-
-
-void AvatarManager::slotAvatarUpdated( uint contactHandle, const QString& newAvatarToken )
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "AvatarManager::slotAvatarUpdated(" << contactHandle << "," << newAvatarToken << ")";
-#endif
- if ( !d->m_pConnection )
- {
- qWarning() << "AvatarManager::slotAvatarUpdated(): Received a Avatar changed signal but no connection object exists!";
- return;
- }
-
- Q_ASSERT( d->m_pAvatarsInterface );
- Q_ASSERT( d->m_pAvatarsInterface->isValid() );
- Q_ASSERT( d->m_pConnection );
- Q_ASSERT( d->m_pConnection->contactManager() );
-
- if ( !d->m_pConnection
- || !d->m_pConnection->contactManager() )
- {
- qWarning() << "AvatarManager::slotAvatarUpdated(): Unable to request contact manager or connection is not valid!";
- return;
- }
-
- uint self_handle = ConnectionFacade::instance()->selfHandleForConnectionInterface( d->m_pConnectionInterface );
-
- if ( self_handle == contactHandle )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "AvatarManager::slotAvatarUpdated(): Ignored that my avatar is updated.";
-#endif
-
- //emit void signalOwnAvatarChanged();
- }
- else
- {
- foreach( TpPrototype::Contact* contact, d->m_pConnection->contactManager()->contactList() )
- {
- if ( ( contact->telepathyHandle() == contactHandle )
- && ( contact->avatar().token != newAvatarToken ) )
- {
- // Request avatar for this contact.
- avatarForContactList( QList<QPointer<Contact> >() << QPointer<Contact>( contact ) );
- }
- }
- }
-}
-
-// Called after avatarForContactList() is called.
-void AvatarManager::slotAvatarRetrieved( uint contactHandle, const QString& token, const QByteArray& avatar, const QString& type )
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "slotAvatarRetrieved: Handle: " << contactHandle << "Token:" << token << "Type: " << type;
-#endif
-
- TpPrototype::AvatarManager::Avatar new_avatar;
- new_avatar.avatar = avatar;
- new_avatar.token = token;
- new_avatar.mimeType = type;
-
- uint self_handle = ConnectionFacade::instance()->selfHandleForConnectionInterface( d->m_pConnectionInterface );
- if ( self_handle == contactHandle )
- {
- emit signalOwnAvatarChanged( new_avatar );
- return;
- }
-
- foreach( TpPrototype::Contact* contact, d->m_pConnection->contactManager()->contactList() )
- {
- // Find contact for handle and check whether the token has changed. If not, the avatar was not changed.
- if ( ( contact->telepathyHandle() == contactHandle )
- && ( contact->avatar().token != token ) )
- {
- contact->setAvatar( new_avatar );
- emit signalAvatarChanged( contact );
- }
- }
-}
-
-void AvatarManager::init( Connection* connection,
- Tp::Client::ConnectionInterface* interface )
-{
- Q_ASSERT( interface );
-
- if ( !interface || !connection )
- {
- d->m_isValid = false;
- return;
- }
-
- Tp::registerTypes();
- qRegisterMetaType<TpPrototype::AvatarManager::Avatar>();
-
- QDBusPendingReply<QStringList> interfaces_reply = d->m_pConnectionInterface->GetInterfaces();
- interfaces_reply.waitForFinished();
-
- if ( !interfaces_reply.isValid() )
- {
- QDBusError error = interfaces_reply.error();
-
- qWarning() << "GetInterfaces: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return;
- }
-
- QString avatar_interface_name;
- bool found_avatar_support = false;
- foreach( const QString& interface, interfaces_reply.value() )
- {
- if ( interface.endsWith( ".Avatars" ) )
- {
- found_avatar_support = true;
- avatar_interface_name = interface;
- break;
- }
- }
- if ( !found_avatar_support )
- {
- d->m_isValid = false;
- qWarning( "AvatarManager::init(): Connection Manager does not support the Interface \"Avatars\". Other interfaces are not supported!" );
- return;
- }
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Interface Name: " << avatar_interface_name;
-#endif
- d->m_pAvatarsInterface = new Tp::Client::ConnectionInterfaceAvatarsInterface( d->m_pConnectionInterface->service(), d->m_pConnectionInterface->path(), this );
-
- connect( d->m_pAvatarsInterface, SIGNAL( AvatarUpdated(uint, const QString&) ),
- this, SLOT( slotAvatarUpdated(uint, const QString&) ) );
- connect( d->m_pAvatarsInterface, SIGNAL( AvatarRetrieved(uint , const QString& , const QByteArray& , const QString& ) ),
- this, SLOT( slotAvatarRetrieved( uint , const QString& , const QByteArray& , const QString& ) ) );
-
-}
-
-#include "_gen/AvatarManager.h.moc"
diff --git a/TelepathyQt4/Prototype/AvatarManager.h b/TelepathyQt4/Prototype/AvatarManager.h
deleted file mode 100644
index a6f07a7..0000000
--- a/TelepathyQt4/Prototype/AvatarManager.h
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef TelepathyQt4_Prototype_AvatarManager_H_
-#define TelepathyQt4_Prototype_AvatarManager_H_
-
-#include <QDBusObjectPath>
-#include <QObject>
-#include <QPointer>
-
-#include <TelepathyQt4/Types>
-
-namespace Tp
-{
- namespace Client
- {
- class ConnectionInterface;
- }
-}
-
-namespace TpPrototype {
-
-class AvatarManagerPrivate;
-class Connection;
-class Contact;
-class Account;
-
-/**
- * @ingroup qt_connection
- * This class manages avatar information for one connection.
- * Whenever a contact avatar changes, the signal signalAvatarChanged() is emitted. This signal provides the related contact object
- * obtained from the ContactManager.
- * In order to keep the contacts updated, you just have to instantiate this class (by requesting the object with Connection::avatarManager())
- * and initialize the list of contacts once (by calling avatarForContactList() ). After this point, the avatar of the contact
- * is updated automatically if a change is signalled by the backend.
- * @see Connection
- */
-class AvatarManager : public QObject
-{
- Q_OBJECT
-
-public:
- /**
- * The required Avatar format.
- */
- struct AvatarRequirements
- {
- /** The list of supported Mimetypes */
- QStringList mimeTypes;
- /** The minimum image width */
- uint minimumWidth;
- /** The minmum image height */
- uint minimumHeight;
- /** The maximum image width */
- uint maximumWidth;
- /** The maximum image height */
- uint maximumHeight;
- /** The maximum size */
- uint maxSize;
- /** data validity */
- bool isValid;
- };
-
- /**
- * The Avatar
- */
- struct Avatar
- {
- /** The avatar data */
- QByteArray avatar;
- /** The mimetype of this data */
- QString mimeType;
- /** The id associated with this avatar */
- QString token;
- };
-
- /**
- * Validity.
- * Do not access any methods if the object is invalid!
- */
- bool isValid();
-
- /**
- * Returns the connection that belongs to this capabilities information.
- * @return The connection object
- */
- TpPrototype::Connection* connection();
-
- /**
- * Set local Avatar.
- * This function sets the capabilites of the account that belongs to this connection.
- * @param newValue The new avatar. The content of <i>token</i> is ignored.
- * @return true if setting was successful
- */
- bool setAvatar( const TpPrototype::AvatarManager::Avatar& newValue );
-
- /**
- * Request local Avatar.
- * Requests the avatar of the account that belongs to this connection.
- * <b>Info:</b> The signal signalOwnAvatarChanged() is called asynchonously after this call.
- */
- void requestAvatar();
-
- /**
- * Get the required format of avatars on this connection.
- * @return The requirements of supported avatars.
- * @see AvatarRequirements
- */
- AvatarRequirements avatarRequirements();
-
- /**
- * Get the avatar for a list of contacts.
- * The avatars can be requested from the contact object.
- * <b>Info:</b> The signal signalAvatarChanged() is called asynchonously after this call for every contact in this list.
- * @param List of contacts to request the avatars from.
- * @see signalAvatarChanged()
- */
- void avatarForContactList( const QList<QPointer<Contact> >& contacts );
-
-signals:
- /**
- * The avatar of a contact was changed. This signal is emitted when any of the known contacts changed its avatar.
- */
- void signalAvatarChanged( TpPrototype::Contact* contact );
-
- /**
- * My avatar was changed.
- * This signal is emmitted if the local avatar was changed.
- */
- void signalOwnAvatarChanged( TpPrototype::AvatarManager::Avatar avatar );
-
-protected:
- /**
- * Constructor. The capabilities manager cannot be instantiated directly. Use Connection::AvatarManager() for it!
- */
- AvatarManager( TpPrototype::Connection* connection,
- Tp::Client::ConnectionInterface* interface,
- QObject* parent = NULL );
- ~AvatarManager();
-
-protected slots:
- void slotAvatarUpdated( uint contact, const QString& newAvatarToken );
- void slotAvatarRetrieved( uint contact, const QString& token, const QByteArray& avatar, const QString& type );
-
-private:
- void init( TpPrototype::Connection* connection, Tp::Client::ConnectionInterface* interface );
-
- TpPrototype::AvatarManagerPrivate * const d;
- friend class Connection;
- friend class ConnectionPrivate;
-};
-}
-
-Q_DECLARE_METATYPE( TpPrototype::AvatarManager::Avatar );
-Q_DECLARE_METATYPE( TpPrototype::AvatarManager::AvatarRequirements );
-#endif
diff --git a/TelepathyQt4/Prototype/CapabilitiesManager.cpp b/TelepathyQt4/Prototype/CapabilitiesManager.cpp
deleted file mode 100644
index 294e755..0000000
--- a/TelepathyQt4/Prototype/CapabilitiesManager.cpp
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/CapabilitiesManager.h"
-
-#include <QCoreApplication>
-#include <QDBusObjectPath>
-#include <QDBusPendingReply>
-#include <QDebug>
-#include <QMap>
-#include <QPointer>
-
-#include <TelepathyQt4/Connection>
-
-#include <TelepathyQt4/Prototype/Account.h>
-#include <TelepathyQt4/Prototype/AccountManager.h>
-#include <TelepathyQt4/Prototype/ConnectionFacade.h>
-#include <TelepathyQt4/Prototype/Connection.h>
-#include <TelepathyQt4/Prototype/Contact.h>
-#include <TelepathyQt4/Prototype/ContactManager.h>
-
-// #define ENABLE_DEBUG_OUTPUT_
-
-using namespace TpPrototype;
-
-class TpPrototype::CapabilitiesManagerPrivate
-{
-public:
- CapabilitiesManagerPrivate()
- { init(); }
-
- Tp::Client::ConnectionInterface* m_pConnectionInterface;
- Tp::Client::ConnectionInterfaceCapabilitiesInterface* m_pCapabilitiesInterface;
-
-
- QPointer<Connection> m_pConnection;
-
- bool m_isValid;
- void init()
- {
- m_pConnectionInterface = NULL;
- m_pCapabilitiesInterface = NULL;
- m_pConnection = NULL;
- m_isValid = true;
- }
-
-};
-
-CapabilitiesManager::CapabilitiesManager( Connection* connection,
- Tp::Client::ConnectionInterface* interface,
- QObject* parent ):
- QObject( parent ),
- d( new CapabilitiesManagerPrivate )
-{
- init( connection, interface );
-}
-
-CapabilitiesManager::~CapabilitiesManager()
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "D'tor CapabilitiesManager (" << this << ")";
-#endif
- delete d;
-}
-
-bool CapabilitiesManager::isValid()
-{
- return d->m_isValid;
-}
-
-
-
-TpPrototype::Connection* CapabilitiesManager::connection()
-{
- return d->m_pConnection;
-}
-
-bool CapabilitiesManager::setCapabilities( const Tp::CapabilityPairList& capabilities, const QStringList& removedChannels )
-{
- QDBusPendingReply<Tp::CapabilityPairList> advertise_capabilities_reply = d->m_pCapabilitiesInterface->AdvertiseCapabilities( capabilities, removedChannels );
- advertise_capabilities_reply.waitForFinished();
-
- if ( !advertise_capabilities_reply.isValid() )
- {
- QDBusError error = advertise_capabilities_reply.error();
-
- qWarning() << "CapabilitiesManager::AdvertiseCapabilities: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return false;
- }
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "CapabilitiesManager::setCapabilities: " << capabilities.count();
- qDebug() << "CapabilitiesManager::setCapabilities: " << advertise_capabilities_reply.value().count();
-#endif
-
- return true;
-}
-
-Tp::ContactCapabilityList CapabilitiesManager::capabilities()
-{
- uint self_handle = TpPrototype::ConnectionFacade::instance()->selfHandleForConnectionInterface( d->m_pConnectionInterface );
- QList<uint> handle_list;
- handle_list.append( self_handle );
- QDBusPendingReply<Tp::ContactCapabilityList> capabilities_reply = d->m_pCapabilitiesInterface->GetCapabilities( handle_list );
- capabilities_reply.waitForFinished();
-
- if ( !capabilities_reply.isValid() )
- {
- QDBusError error = capabilities_reply.error();
-
- qWarning() << "CapabilitiesManager::capabilities: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return Tp::ContactCapabilityList();
- }
-
- Tp::ContactCapabilityList capabilities=capabilities_reply.value();
-
- return capabilities;
-}
-
-
-void CapabilitiesManager::capabilitiesForContactList( const QList<QPointer<Contact> >& contacts )
-{
- Q_ASSERT( d->m_pCapabilitiesInterface );
- Tp::UIntList contact_ids;
- foreach( Contact* contact, contacts )
- {
- if ( !contact )
- { continue; }
- contact_ids.append( contact->telepathyHandle() );
- }
-
- QDBusPendingReply<Tp::ContactCapabilityList> capabilities_reply = d->m_pCapabilitiesInterface->GetCapabilities( contact_ids );
- capabilities_reply.waitForFinished();
-
- if ( !capabilities_reply.isValid() )
- {
- QDBusError error = capabilities_reply.error();
-
- qWarning() << "GetInterfaces: error type:" << error.type()
- << "GetInterfaces: error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return;
- }
-
- Tp::ContactCapabilityList capabilities=capabilities_reply.value();
-
- foreach( Contact* contact, contacts )
- {
- Tp::ContactCapabilityList contact_capabilities;
- for ( int i=0; i < capabilities.size(); i++ )
- {
- Tp::ContactCapability capability = capabilities.value( i );
- if ( contact && contact->telepathyHandle() == capability.handle )
- {
- contact_capabilities.append( capability );
- }
- }
- contact->setCapabilities( contact_capabilities );
- }
-}
-
-void CapabilitiesManager::slotCapabilitiesChanged( const Tp::CapabilityChangeList& capabilities )
-{
- if ( !d->m_pConnection )
- {
- qWarning() << "CapabilitiesManager::slotCapabilitiesChanged(): Received a Capabilities changed signal but no connection object exists!";
- return;
- }
-
- Q_ASSERT( d->m_pCapabilitiesInterface );
- Q_ASSERT( d->m_pCapabilitiesInterface->isValid() );
-
- QPointer<TpPrototype::Contact> contact;
- for (int i=0; i<capabilities.size(); i++)
- {
-
- Tp::CapabilityChange changed_capability = capabilities.value( i );
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "CapabilityChange "<< i<< "handle" <<changed_capability.handle;
- qDebug() << "CapabilityChange"<< i << "CannelType" <<changed_capability.channelType;
- qDebug() << "CapabilityChange "<< i << "Generic Flags" <<changed_capability.oldGenericFlags;
- qDebug() << "CapabilityChange "<< i << "Generic Flags" <<changed_capability.newGenericFlags;
- qDebug() << "CapabilityChange "<< i << "Type Specific Flags" <<changed_capability.oldTypeSpecificFlags;
- qDebug() << "CapabilityChange "<< i << "Type Specific Flags" <<changed_capability.newTypeSpecificFlags;
-#endif
-
- if ( !d->m_pConnection->contactManager() )
- {
- qWarning() << "CapabilitiesManager::slotCapabilitiesChanged(): Unable to request contact manager!";
- return;
- }
-
- uint self_handle = ConnectionFacade::instance()->selfHandleForConnectionInterface( d->m_pConnectionInterface );
- foreach( const Tp::CapabilityChange& changed_capability, capabilities )
- {
- if ( changed_capability.handle == self_handle )
- {
- emit signalOwnCapabilityChanged( changed_capability );
- }
- else
- {
- foreach( Contact* contact, d->m_pConnection->contactManager()->contactList() )
- {
- if ( contact && contact->telepathyHandle() == changed_capability.handle )
- {
- // Modify stored list of capabilities
- Tp::ContactCapabilityList contact_capabilities = contact->capabilities();
- for ( int i = 0; i < contact_capabilities.size(); ++i )
- {
- if ( contact_capabilities.at(i).channelType == changed_capability.channelType )
- {
- contact_capabilities.removeAt( i );
- }
- }
-
- Tp::ContactCapability new_capability;
- new_capability.handle = changed_capability.handle;
- new_capability.channelType = changed_capability.channelType;
- new_capability.genericFlags = changed_capability.newGenericFlags;
- new_capability.typeSpecificFlags = changed_capability.newTypeSpecificFlags;
- contact_capabilities.append( new_capability );
-
- contact->setCapabilities( contact_capabilities );
- emit signalCapabilitiesChanged( contact, changed_capability );
- }
- }
- }
- }
- }
-}
-
-
-void CapabilitiesManager::init( Connection* connection,
- Tp::Client::ConnectionInterface* interface )
-{
- Q_ASSERT( interface );
-
- if ( !interface || !connection )
- {
- d->m_isValid = false;
- return;
- }
-
- Tp::registerTypes();
- d->m_pConnectionInterface = interface;
- d->m_pConnection = connection;
- QDBusPendingReply<QStringList> interfaces_reply = d->m_pConnectionInterface->GetInterfaces();
- interfaces_reply.waitForFinished();
-
- if ( !interfaces_reply.isValid() )
- {
- QDBusError error = interfaces_reply.error();
-
- qWarning() << "GetInterfaces: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return;
- }
- QString capabilities_interface_name;
- bool found_capabilities_support = false;
-
-
- foreach( const QString& interface, interfaces_reply.value() )
- {
- if ( interface.endsWith( ".Capabilities" ) )
- {
- found_capabilities_support = true;
- capabilities_interface_name = interface;
- break;
- }
- }
- if ( !found_capabilities_support )
- {
- d->m_isValid = false;
- qWarning( "CapabilitiesManager::init(): Connection Manager does not support the Interface \"Capabilities\". Other interfaces are not supported!" );
- return;
- }
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- //qDebug() << "Connection interface :" << d->m_pConnectionInterface->connection().interface()->path();
- qDebug() << "Interface Name: " << capabilities_interface_name;
-#endif
- d->m_pCapabilitiesInterface = new Tp::Client::ConnectionInterfaceCapabilitiesInterface(d->m_pConnectionInterface->service(),d->m_pConnectionInterface->path(),this );
-
- connect( d->m_pCapabilitiesInterface, SIGNAL( CapabilitiesChanged( const Tp::CapabilityChangeList& ) ),
- this, SLOT( slotCapabilitiesChanged( const Tp::CapabilityChangeList& ) ) );
-
-}
-
-#include "_gen/CapabilitiesManager.h.moc"
diff --git a/TelepathyQt4/Prototype/CapabilitiesManager.h b/TelepathyQt4/Prototype/CapabilitiesManager.h
deleted file mode 100644
index e6f7f37..0000000
--- a/TelepathyQt4/Prototype/CapabilitiesManager.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef TelepathyQt4_Prototype_CapabilitiesManager_H_
-#define TelepathyQt4_Prototype_CapabilitiesManager_H_
-
-#include <QDBusObjectPath>
-#include <QObject>
-#include <QPointer>
-
-#include <TelepathyQt4/Types>
-
-namespace Tp
-{
- namespace Client
- {
- class ConnectionInterface;
- }
-}
-
-namespace TpPrototype {
-
-class CapabilitiesManagerPrivate;
-class Connection;
-class Contact;
-class Account;
-
-/**
- * @ingroup qt_connection
- * This class manages capabilities information for one connection.
- * Setting the right capability decide whether it is possible to handle incoming or outgoing VoIP or Video over IP channels!
- * Whenever a contact capability changes, the signal signalCapabilitiesChanged() is emitted. This signal provides the related contact object
- * obtained from the ContactManager.
- * In order to keep the contacts updated, you just have to instantiate this class (by requesting the object with Connection::capabilitiesManager())
- * and initialize the list of contacts once (by calling capabilitiesForContactList() ). After this point, the capabilty information of the contact
- * is updated automatically if a change is signalled by the backend.
- * @see Connection
- * @see StreamedMediaChannel
- */
-class CapabilitiesManager : public QObject
-{
- Q_OBJECT
-public:
- /**
- * Validity.
- * Do not access any methods if the object is invalid!
- */
- bool isValid();
-
- /**
- * Returns the connection that belongs to this capabilities information.
- * @return The connection object
- */
- TpPrototype::Connection* connection();
-
- /**
- * Set the capabilities.
- * This function sets the capabilites of the account that belongs to this connection.
- * @param capabilities List of capabilities for a specific channel. See Tp D-Bus spec section "Channel_Media_Capabilities"
- * @param removedChanels List of channels that are removed.
- * @return true if setting was successful
- */
- bool setCapabilities( const Tp::CapabilityPairList& capabilities, const QStringList& removedChannels = QStringList() );
-
- /**
- * Request capabilites.
- * Returns the capabilites of the account that belongs to this connection.
- * @return List of capabilities
- */
- Tp::ContactCapabilityList capabilities();
-
- /**
- * Gets the capabilities for a list of contacts and provides them to to specific contacts.
- * The capabilities can be requested from the contact object.
- */
- void capabilitiesForContactList( const QList<QPointer<Contact> >& contacts );
-
-signals:
- /**
- * The capability of a contact has changed. This signal is emitted when any of the known contacts changed its capability.
- */
- void signalCapabilitiesChanged( TpPrototype::Contact* contact, const Tp::CapabilityChange& changedCapability );
-
- /**
- * My capability was changed. This signal is emmitted if the capability of one of my channes was changed.
- */
- void signalOwnCapabilityChanged( const Tp::CapabilityChange& changedCapability );
-
-protected:
- /**
- * Constructor. The capabilities manager cannot be instantiated directly. Use Connection::CapabilitiesManager() for it!
- */
- CapabilitiesManager( TpPrototype::Connection* connection,
- Tp::Client::ConnectionInterface* interface,
- QObject* parent = NULL );
- ~CapabilitiesManager();
-
-protected slots:
- void slotCapabilitiesChanged( const Tp::CapabilityChangeList& capabilities );
-
-private:
- void init( TpPrototype::Connection* connection, Tp::Client::ConnectionInterface* interface );
-
- TpPrototype::CapabilitiesManagerPrivate * const d;
- friend class Connection;
- friend class ConnectionPrivate;
-};
-}
-
-#endif
diff --git a/TelepathyQt4/Prototype/ChatChannel.cpp b/TelepathyQt4/Prototype/ChatChannel.cpp
deleted file mode 100644
index e388d9b..0000000
--- a/TelepathyQt4/Prototype/ChatChannel.cpp
+++ /dev/null
@@ -1,243 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/ChatChannel.h"
-
-#include <QDebug>
-#include <QMetaProperty>
-
-#include <TelepathyQt4/Constants>
-#include <TelepathyQt4/Connection>
-#include <TelepathyQt4/Channel>
-
-#include <TelepathyQt4/Prototype/Contact.h>
-
-using namespace TpPrototype;
-
-class TpPrototype::ChatChannelPrivate
-{
-public:
- ChatChannelPrivate()
- { init(); }
-
- ~ChatChannelPrivate()
- {
- // Close channel before deleting objects
- if ( m_pChannelInterface )
- { m_pChannelInterface->Close(); }
- delete m_pTextChannel;
- delete m_pChannelInterface;
- }
-
- QPointer<TpPrototype::Contact> m_pContact;
- Tp::Client::ChannelTypeTextInterface* m_pTextChannel;
- QPointer<Tp::Client::ConnectionInterface> m_pConnectionInterface;
- Tp::Client::ChannelInterface* m_pChannelInterface;
-
- bool m_isValid;
- bool m_areSignalsConnected;
-
-private:
- void init()
- {
- m_pContact = NULL;
- m_pConnectionInterface = NULL;
- m_pTextChannel = NULL;
- m_pChannelInterface = NULL;
- m_isValid = true;
- m_areSignalsConnected = false;
- }
-};
-
-ChatChannel::ChatChannel( Contact* contact, Tp::Client::ConnectionInterface* connectionInterface, QObject* parent ):
- QObject( parent ),
- d(new ChatChannelPrivate())
-{
- Tp::registerTypes();
-
- d->m_pContact = contact;
- d->m_pConnectionInterface = connectionInterface;
-
- requestTextChannel( d->m_pContact->telepathyHandle() );
-}
-
-ChatChannel::~ChatChannel()
-{ delete d; }
-
-bool ChatChannel::isValid() const
-{ return d->m_isValid; }
-
-
-void ChatChannel::sendTextMessage( const QString& text )
-{
-
- if ( d->m_pTextChannel == NULL )
- {
- requestTextChannel( d->m_pContact->telepathyHandle() );
- }
-
- Q_ASSERT( d->m_pTextChannel );
- if ( !d->m_pTextChannel )
- {
- qWarning() << "ChatChannel::sendTextMessage: Action ignored due to missing text channel!";
- }
-
- d->m_pTextChannel->Send( 0, text ); // TODO: Remove this magic number!
-
-}
-
-void ChatChannel::pendingTextMessages()
-{
- if ( d->m_pTextChannel == NULL )
- {
- requestTextChannel( d->m_pContact->telepathyHandle() );
- }
-
- Q_ASSERT( d->m_pTextChannel );
- if ( !d->m_pTextChannel )
- {
- qWarning() << "ChatChannel::pendingTextMessages: Action ignored due to missing text channel!";
- }
-
- QDBusPendingReply<Tp::PendingTextMessageList> reply= d->m_pTextChannel->ListPendingMessages( true );
- const Tp::PendingTextMessageList chatMessages = reply.value();
- Tp::PendingTextMessage messageshandle;
- for ( int i=0; i < chatMessages.size(); i++ )
- {
- messageshandle = chatMessages.at(i);
- slotReceivedText( messageshandle.identifier,
- messageshandle.unixTimestamp,
- messageshandle.sender,
- messageshandle.messageType,
- messageshandle.flags,
- messageshandle.text );
- }
-}
-
-// Called if a new text channel shall be established.
-void ChatChannel::requestTextChannel( uint handle )
-{
- QDBusPendingReply<QDBusObjectPath> reply0 =
- d->m_pConnectionInterface->RequestChannel( "org.freedesktop.Telepathy.Channel.Type.Text",
- Tp::HandleTypeContact, handle, true );
- reply0.waitForFinished();
- if (!reply0.isValid())
- {
- QDBusError error = reply0.error();
- qWarning() << "Get ContactListChannel: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
- d->m_isValid = false;
- return;
- }
-
- QDBusObjectPath channel_path=reply0.value();
- openTextChannel( handle, 1,channel_path.path(), "org.freedesktop.Telepathy.Channel.Type.Text" ); // TODO: Remove magic number
-}
-
-// Called if a new text channel was notified by the connection channel
-void ChatChannel::openTextChannel(uint handle, uint handleType, const QString& channel_path, const QString& channelType)
-{
- QString channel_service_name = d->m_pConnectionInterface->service();
- qDebug() << "ContactManager Channel Services Name" << channel_service_name;
- qDebug() << "ContactManager Channel Path" << channel_path;
- // This channel may never be closed!
- d->m_pTextChannel = new Tp::Client::ChannelTypeTextInterface( channel_service_name,
- channel_path,
- this );
- d->m_pChannelInterface = new Tp::Client::ChannelInterface( channel_service_name,
- channel_path,
- this );
- Q_ASSERT( d->m_pChannelInterface->isValid() );
- Q_ASSERT( d->m_pTextChannel->isValid() );
- if (!d->m_pTextChannel->isValid() || !d->m_pChannelInterface->isValid())
- {
- qDebug() << "Failed to connect channel interface classes to D-Bus object.";
- delete d->m_pTextChannel;
- delete d->m_pChannelInterface;
- d->m_pTextChannel = NULL;
- d->m_pChannelInterface = NULL;
- d->m_isValid = false;
- return;
- }
- else
- {
- if ( d->m_areSignalsConnected )
- { return; }
-
- d->m_areSignalsConnected = true;
-
- qDebug() << "Success WE got a valid Text channel";
- //ChatChannel * pChatChannel=new ChatChannel();
- //pChatChannel->setChannel(d->m_groupTextChannel);
- //pChatChannel->setContact(channel_contact);
- QString messagesender;
- messagesender = d->m_pContact->name();
-
- qDebug() << "*************************************";
-
- connect(d->m_pTextChannel, SIGNAL(Received(uint , uint , uint , uint , uint , const QString& )),
- this, SLOT(slotReceivedText(uint , uint , uint , uint , uint , const QString& )));
- connect(d->m_pTextChannel, SIGNAL(Sent(uint , uint , const QString& )),
- this, SLOT(slotSentText(uint , uint , const QString& )));
- connect(d->m_pTextChannel, SIGNAL(LostMessage()),
- this, SLOT(slotLostMessage()));
- connect(d->m_pTextChannel, SIGNAL(SendError(uint , uint , uint , const QString& )),
- this, SLOT(slotSendError(uint , uint , uint , const QString& )));
-
- /* QDBusPendingReply<Tp::PendingTextMessageList> reply= d->m_groupTextChannel->ListPendingMessages(false);
- const Tp::PendingTextMessageList chatMessages=reply.value();
- Tp::PendingTextMessage messageshandle;
- for (int i=0; i<chatMessages.size(); i++)
- {
- messageshandle= chatMessages.at(i);
- pChatChannel->slotReceivedText( messageshandle.identifier, messageshandle.unixTimestamp, messageshandle.sender, messageshandle.messageType, messageshandle.flags, messageshandle.text);
-
- } */
- }
-}
-
-
-void ChatChannel::slotReceivedText( uint id, uint timestamp, uint sender, uint type, uint flags, const QString& text )
-{
- qDebug() << "ChatChannel: Reveived text:" << text;
- QList<uint> message_ids;
- message_ids.append( id );
- d->m_pTextChannel->AcknowledgePendingMessages( message_ids );
- emit signalTextMessageReceived( this , timestamp, type, flags, text );
-}
-
-void ChatChannel::slotSentText(uint timestamp, uint type, const QString& text )
-{
- qDebug() << "ChatChannel: Sent text:" << text;
- emit signalTextMessageSent( this, timestamp, type, text );
-}
-
-void ChatChannel::slotLostMessage()
-{
-}
-
-void ChatChannel::slotSendError(uint error, uint timestamp, uint type, const QString& text )
-{
-}
-
-#include "_gen/ChatChannel.h.moc"
diff --git a/TelepathyQt4/Prototype/ChatChannel.h b/TelepathyQt4/Prototype/ChatChannel.h
deleted file mode 100644
index cd55ce6..0000000
--- a/TelepathyQt4/Prototype/ChatChannel.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef TelepathyQt4_Prototype_ChatChannel_H_
-#define TelepathyQt4_Prototype_ChatChannel_H_
-
-#include <QObject>
-#include <QPointer>
-#include <QVariantMap>
-
-#ifdef DEPRECATED_ENABLED__
-#define ATTRIBUTE_DEPRECATED __attribute__((deprecated))
-#else
-#define ATTRIBUTE_DEPRECATED
-#endif
-
-namespace Tp {
-namespace Client{
- class ConnectionInterface;
-}
-}
-
-namespace TpPrototype {
-
-class ChatChannelPrivate;
-class Contact;
-class Account;
-
-/**
- * @ingroup qt_connection
- * Chat Channel.
- * This class provides the interface to send or receive text messages.
- */
-class ChatChannel : public QObject
-{
- Q_OBJECT
-public:
- /**
- * Validity check.
- * Do not access any functions if this account is invalid.
- */
- bool isValid() const;
-
- /**
- * Send a text message.
- * This function sends a text message to the contact that belongs to this channel.
- */
- void sendTextMessage( const QString& text );
-
- /**
- * Fetch pending text messages.
- * Force to refetch all messages that were sent while the account was offline.
- * A signal signalTextMessageReceived() will be emitted for every message.
- * @see signalTextMessageReceived()
- */
- void pendingTextMessages();
-
- /**
- * Destructor.
- * Deleting this object forces to drop all channels.
- */
- ~ChatChannel();
-
-signals:
- /**
- * A new text message was received.
- * This signal is emmitted right after receiving a new test message.
- */
- void signalTextMessageReceived( TpPrototype::ChatChannel* chatchannel, uint timestamp, uint type, uint flags, const QString& text );
-
- /**
- * A text message was sent.
- * This signal is emmitted right after test message was delivered.
- */
- void signalTextMessageSent( TpPrototype::ChatChannel* chatchannel, uint timestamp, uint type, const QString& text );
-
-protected:
- /**
- * Constructor.
- * Use Contact::chatChannel() to obtain an object of ChatChannel.
- */
- ChatChannel( Contact* contact, Tp::Client::ConnectionInterface* connectionInterface , QObject* parent = NULL );
-
- void requestTextChannel(uint handle);
- void openTextChannel(uint handle, uint handleType, const QString& channelPath, const QString& channelType );
-
-protected slots:
- void slotSentText(uint timestamp, uint type, const QString& text );
- void slotLostMessage();
- void slotSendError(uint error, uint timestamp, uint type, const QString& text );
- void slotReceivedText(uint ID, uint timestamp, uint sender, uint type, uint flags, const QString& text);
-private:
- ChatChannelPrivate * const d;
- friend class ContactManager;
- friend class Contact;
-};
-
-} // namespace
-
-#endif // Header guard
diff --git a/TelepathyQt4/Prototype/Client/ChannelHandler b/TelepathyQt4/Prototype/Client/ChannelHandler
deleted file mode 100644
index 142eada..0000000
--- a/TelepathyQt4/Prototype/Client/ChannelHandler
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _TelepathyQt4_Prototype_Client_ChannelHandler_HEADER_GUARD_
-#define _TelepathyQt4_Prototype_Client_ChannelHandler_HEADER_GUARD_
-
-#include <TelepathyQt4/Prototype/_gen/cli-channel-handler.h>
-
-#endif
diff --git a/TelepathyQt4/Prototype/Client/StreamEngine b/TelepathyQt4/Prototype/Client/StreamEngine
deleted file mode 100644
index 1e4da23..0000000
--- a/TelepathyQt4/Prototype/Client/StreamEngine
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _TelepathyQt4_Prototype_Client_StreamEngine_HEADER_GUARD_
-#define _TelepathyQt4_Prototype_Client_StreamEngine_HEADER_GUARD_
-
-#include <TelepathyQt4/Prototype/_gen/cli-stream-engine.h>
-
-#endif
diff --git a/TelepathyQt4/Prototype/Connection.cpp b/TelepathyQt4/Prototype/Connection.cpp
deleted file mode 100644
index 0eb9fa9..0000000
--- a/TelepathyQt4/Prototype/Connection.cpp
+++ /dev/null
@@ -1,439 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/Connection.h"
-
-#include <QDebug>
-#include <QMetaProperty>
-
-#include <TelepathyQt4/Connection>
-#include <TelepathyQt4/ConnectionManager>
-
-#include <TelepathyQt4/Prototype/Account.h>
-#include <TelepathyQt4/Prototype/AvatarManager.h>
-#include <TelepathyQt4/Prototype/CapabilitiesManager.h>
-#include <TelepathyQt4/Prototype/ContactManager.h>
-#include <TelepathyQt4/Prototype/PresenceManager.h>
-
-// #define ENABLE_DEBUG_OUTPUT_
-
-namespace TpPrototype {
-
-class ConnectionPrivate
-{
-public:
- ConnectionPrivate()
- { init(); }
-
- QString m_serviceName;
- QString m_objectPath;
- bool m_isValid;
- Tp::ConnectionStatus m_status;
- Tp::ConnectionStatusReason m_reason;
- Tp::Client::ConnectionInterface* m_pInterface;
- QPointer<ContactManager> m_pContactManager;
- QPointer<PresenceManager> m_pPresenceManager;
- QPointer<CapabilitiesManager> m_pCapabilitiesManager;
- QPointer<AvatarManager> m_pAvatarManager;
- QPointer<Account> m_pAccount;
- QString m_connectionManager;
- QString m_protocol;
- void init()
- {
- m_isValid = false; // Will be set on true after initial initialization.
- m_status = Tp::ConnectionStatusDisconnected;
- m_reason = Tp::ConnectionStatusReasonNoneSpecified;
- m_pInterface = NULL;
- m_pContactManager = NULL;
- m_pPresenceManager = NULL;
- m_pCapabilitiesManager = NULL;
- m_pAvatarManager = NULL;
- m_pAccount = NULL;
- }
-
- void cleanup()
- {
- m_isValid = true;
- m_status = Tp::ConnectionStatusDisconnected;
- m_reason = Tp::ConnectionStatusReasonNoneSpecified;
- delete m_pInterface;
- m_pInterface = NULL;
- delete m_pContactManager;
- m_pContactManager = NULL;
- delete m_pPresenceManager;
- m_pPresenceManager = NULL;
- delete m_pCapabilitiesManager;
- m_pCapabilitiesManager = NULL;
- delete m_pAvatarManager;
- m_pAvatarManager = NULL;
- }
-
- void initConnectionDBUSService()
- {
- cleanup();
-
- Q_ASSERT( m_pAccount );
- Q_ASSERT( !m_pInterface ); // needs to be removed. Otherwise all following will fail
- Q_ASSERT( !m_connectionManager.isEmpty() );
- Q_ASSERT( !m_protocol.isEmpty() );
-
- Tp::Client::ConnectionManagerInterface cm_interface( "org.freedesktop.Telepathy.ConnectionManager." + m_connectionManager,
- "/org/freedesktop/Telepathy/ConnectionManager/" + m_connectionManager,
- NULL );
-
-
- QVariantMap parameter_map = m_pAccount->parameters();
-
- // 2. Request a connection to the server
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Protocol: " << m_protocol;
- qDebug() << "Params : " << parameter_map;
-#endif
-
- QDBusPendingReply<QString, QDBusObjectPath> reply = cm_interface.RequestConnection( m_protocol, parameter_map );
- reply.waitForFinished();
-
- if ( !reply.isValid() )
- {
- QDBusError error = reply.error();
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "initConnectionDBUSService: error type:" << error.type()
- << " error name:" << error.name();
-#endif
- m_isValid = false;
- return /*NULL*/;
- }
-
- QString connection_service_name = reply.argumentAt<0>();
- QDBusObjectPath connection_object_path = reply.argumentAt<1>();
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Service Name: " << connection_service_name;
- qDebug() << "Object Path : " << connection_object_path.path();
-#endif
- m_serviceName = connection_service_name;
- m_objectPath = connection_object_path.path();
-
- m_pInterface = new Tp::Client::ConnectionInterface( m_serviceName,
- m_objectPath,
- NULL );
-
- }
-};
-};
-
-TpPrototype::Connection::Connection( TpPrototype::Account* account, QObject* parent ):
- QObject( parent ),
- d( new ConnectionPrivate )
-{
-
- if ( !account )
- { return; }
-
- init( account );
-}
-
-using namespace TpPrototype;
-Connection::~Connection()
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "D'tor Connection:" << this;
-#endif
- if ( Tp::ConnectionStatusDisconnected != d->m_status )
- { requestDisconnect(); }
- delete d;
-}
-
-
-bool Connection::isValid()
-{
- return d->m_isValid;
-}
-
-Tp::ConnectionStatus Connection::status()
-{
- return d->m_status;
-}
-
-Tp::ConnectionStatusReason Connection::reason()
-{
- return d->m_reason;
-}
-
-bool Connection::requestConnect()
-{
- if ( ( Tp::ConnectionStatusConnecting == d->m_status )
- || ( Tp::ConnectionStatusConnected == d->m_status ) )
- { return false; }
-
- startupInit();
-
- if ( !d->m_pInterface )
- { return false; }
-
- d->m_status = Tp::ConnectionStatusConnecting;
- QDBusPendingReply<> connection_connect_reply = d->m_pInterface->Connect();
- connection_connect_reply.waitForFinished();
-
- if ( !connection_connect_reply.isValid() )
- {
- QDBusError error = connection_connect_reply.error();
-
- qWarning() << "Connect: error type:" << error.type()
- << "Connect: error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_status = Tp::ConnectionStatusDisconnected;
- d->m_isValid = false;
-
- return false;
- }
-
- d->m_isValid = true;
- return true;
-}
-
-bool Connection::requestDisconnect()
-{
- if ( ! d->m_pInterface || ! isValid() || ( Tp::ConnectionStatusDisconnected == d->m_status ) )
- { return false; }
-
- QDBusPendingReply<> connection_disconnect_reply = d->m_pInterface->Disconnect();
- connection_disconnect_reply.waitForFinished();
-
- if ( !connection_disconnect_reply.isValid() )
- {
- QDBusError error = connection_disconnect_reply.error();
-
- qWarning() << "Connect: error type:" << error.type()
- << "Connect: error name:" << error.name()
- << "error message:" << error.message();
- }
-
- // Always expect that we are disconnected after this point!
- d->m_status = Tp::ConnectionStatusDisconnected;
-
- // Get rid of the contact and presence manager
- delete d->m_pContactManager;
- d->m_pContactManager = NULL;
- delete d->m_pPresenceManager;
- d->m_pPresenceManager = NULL;
-
- return d->m_status;
-}
-
-ContactManager* Connection::contactManager()
-{
- if ( Tp::ConnectionStatusConnected != d->m_status )
- { return NULL; }
- if ( !d->m_pContactManager )
- { d->m_pContactManager = new ContactManager( d->m_pInterface, this ); }
- return d->m_pContactManager;
-}
-
-PresenceManager* Connection::presenceManager()
-{
- return createManager<PresenceManager>( d->m_pPresenceManager, "Presence" );
-}
-
-CapabilitiesManager* Connection::capabilitiesManager()
-{
- return createManager<CapabilitiesManager>(d->m_pCapabilitiesManager, "Capabilities" );
-}
-
-AvatarManager* Connection::avatarManager()
-{
- return createManager<AvatarManager>( d->m_pAvatarManager, "Avatars" );
-}
-
-
-Account* Connection::account() const
-{
- if ( !d->m_pAccount
- || !d->m_pAccount->isValid() )
- { return NULL; }
-
- return d->m_pAccount;
-}
-
-QString Connection::handle() const
-{
- return d->m_objectPath;
-}
-
-Tp::Client::ConnectionInterface* Connection::interface()
-{
- return d->m_pInterface;
-}
-
-void Connection::slotStatusChanged( uint status, uint reason )
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Connection::slotStatusChanged() Status:" << status;
-#endif
- Tp::ConnectionStatus old_status = d->m_status;
- d->m_status = static_cast<Tp::ConnectionStatus>( status );
- d->m_reason = static_cast<Tp::ConnectionStatusReason>( reason );
-
- if ( d->m_status != old_status )
- {
- emit signalStatusChanged( this, d->m_status, old_status );
- }
-
- if ( account() && account()->parameters().value( "register") == true )
- {
- QVariantMap parameter_map;
- parameter_map.insert( "register", false );
- account()->setParameters( parameter_map );
- }
-}
-
-void Connection::slotNewChannel(const QDBusObjectPath& objectPath, const QString& channelType, uint handleType, uint handle, bool suppressHandler)
-{
- Q_UNUSED( suppressHandler );
-
- QString tmp_objectpath=objectPath.path();
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Connection:: slotNewChannel";
- qDebug() << "Connection:: slotNewChannel ObjectPath"<< tmp_objectpath;
- qDebug() << "Connection:: slotNewChannel ChannelType"<< channelType;
- qDebug() << "Connection:: slotNewChannel handleType"<< handleType <<"handle"<<handle;
-#endif
-
- // Ignore signals if no contact manager is available..
- if ( !contactManager() )
- {
- // Q_ASSERT( contactManager() ); //FIXME: We have to understand why this can happen and how to avoid it!
- qWarning() << "Connection::slotNewChannel: Receiving signals but don't get a contact manager!";
- return;
- }
-
- if ( handleType == Tp::HandleTypeContact )
- {
- contactManager()->openTextChannel(handle,handleType,objectPath.path(),channelType);
- }
-
- if (channelType==QString("org.freedesktop.Telepathy.Channel.Type.ContactList"))
- {
- if (tmp_objectpath.contains("/subscribe"))
- {
- contactManager()->openSubscribedContactsChannel(handle,objectPath,channelType);
- }
- }
-
- if (channelType==QString("org.freedesktop.Telepathy.Channel.Type.ContactList"))
- {
- if (tmp_objectpath.contains("/known"))
- {
- contactManager()->openKnownContactsChannel(handle,objectPath,channelType);
- }
- }
- if (channelType==QString("org.freedesktop.Telepathy.Channel.Type.ContactList"))
- {
- if (tmp_objectpath.contains("/publish"))
- {
- contactManager()->openPublishContactsChannel(handle,objectPath,channelType);
- }
- }
-
- if (channelType==QString("org.freedesktop.Telepathy.Channel.Type.ContactList"))
- {
- if (tmp_objectpath.contains("/deny"))
- {
- contactManager()->openDenyContactsChannel(handle,objectPath,channelType);
- }
- }
-
- if (channelType==QString("org.freedesktop.Telepathy.Channel.Type.StreamedMedia"))
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Connection::slotNewChannel(): Stream media channel opened!!";
-#endif
- contactManager()->openStreamedMediaChannel( handle, handleType, objectPath.path(), channelType );
- }
-}
-
-QList<uint> Connection::RequestHandles( Tp::HandleType handletype, QStringList& handlestrings)
-{
- Tp::registerTypes();
- return d->m_pInterface->RequestHandles( handletype,handlestrings);
-}
-
-
-bool Connection::managerSupported( const QString& managerName )
-{
- QDBusPendingReply<QStringList> interfaces_reply = interface()->GetInterfaces();
- interfaces_reply.waitForFinished();
-
- if ( !interfaces_reply.isValid() )
- {
- QDBusError error = interfaces_reply.error();
-
- qWarning() << "Connection::GetInterfaces: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return false;
- }
-
- foreach( const QString& interface, interfaces_reply.value() )
- {
- if ( interface.endsWith( managerName ) )
- {
- return true;
- }
- }
- return false;
-}
-
-void Connection::init( TpPrototype::Account* account )
-{
- Tp::registerTypes();
-
- if ( !account )
- { return; }
-
- d->m_pAccount = account;
- d->m_connectionManager = account->connectionManagerName();
- d->m_protocol = account->protocolName();
-
- d->m_isValid = true;
-}
-
-// Called immediately before connection attempts
-void Connection::startupInit()
-{
- d->initConnectionDBUSService();
-
- if ( !d->m_isValid )
- { return; }
-
- Q_ASSERT( d->m_pInterface );
-
-
- connect( d->m_pInterface, SIGNAL( NewChannel( const QDBusObjectPath&, const QString&, uint, uint, bool ) ),
- this, SLOT( slotNewChannel( const QDBusObjectPath&, const QString&, uint, uint, bool ) ) );
- connect( d->m_pInterface, SIGNAL( StatusChanged( uint, uint ) ),
- this, SLOT( slotStatusChanged( uint, uint ) ) );
-}
-
-#include "_gen/Connection.h.moc"
diff --git a/TelepathyQt4/Prototype/Connection.h b/TelepathyQt4/Prototype/Connection.h
deleted file mode 100644
index 14c44f5..0000000
--- a/TelepathyQt4/Prototype/Connection.h
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef TelepathyQt4_Prototype_Connection_H_
-#define TelepathyQt4_Prototype_Connection_H_
-
-#include <QDBusObjectPath>
-#include <QDBusPendingReply>
-#include <QObject>
-#include <QPointer>
-#include <QVariantMap>
-
-#include <TelepathyQt4/Constants>
-
-#ifdef DEPRECATED_ENABLED__
-#define ATTRIBUTE_DEPRECATED __attribute__((deprecated))
-#else
-#define ATTRIBUTE_DEPRECATED
-#endif
-
-namespace Tp
-{
- namespace Client
- {
- class ConnectionInterface;
- }
-}
-
-/**
- * @defgroup qt_connection Connection Management
- * @ingroup qt_style_api
- * Classes that provide functions to handle connections and additional optional interfaces related to a connection.
- */
-
-
-
-namespace TpPrototype {
-
-class ConnectionPrivate;
-class ContactManager;
-class PresenceManager;
-class CapabilitiesManager;
-class AvatarManager;
-class Account;
-/**
- * @ingroup qt_connection
- * This class manages a connection.
- * The connection object provides access to optional interfaces that are related to the connection using contactManager(),
- * capabilitiesManager(), presenceManager(), avatarManager().
- * @todo In order to allow custom extensions, we need a support for register proxies in the Account object
- */
-class Connection : public QObject
-{
- Q_OBJECT
- Q_PROPERTY( bool valid READ isValid )
-public:
-
- ~Connection();
-
- /**
- * Validity check.
- * Do not access any functions if this account is invalid.
- */
- bool isValid();
-
- /**
- * Connection Status.
- * @return The current connection status.
- * @see Tp::ConnectionStatus defined in constants.h
- */
- Tp::ConnectionStatus status();
-
- /**
- * Reason for last state change.
- * @return The reason.
- * @see Tp::ConnectionStatusReason defined in constants.h
- */
- Tp::ConnectionStatusReason reason();
-
- /**
- * Connect to server.
- * This call is asynchrous. Wait until signalStatusChanged() was emitted and the connection state is Tp::ConnectionStatusConnected
- * before calling contactManager() or presenceManager() will succeed.
- * @see signalStatusChanged()
- */
- bool requestConnect();
-
- /**
- * Disconnect. Disconnects from the server.
- */
- bool requestDisconnect();
-
- /**
- * Returns the contact list manager.
- * The contact list manager contains the list of contacts and provides functions like add and remove.<br>
- * <b>Note:</b> You have to request a connection with requestConnect() before a contact manager can be returned. If the connection disconnects the ContactManager will be invalid!
- * @return Pointer to the contact manager or NULL if something went wrong.
- * @see requestConnect()
- */
- ContactManager* contactManager();
-
- /**
- * Returns the presence manager.
- * The presence manager handles your presence state for this connection.<br>
- * <br>
- * <b>Note:</b>
- * <ul><li>You have to request a connection with requestConnect() before a presence manager can be returned.</li>
- * <li>You have to call this function in order to get your contacts updated automatically.</li>
- * </ul>
- * @return Pointer to the presence manager or NULL if no presence handling is supported or no connection was requested.
- * @see requestConnect()
- */
- PresenceManager* presenceManager();
-
- /**
- * Returns the capabilities manager.
- * The capabilities manager handles your capabilities state for this connection.<br>
- * <br>
- * <b>Note:</b>
- * <ul><li>You have to request a connection with requestConnect() before a capability manager can be returned.</li>
- * <li>You have to call this function in order to get your contacts updated automatically.</li>
- * </ul>
- * @return Pointer to the capabilities manager or NULL if no capabilities handling is supported or no connection was requested.
- * @see requestConnect()
- */
- CapabilitiesManager* capabilitiesManager();
-
- /**
- * Returns the avatar manager.
- * The avatar manager provides you information about the avatars of the connection.<br>
- * <br>
- * <b>Note:</b>
- * <ul><li>You have to request a connection with requestConnect() before an avatar manager can be returned.</li>
- * <li>You have to call this function in order to get your contacts updated automatically.</li>
- * </ul>
- * @return Pointer to the avatar manager or NULL if no avatar support is available or no connection was requested.
- * @see requestConnect()
- */
- AvatarManager* avatarManager();
-
- /**
- * Returns the account for this connection.
- * Every connection belongs to an account that is returned with this call.
- * @return The account for this connection or NULL if no valid account exists.
- */
- Account* account() const;
-
-signals:
- /**
- * Connection status changed.
- * This signal is emitted if the status of the connection was changed
- * @param connection The connection which changes its status.
- * @param newStatus The new status that is valid now.
- * @param oldStatus The old status that was valid before.
- * @see Tp::ConnectionStatus
- */
- void signalStatusChanged( TpPrototype::Connection* connection,
- Tp::ConnectionStatus newStatus,
- Tp::ConnectionStatus oldStatus );
-
-protected slots:
- void slotStatusChanged( uint status, uint reason );
- void slotNewChannel( const QDBusObjectPath& objectPath, const QString& channelType, uint handleType, uint handle, bool suppressHandler );
-
-protected:
- /**
- * Constructor.
- * The connection cannot be instantiated directly. Use Account::connection() to receive a valid connection object.
- * @param account Account to create connection with.
- */
- Connection( TpPrototype::Account* account, QObject* parent );
-
- /**
- * Returns the handle.
- * The handle is an internal representation to access the real data. Its format should
- * not be interpreted.
- */
- QString handle() const;
-
- /**
- * D-BUS interface.
- * This protected access to the D-BUS interface can be used to extend this class with special features.
- */
- Tp::Client::ConnectionInterface* interface();
-
- /**
- * Provides a generic handle.
- * @param handleType The type of handle required.
- * @param handlestrings An array of names of entities to request handles for
- * @return An array of integer handle numbers in the same order as the given strings
- */
- QList<uint> RequestHandles( Tp::HandleType handletype, QStringList& handlestrings);
-
- /**
- * Check if manager is supported.
- */
- bool managerSupported( const QString& managerName );
-
- template <class Manager>
- inline Manager* createManager( QPointer<Manager>& pManager, const QString& managerName )
- {
- if ( pManager && pManager->isValid() )
- { return pManager; }
-
- // Force to reinitialize an invalid manager
- if ( pManager && !pManager->isValid() )
- {
- delete pManager;
- pManager = NULL;
- }
-
- if ( status() != Tp::ConnectionStatusConnected )
- { return NULL; }
-
- pManager = new Manager( this, interface(), this );
- Q_ASSERT( pManager );
-
- if ( pManager->isValid() )
- { return pManager; }
-
- // Fall through: Cleanup if manager is not valid.
- delete pManager;
- pManager = NULL;
- return NULL;
- }
-
-
-private:
- void init( TpPrototype::Account* account );
- void startupInit();
- ConnectionPrivate * const d;
-
- friend class Account;
-};
-
-} // namespace
-
-#endif
diff --git a/TelepathyQt4/Prototype/ConnectionFacade.cpp b/TelepathyQt4/Prototype/ConnectionFacade.cpp
deleted file mode 100644
index 3040d36..0000000
--- a/TelepathyQt4/Prototype/ConnectionFacade.cpp
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/ConnectionFacade.h"
-
-#include <QCoreApplication>
-#include <QDebug>
-#include <QPointer>
-
-#include <TelepathyQt4/Connection>
-#include <TelepathyQt4/ConnectionManager>
-
-#include <TelepathyQt4/Prototype/Account.h>
-#include <TelepathyQt4/Prototype/AccountManager.h>
-#include <TelepathyQt4/Prototype/Connection.h>
-#include <TelepathyQt4/Prototype/DBusInterface.h>
-
-using namespace TpPrototype;
-
-ConnectionFacade* ConnectionFacade::m_instance = NULL;
-
-enum {
- mgr_Param_Flag_Required = 1,
- mgr_Param_Flag_Register = 2,
- mgr_Param_Flag_Has_Default = 4,
- mgr_Param_Flag_Secret = 8
-};
-
-
-class TpPrototype::ConnectionFacadePrivate
-{
-public:
-};
-
-ConnectionFacade* ConnectionFacade::instance()
-{
- if ( NULL == m_instance )
- {
- m_instance = new ConnectionFacade( QCoreApplication::instance() );
- }
-
- return m_instance;
-}
-
-ConnectionFacade::ConnectionFacade( QObject* parent ):
- QObject( parent ),
- d( new ConnectionFacadePrivate )
-{
-}
-
-ConnectionFacade::~ConnectionFacade()
-{
- delete d;
-}
-
-QStringList ConnectionFacade::listOfConnectionManagers()
-{
- Tp::registerTypes();
-
- QStringList ret_list;
-
- DBusInterface* interface = new DBusInterface( NULL );
-
- QDBusReply<QStringList> reply = interface->listActivatableNames();
-
- delete interface;
-
- if ( !reply.isValid() )
- {
- QDBusError error = reply.error();
-
- qWarning() << "Disconnect: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return ret_list; // returns empty list
- }
-
-
- foreach( const QString& name, reply.value() )
- {
- // qDebug() << "+++Name: " << name;
- if ( !name.startsWith( "org.freedesktop.Telepathy.ConnectionManager" )
- || name.isEmpty() )
- { continue; }
-
- QString cm_name;
- int pos_of_last_dot = name.lastIndexOf( "." );
- Q_ASSERT( pos_of_last_dot >= 0 );
- cm_name = name.right( name.length() - ( pos_of_last_dot + 1 ) );
- ret_list << cm_name;
- }
-
- // qDebug() << "+++Names found: " << ret_list;
- return ret_list;
-}
-
-QStringList ConnectionFacade::listOfProtocolsForConnectionManager( const QString& connectionManager )
-{
- Tp::registerTypes();
-
- QStringList empty_list;
-
- QStringList list_of_connection_managers = listOfConnectionManagers();
- if ( !list_of_connection_managers.contains( connectionManager ) )
- { return empty_list; } // return empty list
-
- Tp::Client::ConnectionManagerInterface connection_manager_interface( "org.freedesktop.Telepathy.ConnectionManager." + connectionManager,
- "/org/freedesktop/Telepathy/ConnectionManager/" + connectionManager );
-
- QDBusPendingReply<QStringList> list_protocols_reply = connection_manager_interface.ListProtocols();
- list_protocols_reply.waitForFinished();
-
- if ( !list_protocols_reply.isValid() )
- {
- QDBusError error = list_protocols_reply.error();
-
- qWarning() << "ListProtocols: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return empty_list; // returns empty list
- }
-
- return list_protocols_reply.value();
-}
-
-// TODO: Return the parameter list with all flags as we receive it from telepathy. This solution hides the flags and is unable
-// to handle all required types..
-Tp::ParamSpecList ConnectionFacade::paramSpecListForConnectionManagerAndProtocol( const QString& connectionManager, const QString& protocol )
-{
- Tp::registerTypes();
-
- Tp::Client::ConnectionManagerInterface connection_manager_interface( "org.freedesktop.Telepathy.ConnectionManager." + connectionManager,
- "/org/freedesktop/Telepathy/ConnectionManager/" + connectionManager );
-
- QDBusPendingReply<Tp::ParamSpecList> get_parameters_reply = connection_manager_interface.GetParameters( protocol );
- get_parameters_reply.waitForFinished();
-
- if ( !get_parameters_reply.isValid() )
- {
- QDBusError error = get_parameters_reply.error();
-
- qWarning() << "ListProtocols: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return Tp::ParamSpecList() ; // returns empty list
- }
-
- Tp::ParamSpecList param_spec_list = get_parameters_reply.value();
-
- return param_spec_list;
-}
-
-QVariantMap ConnectionFacade::parameterListForConnectionManagerAndProtocol( const QString& connectionManager, const QString& protocol )
-{
- QVariantMap ret_map;
-
- foreach( const Tp::ParamSpec& item, paramSpecListForConnectionManagerAndProtocol(connectionManager, protocol) )
- {
- ret_map.insert( item.name, item.defaultValue.variant() );
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "item: " << item.name << "flag:" << item.flags;
-#endif
- if ( ( item.flags & ( mgr_Param_Flag_Required | mgr_Param_Flag_Register ) )
- && item.defaultValue.variant().toString().isEmpty() )
- {
-
- if ( item.defaultValue.variant().type() == QVariant::String )
- {
- ret_map.insert( item.name, QVariant("required") );
- }
- }
- }
-
- return ret_map;
-}
-
-QVariantMap ConnectionFacade::parameterListForProtocol( const QString& protocol, int account_number )
-{
- Tp::registerTypes();
-
- QVariantMap ret_map;
-
- if (account_number==1)
- {
- ret_map.insert( "account", "basyskom@localhost" );
- }
- else if (account_number==2)
- {
- ret_map.insert( "account", "test@localhost" );
- }
- ret_map.insert( "password", "basyskom" );
- ret_map.insert( "server", "localhost" );
- ret_map.insert( "resource", "Tp" );
- ret_map.insert( "port", static_cast<uint>(5222) );
- return ret_map;
-}
-
-// account_number is used for test purposes only we have to delte this later
-TpPrototype::Connection* ConnectionFacade::connectionWithAccount( Account* account, int account_number )
-{
- Tp::registerTypes();
-
- if ( !account )
- { return NULL; }
-
- account->setParameters( parameterListForProtocol( "jabber", account_number ) );
-
- // Get the default connection manager. "Default" is currently only the first one in the list of possible connection managers
- QStringList connection_managers = listOfConnectionManagers();
- Q_ASSERT( connection_managers.count() );
- if ( !connection_managers.count() )
- { return NULL; }
-
- return account->connection();
-}
-
-int ConnectionFacade::selfHandleForConnectionInterface( Tp::Client::ConnectionInterface* connectionInterface )
-{
- if ( !connectionInterface )
- {
- return -1;
- }
-
- QDBusPendingReply<uint> local_handle_reply = connectionInterface->GetSelfHandle();
- local_handle_reply.waitForFinished();
-
- if ( !local_handle_reply.isValid() )
- {
- QDBusError error = local_handle_reply.error();
-
- qWarning() << "GetSelfHandle: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return -1;
- }
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "****Self handle:" << local_handle_reply.value();
-#endif
-
- return local_handle_reply.value();
-}
-
-#include "_gen/ConnectionFacade.h.moc"
diff --git a/TelepathyQt4/Prototype/ConnectionFacade.h b/TelepathyQt4/Prototype/ConnectionFacade.h
deleted file mode 100644
index 80543b4..0000000
--- a/TelepathyQt4/Prototype/ConnectionFacade.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef ConnectionFacade_H_
-#define ConnectionFacade_H_
-
-#include <QObject>
-#include <QStringList>
-#include <QVariantMap>
-
-#include <TelepathyQt4/Types>
-
-#ifdef DEPRECATED_ENABLED__
-#define ATTRIBUTE_DEPRECATED __attribute__((deprecated))
-#else
-#define ATTRIBUTE_DEPRECATED
-#endif
-
-namespace Tp
-{
- namespace Client
- {
- class ConnectionInterface;
- }
-}
-
-namespace TpPrototype
-{
-
-/**
- * @defgroup qt_style_api Prototype Qt-Style Client API
- *
- * This API provides a high level client side API that enables developers
- * to access to Tp on a high level of abstraction. However, the
- * implementation is problematic in places.
- *
- * Work is in progress to merge the functionality of this prototype API into
- * the main part of telepathy-qt4 while converting it to asynchronous
- * operation. Using it for new code is not recommended.
- */
-
-/**
- * @defgroup qt_convenience Convenience Classes
- * @ingroup qt_style_api
- * Classes that provide functions that are needed for various tasks.
- */
-
-class ConnectionFacadePrivate;
-class Connection;
-class Account;
-
-/**
- * @ingroup qt_convenience
- * Class to access to Tp and Mission control services. This class is used to encapsulate the low level D-BUS Interface
- * to Tp and MissionControl. It provides a series of helper functions.<br>
- * This class follows the <i>facade</i> pattern.
- * @todo Move as much functions as possible into adequate classes.
- */
-class ConnectionFacade: public QObject
-{
- Q_OBJECT
-public:
- static ConnectionFacade* instance();
- /**
- * Returns a list of all connection managers registered.
- * @return List of connection manager names.
- */
- QStringList listOfConnectionManagers();
-
- /**
- * Returns a list of supported protocols of a connection manager.
- * @return List of supported protocols.
- */
- QStringList listOfProtocolsForConnectionManager( const QString& connectionManager );
-
- /**
- * Returns a Tp::ParamSpecList from the given protocol an connection manager.
- * @param connectionManager The connection manager for the protocol.
- * @param protocol Name of the protocol that is supported by the connection manager.
- * @return A map with all supported parameters with default values.
- */
- Tp::ParamSpecList paramSpecListForConnectionManagerAndProtocol( const QString& connectionManager, const QString& protocol );
-
- /**
- * Returns a list of parameters for the given protocol and connection manager.
- * @param connectionManager The connection manager for the protocol.
- * @param protocol Name of the protocol that is supported by the connection manager.
- * @return A map with all supported parameters with default values.
- */
- QVariantMap parameterListForConnectionManagerAndProtocol( const QString& connectionManager, const QString& protocol );
-
- /**
- * Returns a list of parameters for the given protocol.
- * @deprecated Use parameterListForConnectionManagerAndProtocol() instead!
- * @param protocol Name of the protocol.
- * @return A map with all supported parameters with default values.
- */
- QVariantMap parameterListForProtocol( const QString& protocol, int account_number=1 ) ATTRIBUTE_DEPRECATED;
-
- /**
- * Connects to account. Connects an account to a service using the default connection manager.
- * @deprecated Use <i>Account::connection()</i> instead!
- * @param account The account to use.
- * @return A connection. A null pointer is returned if the connection was <i>not</i> successful.
- */
- TpPrototype::Connection* connectionWithAccount( Account* account, int account_number=1 ) ATTRIBUTE_DEPRECATED;
-
- /**
- * Returns the self handle. The self handle is needed by various interfaces to request information about myself
- * @todo: This is more or less a local function and should not be part of a public API. But I don't have a better place right now!
- * @return The local handle is usually 1 but may change on demand. -1 is returned on error.
- */
- int selfHandleForConnectionInterface( Tp::Client::ConnectionInterface* connectionInterface );
-
-private:
- ConnectionFacade( QObject* parent );
- ~ConnectionFacade();
-
- ConnectionFacadePrivate * const d;
- static ConnectionFacade* m_instance;
-};
-
-}
-#endif // ConnectionFacade_H_
-
diff --git a/TelepathyQt4/Prototype/Constants b/TelepathyQt4/Prototype/Constants
deleted file mode 100644
index 3cc33f9..0000000
--- a/TelepathyQt4/Prototype/Constants
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _TelepathyQt4_Prototype_Constants_HEADER_GUARD_
-#define _TelepathyQt4_Prototype_Constants_HEADER_GUARD_
-
-#include <TelepathyQt4/Prototype/constants.h>
-
-#endif
diff --git a/TelepathyQt4/Prototype/Contact.cpp b/TelepathyQt4/Prototype/Contact.cpp
deleted file mode 100644
index 9dec667..0000000
--- a/TelepathyQt4/Prototype/Contact.cpp
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/Contact.h"
-
-#include <QDebug>
-#include <QMetaProperty>
-
-#include <TelepathyQt4/Channel>
-#include <TelepathyQt4/Constants>
-
-#include <TelepathyQt4/Prototype/ChatChannel.h>
-#include <TelepathyQt4/Prototype/ContactManager.h>
-#include <TelepathyQt4/Prototype/StreamedMediaChannel.h>
-
-using namespace TpPrototype;
-
-class TpPrototype::ContactPrivate
-{
-public:
- ContactPrivate( const uint & handle, const QString & name, Contact::ContactTypes type,
- Tp::Client::ConnectionInterface* connectionInterface, TpPrototype::ContactManager* contactManager )
- { init(handle, name, type, connectionInterface, contactManager); }
- ~ContactPrivate()
- {}
- uint m_handle;
- bool m_isValid;
- bool m_isPresenceInitialized;
- Contact::ContactTypes m_type;
- QString m_name;
- uint m_presenceType;
- QString m_presenceStatus;
- QString m_presenceMessage;
- Tp::ContactCapabilityList m_capabilityList;
- TpPrototype::AvatarManager::Avatar m_avatar;
- Tp::Client::ConnectionInterface* m_pConnectionInterface;
- QPointer<TpPrototype::ChatChannel> m_pChatChannel;
- QPointer<TpPrototype::StreamedMediaChannel> m_pStreamedMediaChannel;
- QPointer<TpPrototype::ContactManager> m_pContactManager;
-
-private:
- void init( uint handle, const QString & name, Contact::ContactTypes type,
- Tp::Client::ConnectionInterface* connectionInterface, TpPrototype::ContactManager* contactManager )
- {
- Q_ASSERT( connectionInterface );
- Q_ASSERT( contactManager );
-
- m_handle = handle;
- m_name = name;
- m_type = type;
- m_presenceType = 0;
- m_presenceStatus = "unknown";
- m_presenceMessage = "";
- m_pChatChannel = NULL;
- m_pStreamedMediaChannel = NULL;
- m_pConnectionInterface = connectionInterface;
- m_pContactManager = contactManager;
- m_isPresenceInitialized = false;
-
- if ( 0 == m_handle )
- m_isValid = false;
- else
- m_isValid = true;
- }
-};
-
-uint Contact::telepathyHandle() const
-{ return d->m_handle; }
-
-uint Contact::telepathyHandleType() const
-{ return Tp::HandleTypeContact; }
-
-QString Contact::name() const
-{ return d->m_name; }
-
-Contact::ContactTypes Contact::type() const
-{ return d->m_type; }
-
-void Contact::setType( ContactTypes type )
-{
- d->m_type = type;
-}
-
-bool Contact::isValid() const
-{ return d->m_isValid; }
-
-void Contact::setPresenceType( uint _presenceType)
-{ d->m_presenceType=_presenceType; }
-
-uint Contact::presenceType()
-{
- d->m_isPresenceInitialized = true;
- return d->m_presenceType;
-}
-
-void Contact::setPresenceStatus( QString _presenceStatus)
-{
- d->m_isPresenceInitialized = true;
- d->m_presenceStatus=_presenceStatus;
-}
-
-QString Contact::presenceStatus()
-{ return d->m_presenceStatus; }
-
-bool Contact::isPresenceStateAvailable()
-{ return d->m_isPresenceInitialized; }
-
-void Contact::setPresenceMessage( QString _presenceMessage)
-{ d->m_presenceMessage=_presenceMessage; }
-
-QString Contact::presenceMessage()
-{ return d->m_presenceMessage; }
-
-void Contact::setCapabilities( const Tp::ContactCapabilityList& capabilityList )
-{ d->m_capabilityList = capabilityList; }
-
-Tp::ContactCapabilityList Contact::capabilities() const
-{ return d->m_capabilityList; }
-
-void Contact::setAvatar( const TpPrototype::AvatarManager::Avatar& avatar )
-{
- d->m_avatar = avatar;
-}
-
-Tp::Client::ConnectionInterface* Contact::interface()
-{
- return d->m_pConnectionInterface;
-}
-
-TpPrototype::AvatarManager::Avatar Contact::avatar() const
-{
- return d->m_avatar;
-}
-
-ChatChannel* Contact::chatChannel()
-{
- if ( !d->m_pChatChannel )
- {
- d->m_pChatChannel = new ChatChannel( this, d->m_pConnectionInterface, this );
- Q_ASSERT( d->m_pChatChannel->isValid() );
- }
- return d->m_pChatChannel;
-}
-
-TpPrototype::StreamedMediaChannel* Contact::streamedMediaChannel()
-{
- if ( !d->m_pStreamedMediaChannel )
- {
- d->m_pStreamedMediaChannel = new StreamedMediaChannel( this, d->m_pConnectionInterface, this );
- Q_ASSERT( d->m_pStreamedMediaChannel->isValid() );
- }
- return d->m_pStreamedMediaChannel;
-
-}
-
-TpPrototype::ContactManager* Contact::contactManager()
-{
- return d->m_pContactManager;
-}
-
-
-Contact::Contact( const uint & handle, const QString & url, ContactTypes type,
- Tp::Client::ConnectionInterface* connectionInterface, TpPrototype::ContactManager* contactManager ) :
- QObject( contactManager ),
- d( new ContactPrivate( handle, url, type, connectionInterface, contactManager ) )
-{
-}
-
-Contact::~Contact()
-{ delete d; }
-
-#include "_gen/Contact.h.moc"
diff --git a/TelepathyQt4/Prototype/Contact.h b/TelepathyQt4/Prototype/Contact.h
deleted file mode 100644
index 2b7eb5e..0000000
--- a/TelepathyQt4/Prototype/Contact.h
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef TelepathyQt4_Prototype_Contact_H_
-#define TelepathyQt4_Prototype_Contact_H_
-
-#include <QObject>
-#include <QPointer>
-#include <QVariantMap>
-
-#include <TelepathyQt4/Channel>
-
-#include <TelepathyQt4/Prototype/AvatarManager.h>
-
-#ifdef DEPRECATED_ENABLED__
-#define ATTRIBUTE_DEPRECATED __attribute__((deprecated))
-#else
-#define ATTRIBUTE_DEPRECATED
-#endif
-
-namespace Tp
-{
- namespace Client
- {
- class ConnectionInterface;
- }
-}
-
-namespace TpPrototype {
-
-class ContactPrivate;
-class ContactManager;
-class ChatChannel;
-class StreamedMediaChannel;
-
-/**
- * This class handles information related to a contact.
- * Contact objects are always owned by ContactManager. Therefore, there is no way to create or remove a contact without using the ContactManager object.<br>
- * Other Managers (like PresenceManager, AvatarManager) are accessing the contacts inside of the contact manager to update its information.
- * Whether a contact was updated is signalled by the Managers but the new information is stored in the contact object and can be retrieved from it.
- * @ingroup qt_connection
- * @ingroup qt_contact
- * @todo Do not provide a function for every presence parameter. Use SimplePresence instead.
- * @todo Use implicit sharing instead of expolicit sharig!
- * @see CapabilitiesManager, AvatarManager, PresenceManager
- */
-class Contact : public QObject
-{
- Q_OBJECT
-public:
- enum ContactTypes
- {
- CT_Subscribed = 0,
- CT_LocalPending,
- CT_RemotePending,
- CT_Removed,
- CT_Known,
- CT_Blocked
- };
-
- /**
- * Validity.
- * Do not access any method if this function returns false.
- */
- bool isValid() const;
-
- /**
- * Returns the contact type.
- * @return The contact type.
- */
- ContactTypes type() const;
-
- /**
- * Set type.
- * @param type The new type
- * @see ContactTypes
- */
- void setType( ContactTypes type );
-
- /**
- * Returns the telepathy internal handle.
- * @return The telepathy internal handle.
- */
- uint telepathyHandle() const;
-
- /**
- * Returns the telepathy internal handle type.
- * @return The telepathy internal handle type.
- */
- uint telepathyHandleType() const;
-
- /**
- * Returns the name of the contact.
- * @return The name of the contact as it is used by protocol (E.g. user@jabber.org).
- * @todo Make this private. We need an encapsulation for </i>PresenceManager::presencesForContacts()</i> first. (ses)
- * THUN: Stefan, this is not possible as this information is required to work with all telepathy classes
- * unknown to this lib.
- */
- QString name() const;
-
- /**
- * Returns the presence information of this contact.
- * This presence information is automatically updated after the presence information was requested for the first time (PresenceManager::presencesForContacts()).<br>
- * <b>Note:</b> Use <i>isPresenceStateAvailable()</i> to check whether the returned presence is valid!
- * @todo Implement this!
- * @see PresenceManager
- */
- Tp::SimplePresence presence() { return Tp::SimplePresence(); /* TODO: Implement me ! */ };
-
- /**
- * @todo: Add Doc and get/setr in presence manager
- * @deprecated Use <i>presence()</i> instead.
- *
- */
- uint presenceType() ATTRIBUTE_DEPRECATED;
-
- /**
- * @todo: Add Doc and get/setr in presence manager
- * @deprecated Use <i>presence()</i> instead.
- *
- */
- QString presenceStatus() ATTRIBUTE_DEPRECATED;
-
- /**
- * Returns whether there is any presence information available.
- * This functionreturns <i>false</i> if there is no valid presence information available.
- * @return <i>true</i> if valid resence information is available. Otherwise <i>false</i> is returned.
- */
- bool isPresenceStateAvailable();
-
- /**
- * @todo: Add Doc and get/setr in presence manager
- * @deprecated Use <i>presence()</i> instead.
- *
- */
- QString presenceMessage() ATTRIBUTE_DEPRECATED;
-
- /**
- * @todo: Add Doc and get/setr in presence manager
- *
- */
- Tp::ContactCapabilityList capabilities() const;
-
-
- /**
- * Get Avatar for this contact.
- * This function does not return valid information after the avatar was not requested by avatarForContactList()
- * @see AvatarManager
- */
- TpPrototype::AvatarManager::Avatar avatar() const;
-
- /**
- * Get chat channel for this contact.
- * This function provides the chat channel object for this contact. It contains all information to do a text chat
- * @return The channel object.
- */
- TpPrototype::ChatChannel* chatChannel();
-
- /**
- * Get channel for media streaming.
- * This function returns the media streaming object for this contact. It contains all information and functions for VoIP and Video Over IP communication.
- */
- TpPrototype::StreamedMediaChannel* streamedMediaChannel();
-
- /**
- * Get the contact manager where this object is stored.
- * @return The contact manager that owns this object.
- */
- TpPrototype::ContactManager* contactManager();
-
-protected:
- /**
- * Contstuctor.
- * This object is never created directly. Use ContactManager to create or request a contact.
- * @see ContactManager
- */
- Contact( const uint & handle, const QString & name, ContactTypes type, Tp::Client::ConnectionInterface* connectionInterface, TpPrototype::ContactManager* contactManager );
-
- ~Contact();
-
- /**
- * @todo: Add Doc and get/setr in presence manager
- */
- void setPresenceType( uint _presenceType);
-
- /**
- * @todo: Add Doc and get/setr in presence manager
- */
- void setPresenceStatus( QString _presenceStatus);
-
- /**
- * @todo: Add Doc and get/setr in presence manager
- */
- void setPresenceMessage( QString _presenceMessage);
-
- /**
- * @todo: Add Doc and get/setr in presence manager
- */
- void setCapabilities( const Tp::ContactCapabilityList& capabilityList );
-
- /**
- * Set the avatar.
- * This avatar is set by the AvatarManager.
- *
- */
- void setAvatar( const TpPrototype::AvatarManager::Avatar& avatar );
-
- /**
- * D-BUS interface.
- * This protected access to the D-BUS interface can be used to extend this class with special features.
- */
- Tp::Client::ConnectionInterface* interface();
-
-
-private:
- ContactPrivate * const d;
-
- friend class ContactManager;
- friend class AvatarManager;
- friend class PresenceManager;
- friend class CapabilitiesManager;
-};
-
-} // namespace
-
-// Q_DECLARE_METATYPE( TpPrototype::Contact )
-
-#endif // Header guard
diff --git a/TelepathyQt4/Prototype/ContactManager.cpp b/TelepathyQt4/Prototype/ContactManager.cpp
deleted file mode 100644
index 4145843..0000000
--- a/TelepathyQt4/Prototype/ContactManager.cpp
+++ /dev/null
@@ -1,1145 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/ContactManager.h"
-
-#include <time.h>
-
-#include <QCoreApplication>
-#include <QDBusPendingReply>
-#include <QDBusObjectPath>
-#include <QDebug>
-#include <QHash>
-#include <QPointer>
-#include <QString>
-
-#include <TelepathyQt4/Channel>
-
-#include <TelepathyQt4/Prototype/ChatChannel.h>
-#include <TelepathyQt4/Prototype/ConnectionFacade.h>
-#include <TelepathyQt4/Prototype/Contact.h>
-#include <TelepathyQt4/Prototype/StreamedMediaChannel.h>
-
-// #define ENABLE_DEBUG_OUTPUT_
-
-using namespace TpPrototype;
-
-class TpPrototype::ContactManagerPrivate
-{
-public:
- ContactManagerPrivate()
- { init(); }
-
- ~ContactManagerPrivate()
- { }
-
- Tp::Client::ConnectionInterface* m_pInterface;
- Tp::Client::ChannelInterfaceGroupInterface* m_groupSubscribedChannel;
- Tp::Client::ChannelInterfaceGroupInterface* m_groupKnownChannel;
- Tp::Client::ChannelInterfaceGroupInterface* m_groupPublishedChannel;
- Tp::Client::ChannelInterfaceGroupInterface* m_groupDeniedChannel;
- Tp::Client::ChannelTypeTextInterface* m_groupTextChannel;
-
- QHash<uint, QPointer<Contact> > m_members;
- QHash<uint, QPointer<Contact> > m_subscribed;
- QHash<uint, QPointer<Contact> > m_localPending;
- QHash<uint, QPointer<Contact> > m_remotePending;
- QHash<uint, QPointer<Contact> > m_known;
- QHash<uint, QPointer<Contact> > m_denied;
-
- bool m_isValid;
-
- void init()
- {
- m_pInterface = NULL;
- m_groupSubscribedChannel = NULL;
- m_groupKnownChannel = NULL;
- m_groupPublishedChannel = NULL;
- m_groupTextChannel = NULL; //leave this temporaryly here push it later to contact
- m_isValid = false;
- }
-
- // Returns a list of all <i>handles</i> already <i>contained</i> in <i>list</i>
- QList<uint> handlesToLookUp( const QHash<uint, QPointer<Contact> >& list, const Tp::UIntList& handles, bool contained )
- {
- QList<uint> to_look_up;
- foreach(uint handle, handles)
- {
- if ( contained == list.contains(handle) )
- { to_look_up.append(handle); }
- }
- return to_look_up;
- }
-
- QList<uint> subscribedHandlesToLookUp(const Tp::UIntList& handles)
- {
- return handlesToLookUp( m_subscribed, handles, false );
- }
-
- QList<uint> newKnownHandlesToLookUp(const Tp::UIntList& handles)
- {
- return handlesToLookUp( m_members, handles, false );
- }
-
- QList<uint> removedHandlesToLookUp(const Tp::UIntList& handles)
- {
- return handlesToLookUp( m_members, handles, true );
- }
-
- QList<uint> localPendingHandlesToLookUp(const Tp::UIntList& handles)
- {
- return handlesToLookUp( m_localPending, handles, false );
- }
-
- QList<uint> remotePendingHandlesToLookUp(const Tp::UIntList& handles)
- {
- return handlesToLookUp( m_remotePending, handles, false );
- }
-
- QList<uint> newDeniedHandles( const Tp::UIntList& handles )
- {
- return handlesToLookUp( m_denied, handles, false );
- }
-
- QList<uint> removedDeniedHandles( const Tp::UIntList& handles )
- {
- return handlesToLookUp( m_denied, handles, true );
- }
-
- QList<QPointer<TpPrototype::Contact> > mapHashToList( QHash<uint, QPointer<Contact> > hash )
- {
- QList<QPointer<TpPrototype::Contact> > ret_list;
-
- foreach( const QPointer<TpPrototype::Contact>& contact, hash )
- {
- // Filter possilble null pointers
- if ( NULL == contact )
- { continue; }
-
- ret_list.append( contact );
- }
-
- return ret_list;
- }
-
-};
-
-ContactManager::ContactManager( Tp::Client::ConnectionInterface* connection,
- QObject* parent ):
- QObject( parent ),
- d( new ContactManagerPrivate )
-{
- init( connection );
-}
-
-ContactManager::~ContactManager()
-{
- // Delete this here as we are a friend of contact.
- foreach (QPointer<Contact> current_contact, d->m_members)
- { delete current_contact; }
- foreach (QPointer<Contact> current_contact, d->m_subscribed)
- { delete current_contact; }
- foreach (QPointer<Contact> current_contact, d->m_localPending)
- { delete current_contact; }
- foreach (QPointer<Contact> current_contact, d->m_remotePending)
- { delete current_contact; }
-
- delete d;
-}
-
-int ContactManager::count()
-{ return d->m_members.size(); }
-
-bool ContactManager::isValid()
-{ return d->m_isValid; }
-
-QList<QPointer<Contact> > ContactManager::contactList()
-{ return d->m_members.values(); }
-
-QList<QPointer<Contact> > ContactManager::toAuthorizeList()
-{ return d->m_localPending.values();}
-
-QList<QPointer<Contact> > ContactManager::remoteAuthorizationPendingList()
-{ return d->m_remotePending.values();}
-
-QList<QPointer<Contact> > ContactManager::blockedContacts()
-{ return d->m_denied.values(); }
-
-void ContactManager::init( Tp::Client::ConnectionInterface* connection )
-{
- Q_ASSERT(0 != connection);
- Tp::registerTypes();
- d->m_pInterface = connection;
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "ContactManager up and running... waiting for signals.";
-#endif//
- d->m_isValid = true;
-}
-
-bool ContactManager::requestContact( const QString& id )
-{
- QStringList contact_ids;
- contact_ids.append(id);
-
- QList<uint> contact_handles=d->m_pInterface->RequestHandles( Tp::HandleTypeContact,contact_ids);
- if (!contact_handles.empty())
- {
- if ( d->m_groupSubscribedChannel)
- d->m_groupSubscribedChannel->AddMembers(contact_handles,"Contact Request");
- return true;
- }
- return false;
-}
-
-bool ContactManager::authorizeContact( const Contact* contact )
-{
- if ( !contact )
- { return false; }
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "ContactManager Try to authorize a contact";
-#endif
- QList<uint> toauthorizelist;
- toauthorizelist.append(contact->telepathyHandle());
- if ( d->m_groupPublishedChannel)
- d->m_groupPublishedChannel->AddMembers(toauthorizelist,"Add");
- return true;
-}
-
-
-bool ContactManager::removeContact( const Contact* contact_toremove )
-{
- if ( !contact_toremove )
- { return false; }
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "ContactManager Try to remove a contact ..";
-#endif
- QList<uint> toremovelist;
- toremovelist.append(contact_toremove->telepathyHandle());
-
- if ( d->m_groupSubscribedChannel)
- d->m_groupSubscribedChannel->RemoveMembers(toremovelist,"Remove");
- if ( d->m_groupPublishedChannel)
- d->m_groupPublishedChannel->RemoveMembers(toremovelist,"Remove");
- if ( d->m_groupKnownChannel)
- d->m_groupKnownChannel->RemoveMembers(toremovelist,"Remove");
-
- return true;
-}
-
-bool ContactManager::blockContact( const Contact* contactToBlock )
-{
- if ( !contactToBlock || !d->m_groupDeniedChannel )
- { return false; }
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "ContactManager: Try to block a contact";
-#endif
- QList<uint> handle_list;
- handle_list.append( contactToBlock->telepathyHandle() );
-
- d->m_groupDeniedChannel->AddMembers( handle_list, "Block" );
-
- return true;
- // The list of blocked users (d->m_denied()) will be updated by a signal after this point
-}
-
-bool ContactManager::unblockContact( const Contact* contactToUnblock )
-{
- if ( !contactToUnblock || !d->m_groupDeniedChannel )
- { return false; }
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "ContactManager: Try to unblock a contact";
-#endif
- QList<uint> handle_list;
- handle_list.append( contactToUnblock->telepathyHandle() );
-
- d->m_groupDeniedChannel->RemoveMembers( handle_list, "Unblock" );
-
- return true;
- // The list of blocked users (d->m_denied()) will be updated by a signal after this point
-}
-
-QPointer<TpPrototype::Contact> ContactManager::contactForHandle( uint handle )
-{
- return d->m_members.value( handle );
-}
-
-uint ContactManager::localHandle()
-{
- return ConnectionFacade::instance()->selfHandleForConnectionInterface( d->m_pInterface );
-}
-
-
-/*
- inline QDBusPendingReply<> AcknowledgePendingMessages(const Tp::UIntList& IDs)
-{
- QList<QVariant> argumentList;
- argumentList << QVariant::fromValue(IDs);
- return asyncCallWithArgumentList(QLatin1String("AcknowledgePendingMessages"), argumentList);
-}
-
- inline QDBusPendingReply<Tp::UIntList> GetMessageTypes()
-{
- return asyncCall(QLatin1String("GetMessageTypes"));
-}
-
-*/
-
-
-void ContactManager::openSubscribedContactsChannel(uint handle, const QDBusObjectPath& channelPath, const QString& channelType)
-{
- QString channel_service_name(d->m_pInterface->service());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "ContactManager Channel Services Name" << channel_service_name;
- qDebug() << "ContactManager Channel Path" << channelPath.path();
-#endif
- // This channel may never be closed!
- d->m_groupSubscribedChannel = new Tp::Client::ChannelInterfaceGroupInterface(channel_service_name,channelPath.path(),
- this);
- if (!d->m_groupSubscribedChannel->isValid())
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Failed to connect Group channel interface class to D-Bus object.";
-#endif
- delete d->m_groupSubscribedChannel;
- d->m_groupSubscribedChannel = 0;
- return;
- }
- QDBusPendingReply<Tp::UIntList, Tp::UIntList, Tp::UIntList> reply2=d->m_groupSubscribedChannel->GetAllMembers();
- reply2.waitForFinished();
-
- const Tp::UIntList mlist1= QList< quint32 > (reply2.argumentAt<0>());
- const Tp::UIntList mlist2;
- const Tp::UIntList mlist3= QList< quint32 > (reply2.argumentAt<1>());
- const Tp::UIntList mlist4= QList< quint32 > (reply2.argumentAt<2>());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Number of current members" << mlist1.size();
- qDebug() << "Number of local pending members" << mlist2.size();
- qDebug() << "Number of remote pending members" << mlist3.size();
-#endif
- if (( mlist1.size()>0) || ( mlist3.size()>0) || ( mlist4.size()>0))
- slotSubscribedMembersChanged("",
- mlist1,
- mlist2,
- mlist3,
- mlist4,
- 0, 0);
-
- // All lists are empty when the channel is created, so it suffices to connect
- // the MembersChanged signal.
- connect(d->m_groupSubscribedChannel, SIGNAL(MembersChanged(const QString&,
- const Tp::UIntList&, // added to members list
- const Tp::UIntList&, // removed from members list
- const Tp::UIntList&, // local pending list
- const Tp::UIntList&, // remote pending list
- uint, uint)),
- this, SLOT(slotSubscribedMembersChanged(const QString&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- uint, uint)));
-
-}
-
-void ContactManager::openKnownContactsChannel(uint handle, const QDBusObjectPath& channelPath, const QString& channelType)
-{
- QString channel_service_name(d->m_pInterface->service());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "ContactManager Channel Services Name" << channel_service_name;
- qDebug() << "ContactManager Channel Path" << channelPath.path();
-#endif
- // This channel may never be closed!
- d->m_groupKnownChannel = new Tp::Client::ChannelInterfaceGroupInterface(channel_service_name,channelPath.path(),
- this);
- if (!d->m_groupKnownChannel->isValid())
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Failed to connect Group channel interface class to D-Bus object.";
-#endif
- delete d->m_groupKnownChannel;
- d->m_groupKnownChannel = 0;
- return;
- }
- QDBusPendingReply<Tp::UIntList, Tp::UIntList, Tp::UIntList> reply2=d->m_groupKnownChannel->GetAllMembers();
- reply2.waitForFinished();
-
- const Tp::UIntList mlist1= QList< quint32 > (reply2.argumentAt<0>());
- const Tp::UIntList mlist2;
- const Tp::UIntList mlist3= QList< quint32 > (reply2.argumentAt<1>());
- const Tp::UIntList mlist4= QList< quint32 > (reply2.argumentAt<2>());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Number of current members" << mlist1.size();
- qDebug() << "Number of local pending members" << mlist2.size();
- qDebug() << "Number of remote pending members" << mlist3.size();
-#endif
- if (( mlist1.size()>0) || ( mlist3.size()>0) || ( mlist4.size()>0))
- slotKnownMembersChanged("",
- mlist1,
- mlist2,
- mlist3,
- mlist4,
- 0, 0);
-
- // All lists are empty when the channel is created, so it suffices to connect
- // the MembersChanged signal.
- connect(d->m_groupKnownChannel, SIGNAL(MembersChanged(const QString&,
- const Tp::UIntList&, // added to members list
- const Tp::UIntList&, // removed from members list
- const Tp::UIntList&, // local pending list
- const Tp::UIntList&, // remote pending list
- uint, uint)),
- this, SLOT(slotKnownMembersChanged(const QString&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- uint, uint)));
-
-}
-
-void ContactManager::openDenyContactsChannel(uint handle, const QDBusObjectPath& channelPath, const QString& channelType)
-{
- QString channel_service_name(d->m_pInterface->service());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "ContactManager Channel Services Name" << channel_service_name;
- qDebug() << "ContactManager Channel Path" << channelPath.path();
-#endif
- // This channel may never be closed!
- d->m_groupDeniedChannel = new Tp::Client::ChannelInterfaceGroupInterface(channel_service_name,channelPath.path(),
- this);
- if (!d->m_groupDeniedChannel->isValid())
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Failed to connect Group channel interface class to D-Bus object.";
-#endif
- delete d->m_groupDeniedChannel;
- d->m_groupDeniedChannel = NULL;
- return;
- }
-
- QDBusPendingReply<Tp::UIntList, Tp::UIntList, Tp::UIntList> reply2=d->m_groupKnownChannel->GetAllMembers();
- reply2.waitForFinished();
-
- const Tp::UIntList current = QList< quint32 > (reply2.argumentAt<0>());
- const Tp::UIntList local_pending = QList< quint32 > (reply2.argumentAt<1>());
- const Tp::UIntList remote_pending = QList< quint32 > (reply2.argumentAt<2>());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Denied-Members: Number of current members" << current.size();
- qDebug() << "Denied-Members: Number of local pending members" << local_pending.size();
- qDebug() << "Denied-Members: Number of remote pending members" << remote_pending.size();
-#endif
- if (( current.size()>0) || ( local_pending.size()>0) || ( remote_pending.size()>0))
- slotDeniedMembersChanged("",
- current,
- Tp::UIntList(),
- local_pending,
- remote_pending,
- 0, 0);
-
- // All lists are empty when the channel is created, so it suffices to connect
- // the MembersChanged signal.
- connect(d->m_groupDeniedChannel, SIGNAL(MembersChanged(const QString&,
- const Tp::UIntList&, // added to members list
- const Tp::UIntList&, // removed from members list
- const Tp::UIntList&, // local pending list
- const Tp::UIntList&, // remote pending list
- uint, // actor
- uint)), // reason
- this, SLOT(slotDeniedMembersChanged(const QString&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- uint, uint)));
-
-}
-
-void ContactManager::openTextChannel( uint handle, uint handleType, const QString& channelPath, const QString& channelTyp )
-{
- Contact* contact = d->m_members.value( handle );
-
- if ( !contact )
- {
- qWarning() << "ContactManager::openTextChannel: Tried to open a text channel but there was no receiving contact found!";
- return;
- }
- if ( !contact->chatChannel() )
- {
- qWarning() << "ContactManager::openTextChannel: Requesting a valid text channel object failed!";
- return;
- }
-
- if ( contact && contact->chatChannel() )
- {
- contact->chatChannel()->openTextChannel( handle, handleType, channelPath, channelTyp );
- emit signalTextChannelOpenedForContact( contact );
- }
-}
-
-void ContactManager::openStreamedMediaChannel( uint handle, uint handleType, const QString& channelPath, const QString& channelType )
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "ContactManager::openStreamedMediaChannel handle: " << handle
- << "handleType:" << handleType
- << "channelPath: " << channelPath
- << "channelType: " << channelType;
-#endif
-
- // Outbound calls have no handle and don't need to be handled here.
- if ( handle == 0 )
- { return; }
-
-
- Contact* contact = d->m_members.value( handle );
-
- if ( !contact )
- {
- qWarning() << "ContactManager::openStreamedMediaChannel: Tried to open a media stream channel but there was no receiving contact found!";
- return;
- }
- if ( !contact->streamedMediaChannel() )
- {
- qWarning() << "ContactManager::openStreamedMediaChannel: Requesting a valid streamed media channel object failed!";
- return;
- }
-
- if ( contact && contact->streamedMediaChannel() )
- {
- disconnect( contact->streamedMediaChannel(), SIGNAL( signalIncomingChannel( TpPrototype::Contact* ) ), this, 0 );
- connect( contact->streamedMediaChannel(), SIGNAL( signalIncomingChannel( TpPrototype::Contact* ) ),
- this, SIGNAL( signalStreamedMediaChannelOpenedForContact( TpPrototype::Contact* ) ) );
- contact->streamedMediaChannel()->openStreamedMediaChannel( handle, handleType, channelPath, channelType );
- }
-}
-
-void ContactManager::openPublishContactsChannel(uint handle, const QDBusObjectPath& channelPath, const QString& channelType)
-{
- QString channel_service_name(d->m_pInterface->service());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "ContactManager Channel Services Name" << channel_service_name;
- qDebug() << "ContactManager Channel Path" << channelPath.path();
-#endif
- // This channel may never be closed!
- d->m_groupPublishedChannel = new Tp::Client::ChannelInterfaceGroupInterface(channel_service_name,channelPath.path(),
- this);
- if (!d->m_groupPublishedChannel->isValid())
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Failed to connect Group channel interface class to D-Bus object.";
-#endif
- delete d->m_groupPublishedChannel;
- d->m_groupPublishedChannel = 0;
- return;
- }
- QDBusPendingReply<Tp::UIntList, Tp::UIntList, Tp::UIntList> reply2=d->m_groupPublishedChannel->GetAllMembers();
- reply2.waitForFinished();
-
- const Tp::UIntList mlist1= QList< quint32 > (reply2.argumentAt<0>());
- const Tp::UIntList mlist2;
- const Tp::UIntList mlist3= QList< quint32 > (reply2.argumentAt<1>());
- const Tp::UIntList mlist4= QList< quint32 > (reply2.argumentAt<2>());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Number of current members" << mlist1.size();
- qDebug() << "Number of local pending members" << mlist2.size();
- qDebug() << "Number of remote pending members" << mlist3.size();
-#endif
- if (( mlist1.size()>0) || ( mlist3.size()>0) || ( mlist4.size()>0))
- slotPublishedMembersChanged("",
- mlist1,
- mlist2,
- mlist3,
- mlist4,
- 0, 0);
- // qDebug() << "Number of current members" << mlist1.size();
- // qDebug() << "Number of local pending members" << mlist2.size();
- // qDebug() << "Number of remote pending members" << mlist3.size();
-
- // All lists are empty when the channel is created, so it suffices to connect
- // the MembersChanged signal.
- connect(d->m_groupPublishedChannel, SIGNAL(MembersChanged(const QString&,
- const Tp::UIntList&, // added to members list
- const Tp::UIntList&, // removed from members list
- const Tp::UIntList&, // local pending list
- const Tp::UIntList&, // remote pending list
- uint, uint)),
- this, SLOT(slotPublishedMembersChanged(const QString&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- const Tp::UIntList&,
- uint, uint)));
-
-}
-
-
-
-void ContactManager::slotKnownMembersChanged(const QString& message,
- const Tp::UIntList& members_added,
- const Tp::UIntList& members_removed,
- const Tp::UIntList& local_pending,
- const Tp::UIntList& remote_pending,
- uint actor, uint reason)
-{
- slotMembersChanged("Known",
- members_added,
- members_removed,
- local_pending,
- remote_pending,
- actor, reason);
-}
-void ContactManager::slotPublishedMembersChanged(const QString& message,
- const Tp::UIntList& members_added,
- const Tp::UIntList& members_removed,
- const Tp::UIntList& local_pending,
- const Tp::UIntList& remote_pending,
- uint actor, uint reason)
-{
- slotMembersChanged("Published",
- members_added,
- members_removed,
- local_pending,
- remote_pending,
- actor, reason);
-}
-
-void ContactManager::slotSubscribedMembersChanged(const QString& message,
- const Tp::UIntList& members_added,
- const Tp::UIntList& members_removed,
- const Tp::UIntList& local_pending,
- const Tp::UIntList& remote_pending,
- uint actor, uint reason)
-{
- slotMembersChanged("Subscribed",
- members_added,
- members_removed,
- local_pending,
- remote_pending,
- actor, reason);
-}
-
-void ContactManager::slotDeniedMembersChanged(const QString& message,
- const Tp::UIntList& members_added,
- const Tp::UIntList& members_removed,
- const Tp::UIntList& local_pending,
- const Tp::UIntList& remote_pending,
- uint actor,
- uint reason)
-{
- QList<uint> added_members = d->newDeniedHandles( members_added ); // members added to the list of denied.
- QList<uint> removed_members = d->removedDeniedHandles( members_removed ); // members removed from the list of denied.
- QList<uint> new_members = d->newKnownHandlesToLookUp( members_added ); // new members that are not yet in the list of members
-
- // Remove all removed members from the denied list
- foreach( uint member_handle, removed_members )
- {
- Contact* contact = d->m_denied.value( member_handle );
- if ( !contact )
- { continue; }
- contact->setType( Contact::CT_Known );
- d->m_denied.remove( member_handle );
- }
-
- // Members that are not already known (in list of members): create new contact.
- QDBusPendingReply<QStringList> handle_names_reply = d->m_pInterface->InspectHandles( Tp::HandleTypeContact, new_members );
- handle_names_reply.waitForFinished();
- if ( !handle_names_reply.isValid() )
- {
- QDBusError error = handle_names_reply.error();
-
- qWarning() << "InspectHandles (new denied handles=: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
- return;
- }
- Q_ASSERT( handle_names_reply.value().size() == new_members.size() );
-
- // Create Contacts for the looked up handles:
- for (int i = 0; i < new_members.size(); ++i)
- {
- QPointer<Contact> contact = new Contact( new_members.at(i), handle_names_reply.value().at(i), Contact::CT_Blocked, d->m_pInterface, this );
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Create contact for known Handle" << handle_names_reply.value().at(i);
-#endif
- Q_ASSERT(contact->isValid());
- d->m_members.insert( new_members.at( i ), contact );
- }
- // end: create new contact
-
- // Now update list of blocked members and emit signals.
- foreach( uint member_handle, added_members )
- {
- Contact* contact = d->m_members.value( member_handle );
- if ( !contact )
- { continue; }
- contact->setType( Contact::CT_Blocked );
- d->m_denied.insert( member_handle, contact );
-
- emit signalContactBlocked( this, contact );
- }
- // Emit signals for the removed members
- foreach( uint member_handle, removed_members )
- {
-
- emit signalContactUnblocked( this, d->m_members.value( member_handle ) );
- }
-}
-
-
-// TODO: This function is a real beast. It should be split into separate functions. Rethink whether it is a good idea
-// to map all slots to this functions!?
-void ContactManager::slotMembersChanged(const QString& message,
- const Tp::UIntList& members_added,
- const Tp::UIntList& members_removed,
- const Tp::UIntList& local_pending,
- const Tp::UIntList& remote_pending,
- uint actor, uint reason)
-{
- static bool is_already_in = false; // FIXME: Remove this until RTCHM-329
- Q_UNUSED(actor);
- Q_UNUSED(reason);
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Members Changed" << message << "Actor" << actor << "Reason" <<reason;
- qDebug() << "Members Added" << members_added.size();
- qDebug() << "Members Removed" << members_removed.size();
- qDebug() << "Members Local Pending" << local_pending.size();
- qDebug() << "Members Remote Pending" << remote_pending.size();
-#endif
- // Figure out handles that we need to look up.
- // Batch them up to minimize roundtrips.
-
-
-
-
- if (members_added.size()!=0)
- {
- if (message==QString("Known"))
- {
- QList<uint> known_to_look_up(d->newKnownHandlesToLookUp(members_added));
- // look up 'missing' handles:
- QDBusPendingReply<QStringList> handle_names =
- d->m_pInterface->InspectHandles(Tp::HandleTypeContact, known_to_look_up);
- handle_names.waitForFinished();
- if (!handle_names.isValid())
- {
- QDBusError error = handle_names.error();
-
- qWarning() << "InspectHandles: error type:" << error.type()
- << "error name:" << error.name();
- return;
- }
- Q_ASSERT(handle_names.value().size() == known_to_look_up.size());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Known Handle" << handle_names.value().size() <<"Look Up Size" << known_to_look_up.size();
-#endif
- // Create Contacts for the looked up handles:
- QHash<uint, QPointer<Contact> > tmp_list;
- for (int i = 0; i < known_to_look_up.size(); ++i)
- {
-
-
- QPointer<Contact> contact = new Contact(known_to_look_up.at(i), handle_names.value().at(i), Contact::CT_Known, d->m_pInterface, this );
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Known Handle" << handle_names.value().at(i);
-#endif
- Q_ASSERT(contact->isValid());
- tmp_list.insert(known_to_look_up.at(i), contact);
-
- }
- known_to_look_up.clear();
- if (tmp_list.size()>0)
- {
- foreach (uint handle, members_added)
- {
- //Q_ASSERT(!d->m_subscribed.contains(handle)); // We do not yet know that handle.
- // FIXME: Check where the handle comes from to figure out whether it was
- // Getting authorized, etc.
- QPointer<Contact> current_contact = tmp_list.value(handle);
- // Detect mixups when writing into the hash.
- if (current_contact)
- {
- Q_ASSERT(current_contact->telepathyHandle() == handle);
- tmp_list.remove(handle);
- if (!d->m_subscribed.contains(handle))
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Added Handle to Known List";
-#endif
- }
- else
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Known Contact already in contactlist";
-#endif
- d->m_members.remove(handle);
- d->m_subscribed.remove(handle);
- }
- d->m_members.insert(handle, current_contact);
- d->m_known.insert(handle, current_contact);
- emit signalContactKnown( this, current_contact );
- }
- }
- }
- }
- else //message!="Known"
- {
-
- QList<uint> subscribed_to_look_up(d->subscribedHandlesToLookUp(members_added));
-
- // look up 'missing' handles:
- QDBusPendingReply<QStringList> handle_names =
- d->m_pInterface->InspectHandles(Tp::HandleTypeContact, subscribed_to_look_up);
- handle_names.waitForFinished();
- if (!handle_names.isValid())
- {
- QDBusError error = handle_names.error();
-
- qWarning() << "InspectHandles: error type:" << error.type()
- << "error name:" << error.name();
- return;
- }
- Q_ASSERT(handle_names.value().size() == subscribed_to_look_up.size());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Subscribed Handle" << handle_names.value().size() <<"Look Up Size" << subscribed_to_look_up.size()<< "Mmebers Added Size "<< members_added.size();
-#endif
- // Create Contacts for the looked up handles:
- QHash<uint, QPointer<Contact> > tmp_list;
- for (int i = 0; i < subscribed_to_look_up.size(); ++i)
- {
-
- QPointer<Contact> contact = new Contact(subscribed_to_look_up.at(i), handle_names.value().at(i), Contact::CT_Subscribed, d->m_pInterface, this );
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Subscribed Handle" << handle_names.value().at(i);
-#endif
- Q_ASSERT(contact->isValid());
- tmp_list.insert(subscribed_to_look_up.at(i), contact);
- }
- if (tmp_list.size()>0)
- {
- QPointer<Contact> current_contact;
- foreach (uint handle, members_added)
- {
- //Q_ASSERT(!d->m_subscribed.contains(handle)); // We do not yet know that handle.
- // FIXME: Check where the handle comes from to figure out whether it was
- // Getting authorized, etc.
- current_contact = tmp_list.value(handle);
-
- if (current_contact)
- {
- // Detect mixups when writing into the hash.
- Q_ASSERT(current_contact->telepathyHandle() == handle);
-
- tmp_list.remove(handle);
- if (!d->m_members.contains(handle))
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Added Handle to Subscribed List"<< handle;
-#endif
- Q_ASSERT( current_contact->type() == Contact::CT_Subscribed );
- d->m_members.insert(handle, current_contact);
- //d->m_subscribed.insert(handle, current_contact);
- }
- else
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Subscribed Contact already in contactlist"<< handle;
-#endif
-#if 1 // Don't understand this code.
-
- if (d->m_members[handle]->type() == Contact::CT_LocalPending)
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Changed Subscribed Contact to local pending:"<< d->m_members[handle]->name();
- qDebug() << "Current type: " << d->m_members[handle]->type();
-#endif
- d->m_members[handle]->setType(Contact::CT_LocalPending);
-
- // TODO: Signal?
- }
- else
- {
-#endif
- d->m_members[handle]->setType(Contact::CT_Subscribed);
- if (d->m_remotePending.contains(handle))
- d->m_remotePending.remove(handle);
- if (d->m_localPending.contains(handle))
- d->m_localPending.remove(handle);
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Signal for Subscribed Contact:"<< d->m_members[handle]->name();
-#endif
- emit signalContactSubscribed( this, d->m_members[handle] );
-#if 1
- }
-#endif
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "delete Contact object later:" << current_contact->name();;
-#endif
- current_contact->deleteLater();
- }
-
- }
- }
- }
- }
- }
- if (local_pending.size()!=0)
- {
- QList<uint> localPending_to_look_up(d->localPendingHandlesToLookUp(local_pending));
- // look up 'missing' handles:
- QDBusPendingReply<QStringList> handle_names =
- d->m_pInterface->InspectHandles(Tp::HandleTypeContact, localPending_to_look_up);
- handle_names.waitForFinished();
- if (!handle_names.isValid())
- {
- QDBusError error = handle_names.error();
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "InspectHandles: error type:" << error.type()
- << "error name:" << error.name();
-#endif
- return;
- }
- Q_ASSERT(handle_names.value().size() == localPending_to_look_up.size());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Local Pending Size" << handle_names.value().size() <<"Look Up Size" << localPending_to_look_up.size();
-#endif
-
- // Create Contacts for the looked up handles:
- QHash<uint, QPointer<Contact> > tmp_list;
- for (int i = 0; i < localPending_to_look_up.size(); ++i)
- {
- QPointer<Contact> contact = new Contact(localPending_to_look_up.at(i), handle_names.value().at(i), Contact::CT_LocalPending, d->m_pInterface, this );
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Local Pending Handle" << handle_names.value().at(i);
-#endif
- Q_ASSERT(contact->isValid());
- tmp_list.insert(localPending_to_look_up.at(i), contact);
- }
- if (tmp_list.size()>0)
- {
- foreach (uint handle, local_pending)
- {
- QPointer<Contact> current_contact = tmp_list.value(handle);
- if (current_contact)
- {
- Q_ASSERT(current_contact->telepathyHandle() == handle);
-
- tmp_list.remove(handle);
- if (!d->m_members.contains(handle))
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Added Handle to Local Pending List";
-#endif
- d->m_members.insert(handle, current_contact);
- d->m_localPending.insert(handle, current_contact);
- }
- else
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Local Pending Contact already in contactlist";
-#endif
- d->m_members[handle]->setType(Contact::CT_LocalPending);
- if (d->m_remotePending.contains(handle))
- d->m_remotePending.remove(handle);
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "delete current contact" << current_contact->name();
-#endif
- delete current_contact;
- }
-
- emit signalContactLocalPending( this, d->m_members[handle] );
- }
-
- }
- }
- }
-
- if (remote_pending.size()!=0)
- {
- QList<uint> remotePending_to_look_up(d->remotePendingHandlesToLookUp(remote_pending));
-
- // look up 'missing' handles:
- QDBusPendingReply<QStringList> handle_names =
- d->m_pInterface->InspectHandles(Tp::HandleTypeContact, remotePending_to_look_up);
- handle_names.waitForFinished();
-
- if (!handle_names.isValid())
- {
- QDBusError error = handle_names.error();
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "InspectHandles: error type:" << error.type()
- << "error name:" << error.name();
-#endif
- return;
- }
- Q_ASSERT(handle_names.value().size() == remotePending_to_look_up.size());
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Remote Pending Handle Size" << handle_names.value().size() <<"Look Up Size" << remotePending_to_look_up.size();
-#endif
- // Create Contacts for the looked up handles:
- QHash<uint, QPointer<Contact> > tmp_list;
- for (int i = 0; i < remotePending_to_look_up.size(); ++i)
- {
- QPointer<Contact> contact = new Contact(remotePending_to_look_up.at(i), handle_names.value().at(i), Contact::CT_RemotePending, d->m_pInterface, this );
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Remote Pending Handle " << handle_names.value().at(i);
-#endif
- Q_ASSERT(contact->isValid());
- tmp_list.insert(remotePending_to_look_up.at(i), contact);
- }
- if (tmp_list.size()>0)
- {
- foreach (uint handle, remote_pending)
- {
-
- QPointer<Contact> current_contact = tmp_list.value(handle);
- if (current_contact)
- {
- // Detect mixups when writing into the hash.
- Q_ASSERT(current_contact->telepathyHandle() == handle);
- tmp_list.remove(handle);
- if (!d->m_members.contains(handle))
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Added Handle to Remote Pending List";
-#endif
- d->m_remotePending.insert(handle, current_contact);
- d->m_members.insert(handle, current_contact);
- }
- else
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Remote Pending Contact already in contactlist";
-#endif
- d->m_members[handle]->setType(Contact::CT_RemotePending);
-
- if (d->m_localPending.contains(handle))
- d->m_localPending.remove(handle);
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Delete current contact:" << current_contact->name();
-#endif
- delete current_contact;
- }
-
- emit signalContactRemotePending( this, d->m_members[handle] );
- }
-
- }
- }
- }
-
- if (members_removed.size()!=0)
- {
- // FIXME: Remove this until RTCHM-329
- if (is_already_in)
- {
- qDebug() << "Reentrance detected..";
- return;
- }
- is_already_in = true;
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "SlotMembers Changed Removed Called";
-#endif
- QList<uint> removed_to_look_up(d->removedHandlesToLookUp(members_removed));
- // look up 'missing' handles:
- QDBusPendingReply<QStringList> handle_names =
- d->m_pInterface->InspectHandles(Tp::HandleTypeContact, removed_to_look_up);
- handle_names.waitForFinished();
- if (!handle_names.isValid())
- {
- QDBusError error = handle_names.error();
- qWarning() << "InspectHandles: error type:" << error.type()
- << "error name:" << error.name();
- return;
- }
- Q_ASSERT(handle_names.value().size() == removed_to_look_up.size());
- // Create Contacts for the looked up handles:
- QHash<uint, QPointer<Contact> > tmp_list;
- for (int i = 0; i < removed_to_look_up.size(); ++i)
- {
- // QPointer<Contact> contact = new Contact(removed_to_look_up.at(i), handle_names.value().at(i), Contact::CT_Known, d->m_pInterface, this );
- Contact* contact = d->m_members.value( removed_to_look_up.at(i) );
- Q_ASSERT(contact);
- Q_ASSERT(contact->isValid());
- tmp_list.insert(removed_to_look_up.at(i), contact);
- }
-
- if (tmp_list.size()>0)
- {
- foreach (uint handle, members_removed)
- {
-
- QPointer<Contact> current_contact = tmp_list.value(handle);
- if (current_contact)
- {
- // Detect mixups when writing into the hash.
- Q_ASSERT(current_contact->telepathyHandle() == handle);
-
- tmp_list.remove(handle);
- if (d->m_members.contains(handle))
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Remove Contact";
-#endif
- emit signalAboutToRemoveContact( this, current_contact );
-
- d->m_members.remove(handle);
- d->m_subscribed.remove(handle);
- d->m_remotePending.remove(handle);
- d->m_localPending.remove(handle);
- d->m_known.remove(handle);
-
- emit signalContactRemoved( this );
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "delete Contact object: " << current_contact->name();
-#endif
- delete current_contact;
- }
- else
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Removed Contact not in contactlist: " << current_contact->name();
-#endif
- delete current_contact;
- }
- }
- }
- }
- is_already_in = false; // FIXME: Remove this until RTCHM-329
- }
- emit signalMembersChanged( this,
- message,
- d->mapHashToList( d->m_members ),
- d->mapHashToList( d->m_localPending ),
- d->mapHashToList( d->m_remotePending ),
- contactForHandle( actor ),
- static_cast<Tp::ChannelGroupChangeReason>( reason ) );
-}
-
-#include "_gen/ContactManager.h.moc"
diff --git a/TelepathyQt4/Prototype/ContactManager.h b/TelepathyQt4/Prototype/ContactManager.h
deleted file mode 100644
index 64fc0ac..0000000
--- a/TelepathyQt4/Prototype/ContactManager.h
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef TelepathyQt4_Prototype_ContactManager_H_
-#define TelepathyQt4_Prototype_ContactManager_H_
-
-#include <TelepathyQt4/Types>
-#include <TelepathyQt4/Constants>
-
-#include <QObject>
-#include <QDBusObjectPath>
-#include <QPointer>
-
-#ifdef DEPRECATED_ENABLED__
-#define ATTRIBUTE_DEPRECATED __attribute__((deprecated))
-#else
-#define ATTRIBUTE_DEPRECATED
-#endif
-
-/**
- * @defgroup qt_contact Contact Management
- * @ingroup qt_style_api
- * Classes that provide functions to handle contacts.
- */
-
-
-
-namespace Tp
-{
- namespace Client
- {
- class ConnectionInterface;
- class ChannelInterfaceGroupInterface;
-
- }
-}
-
-namespace TpPrototype {
-
-class ContactManagerPrivate;
-class Contact;
-class Connection;
-class ChatChannel;
-class StreamedMediaChannel;
-
-/**
- * @ingroup qt_connection
- * @ingroup qt_contact
- * This class manages all contacts.
- * This class provides the list of contacts associated with an account. It is possible to register new contacts by requestContact(), or remove contacts
- * by removeContact(). Signals providing information whether any contact changes or wether a communication channel is opened.
- * @todo We need a ContactGroup that contains the Contacts instead use QList< QPointer<> >. If a contact is removed we get a NULL element in the list instead to remove one element from the list (seil)
- */
-class ContactManager : public QObject
-{
- Q_OBJECT
-public:
- /**
- * Validity of this class.
- * Do not access any methods if this object is invalid.
- */
- bool isValid();
-
- /**
- * Number of Contacts. Returns how many contacts are available.
- * @return Number of contacts available.
- */
- int count();
-
- /**
- * List of contacts. The contact pointer is stored in a QPointer. If the contact is removed it is deleted
- * by the contact manager. Thus, the pointer is set to 0.
- * @todo: Return ContactGroup here, instead a list of a pointer.
- */
- QList<QPointer<TpPrototype ::Contact> > contactList();
-
- /**
- * List of contacts that have requested authorization from us.
- *
- * The contact pointer is stored in a QPointer. If the contact is removed it is deleted
- * by the contact manager. Thus, the pointer is set to 0.
- * @todo: Return ContactGroup here, instead a list of a pointer.
- */
- QList<QPointer<TpPrototype ::Contact> > toAuthorizeList();
-
- /**
- * List of contacts <i>we</i> asked to authorize us to see their presence state.
- *
- * The contact pointer is stored in a QPointer. If the contact is removed it is deleted
- * by the contact manager. Thus, the pointer is set to 0.
- * @todo: Return ContactGroup here, instead of a list of pointer.
- */
- QList<QPointer<TpPrototype ::Contact> > remoteAuthorizationPendingList();
-
- /**
- * List of contacts that are blocked.
- * @todo: Return ContactGroup here, instead of a list of pointer.
- */
- QList<QPointer<TpPrototype::Contact> > blockedContacts();
-
- /**
- * Request a contact.
- * A remote contact should be added to the list of known contacts.
- * @param id The id identifies the contact (protocol specific)
- * @return true if the handle was found else false.
- */
- bool requestContact( const QString& id );
-
- /**
- * Authorize contact.
- * A remote contact should be authorized.
- * @param contact The contact to autorize.
- * @return true if ...
- */
- bool authorizeContact( const Contact* contact );
-
- /**
- * Remove a contact.
- * The contact should be removed.
- * @param contactToRemove The contact that should be removed. Do not use this pointer after this call!
- */
- bool removeContact( const TpPrototype ::Contact* contactToRemove );
-
- /**
- * Block a contact.
- * The contact is moved to the list of blocked contacts. This may not be supported by the protocol/contact manager. In this case false is returned.
- * A blocked contact will not receive any presence information from the local account. Messages from this contact are ignored.
- * The signal signalContactBlocked() is emitted if this call was successful.<br>
- * <b>Hint:</b>Blocking support is currently available with the connection manager Gabble and GoogleTalk.
- * @return true if blocking is supported.
- */
- bool blockContact( const Contact* contactToBlock );
-
- /**
- * Block a contact.
- * The contact is moved to the list of blocked contacts. This may not be supported by the protocol/contact manager. In this case false is returned.
- * A blocked contact will not receive any presence information from the local account. Messages from this contact are ignored.<br>
- * The signal signalContactUnblocked() is emitted if this call was successful.<br>
- * <b>Hint:</b>Blocking support is currently available with the connection manager Gabble and GoogleTalk.
- * @return true if blocking is supported
- */
- bool unblockContact( const Contact* contactToUnblock );
-
- /**
- * Returns a contact pointer for handle id.
- * This function provides a fast lookup of a contact if a valid handle is provided.
- * @return The contact that corresponds to the handle or NULL if the handle is unknown.
- */
- QPointer<TpPrototype ::Contact> contactForHandle( uint handle );
-
- /**
- * The local handle.
- * The local user has a handle that is returned by this function. The local handle cannot be used to get
- * a valid contact with contactForHandle()!
- */
- uint localHandle();
-
-signals:
- /**
- * A text channel was opened.
- * This signal is emitted when a text channel was opened for a contact. This usually means that you received a text message.<br>
- * The chat channel object can be retrieved from the contact.
- * @param contact The contact that received the text message and contains the text channel object.
- */
- void signalTextChannelOpenedForContact( TpPrototype ::Contact* contact );
-
- /**
- * A streamed media channel was opened.
- * This signal is emitted when a streamed media channel was opened for a contact and all interfaces were established successfully.
- * This usually means that you received a call.<br>
- * The StreamedMedia channel object can be retrieved from the contact. Use acceptIncomingStream() or rejectIncomingStream() to accept or reject.
- * @param contact The contact that received the text message and contains the StreamedMediaChannel object.
- * @see StreamMediaChannel
- */
- void signalStreamedMediaChannelOpenedForContact( TpPrototype ::Contact* contact );
-
- /**
- * A Contact was added.
- * A new remote Contact was added but needs to be accepted remotely.
- * @see signalContactRemotePending()
- */
- void signalContactAdded( TpPrototype ::ContactManager* contactManager, TpPrototype ::Contact* contact );
-
- /**
- * A Contact is pending locally.
- * A Contact that is local pending have requested membership of the channel, but the local user of the framework must
- * accept their request before they may join.
- */
- void signalContactLocalPending( TpPrototype ::ContactManager* contactManager, TpPrototype ::Contact* contact );
-
- /**
- * A Contact is pending remotely.
- * A Contact that is remote pending list have been invited to the channel, but the remote user has not
- * accepted the invitation.
- */
- void signalContactRemotePending( TpPrototype ::ContactManager* contactManager, TpPrototype ::Contact* contact );
-
- /**
- * A Contact was subscribed.
- * This signal is emitted if a new contact was subscribed.
- */
- void signalContactSubscribed( TpPrototype ::ContactManager* contactManager, TpPrototype ::Contact* contact );
-
- /**
- * A Contact will be removed.
- * This signal is emitted after the contact was removed but immediately before the account is removed from the internal lists.<br>
- * Use this signal to obtain all necessary information to handle this remove operation properly. The signal <i>signalContactRemoved()</i>
- * will be called immediately after cleaning the internal lists.
- * <br>
- * @param contact The removed contact. This object is deleted after this call!
- * @see signalContactRemoved()
- */
- void signalAboutToRemoveContact( TpPrototype ::ContactManager* contactManager, TpPrototype ::Contact* contact );
-
- /**
- * A contact is removed.
- * This signal is emmited immediately after <i>signalAboutToRemoveContact()</i> if all internal lists are updated.
- * @see signalAboutToRemoveContact()
- */
- void signalContactRemoved( TpPrototype ::ContactManager* contactManager );
-
- /**
- * @todo: Add doc! (seil)
- */
- void signalContactKnown( TpPrototype ::ContactManager* contactManager, TpPrototype ::Contact* contact );
-
- /**
- * @todo: Add doc!
- * Contact was blocked.
- * This signal is emitted after a contact was blocked.
- */
- void signalContactBlocked( TpPrototype::ContactManager* contactManager, TpPrototype::Contact* contact );
-
- /**
- * Contact was unblocked.
- * This signal is emitted after a contact was unblocked.
- */
- void signalContactUnblocked( TpPrototype::ContactManager* contactManager, TpPrototype::Contact* contact );
-
- /**
- * Members changed.
- * This signal is emitted whenever one of the internal lists of contacts (member, local pending, remote pending) changes.
- * @param contactManager The contact manager that handles the contacts.
- * @param message A string message from the server, or blank if not
- * @param members List of contacts currently listed as members.
- * @param localPending Contacts that are waiting for a local approval.
- * @param remotePending Contacs that are waiting for a remote approval.
- * @param actor The contact that causes the change. May be NULL if unkown.
- * @param reason The reason of the change.
- */
- void signalMembersChanged( TpPrototype ::ContactManager* contactManager,
- const QString& message,
- QList<QPointer<TpPrototype ::Contact> > members,
- QList<QPointer<TpPrototype ::Contact> > localPending,
- QList<QPointer<TpPrototype ::Contact> > remotePending,
- TpPrototype ::Contact* actor,
- Tp::ChannelGroupChangeReason reason );
-
-protected:
- /**
- * Constructor. The contact manager cannot be instantiated directly. Use Connection::contactManager() for it!
- */
- ContactManager( Tp::Client::ConnectionInterface* connection,
- QObject* parent = NULL );
- ~ContactManager();
-
-
- void openSubscribedContactsChannel(uint handle, const QDBusObjectPath& objectPath, const QString& channelType);
-
- /**
- * ..
- */
- void openPublishContactsChannel(uint handle, const QDBusObjectPath& objectPath, const QString& channelType);
-
- /**
- * ..
- */
- void openKnownContactsChannel(uint handle, const QDBusObjectPath& objectPath, const QString& channelType);
-
- /**
- * ..
- */
- void openDenyContactsChannel(uint handle, const QDBusObjectPath& objectPath, const QString& channelType);
-
- void openTextChannel( uint handle, uint handleType, const QString& channelPath, const QString& channelType );
-
- void openStreamedMediaChannel( uint handle, uint handleType, const QString& channelPath, const QString& channelType );
-
-protected slots:
-
- void slotMembersChanged(const QString& message,
- const Tp::UIntList& members_added,
- const Tp::UIntList& members_removed,
- const Tp::UIntList& local_pending,
- const Tp::UIntList& remote_pending,
- uint actor, uint reason);
- void slotKnownMembersChanged(const QString& message,
- const Tp::UIntList& members_added,
- const Tp::UIntList& members_removed,
- const Tp::UIntList& local_pending,
- const Tp::UIntList& remote_pending,
- uint actor, uint reason);
- void slotPublishedMembersChanged(const QString& message,
- const Tp::UIntList& members_added,
- const Tp::UIntList& members_removed,
- const Tp::UIntList& local_pending,
- const Tp::UIntList& remote_pending,
- uint actor, uint reason);
- void slotSubscribedMembersChanged(const QString& message,
- const Tp::UIntList& members_added,
- const Tp::UIntList& members_removed,
- const Tp::UIntList& local_pending,
- const Tp::UIntList& remote_pending,
- uint actor, uint reason);
- void slotDeniedMembersChanged(const QString& message,
- const Tp::UIntList& members_added,
- const Tp::UIntList& members_removed,
- const Tp::UIntList& local_pending,
- const Tp::UIntList& remote_pending,
- uint actor, uint reason);
-private:
- void init( Tp::Client::ConnectionInterface* connection );
-
- ContactManagerPrivate * const d;
- friend class Connection;
- friend class ConnectionPrivate;
- friend class Contact;
-};
-
-}
-
-#endif
diff --git a/TelepathyQt4/Prototype/DBusInterface.cpp b/TelepathyQt4/Prototype/DBusInterface.cpp
deleted file mode 100644
index 7f8f2a0..0000000
--- a/TelepathyQt4/Prototype/DBusInterface.cpp
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/DBusInterface.h"
-
-namespace
-{
- const char* g_serviceName = "org.freedesktop.DBus";
- const char* g_objectPath = "/";
- const char* g_interfaceName = "org.freedesktop.DBus";
-}
-
-using namespace TpPrototype;
-
-DBusInterface::DBusInterface( QObject* parent ):
-QDBusAbstractInterface( g_serviceName,
- g_objectPath,
- g_interfaceName,
- QDBusConnection::sessionBus(),
- parent )
-{
-}
-
-QDBusReply<QStringList> DBusInterface::listActivatableNames()
-{
- Q_ASSERT( isValid() );
- return call( QLatin1String("ListActivatableNames") );
-}
-
-#include "_gen/DBusInterface.h.moc"
diff --git a/TelepathyQt4/Prototype/Makefile.am b/TelepathyQt4/Prototype/Makefile.am
deleted file mode 100644
index d087e23..0000000
--- a/TelepathyQt4/Prototype/Makefile.am
+++ /dev/null
@@ -1,198 +0,0 @@
-protoincludedir=$(includedir)/tpqt4-prototype/TelepathyQt4/Prototype
-protoclientincludedir=$(protoincludedir)/Client
-genincludedir=$(protoincludedir)/_gen
-
-pkgconfigdir = ${libdir}/pkgconfig
-pkgconfig_DATA = TpQt4Prototype.pc
-
-EXTRA_DIST = \
- all.xml \
- channel-handler.xml \
- stream-engine.xml \
- Stream_Engine.xml
-
-lib_LTLIBRARIES = libtpqt4-prototype.la
-
-# The quoting here is unnecessary but harmless, and has the useful side-effect
-# that vim quickfix mode (:make) doesn't interpret the libtool --mode=link
-# command as an error message in a bizarrely named file
-libtpqt4_prototype_la_LDFLAGS = \
- -version-info "$(LT_CURRENT)":"$(LT_REVISION)":"$(LT_AGE)" -static
-libtpqt4_prototype_la_LIBADD = $(ALL_LIBS)
-libtpqt4_prototype_la_DEPENDENCIES = Makefile.am
-
-libtpqt4_prototype_la_SOURCES = \
- Account.cpp \
- AccountManager.cpp \
- AvatarManager.cpp \
- CapabilitiesManager.cpp \
- ChatChannel.cpp \
- Connection.cpp \
- ConnectionFacade.cpp \
- Contact.cpp \
- ContactManager.cpp \
- DBusInterface.cpp \
- PresenceManager.cpp \
- StreamedMediaChannel.cpp \
- cli-channel-handler.cpp \
- cli-stream-engine.cpp \
- types.cpp
-
-nodist_libtpqt4_prototype_la_SOURCES = \
- _gen/Account.h.moc \
- _gen/AccountManager.h.moc \
- _gen/AvatarManager.h.moc \
- _gen/CapabilitiesManager.h.moc \
- _gen/ChatChannel.h.moc \
- _gen/Connection.h.moc \
- _gen/ConnectionFacade.h.moc \
- _gen/Contact.h.moc \
- _gen/ContactManager.h.moc \
- _gen/DBusInterface.h.moc \
- _gen/PresenceManager.h.moc \
- _gen/StreamedMediaChannel.h.moc \
- _gen/cli-channel-handler-body.hpp \
- _gen/cli-channel-handler.moc.hpp \
- _gen/cli-stream-engine-body.hpp \
- _gen/cli-stream-engine.moc.hpp \
- _gen/types-body.hpp
-
-protoinclude_HEADERS = \
- Account.h \
- AccountManager.h \
- AvatarManager.h \
- CapabilitiesManager.h \
- ChatChannel.h \
- Connection.h \
- ConnectionFacade.h \
- Constants \
- Contact.h \
- ContactManager.h \
- DBusInterface.h \
- PresenceManager.h \
- StreamedMediaChannel.h \
- Types \
- constants.h \
- cli-channel-handler.h \
- cli-stream-engine.h \
- types.h
-
-protoclientinclude_HEADERS = \
- Client/ChannelHandler \
- Client/StreamEngine
-
-nodist_geninclude_HEADERS = \
- _gen/cli-channel-handler.h \
- _gen/cli-stream-engine.h \
- _gen/constants.h \
- _gen/types.h
-
-BUILT_SOURCES = \
- $(nodist_libtpqt4_prototype_la_SOURCES) \
- $(nodist_geninclude_HEADERS) \
- _gen/stable-spec.xml \
- _gen/spec-stamp \
- _gen/stable-stamp
-
-CLEANFILES = \
- $(BUILT_SOURCES)
-
-distclean-local:
- rm -rf _gen
-
-include $(top_srcdir)/tools/check-coding-style.mk
-check-local: check-coding-style
-
-AM_CXXFLAGS = \
- $(ERROR_CXXFLAGS)
-
-AM_CPPFLAGS = \
- -I$(top_srcdir) -I$(top_builddir) \
- $(QTCORE_CFLAGS) \
- $(QTDBUS_CFLAGS)
-
-ALL_LIBS = \
- $(QTCORE_LIBS) \
- $(QTDBUS_LIBS) \
- $(top_builddir)/TelepathyQt4/libtelepathy-qt4.la
-
-# Generated stuff
-
-# Bootstrapping
-
-_gen/spec-stamp: $(wildcard $(top_srcdir)/spec/*.xml)
- $(mkdir_p) _gen
- touch $@
-
-_gen/stable-stamp: $(wildcard *.xml) _gen/spec-stamp
- touch $@
-
-_gen/stable-spec.xml: all.xml _gen/stable-stamp \
- $(top_srcdir)/tools/xincludator.py \
- Makefile.am
- $(PYTHON) $(top_srcdir)/tools/xincludator.py \
- $< > $@
-
-# Things generated from the whole spec at once
-
-_gen/constants.h: _gen/stable-spec.xml \
- $(top_srcdir)/tools/qt4-constants-gen.py \
- Makefile.am
- $(PYTHON) $(top_srcdir)/tools/qt4-constants-gen.py \
- --namespace='TpPrototype' \
- --str-constant-prefix='TP_PROTOTYPE_' \
- --specxml=$< \
- > $@.tmp && mv $@.tmp $@
-
-_gen/types.h _gen/types-body.hpp: _gen/stable-spec.xml \
- $(top_srcdir)/tools/qt4-types-gen.py \
- Makefile.am
- $(PYTHON) $(top_srcdir)/tools/qt4-types-gen.py \
- --namespace='TpPrototype' \
- --declfile='_gen/types.h' \
- --implfile='_gen/types-body.hpp' \
- --realinclude='TelepathyQt4/Prototype/types.h' \
- --prettyinclude='TelepathyQt4/Prototype/Types' \
- --specxml=$<
-
-# Things generated per interface group
-
-_gen/spec-%.xml: %.xml $(top_srcdir)/tools/xincludator.py _gen/spec-stamp
- $(PYTHON) $(top_srcdir)/tools/xincludator.py \
- $< > $@
-
-_gen/cli-%.h _gen/cli-%-body.hpp: _gen/spec-%.xml \
- _gen/stable-spec.xml \
- $(top_srcdir)/tools/qt4-client-gen.py \
- Makefile.am
- set -e; \
- namespace='TpPrototype::Client'; \
- group= ; \
- prettyinclude= ; \
- mainiface= ; \
- case $* in \
- channel-handler) \
- group='clientchannelhandler'; \
- prettyinclude='ChannelHandler';; \
- stream-engine) \
- group='clientstreamengine'; \
- prettyinclude='StreamEngine';; \
- esac; \
- $(PYTHON) $(top_srcdir)/tools/qt4-client-gen.py \
- --group=$$group \
- --namespace=$$namespace \
- --typesnamespace='Tp' \
- --headerfile=_gen/cli-$*.h \
- --implfile=_gen/cli-$*-body.hpp \
- --realinclude='TelepathyQt4/Prototype/cli-$*.h' \
- --prettyinclude='TelepathyQt4/Prototype/Client/'$$prettyinclude \
- --specxml=_gen/stable-spec.xml \
- --ifacexml=$< \
- --extraincludes='<TelepathyQt4/Types>,<TelepathyQt4/Prototype/Types>' \
- $$mainiface
-
-_gen/%.moc: % _gen/constants.h _gen/types.h
- $(MOC) $(AM_CPPFLAGS) -i $< -o $@
-
-_gen/%.moc.hpp: _gen/%.h _gen/constants.h _gen/types.h
- $(MOC) $(AM_CPPFLAGS) -i $< -o $@
diff --git a/TelepathyQt4/Prototype/Makefile.in b/TelepathyQt4/Prototype/Makefile.in
deleted file mode 100644
index 474d142..0000000
--- a/TelepathyQt4/Prototype/Makefile.in
+++ /dev/null
@@ -1,904 +0,0 @@
-# Makefile.in generated by automake 1.9.6 from Makefile.am.
-# @configure_input@
-
-# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005 Free Software Foundation, Inc.
-# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-@SET_MAKE@
-
-
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
-pkglibdir = $(libdir)/@PACKAGE@
-pkgincludedir = $(includedir)/@PACKAGE@
-top_builddir = ../..
-am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
-INSTALL = @INSTALL@
-install_sh_DATA = $(install_sh) -c -m 644
-install_sh_PROGRAM = $(install_sh) -c
-install_sh_SCRIPT = $(install_sh) -c
-INSTALL_HEADER = $(INSTALL_DATA)
-transform = $(program_transform_name)
-NORMAL_INSTALL = :
-PRE_INSTALL = :
-POST_INSTALL = :
-NORMAL_UNINSTALL = :
-PRE_UNINSTALL = :
-POST_UNINSTALL = :
-build_triplet = @build@
-host_triplet = @host@
-DIST_COMMON = $(protoclientinclude_HEADERS) $(protoinclude_HEADERS) \
- $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
- $(srcdir)/TpQt4Prototype.pc.in \
- $(top_srcdir)/tools/check-coding-style.mk
-subdir = TelepathyQt4/Prototype
-ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/m4/compiler.m4 \
- $(top_srcdir)/m4/doxygen.m4 $(top_srcdir)/m4/libtool.m4 \
- $(top_srcdir)/m4/linker.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 \
- $(top_srcdir)/m4/tp-compiler-flag.m4 \
- $(top_srcdir)/m4/tp-compiler-warnings.m4 \
- $(top_srcdir)/configure.ac
-am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
- $(ACLOCAL_M4)
-mkinstalldirs = $(install_sh) -d
-CONFIG_HEADER = $(top_builddir)/config.h
-CONFIG_CLEAN_FILES = TpQt4Prototype.pc
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
- $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
- *) f=$$p;; \
- esac;
-am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
-am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" \
- "$(DESTDIR)$(genincludedir)" \
- "$(DESTDIR)$(protoclientincludedir)" \
- "$(DESTDIR)$(protoincludedir)"
-libLTLIBRARIES_INSTALL = $(INSTALL)
-LTLIBRARIES = $(lib_LTLIBRARIES)
-am__DEPENDENCIES_1 =
-am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(top_builddir)/TelepathyQt4/libtelepathy-qt4.la
-am_libtpqt4_prototype_la_OBJECTS = Account.lo AccountManager.lo \
- AvatarManager.lo CapabilitiesManager.lo ChatChannel.lo \
- Connection.lo ConnectionFacade.lo Contact.lo ContactManager.lo \
- DBusInterface.lo PresenceManager.lo StreamedMediaChannel.lo \
- cli-channel-handler.lo cli-stream-engine.lo types.lo
-nodist_libtpqt4_prototype_la_OBJECTS =
-libtpqt4_prototype_la_OBJECTS = $(am_libtpqt4_prototype_la_OBJECTS) \
- $(nodist_libtpqt4_prototype_la_OBJECTS)
-DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
-depcomp = $(SHELL) $(top_srcdir)/depcomp
-am__depfiles_maybe = depfiles
-CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CXXFLAGS) $(CXXFLAGS)
-CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
- $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
-COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
- $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
- $(AM_CFLAGS) $(CFLAGS)
-CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-SOURCES = $(libtpqt4_prototype_la_SOURCES) \
- $(nodist_libtpqt4_prototype_la_SOURCES)
-DIST_SOURCES = $(libtpqt4_prototype_la_SOURCES)
-pkgconfigDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(pkgconfig_DATA)
-nodist_genincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-protoclientincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-protoincludeHEADERS_INSTALL = $(INSTALL_HEADER)
-HEADERS = $(nodist_geninclude_HEADERS) $(protoclientinclude_HEADERS) \
- $(protoinclude_HEADERS)
-ETAGS = etags
-CTAGS = ctags
-DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-ACLOCAL = @ACLOCAL@
-AMDEP_FALSE = @AMDEP_FALSE@
-AMDEP_TRUE = @AMDEP_TRUE@
-AMTAR = @AMTAR@
-AR = @AR@
-AUTOCONF = @AUTOCONF@
-AUTOHEADER = @AUTOHEADER@
-AUTOMAKE = @AUTOMAKE@
-AWK = @AWK@
-CC = @CC@
-CCDEPMODE = @CCDEPMODE@
-CFLAGS = @CFLAGS@
-CPP = @CPP@
-CPPFLAGS = @CPPFLAGS@
-CXX = @CXX@
-CXXCPP = @CXXCPP@
-CXXDEPMODE = @CXXDEPMODE@
-CXXFLAGS = @CXXFLAGS@
-CYGPATH_W = @CYGPATH_W@
-DEFS = @DEFS@
-DEPDIR = @DEPDIR@
-DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@
-DSYMUTIL = @DSYMUTIL@
-DUMPBIN = @DUMPBIN@
-DX_COND_chi_FALSE = @DX_COND_chi_FALSE@
-DX_COND_chi_TRUE = @DX_COND_chi_TRUE@
-DX_COND_chm_FALSE = @DX_COND_chm_FALSE@
-DX_COND_chm_TRUE = @DX_COND_chm_TRUE@
-DX_COND_doc_FALSE = @DX_COND_doc_FALSE@
-DX_COND_doc_TRUE = @DX_COND_doc_TRUE@
-DX_COND_dot_FALSE = @DX_COND_dot_FALSE@
-DX_COND_dot_TRUE = @DX_COND_dot_TRUE@
-DX_COND_html_FALSE = @DX_COND_html_FALSE@
-DX_COND_html_TRUE = @DX_COND_html_TRUE@
-DX_COND_latex_FALSE = @DX_COND_latex_FALSE@
-DX_COND_latex_TRUE = @DX_COND_latex_TRUE@
-DX_COND_man_FALSE = @DX_COND_man_FALSE@
-DX_COND_man_TRUE = @DX_COND_man_TRUE@
-DX_COND_pdf_FALSE = @DX_COND_pdf_FALSE@
-DX_COND_pdf_TRUE = @DX_COND_pdf_TRUE@
-DX_COND_ps_FALSE = @DX_COND_ps_FALSE@
-DX_COND_ps_TRUE = @DX_COND_ps_TRUE@
-DX_COND_rtf_FALSE = @DX_COND_rtf_FALSE@
-DX_COND_rtf_TRUE = @DX_COND_rtf_TRUE@
-DX_COND_xml_FALSE = @DX_COND_xml_FALSE@
-DX_COND_xml_TRUE = @DX_COND_xml_TRUE@
-DX_CONFIG = @DX_CONFIG@
-DX_DOCDIR = @DX_DOCDIR@
-DX_DOT = @DX_DOT@
-DX_DOXYGEN = @DX_DOXYGEN@
-DX_DVIPS = @DX_DVIPS@
-DX_EGREP = @DX_EGREP@
-DX_ENV = @DX_ENV@
-DX_FLAG_chi = @DX_FLAG_chi@
-DX_FLAG_chm = @DX_FLAG_chm@
-DX_FLAG_doc = @DX_FLAG_doc@
-DX_FLAG_dot = @DX_FLAG_dot@
-DX_FLAG_html = @DX_FLAG_html@
-DX_FLAG_man = @DX_FLAG_man@
-DX_FLAG_pdf = @DX_FLAG_pdf@
-DX_FLAG_ps = @DX_FLAG_ps@
-DX_FLAG_rtf = @DX_FLAG_rtf@
-DX_FLAG_xml = @DX_FLAG_xml@
-DX_HHC = @DX_HHC@
-DX_LATEX = @DX_LATEX@
-DX_MAKEINDEX = @DX_MAKEINDEX@
-DX_PDFLATEX = @DX_PDFLATEX@
-DX_PERL = @DX_PERL@
-DX_PROJECT = @DX_PROJECT@
-ECHO_C = @ECHO_C@
-ECHO_N = @ECHO_N@
-ECHO_T = @ECHO_T@
-EGREP = @EGREP@
-ENABLE_CODING_STYLE_CHECKS = @ENABLE_CODING_STYLE_CHECKS@
-ENABLE_TP_FARSIGHT_FALSE = @ENABLE_TP_FARSIGHT_FALSE@
-ENABLE_TP_FARSIGHT_TRUE = @ENABLE_TP_FARSIGHT_TRUE@
-ENABLE_TP_GLIB_TESTS_FALSE = @ENABLE_TP_GLIB_TESTS_FALSE@
-ENABLE_TP_GLIB_TESTS_TRUE = @ENABLE_TP_GLIB_TESTS_TRUE@
-ERROR_CFLAGS = @ERROR_CFLAGS@
-ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
-EXEEXT = @EXEEXT@
-FGREP = @FGREP@
-GREP = @GREP@
-HAVE_PINOCCHIO_FALSE = @HAVE_PINOCCHIO_FALSE@
-HAVE_PINOCCHIO_TRUE = @HAVE_PINOCCHIO_TRUE@
-HAVE_QTGUI_FALSE = @HAVE_QTGUI_FALSE@
-HAVE_QTGUI_TRUE = @HAVE_QTGUI_TRUE@
-HAVE_TEST_PYTHON_FALSE = @HAVE_TEST_PYTHON_FALSE@
-HAVE_TEST_PYTHON_TRUE = @HAVE_TEST_PYTHON_TRUE@
-HAVE_VERSION_SCRIPT_ARG_FALSE = @HAVE_VERSION_SCRIPT_ARG_FALSE@
-HAVE_VERSION_SCRIPT_ARG_TRUE = @HAVE_VERSION_SCRIPT_ARG_TRUE@
-INSTALL_DATA = @INSTALL_DATA@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_SCRIPT = @INSTALL_SCRIPT@
-INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
-LD = @LD@
-LDFLAGS = @LDFLAGS@
-LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@
-LIBTOOL = @LIBTOOL@
-LIPO = @LIPO@
-LN_S = @LN_S@
-LTLIBOBJS = @LTLIBOBJS@
-LT_AGE = @LT_AGE@
-LT_CURRENT = @LT_CURRENT@
-LT_REVISION = @LT_REVISION@
-MAKEINFO = @MAKEINFO@
-MOC = @MOC@
-NM = @NM@
-NMEDIT = @NMEDIT@
-OBJDUMP = @OBJDUMP@
-OBJEXT = @OBJEXT@
-OFFICIAL_RELEASE_FALSE = @OFFICIAL_RELEASE_FALSE@
-OFFICIAL_RELEASE_TRUE = @OFFICIAL_RELEASE_TRUE@
-OTOOL = @OTOOL@
-OTOOL64 = @OTOOL64@
-PACKAGE = @PACKAGE@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-PACKAGE_NAME = @PACKAGE_NAME@
-PACKAGE_STRING = @PACKAGE_STRING@
-PACKAGE_TARNAME = @PACKAGE_TARNAME@
-PACKAGE_VERSION = @PACKAGE_VERSION@
-PATH_SEPARATOR = @PATH_SEPARATOR@
-PINOCCHIO = @PINOCCHIO@
-PINOCCHIO_CTL = @PINOCCHIO_CTL@
-PKG_CONFIG = @PKG_CONFIG@
-PROTO_CFLAGS = @PROTO_CFLAGS@
-PYTHON = @PYTHON@
-PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
-PYTHON_PLATFORM = @PYTHON_PLATFORM@
-PYTHON_PREFIX = @PYTHON_PREFIX@
-PYTHON_VERSION = @PYTHON_VERSION@
-QTCORE_CFLAGS = @QTCORE_CFLAGS@
-QTCORE_LIBS = @QTCORE_LIBS@
-QTDBUS_CFLAGS = @QTDBUS_CFLAGS@
-QTDBUS_LIBS = @QTDBUS_LIBS@
-QTGUI_CFLAGS = @QTGUI_CFLAGS@
-QTGUI_LIBS = @QTGUI_LIBS@
-QTTEST_CFLAGS = @QTTEST_CFLAGS@
-QTTEST_LIBS = @QTTEST_LIBS@
-RANLIB = @RANLIB@
-RCC = @RCC@
-SED = @SED@
-SET_MAKE = @SET_MAKE@
-SHELL = @SHELL@
-STRIP = @STRIP@
-TEST_PYTHON = @TEST_PYTHON@
-TP_FARSIGHT_CFLAGS = @TP_FARSIGHT_CFLAGS@
-TP_FARSIGHT_LIBS = @TP_FARSIGHT_LIBS@
-TP_GLIB_CFLAGS = @TP_GLIB_CFLAGS@
-TP_GLIB_LIBS = @TP_GLIB_LIBS@
-TP_QT4_CFLAGS = @TP_QT4_CFLAGS@
-VERSION = @VERSION@
-VERSION_SCRIPT_ARG = @VERSION_SCRIPT_ARG@
-ac_ct_CC = @ac_ct_CC@
-ac_ct_CXX = @ac_ct_CXX@
-ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
-am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
-am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
-am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
-am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
-am__include = @am__include@
-am__leading_dot = @am__leading_dot@
-am__quote = @am__quote@
-am__tar = @am__tar@
-am__untar = @am__untar@
-bindir = @bindir@
-build = @build@
-build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
-datadir = @datadir@
-datarootdir = @datarootdir@
-docdir = @docdir@
-dvidir = @dvidir@
-exec_prefix = @exec_prefix@
-host = @host@
-host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
-htmldir = @htmldir@
-includedir = @includedir@
-infodir = @infodir@
-install_sh = @install_sh@
-libdir = @libdir@
-libexecdir = @libexecdir@
-localedir = @localedir@
-localstatedir = @localstatedir@
-lt_ECHO = @lt_ECHO@
-mandir = @mandir@
-mkdir_p = @mkdir_p@
-oldincludedir = @oldincludedir@
-pdfdir = @pdfdir@
-pkgpyexecdir = @pkgpyexecdir@
-pkgpythondir = @pkgpythondir@
-prefix = @prefix@
-program_transform_name = @program_transform_name@
-psdir = @psdir@
-pyexecdir = @pyexecdir@
-pythondir = @pythondir@
-sbindir = @sbindir@
-sharedstatedir = @sharedstatedir@
-sysconfdir = @sysconfdir@
-target_alias = @target_alias@
-protoincludedir = $(includedir)/tpqt4-prototype/TelepathyQt4/Prototype
-protoclientincludedir = $(protoincludedir)/Client
-genincludedir = $(protoincludedir)/_gen
-pkgconfigdir = ${libdir}/pkgconfig
-pkgconfig_DATA = TpQt4Prototype.pc
-EXTRA_DIST = \
- all.xml \
- channel-handler.xml \
- stream-engine.xml \
- Stream_Engine.xml
-
-lib_LTLIBRARIES = libtpqt4-prototype.la
-
-# The quoting here is unnecessary but harmless, and has the useful side-effect
-# that vim quickfix mode (:make) doesn't interpret the libtool --mode=link
-# command as an error message in a bizarrely named file
-libtpqt4_prototype_la_LDFLAGS = \
- -version-info "$(LT_CURRENT)":"$(LT_REVISION)":"$(LT_AGE)" -static
-
-libtpqt4_prototype_la_LIBADD = $(ALL_LIBS)
-libtpqt4_prototype_la_DEPENDENCIES = Makefile.am
-libtpqt4_prototype_la_SOURCES = \
- Account.cpp \
- AccountManager.cpp \
- AvatarManager.cpp \
- CapabilitiesManager.cpp \
- ChatChannel.cpp \
- Connection.cpp \
- ConnectionFacade.cpp \
- Contact.cpp \
- ContactManager.cpp \
- DBusInterface.cpp \
- PresenceManager.cpp \
- StreamedMediaChannel.cpp \
- cli-channel-handler.cpp \
- cli-stream-engine.cpp \
- types.cpp
-
-nodist_libtpqt4_prototype_la_SOURCES = \
- _gen/Account.h.moc \
- _gen/AccountManager.h.moc \
- _gen/AvatarManager.h.moc \
- _gen/CapabilitiesManager.h.moc \
- _gen/ChatChannel.h.moc \
- _gen/Connection.h.moc \
- _gen/ConnectionFacade.h.moc \
- _gen/Contact.h.moc \
- _gen/ContactManager.h.moc \
- _gen/DBusInterface.h.moc \
- _gen/PresenceManager.h.moc \
- _gen/StreamedMediaChannel.h.moc \
- _gen/cli-channel-handler-body.hpp \
- _gen/cli-channel-handler.moc.hpp \
- _gen/cli-stream-engine-body.hpp \
- _gen/cli-stream-engine.moc.hpp \
- _gen/types-body.hpp
-
-protoinclude_HEADERS = \
- Account.h \
- AccountManager.h \
- AvatarManager.h \
- CapabilitiesManager.h \
- ChatChannel.h \
- Connection.h \
- ConnectionFacade.h \
- Constants \
- Contact.h \
- ContactManager.h \
- DBusInterface.h \
- PresenceManager.h \
- StreamedMediaChannel.h \
- Types \
- constants.h \
- cli-channel-handler.h \
- cli-stream-engine.h \
- types.h
-
-protoclientinclude_HEADERS = \
- Client/ChannelHandler \
- Client/StreamEngine
-
-nodist_geninclude_HEADERS = \
- _gen/cli-channel-handler.h \
- _gen/cli-stream-engine.h \
- _gen/constants.h \
- _gen/types.h
-
-BUILT_SOURCES = \
- $(nodist_libtpqt4_prototype_la_SOURCES) \
- $(nodist_geninclude_HEADERS) \
- _gen/stable-spec.xml \
- _gen/spec-stamp \
- _gen/stable-stamp
-
-CLEANFILES = \
- $(BUILT_SOURCES)
-
-AM_CXXFLAGS = \
- $(ERROR_CXXFLAGS)
-
-AM_CPPFLAGS = \
- -I$(top_srcdir) -I$(top_builddir) \
- $(QTCORE_CFLAGS) \
- $(QTDBUS_CFLAGS)
-
-ALL_LIBS = \
- $(QTCORE_LIBS) \
- $(QTDBUS_LIBS) \
- $(top_builddir)/TelepathyQt4/libtelepathy-qt4.la
-
-all: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) all-am
-
-.SUFFIXES:
-.SUFFIXES: .cpp .lo .o .obj
-$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/tools/check-coding-style.mk $(am__configure_deps)
- @for dep in $?; do \
- case '$(am__configure_deps)' in \
- *$$dep*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
- && exit 0; \
- exit 1;; \
- esac; \
- done; \
- echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu TelepathyQt4/Prototype/Makefile'; \
- cd $(top_srcdir) && \
- $(AUTOMAKE) --gnu TelepathyQt4/Prototype/Makefile
-.PRECIOUS: Makefile
-Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
- @case '$?' in \
- *config.status*) \
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
- *) \
- echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
- esac;
-
-$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-
-$(top_srcdir)/configure: $(am__configure_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-$(ACLOCAL_M4): $(am__aclocal_m4_deps)
- cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
-TpQt4Prototype.pc: $(top_builddir)/config.status $(srcdir)/TpQt4Prototype.pc.in
- cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
-install-libLTLIBRARIES: $(lib_LTLIBRARIES)
- @$(NORMAL_INSTALL)
- test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- if test -f $$p; then \
- f=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
- $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
- else :; fi; \
- done
-
-uninstall-libLTLIBRARIES:
- @$(NORMAL_UNINSTALL)
- @set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- p=$(am__strip_dir) \
- echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
- $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
- done
-
-clean-libLTLIBRARIES:
- -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
- @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
- dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
- test "$$dir" != "$$p" || dir=.; \
- echo "rm -f \"$${dir}/so_locations\""; \
- rm -f "$${dir}/so_locations"; \
- done
-libtpqt4-prototype.la: $(libtpqt4_prototype_la_OBJECTS) $(libtpqt4_prototype_la_DEPENDENCIES)
- $(CXXLINK) -rpath $(libdir) $(libtpqt4_prototype_la_LDFLAGS) $(libtpqt4_prototype_la_OBJECTS) $(libtpqt4_prototype_la_LIBADD) $(LIBS)
-
-mostlyclean-compile:
- -rm -f *.$(OBJEXT)
-
-distclean-compile:
- -rm -f *.tab.c
-
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Account.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AccountManager.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/AvatarManager.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CapabilitiesManager.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ChatChannel.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Connection.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ConnectionFacade.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Contact.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ContactManager.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/DBusInterface.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PresenceManager.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/StreamedMediaChannel.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cli-channel-handler.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cli-stream-engine.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/types.Plo@am__quote@
-
-.cpp.o:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
-
-.cpp.obj:
-@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.cpp.lo:
-@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
-
-mostlyclean-libtool:
- -rm -f *.lo
-
-clean-libtool:
- -rm -rf .libs _libs
-
-distclean-libtool:
- -rm -f libtool
-uninstall-info-am:
-install-pkgconfigDATA: $(pkgconfig_DATA)
- @$(NORMAL_INSTALL)
- test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
-
-uninstall-pkgconfigDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(pkgconfig_DATA)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
- rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
- done
-install-nodist_genincludeHEADERS: $(nodist_geninclude_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(genincludedir)" || $(mkdir_p) "$(DESTDIR)$(genincludedir)"
- @list='$(nodist_geninclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(nodist_genincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(genincludedir)/$$f'"; \
- $(nodist_genincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(genincludedir)/$$f"; \
- done
-
-uninstall-nodist_genincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(nodist_geninclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(genincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(genincludedir)/$$f"; \
- done
-install-protoclientincludeHEADERS: $(protoclientinclude_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(protoclientincludedir)" || $(mkdir_p) "$(DESTDIR)$(protoclientincludedir)"
- @list='$(protoclientinclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(protoclientincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(protoclientincludedir)/$$f'"; \
- $(protoclientincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(protoclientincludedir)/$$f"; \
- done
-
-uninstall-protoclientincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(protoclientinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(protoclientincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(protoclientincludedir)/$$f"; \
- done
-install-protoincludeHEADERS: $(protoinclude_HEADERS)
- @$(NORMAL_INSTALL)
- test -z "$(protoincludedir)" || $(mkdir_p) "$(DESTDIR)$(protoincludedir)"
- @list='$(protoinclude_HEADERS)'; for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- f=$(am__strip_dir) \
- echo " $(protoincludeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(protoincludedir)/$$f'"; \
- $(protoincludeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(protoincludedir)/$$f"; \
- done
-
-uninstall-protoincludeHEADERS:
- @$(NORMAL_UNINSTALL)
- @list='$(protoinclude_HEADERS)'; for p in $$list; do \
- f=$(am__strip_dir) \
- echo " rm -f '$(DESTDIR)$(protoincludedir)/$$f'"; \
- rm -f "$(DESTDIR)$(protoincludedir)/$$f"; \
- done
-
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- mkid -fID $$unique
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
- test -n "$$unique" || unique=$$empty_fix; \
- $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
- $$tags $$unique; \
- fi
-ctags: CTAGS
-CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- tags=; \
- here=`pwd`; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) ' { files[$$0] = 1; } \
- END { for (i in files) print i; }'`; \
- test -z "$(CTAGS_ARGS)$$tags$$unique" \
- || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
- $$tags $$unique
-
-GTAGS:
- here=`$(am__cd) $(top_builddir) && pwd` \
- && cd $(top_srcdir) \
- && gtags -i $(GTAGS_ARGS) $$here
-
-distclean-tags:
- -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
-
-distdir: $(DISTFILES)
- $(mkdir_p) $(distdir)/../../tools $(distdir)/Client
- @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
- topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
- list='$(DISTFILES)'; for file in $$list; do \
- case $$file in \
- $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
- $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
- esac; \
- if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
- dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
- if test "$$dir" != "$$file" && test "$$dir" != "."; then \
- dir="/$$dir"; \
- $(mkdir_p) "$(distdir)$$dir"; \
- else \
- dir=''; \
- fi; \
- if test -d $$d/$$file; then \
- if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
- cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
- fi; \
- cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
- else \
- test -f $(distdir)/$$file \
- || cp -p $$d/$$file $(distdir)/$$file \
- || exit 1; \
- fi; \
- done
-check-am: all-am
- $(MAKE) $(AM_MAKEFLAGS) check-local
-check: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) check-am
-all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS)
-installdirs:
- for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(genincludedir)" "$(DESTDIR)$(protoclientincludedir)" "$(DESTDIR)$(protoincludedir)"; do \
- test -z "$$dir" || $(mkdir_p) "$$dir"; \
- done
-install: $(BUILT_SOURCES)
- $(MAKE) $(AM_MAKEFLAGS) install-am
-install-exec: install-exec-am
-install-data: install-data-am
-uninstall: uninstall-am
-
-install-am: all-am
- @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
-
-installcheck: installcheck-am
-install-strip:
- $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
- install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
- `test -z '$(STRIP)' || \
- echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
-mostlyclean-generic:
-
-clean-generic:
- -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
-
-distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
-
-maintainer-clean-generic:
- @echo "This command is intended for maintainers to use"
- @echo "it deletes files that may require special tools to rebuild."
- -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-clean: clean-am
-
-clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
- mostlyclean-am
-
-distclean: distclean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-distclean-am: clean-am distclean-compile distclean-generic \
- distclean-libtool distclean-local distclean-tags
-
-dvi: dvi-am
-
-dvi-am:
-
-html: html-am
-
-info: info-am
-
-info-am:
-
-install-data-am: install-nodist_genincludeHEADERS \
- install-pkgconfigDATA install-protoclientincludeHEADERS \
- install-protoincludeHEADERS
-
-install-exec-am: install-libLTLIBRARIES
-
-install-info: install-info-am
-
-install-man:
-
-installcheck-am:
-
-maintainer-clean: maintainer-clean-am
- -rm -rf ./$(DEPDIR)
- -rm -f Makefile
-maintainer-clean-am: distclean-am maintainer-clean-generic
-
-mostlyclean: mostlyclean-am
-
-mostlyclean-am: mostlyclean-compile mostlyclean-generic \
- mostlyclean-libtool
-
-pdf: pdf-am
-
-pdf-am:
-
-ps: ps-am
-
-ps-am:
-
-uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
- uninstall-nodist_genincludeHEADERS uninstall-pkgconfigDATA \
- uninstall-protoclientincludeHEADERS \
- uninstall-protoincludeHEADERS
-
-.PHONY: CTAGS GTAGS all all-am check check-am check-local clean \
- clean-generic clean-libLTLIBRARIES clean-libtool ctags \
- distclean distclean-compile distclean-generic \
- distclean-libtool distclean-local distclean-tags distdir dvi \
- dvi-am html html-am info info-am install install-am \
- install-data install-data-am install-exec install-exec-am \
- install-info install-info-am install-libLTLIBRARIES \
- install-man install-nodist_genincludeHEADERS \
- install-pkgconfigDATA install-protoclientincludeHEADERS \
- install-protoincludeHEADERS install-strip installcheck \
- installcheck-am installdirs maintainer-clean \
- maintainer-clean-generic mostlyclean mostlyclean-compile \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-info-am \
- uninstall-libLTLIBRARIES uninstall-nodist_genincludeHEADERS \
- uninstall-pkgconfigDATA uninstall-protoclientincludeHEADERS \
- uninstall-protoincludeHEADERS
-
-
-distclean-local:
- rm -rf _gen
-check-coding-style:
- @fail=0; \
- if test -n "$(check_misc_sources)"; then \
- tools_dir=$(top_srcdir)/tools \
- sh $(top_srcdir)/tools/check-misc.sh \
- $(check_misc_sources) || fail=1; \
- fi; \
- if test yes = "$(ENABLE_CODING_STYLE_CHECKS)"; then \
- exit "$$fail";\
- else \
- exit 0;\
- fi
-
-check-local: check-coding-style
-
-# Generated stuff
-
-# Bootstrapping
-
-_gen/spec-stamp: $(wildcard $(top_srcdir)/spec/*.xml)
- $(mkdir_p) _gen
- touch $@
-
-_gen/stable-stamp: $(wildcard *.xml) _gen/spec-stamp
- touch $@
-
-_gen/stable-spec.xml: all.xml _gen/stable-stamp \
- $(top_srcdir)/tools/xincludator.py \
- Makefile.am
- $(PYTHON) $(top_srcdir)/tools/xincludator.py \
- $< > $@
-
-# Things generated from the whole spec at once
-
-_gen/constants.h: _gen/stable-spec.xml \
- $(top_srcdir)/tools/qt4-constants-gen.py \
- Makefile.am
- $(PYTHON) $(top_srcdir)/tools/qt4-constants-gen.py \
- --namespace='TpPrototype' \
- --str-constant-prefix='TP_PROTOTYPE_' \
- --specxml=$< \
- > $@.tmp && mv $@.tmp $@
-
-_gen/types.h _gen/types-body.hpp: _gen/stable-spec.xml \
- $(top_srcdir)/tools/qt4-types-gen.py \
- Makefile.am
- $(PYTHON) $(top_srcdir)/tools/qt4-types-gen.py \
- --namespace='TpPrototype' \
- --declfile='_gen/types.h' \
- --implfile='_gen/types-body.hpp' \
- --realinclude='TelepathyQt4/Prototype/types.h' \
- --prettyinclude='TelepathyQt4/Prototype/Types' \
- --specxml=$<
-
-# Things generated per interface group
-
-_gen/spec-%.xml: %.xml $(top_srcdir)/tools/xincludator.py _gen/spec-stamp
- $(PYTHON) $(top_srcdir)/tools/xincludator.py \
- $< > $@
-
-_gen/cli-%.h _gen/cli-%-body.hpp: _gen/spec-%.xml \
- _gen/stable-spec.xml \
- $(top_srcdir)/tools/qt4-client-gen.py \
- Makefile.am
- set -e; \
- namespace='TpPrototype::Client'; \
- group= ; \
- prettyinclude= ; \
- mainiface= ; \
- case $* in \
- channel-handler) \
- group='clientchannelhandler'; \
- prettyinclude='ChannelHandler';; \
- stream-engine) \
- group='clientstreamengine'; \
- prettyinclude='StreamEngine';; \
- esac; \
- $(PYTHON) $(top_srcdir)/tools/qt4-client-gen.py \
- --group=$$group \
- --namespace=$$namespace \
- --typesnamespace='Tp' \
- --headerfile=_gen/cli-$*.h \
- --implfile=_gen/cli-$*-body.hpp \
- --realinclude='TelepathyQt4/Prototype/cli-$*.h' \
- --prettyinclude='TelepathyQt4/Prototype/Client/'$$prettyinclude \
- --specxml=_gen/stable-spec.xml \
- --ifacexml=$< \
- --extraincludes='<TelepathyQt4/Types>,<TelepathyQt4/Prototype/Types>' \
- $$mainiface
-
-_gen/%.moc: % _gen/constants.h _gen/types.h
- $(MOC) $(AM_CPPFLAGS) -i $< -o $@
-
-_gen/%.moc.hpp: _gen/%.h _gen/constants.h _gen/types.h
- $(MOC) $(AM_CPPFLAGS) -i $< -o $@
-# Tell versions [3.59,3.63) of GNU make to not export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/TelepathyQt4/Prototype/PresenceManager.cpp b/TelepathyQt4/Prototype/PresenceManager.cpp
deleted file mode 100644
index 220377b..0000000
--- a/TelepathyQt4/Prototype/PresenceManager.cpp
+++ /dev/null
@@ -1,623 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "TelepathyQt4/Prototype/PresenceManager.h"
-
-#include <QCoreApplication>
-#include <QDBusObjectPath>
-#include <QDBusPendingReply>
-#include <QDebug>
-#include <QMap>
-#include <QPointer>
-
-#include <TelepathyQt4/Connection>
-
-#include <TelepathyQt4/Prototype/Account.h>
-#include <TelepathyQt4/Prototype/AccountManager.h>
-#include <TelepathyQt4/Prototype/ConnectionFacade.h>
-#include <TelepathyQt4/Prototype/Connection.h>
-#include <TelepathyQt4/Prototype/Contact.h>
-#include <TelepathyQt4/Prototype/ContactManager.h>
-
-// #define ENABLE_DEBUG_OUTPUT_
-
-namespace
-{
- const char* g_offlineStatusString = "offline";
- const char* g_statusParamMessageString = "message";
-}
-
-using namespace TpPrototype;
-
-class TpPrototype::PresenceManagerPrivate
-{
-public:
- PresenceManagerPrivate( Connection* connection,
- Tp::Client::ConnectionInterface* interface )
- { init( connection, interface ); }
-
- Tp::Client::ConnectionInterface* m_pConnectionInterface;
- Tp::Client::ConnectionInterfaceSimplePresenceInterface* m_pSimplePresenceInterface;
- Tp::Client::ConnectionInterfacePresenceInterface* m_pPresenceInterface;
- QPointer<Connection> m_pConnection;
- bool m_isValid;
- QMap<QString,int> m_mapStatusStringToType;
-
- void init( Connection* connection,
- Tp::Client::ConnectionInterface* interface )
- {
- m_pConnectionInterface = interface;
- m_pConnection = connection;
- m_pSimplePresenceInterface = NULL;
- m_pPresenceInterface = NULL;
- m_isValid = true;
-
- m_mapStatusStringToType.insert( "offline" , 1 /*Connection_Presence_Type_Offline*/ ); //TODO: Why is there no enum for these types?
- m_mapStatusStringToType.insert( "available", 2 /*Connection_Presence_Type_Available*/ );
- m_mapStatusStringToType.insert( "away" , 3 /*Connection_Presence_Type_Away*/ );
- m_mapStatusStringToType.insert( "brb" , 3 /*Connection_Presence_Type_Away*/ );
- m_mapStatusStringToType.insert( "xa" , 4 /*Connection_Presence_Type_Extended_Away*/ );
- m_mapStatusStringToType.insert( "hidden" , 5 /*Connection_Presence_Type_Busy*/ );
- m_mapStatusStringToType.insert( "busy" , 6 /*Connection_Presence_Type_Busy*/ );
- m_mapStatusStringToType.insert( "dnd" , 6 /*Connection_Presence_Type_Busy*/ );
- m_mapStatusStringToType.insert( "unknown" , 7 /*Connection_Presence_Type_Unknown*/ );
- m_mapStatusStringToType.insert( "error" , 8 /*Connection_Presence_Type_Error*/ );
-
- }
-
- uint localHandle()
- {
- uint self_handle = ConnectionFacade::instance()->selfHandleForConnectionInterface( m_pConnectionInterface );
- if ( self_handle == 0 )
- { m_isValid = false; }
-
- return self_handle;
- }
-
-// Protected functions
-
- uint mapStatusStringToType( const QString& status ) const
- {
- return m_mapStatusStringToType.value( status );
- }
-
- Tp::SimplePresence convertToSimplePresence( const Tp::LastActivityAndStatuses& status ) const
- {
- Tp::SimplePresence simple_presence;
-
- QStringList status_list = status.statuses.keys();
-
- Q_ASSERT( status_list.count() == 1 );
- if ( status_list.count() < 1 )
- { return simple_presence; }
-
- simple_presence.type = mapStatusStringToType( status_list.at( 0 ) );
- simple_presence.status = status_list.at( 0 );
- simple_presence.statusMessage = status.statuses.value( status_list.at( 0 ) ).value( g_statusParamMessageString ).toString();
-
- return simple_presence;
- }
-
- Tp::SimpleContactPresences convertToSimplePresences( const Tp::ContactPresences& presences ) const
- {
- Tp::SimpleContactPresences contact_presences;
-
- QList<uint> keys = presences.keys();
- foreach( uint key, keys )
- {
- contact_presences.insert( key, convertToSimplePresence( presences.value( key ) ) );
- }
-
- return contact_presences;
- }
-
- Tp::MultipleStatusMap convertToMultipleStatusMap( const QString& status, const QString& statusMessage ) const
- {
- Tp::MultipleStatusMap status_map;
-
- QVariantMap protocol_specif_parameters;
- if ( !statusMessage.isEmpty() )
- { protocol_specif_parameters.insert( g_statusParamMessageString, statusMessage ); }
-
- status_map.insert( status, protocol_specif_parameters );
-
- return status_map;
- }
-};
-
-PresenceManager::PresenceManager( Connection* connection,
- Tp::Client::ConnectionInterface* interface,
- QObject* parent ):
- QObject( parent ),
- d( new PresenceManagerPrivate( connection, interface ) )
-{
- init();
-}
-
-PresenceManager::~PresenceManager()
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "D'tor PresenceManager (" << this << ")";
-#endif
- delete d;
-}
-
-bool PresenceManager::isValid()
-{
- return d->m_isValid;
-}
-
-Tp::SimpleStatusSpecMap PresenceManager::statuses()
-{
- Q_ASSERT( d->m_pSimplePresenceInterface || d->m_pPresenceInterface );
-
- if ( d->m_pSimplePresenceInterface )
- { return d->m_pSimplePresenceInterface->Statuses(); }
-
- if ( d->m_pPresenceInterface )
- {
- // We return a minimum set of states that should be provided by every contact manager and protocol
- Tp::SimpleStatusSpecMap ret_status;
- Tp::SimpleStatusSpec available = { 2, 2, true };
- ret_status.insert( "available", available );
- Tp::SimpleStatusSpec away = { 3, 3, true };
- ret_status.insert( "away", away );
- Tp::SimpleStatusSpec offline = { 1, 1, true };
- ret_status.insert( "offline", offline );
-
- return ret_status;
- }
-
- return Tp::SimpleStatusSpecMap();
-}
-
-bool PresenceManager::setPresence( const QString& status, const QString& statusMessage )
-{
- Q_ASSERT( d->m_pSimplePresenceInterface || d->m_pPresenceInterface );
-
- if ( !d->m_pSimplePresenceInterface && !d->m_pPresenceInterface )
- { return false; }
-
- // The state "offline" is presented as possible state with statuses(). Due to unknown reasons it is not
- // a valid name for setPresence(). Thus, we handle it on this layer..
- if ( status == g_offlineStatusString )
- {
- Q_ASSERT( d->m_pConnection );
-
- // TODO: Think whether sending this signal here manually (and before disconnecting) is really a good idea!
- const Tp::SimplePresence new_presence = { d->mapStatusStringToType( "offline" ), status, statusMessage };
- emit signalOwnPresenceUpdated( d->m_pConnection->account(), new_presence );
-
- d->m_pConnection->requestDisconnect();
- return true;
- }
-
- if ( d->m_pSimplePresenceInterface )
- {
- QDBusPendingReply<> set_presence_reply = d->m_pSimplePresenceInterface->SetPresence( status, statusMessage );
- set_presence_reply.waitForFinished();
-
- if ( !set_presence_reply.isValid() )
- {
- QDBusError error = set_presence_reply.error();
-
- qWarning() << "SetPresence: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return false;
- }
- return true;
- }
-
- if ( d->m_pPresenceInterface )
- {
- QDBusPendingReply<> set_status_reply = d->m_pPresenceInterface->SetStatus( d->convertToMultipleStatusMap( status, statusMessage ) );
- set_status_reply.waitForFinished();
- if ( !set_status_reply.isValid() )
- {
- QDBusError error = set_status_reply.error();
-
- qWarning() << "SetStatus: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return false;
- }
-
-#if 0 // TODO: Exame further: At some point I received the signal. Don't know why..
- // The simple presence interface is emitting a signal if I changed the local presence here but the presence interface does not!
- // We simulate this behavior here..
- const Tp::SimplePresence new_presence = { d->mapStatusStringToType( status ), status, statusMessage };
- emit signalOwnPresenceUpdated( d->m_pConnection->account(), new_presence );
-#endif
- return true;
- }
-
- // Fall through..
- return false;
-}
-
-// TODO: This function is doing the same as presencesForContacts() but just for one contact! Merge both functions to remove code duplication!
-Tp::SimplePresence PresenceManager::currentPresence()
-{
- Q_ASSERT( d->m_pSimplePresenceInterface || d->m_pPresenceInterface );
-
- if ( !d->m_pConnection || ( !d->m_pSimplePresenceInterface && !d->m_pPresenceInterface ) )
- {
- return Tp::SimplePresence();
- }
-
- Tp::UIntList uid_list;
- uid_list << d->localHandle();
-
- if ( d->m_pSimplePresenceInterface )
- {
- QDBusPendingReply<Tp::SimpleContactPresences> get_presence_reply = d->m_pSimplePresenceInterface->GetPresences( uid_list );
- get_presence_reply.waitForFinished();
-
- if ( !get_presence_reply.isValid() )
- {
- QDBusError error = get_presence_reply.error();
-
- qWarning() << "GetPresences: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return Tp::SimplePresence();
- }
-
- Tp::SimpleContactPresences presence_list = get_presence_reply.value();
- QList<Tp::SimplePresence> value_list = presence_list.values();
-
- if ( value_list.count() == 0 )
- { return Tp::SimplePresence(); }
-
- return value_list.at( 0 );
- }
-
- if ( d->m_pPresenceInterface )
- {
- QDBusPendingReply<Tp::ContactPresences> get_presence_reply = d->m_pPresenceInterface->GetPresence( uid_list );
- get_presence_reply.waitForFinished();
-
- if ( !get_presence_reply.isValid() )
- {
- QDBusError error = get_presence_reply.error();
-
- qWarning() << "GetPresence: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return Tp::SimplePresence();
- }
-
- Tp::ContactPresences presence_list = get_presence_reply.value();
- QList<Tp::LastActivityAndStatuses> value_list = presence_list.values();
-
- if ( value_list.count() == 0 )
- { return Tp::SimplePresence(); }
-
- return d->convertToSimplePresence( value_list.at( 0 ) );
- }
-
- // Fall through..
- return Tp::SimplePresence();
-}
-
-// TODO: See comment for currentPresence! Merge both to remove code duplication
-Tp::SimpleContactPresences PresenceManager::presencesForContacts( const QList<QPointer<Contact> >& contacts )
-{
- Q_ASSERT( d->m_pSimplePresenceInterface || d->m_pPresenceInterface );
-
- if ( !d->m_pConnection || ( !d->m_pSimplePresenceInterface && !d->m_pPresenceInterface ) )
- { return Tp::SimpleContactPresences(); }
-
- Tp::UIntList contact_ids;
- foreach( Contact* contact, contacts )
- {
- if ( !contact )
- { continue; }
- contact_ids.append( contact->telepathyHandle() );
- }
-
- if ( d->m_pSimplePresenceInterface )
- {
- QDBusPendingReply<Tp::SimpleContactPresences> get_presence_reply = d->m_pSimplePresenceInterface->GetPresences( contact_ids );
- get_presence_reply.waitForFinished();
-
- if ( !get_presence_reply.isValid() )
- {
- QDBusError error = get_presence_reply.error();
-
- qWarning() << "GetPresences: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return Tp::SimpleContactPresences();
- }
-
- Tp::SimpleContactPresences presences=get_presence_reply.value();
- QList<uint> keys = presences.keys();
- QPointer<TpPrototype::Contact> contact;
- foreach( uint key, keys )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "presencesForContacts Key"<<key;
-#endif
- for (int i=0; i<contacts.size(); i++)
- {
-
- contact=contacts.at( i);
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Contact "<< key << "Type:" << contact->type() << "Status" <<presences.value( key ).status << "Message:" << presences.value( key ).statusMessage;
-#endif
- if (contact->telepathyHandle()==key)
- {
- contact->setPresenceType(presences.value( key ).type);
- contact->setPresenceStatus(presences.value( key ).status);
- contact->setPresenceMessage(presences.value( key ).statusMessage);
- }
- }
- }
-
- return get_presence_reply.value();
- }
-
- if ( d->m_pPresenceInterface )
- {
- QDBusPendingReply<Tp::ContactPresences> get_presence_reply = d->m_pPresenceInterface->GetPresence( contact_ids );
- get_presence_reply.waitForFinished();
-
- if ( !get_presence_reply.isValid() )
- {
- QDBusError error = get_presence_reply.error();
-
- qWarning() << "GetPresence: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return Tp::SimpleContactPresences();
- }
-
- Tp::ContactPresences presences = get_presence_reply.value();
- QList<uint> keys = presences.keys();
- QPointer<TpPrototype::Contact> contact;
- foreach( uint key, keys )
- {
- //qDebug() << "presencesForContacts Key"<<key;
- for ( int i=0; i<contacts.size(); i++ )
- {
- contact=contacts.at( i);
- //qDebug() << "Contact "<< key << "Status" <<presences.value( key ).status;
- if (contact->telepathyHandle()==key)
- {
- Tp::SimplePresence simple_presence = d->convertToSimplePresence( presences.value( key ) );
- contact->setPresenceType( simple_presence.type );
- contact->setPresenceStatus( simple_presence.status );
- contact->setPresenceMessage( simple_presence.statusMessage );
- }
- }
- }
-
- return d->convertToSimplePresences( presences );
- }
-
- // Fall through..
- return Tp::SimpleContactPresences();
-}
-
-// Protected slots
-
-// Called by the _simple_ presence interface if presence were updated
-void PresenceManager::slotPresencesChanged( const Tp::SimpleContactPresences& presences )
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << __PRETTY_FUNCTION__;
-#endif
- if ( !d->m_pConnection )
- {
- qWarning() << "PresenceManager::slotPresencesChanged(): Received a presence changed signal but no connection object exists!";
- return;
- }
-
- QList<uint> keys = presences.keys();
- foreach( uint key, keys )
- {
- Tp::SimplePresence changed_presence = presences.value( key );
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Contact ID: " << key
- << "Type: " << changed_presence.type
- << "Status:" << changed_presence.status
- << "StatusMessage:"<< changed_presence.statusMessage;
-#endif
-
- if ( d->localHandle() == key )
- {
- if ( !d->m_pConnection->account() )
- {
- qWarning() << "PresenceManager::slotPresencesChanged(): Connection without account!";
- return;
- }
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "PresenceManager::slotPresencesChanged() -> signalOwnPresenceUpdated";
-#endif
- emit signalOwnPresenceUpdated( d->m_pConnection->account(), changed_presence );
- }
- else
- {
- if ( !d->m_pConnection->contactManager() )
- {
- qWarning() << "PresenceManager::slotPresencesChanged(): Unable to request contact manager!";
- return;
- }
-
- Contact* found_contact = NULL;
- foreach( Contact* contact, d->m_pConnection->contactManager()->contactList() )
- {
- if ( contact && contact->telepathyHandle() == key )
- { found_contact = contact; }
- }
- if ( found_contact )
- {
- found_contact->setPresenceType(changed_presence.type);
- found_contact->setPresenceStatus(changed_presence.status);
- found_contact->setPresenceMessage(changed_presence.statusMessage);
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "PresenceManager::slotPresencesChanged() -> signalRemotePresencesUpdated (contact: " << found_contact->name() << "type:" << found_contact->type() << ")";
-#endif
- emit signalRemotePresencesUpdated( found_contact, changed_presence );
- }
- else
- {
- qWarning() << "PresenceManager::slotPresencesChanged: Received a signal that a non existing contact changed its presence!";
- }
- }
- }
-}
-
-// Called by the presence interface (that one without "simple" prefix) if any presences were updated
-void PresenceManager::slotPresencesUpdate( const Tp::ContactPresences& presences )
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "PresenceManager::slotPresencesUpdate()";
- QList<uint> keys = presences.keys();
- foreach( uint key, keys )
- {
- qDebug() << "Contact ID : " << key
- << "LastActivity: " << presences.value( key ).lastActivity;
- Tp::MultipleStatusMap statuses = presences.value( key ).statuses; // QMap<QString, QVariantMap>
- QList<QString> status_keys = statuses.keys();
- foreach( QString status_key, status_keys )
- {
- qDebug() << "Status:" << status_key << "Map:" << statuses.value( status_key );
- }
- }
-#endif
- slotPresencesChanged( d->convertToSimplePresences( presences ) );
-}
-
-TpPrototype::Connection * PresenceManager::connection()
-{
- return d->m_pConnection;
-}
-
-void PresenceManager::init()
-{
- Q_ASSERT( d->m_pConnectionInterface );
-
- if ( !d->m_pConnectionInterface || !d->m_pConnection )
- {
- d->m_isValid = false;
- return;
- }
-
- Tp::registerTypes();
- QDBusPendingReply<QStringList> interfaces_reply = d->m_pConnectionInterface->GetInterfaces();
- interfaces_reply.waitForFinished();
-
- if ( !interfaces_reply.isValid() )
- {
- QDBusError error = interfaces_reply.error();
-
- qWarning() << "GetInterfaces: error type:" << error.type()
- << "GetInterfaces: error name:" << error.name();
-
- d->m_isValid = false;
- return;
- }
-
- QString simplepresence_interface_name;
- bool found_simple_presence_support = false;
- QString presence_interface_name;
- bool found_presence_support = false;
-
- foreach( const QString& interface, interfaces_reply.value() )
- {
- if ( interface.endsWith( ".SimplePresence" ) )
- {
- found_simple_presence_support = true;
- simplepresence_interface_name = interface;
- }
- if ( interface.endsWith( ".Presence" ) )
- {
- found_presence_support = true;
- presence_interface_name = interface;
- }
- }
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Simple Presence Interface Name: " << simplepresence_interface_name;
- qDebug() << "Presence Interface Name : " << presence_interface_name;
-#endif
-
- // FIXME: The following line shound be commented out!!
- // found_simple_presence_support = false; // Override to test the (not simple) presence interface implementation
-
- if ( found_simple_presence_support )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug( "PresenceManager::init(): Connection Manager provides the Interface \"SimplePresence\". I will use this one!" );
-#endif
- d->m_pSimplePresenceInterface = new Tp::Client::ConnectionInterfaceSimplePresenceInterface( d->m_pConnectionInterface->service(),
- d->m_pConnectionInterface->path(),
- this );
- Q_ASSERT( d->m_pSimplePresenceInterface );
- Q_ASSERT( d->m_pSimplePresenceInterface->isValid() );
-
- connect( d->m_pSimplePresenceInterface, SIGNAL( PresencesChanged( const Tp::SimpleContactPresences& ) ),
- this, SLOT( slotPresencesChanged( const Tp::SimpleContactPresences& ) ) );
-
- return;
- }
-
- if ( found_presence_support )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug( "PresenceManager::init(): Connection Manager provides the Interface \"Presence\". I will use this one!" );
-#endif
- d->m_pPresenceInterface = new Tp::Client::ConnectionInterfacePresenceInterface( d->m_pConnectionInterface->service(),
- d->m_pConnectionInterface->path(),
- this );
- Q_ASSERT( d->m_pPresenceInterface );
- Q_ASSERT( d->m_pPresenceInterface->isValid() );
-
- connect( d->m_pPresenceInterface, SIGNAL( PresenceUpdate(const Tp::ContactPresences& ) ),
- this, SLOT( slotPresencesUpdate( const Tp::ContactPresences& ) ) );
-
- return;
-
- }
-
- // Fall through: No valid presence interface was found..
- d->m_isValid = false;
- qWarning( "PresenceManager::init(): Connection Manager neither supports the Interface \"Presence\" nor the Interface \"SimplePresence\". Other interfaces are not supported!" );
- return;
-}
-
-#include "_gen/PresenceManager.h.moc"
diff --git a/TelepathyQt4/Prototype/PresenceManager.h b/TelepathyQt4/Prototype/PresenceManager.h
deleted file mode 100644
index aa9c7d4..0000000
--- a/TelepathyQt4/Prototype/PresenceManager.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef TelepathyQt4_Prototype_PresenceManager_H_
-#define TelepathyQt4_Prototype_PresenceManager_H_
-
-#include <QDBusObjectPath>
-#include <QObject>
-#include <QPointer>
-
-#include <TelepathyQt4/Types>
-
-namespace Tp
-{
- namespace Client
- {
- class ConnectionInterface;
- }
-}
-
-namespace TpPrototype {
-
-class PresenceManagerPrivate;
-class Connection;
-class Contact;
-class Account;
-
-/**
- * @ingroup qt_connection
- * This class manages presence information for one connection.
- * Whenever a contact presence changes, the signal signalRemotePresencesUpdated() is emitted. This signal provides the related contact object
- * obtained from the ContactManager.
- * In order to keep the contacts updated, you just have to instantiate this class (by requesting the object with Connection::presenceManager())
- * and initialize the list of contacts once (by calling presencesForContacts() ). After this point, the presence information of the contact
- * is updated automatically if a change is signalled by the backend.<br>
- * <br>
- * <b>Info:</b> The deprecated interface "org.freedesktop.Telepathy.Channel.Interface.Presence" is used as fallback, if the interface
- * "org.freedesktop.Telepathy.Channel.Interface.SimplePresence" is not supported by the connection manager. Thus, a wide range of
- * connection managers should work with this class.
-
- * @see Connection
- */
-class PresenceManager : public QObject
-{
- Q_OBJECT
-public:
- /**
- * Validity.
- * Do not access any methods if the object is invalid!
- */
- bool isValid();
-
- /**
- * Supported statuses.
- * Returns the list of supported status states. The list may change if the status of the connection changes from <i>disconnected</i> to <i>connected</i>.
- * @return The list of supported statuses.
- * @see connection::status();
- */
- Tp::SimpleStatusSpecMap statuses();
-
- /**
- * Set Presence.
- * Request that the presence status and status message are published for the connection. Changes will be indicated by
- * signal signalOwnPresenceUpdated().
- * @param status The state to set the presence to as returned by statuses().
- * @see signalOwnPresenceUpdated().;
- */
- bool setPresence( const QString& status, const QString& statusMessage );
-
- /**
- * Gets local presence.
- * The local presence is returned for the connection.
- * @return Returns my current local presence or an empty item on error.
- */
- Tp::SimplePresence currentPresence();
-
- /**
- * Request presences.
- * Requests a list of presences for the given list of contacts.
- * @param contacts List of contacts.
- * @return List of presence information for contacts as <i>QMap<int,SimplePresence> </i>. The <i>int</i> represents the
- * identifier of the contact as returned by Contact::identifier(), An empty list is returned on error.
- * @todo Future: Use QList<Contact> instead QList<QPointer<Contact> > or introduce a class <i>ContactGroup</i> that handles all internally.
- * @todo Future: Tp::SimpleContactPresences relies of an handle (the <i>int</i>). This should be encapsulated.
- */
- Tp::SimpleContactPresences presencesForContacts( const QList<QPointer<TpPrototype::Contact> >& contacts );
-
- /**
- * Returns the connection that belongs to this presence information.
- * @return The connection object
- */
- TpPrototype::Connection* connection();
-
-signals:
- /**
- * Presences of remote contacts are changed.
- * This signal is emitted when the presence state of a remote contact is changed.
- * @param contact The contact that changes.
- * @param presence The presence information.
- */
- void signalRemotePresencesUpdated( TpPrototype::Contact* contact, const Tp::SimplePresence& presence );
-
- /**
- * Local presence changed.
- * This signal is emitted when the local presence state was changed.
- * @param account The account that changes.
- * @param presence The presence information.
- */
- void signalOwnPresenceUpdated( const TpPrototype::Account* account, const Tp::SimplePresence& presence );
-
-protected:
- /**
- * Constructor. The presence manager cannot be instantiated directly. Use Connection::presenceManager() for it!
- */
- PresenceManager( TpPrototype::Connection* connection,
- Tp::Client::ConnectionInterface* interface,
- QObject* parent = NULL );
- ~PresenceManager();
-
-protected slots:
- void slotPresencesChanged( const Tp::SimpleContactPresences& presences );
- void slotPresencesUpdate( const Tp::ContactPresences& presences );
-private:
- void init();
-
- TpPrototype::PresenceManagerPrivate * const d;
- friend class Connection;
- friend class ConnectionPrivate;
-};
-}
-
-
-#endif
diff --git a/TelepathyQt4/Prototype/Stream_Engine.xml b/TelepathyQt4/Prototype/Stream_Engine.xml
deleted file mode 100644
index 0303a51..0000000
--- a/TelepathyQt4/Prototype/Stream_Engine.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
-<node name="/Stream_Engine">
- <interface name="org.freedesktop.Telepathy.StreamEngine">
- <method name="SetOutputVolume">
- <arg direction="in" type="o" name="channel_path" />
- <arg direction="in" type="u" name="stream_id" />
- <arg direction="in" type="u" name="volume" />
- </method>
- <method name="MuteInput">
- <arg direction="in" type="o" name="channel_path" />
- <arg direction="in" type="u" name="stream_id" />
- <arg direction="in" type="b" name="mute_state" />
- </method>
- <method name="MuteOutput">
- <arg direction="in" type="o" name="channel_path" />
- <arg direction="in" type="u" name="stream_id" />
- <arg direction="in" type="b" name="mute_state" />
- </method>
- <method name="SetOutputWindow">
- <arg direction="in" type="o" name="channel_path" />
- <arg direction="in" type="u" name="stream_id" />
- <arg direction="in" type="u" name="window" />
- </method>
- <method name="AddPreviewWindow">
- <arg direction="in" type="u" name="window" />
- </method>
- <method name="RemovePreviewWindow">
- <arg direction="in" type="u" name="window" />
- </method>
- <signal name="Receiving">
- <arg type="o" name="channel_path" />
- <arg type="u" name="stream_id" />
- <arg type="b" name="state" />
- </signal>
- <signal name="StreamStateChanged">
- <arg type="o" name="channel_path" />
- <arg type="u" name="stream_id" />
- <arg type="u" name="state" />
- <arg type="u" name="direction" />
- </signal>
- <method name="Shutdown">
- </method>
- </interface>
-</node>
diff --git a/TelepathyQt4/Prototype/StreamedMediaChannel.cpp b/TelepathyQt4/Prototype/StreamedMediaChannel.cpp
deleted file mode 100644
index 2e6cf0d..0000000
--- a/TelepathyQt4/Prototype/StreamedMediaChannel.cpp
+++ /dev/null
@@ -1,855 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#include "TelepathyQt4/Prototype/StreamedMediaChannel.h"
-
-#include <QDebug>
-#include <QMetaProperty>
-
-#include <TelepathyQt4/Connection>
-#include <TelepathyQt4/Channel>
-
-// ChannelHandlerInterface and StreamEngineInterface from stream-engine
-// 0.5.x, which is currently used as the only media streaming backend.
-// These interfaces are not really part of the Tp spec
-#include <TelepathyQt4/Prototype/Client/ChannelHandler>
-#include <TelepathyQt4/Prototype/Client/StreamEngine>
-
-#include <TelepathyQt4/Prototype/ConnectionFacade.h>
-#include <TelepathyQt4/Prototype/Constants>
-#include <TelepathyQt4/Prototype/Contact.h>
-#include <TelepathyQt4/Prototype/ContactManager.h>
-
-#define ENABLE_DEBUG_OUTPUT_
-
-using namespace TpPrototype;
-
-class TpPrototype::StreamedMediaChannelPrivate
-{
-public:
- StreamedMediaChannelPrivate()
- { init(); }
-
- QPointer<TpPrototype::Contact> m_pContact;
- QPointer<Tp::Client::ConnectionInterface> m_pConnectionInterface;
- Tp::Client::ChannelTypeStreamedMediaInterface* m_pStreamedMediaInterface;
- Tp::Client::ChannelInterfaceGroupInterface* m_pGroupInterface;
- Tp::Client::ChannelInterfaceMediaSignallingInterface* m_pMediaSignallingInterface;
- Tp::Client::ChannelInterfaceCallStateInterface* m_pCallStateInterface;
-
- // Interfaces of the telepathy stream engine:
- TpPrototype::Client::ChannelHandlerInterface* m_pStreamEngineHandlerInterface;
- TpPrototype::Client::StreamEngineInterface* m_pStreamEngineInterface;
-
- bool m_isValid;
-
- uint localHandle()
- {
- int self_handle = ConnectionFacade::instance()->selfHandleForConnectionInterface( m_pConnectionInterface );
- Q_ASSERT( self_handle >= 0 );
- return (uint) self_handle;
- }
-
- QList<uint> handleListForContacts( QList<QPointer<TpPrototype::Contact> > contacts )
- {
- QList<uint> handle_list;
-
- foreach( TpPrototype::Contact* contact, contacts )
- {
- if ( !contact )
- { continue; }
-
- handle_list.append( contact->telepathyHandle() );
- }
-
- return handle_list ;
- }
-
- bool isStreamEngineAvailable()
- {
- if ( !m_pStreamEngineInterface )
- {
- qWarning() << "No " << TpPrototype::Client::StreamEngineInterface::staticInterfaceName() << "found!";
- return false;
- }
- return true;
- }
-
- void checkDBusCall( QDBusPendingReply<>& reply, const QString& methodName )
- {
- reply.waitForFinished();
- if ( !reply.isValid() )
- {
- QDBusError error = reply.error();
- qWarning() << methodName << ": error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- }
- return;
- }
-
- void cleanup()
- {
- delete m_pStreamedMediaInterface;
- m_pStreamedMediaInterface = NULL;
- delete m_pCallStateInterface;
- m_pCallStateInterface = NULL;
- delete m_pMediaSignallingInterface;
- m_pMediaSignallingInterface = NULL;
- delete m_pStreamEngineHandlerInterface;
- m_pStreamEngineHandlerInterface = NULL;
- delete m_pStreamEngineInterface;
- m_pStreamEngineInterface = NULL;
- delete m_pGroupInterface;
- m_pGroupInterface = NULL;
- m_isValid = true;
- }
-
-
-private:
- void init()
- {
- m_pContact = NULL;
- m_pConnectionInterface = NULL;
- m_pStreamedMediaInterface = NULL;
- m_pCallStateInterface = NULL;
- m_pMediaSignallingInterface = NULL;
- m_pStreamEngineHandlerInterface = NULL;
- m_pStreamEngineInterface = NULL;
- m_pGroupInterface = NULL;
- m_isValid = true;
- }
-
-
-};
-
-
-StreamedMediaChannel::StreamedMediaChannel( Contact* contact, Tp::Client::ConnectionInterface* connectionInterface, QObject* parent ):
- QObject( parent ),
- d(new StreamedMediaChannelPrivate())
-{
- Tp::registerTypes();
-
- d->m_pContact = contact;
- d->m_pConnectionInterface = connectionInterface;
-
-}
-
-StreamedMediaChannel::~StreamedMediaChannel()
- { delete d; }
-
-bool StreamedMediaChannel::isValid() const
-{ return d->m_isValid; }
-
-// This functions adds the local handle from the group of local pending members into the group of members.
-bool StreamedMediaChannel::acceptIncomingStream()
-{
- QList<uint> accept_handles;
- accept_handles << d->localHandle();
-
- return addMembers( accept_handles );
-}
-
-bool StreamedMediaChannel::rejectIncomingStream()
-{
- QList<uint> reject_handles;
- reject_handles << d->localHandle();
-
- return removeMembers( reject_handles );
-}
-
-bool StreamedMediaChannel::requestChannel( QList<Tp::MediaStreamType> types )
-{
- Q_ASSERT( d->m_pConnectionInterface );
- Q_ASSERT( d->m_pContact );
- if ( !d->m_pConnectionInterface
- || !d->m_pContact )
- {
- return false;
- }
-
- QDBusPendingReply<QDBusObjectPath> request_channel_reply = d->m_pConnectionInterface->RequestChannel( Tp::Client::ChannelTypeStreamedMediaInterface::staticInterfaceName(),
- Tp::HandleTypeContact,
- d->m_pContact->telepathyHandle(),
- true );
- request_channel_reply.waitForFinished();
-
- if ( !request_channel_reply.isValid() )
- {
- QDBusError error = request_channel_reply.error();
-
- qWarning() << "RequestChannel: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return false;
- }
-
-
- if ( d->m_pStreamedMediaInterface )
- {
- delete d->m_pStreamedMediaInterface;
- d->m_pStreamedMediaInterface = NULL;
- }
-
- QDBusObjectPath channel_path=request_channel_reply.value();
- d->m_pStreamedMediaInterface = new Tp::Client::ChannelTypeStreamedMediaInterface( d->m_pConnectionInterface->service(), channel_path.path(), this );
- connectSignals();
-
- if ( !d->m_pStreamedMediaInterface )
- {
- return false;
- }
-
-
- QList<uint> stream_types;
- foreach( uint type, types )
- {
- stream_types << type;
- }
-
-
- QDBusPendingReply<Tp::MediaStreamInfoList> request_streams_reply = d->m_pStreamedMediaInterface->RequestStreams( d->m_pContact->telepathyHandle(),
- stream_types );
- request_streams_reply.waitForFinished();
-
- if ( !request_streams_reply.isValid() )
- {
- QDBusError error = request_streams_reply.error();
-
- qWarning() << "RequestStreams: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return false;
- }
-
- // Fall through..
- return true;
-}
-
-bool StreamedMediaChannel::requestStreams( TpPrototype::Contact* contact, QList<Tp::MediaStreamType> types )
-{
- Q_ASSERT( d->m_pStreamedMediaInterface );
-
- if ( !d->m_pStreamedMediaInterface )
- {
- return false;
- }
-
- QList<uint> stream_types;
- foreach( uint type, types )
- {
- stream_types << type;
- }
-
-
- QDBusPendingReply<Tp::MediaStreamInfoList> request_streams_reply = d->m_pStreamedMediaInterface->RequestStreams( d->m_pContact->telepathyHandle(),
- stream_types );
- request_streams_reply.waitForFinished();
-
- if ( !request_streams_reply.isValid() )
- {
- QDBusError error = request_streams_reply.error();
-
- qWarning() << "RequestStreams: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return false;
- }
-
- // Fall through..
- return true;
-}
-
-bool StreamedMediaChannel::addContactsToGroup( QList<QPointer<TpPrototype::Contact> > contacts )
-{
- QList<uint> handle_list = d->handleListForContacts( contacts );
-
- return addMembers( handle_list );
-}
-
-bool StreamedMediaChannel::removeContactsFromGroup( QList<QPointer<TpPrototype::Contact> > contacts )
-{
- QList<uint> handle_list = d->handleListForContacts( contacts );
-
- return removeMembers( handle_list );
-}
-
-QList<QPointer<TpPrototype::Contact> > StreamedMediaChannel::localPendingContacts()
-{
- QList<QPointer<TpPrototype::Contact> > local_pending_members;
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Local Pending members : ";
-#endif
- foreach( Tp::LocalPendingInfo local_pending_info, d->m_pGroupInterface->LocalPendingMembers() )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "To be added: " << local_pending_info.toBeAdded;
- qDebug() << "Actor : " << local_pending_info.actor;
- qDebug() << "Reason : " << local_pending_info.reason;
- qDebug() << "Message : " << local_pending_info.message;
-#endif
- local_pending_members.append( d->m_pContact->contactManager()->contactForHandle( local_pending_info.toBeAdded ) );
- }
- return local_pending_members;
-}
-
-QList<QPointer<TpPrototype::Contact> > StreamedMediaChannel::members()
-{
- Tp::UIntList member_handles = d->m_pGroupInterface->Members();
-
- QList<QPointer<TpPrototype::Contact> > member_list;
-
- foreach( uint member_handle, member_handles )
- {
- member_list.append( d->m_pContact->contactManager()->contactForHandle( member_handle ) );
- }
-
- return member_list;
-}
-
-bool StreamedMediaChannel::removeStreams( const QList<uint>& streamIds )
-{
- QDBusPendingReply<> remove_streams_reply = d->m_pStreamedMediaInterface->RemoveStreams( streamIds );
- remove_streams_reply.waitForFinished();
- if ( !remove_streams_reply.isValid() )
- {
- QDBusError error = remove_streams_reply.error();
- qWarning() << "RemoveStreams: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return false;
- }
-
- return true;
-}
-
-Tp::MediaStreamInfoList StreamedMediaChannel::requestStreams( QList<Tp::MediaStreamType> _types )
-{
- Tp::UIntList types;
-
- foreach( uint type, _types )
- {
- types.append( type );
- }
-
- QDBusPendingReply<Tp::MediaStreamInfoList> request_streams_reply = d->m_pStreamedMediaInterface->RequestStreams( d->m_pContact->telepathyHandle(), types);
-
- request_streams_reply.waitForFinished();
- if ( !request_streams_reply.isValid() )
- {
- QDBusError error = request_streams_reply.error();
- qWarning() << "RequestStreams: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return QDBusPendingReply<Tp::MediaStreamInfoList>();
- }
-
- return request_streams_reply.value();
-}
-
-Tp::MediaStreamInfoList StreamedMediaChannel::listStreams()
-{
- if ( !d->m_pStreamedMediaInterface )
- { return Tp::MediaStreamInfoList();}
-
- QDBusPendingReply<Tp::MediaStreamInfoList> reply = d->m_pStreamedMediaInterface->ListStreams();
- reply.waitForFinished();
- if ( !reply.isValid() )
- {
- QDBusError error = reply.error();
- qWarning() << "ListStreams: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return Tp::MediaStreamInfoList();
- }
-
- return reply.value();
-}
-
-
-
-// public Slots
-void StreamedMediaChannel::slotSetOutputVolume( uint streamId, uint volume )
-{
- if ( !d->isStreamEngineAvailable() )
- { return;}
-
- QDBusPendingReply<> reply = d->m_pStreamEngineInterface->SetOutputVolume( QDBusObjectPath( d->m_pStreamedMediaInterface->path() ), streamId, volume );
-
- d->checkDBusCall( reply, "SetOutputVolume" );
-}
-
-void StreamedMediaChannel::slotMuteInput( uint streamId, bool muteState )
-{
- if ( !d->isStreamEngineAvailable() )
- { return;}
-
- QDBusPendingReply<> reply = d->m_pStreamEngineInterface->MuteInput( QDBusObjectPath( d->m_pStreamedMediaInterface->path() ), streamId, muteState );
-
- d->checkDBusCall( reply, "MuteInput" );
-}
-
-void StreamedMediaChannel::slotMuteOutput( uint streamId, bool muteState )
-{
- if ( !d->isStreamEngineAvailable() )
- { return;}
-
- QDBusPendingReply<> reply = d->m_pStreamEngineInterface->MuteOutput( QDBusObjectPath( d->m_pStreamedMediaInterface->path() ), streamId, muteState );
-
- d->checkDBusCall( reply, "MuteOutput" );
-}
-
-void StreamedMediaChannel::slotSetOutputWindow( uint streamId, uint windowId )
-{
- if ( !d->isStreamEngineAvailable() )
- { return;}
-
- QDBusPendingReply<> reply = d->m_pStreamEngineInterface->SetOutputWindow( QDBusObjectPath( d->m_pStreamedMediaInterface->path() ), streamId, windowId );
-
- d->checkDBusCall( reply, "SetOutputWindow" );
-}
-
-void StreamedMediaChannel::slotAddPreviewWindow( uint windowId )
-{
- if ( !d->isStreamEngineAvailable() )
- { return;}
-
- QDBusPendingReply<> reply = d->m_pStreamEngineInterface->AddPreviewWindow( windowId );
-
- d->checkDBusCall( reply, "AddPreviewWindow" );
-}
-
-void StreamedMediaChannel::slotRemovePreviewWindow( uint windowId )
-{
- if ( !d->isStreamEngineAvailable() )
- { return;}
-
- QDBusPendingReply<> reply = d->m_pStreamEngineInterface->RemovePreviewWindow( windowId );
-
- d->checkDBusCall( reply, "RemovePreviewWindow" );
-}
-
-
-void StreamedMediaChannel::slotShutDown()
-{
- if ( !d->isStreamEngineAvailable() )
- { return;}
-
- QDBusPendingReply<> reply = d->m_pStreamEngineInterface->Shutdown();
-
- d->checkDBusCall( reply, "Shutdown" );
-
- // Cleanup locally
- d->cleanup();
-}
-
-// Protected functions
-
-// Called if a new media channel shall be established.
-void StreamedMediaChannel::requestStreamedMediaChannel( uint handle )
-{
- // Ignore this call if the media channel is already available
- if ( d->m_pStreamedMediaInterface )
- {
- delete d->m_pStreamedMediaInterface;
- d->m_pStreamedMediaInterface = NULL;
- }
-
- QDBusPendingReply<QDBusObjectPath> reply0 = d->m_pConnectionInterface->RequestChannel( "org.freedesktop.Telepathy.Channel.Type.StreamedMedia",
- Tp::HandleTypeContact,
- handle,
- true );
- reply0.waitForFinished();
- if (!reply0.isValid())
- {
- QDBusError error = reply0.error();
- qWarning() << "RequestChannel (Type: StreamedMedia): error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
- d->m_isValid = false;
- return;
- }
- QDBusObjectPath channel_path=reply0.value();
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "StreamedMediaChannel new ChannelTypeStreamedMediaInterface(): Path:" << channel_path.path();
-#endif
- d->m_pStreamedMediaInterface = new Tp::Client::ChannelTypeStreamedMediaInterface( d->m_pConnectionInterface->service(), channel_path.path(), this );
- connectSignals();
-}
-
-
-// Called if a new streamed media channel was notified by the connection
-void StreamedMediaChannel::openStreamedMediaChannel( uint handle, uint handleType, const QString& channelPath, const QString& channelType )
-{
- Q_ASSERT( d->m_pConnectionInterface );
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "StreamedMediaChannel::openStreamedMediaChannel(): handle:" << handle
- << "handleType:" << handleType
- << "channel path: " << channelPath
- << "Channel Type:" << channelType;
-#endif
-
- QString channel_service_name = d->m_pConnectionInterface->service();
-
- if ( !d->m_pStreamedMediaInterface )
- {
- delete d->m_pStreamedMediaInterface;
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Create new ChannelTypeStreamedMediaInterface";
-#endif
- d->m_pStreamedMediaInterface = new Tp::Client::ChannelTypeStreamedMediaInterface( channel_service_name, channelPath, this );
- connectSignals();
- }
- if (!d->m_pStreamedMediaInterface->isValid())
- {
- qWarning() << "Failed to connect streamed media interface class to D-Bus object.";
- delete d->m_pStreamedMediaInterface;
- d->m_pStreamedMediaInterface = NULL;
- d->m_isValid = false;
- return;
- }
- else
- {
- // Obtain the group and callstate interfaces.
- QString streamed_media_service_name = d->m_pStreamedMediaInterface->service();
-
- // I don't know why, but I have to reinitialize the group channel every time..
- if ( d->m_pGroupInterface )
- {
- delete d->m_pGroupInterface;
- d->m_pGroupInterface = NULL;
- }
-
- if ( !d->m_pGroupInterface )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Initialize ChannelInterfaceGroupInterface..";
-#endif
- d->m_pGroupInterface = new Tp::Client::ChannelInterfaceGroupInterface( streamed_media_service_name,
- channelPath );
-
- connect( d->m_pGroupInterface, SIGNAL( MembersChanged(const QString& ,
- const Tp::UIntList& ,
- const Tp::UIntList& ,
- const Tp::UIntList& ,
- const Tp::UIntList& ,
- uint ,
- uint )
- ),
- this, SLOT( slotMembersChanged(const QString& ,
- const Tp::UIntList& ,
- const Tp::UIntList& ,
- const Tp::UIntList& ,
- const Tp::UIntList& ,
- uint ,
- uint )
- )
- );
-
-
- }
-
- if ( !d->m_pCallStateInterface )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Initialize ChannelInterfaceCallStateInterface..";
-#endif
- d->m_pCallStateInterface = new Tp::Client::ChannelInterfaceCallStateInterface( streamed_media_service_name,
- channelPath );
- }
-
- if ( !d->m_pMediaSignallingInterface )
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Initialize ChannelInterfaceMediaSignallingInterface..";
-#endif
- d->m_pMediaSignallingInterface = new Tp::Client::ChannelInterfaceMediaSignallingInterface( streamed_media_service_name, channelPath );
- }
-
- if ( !d->m_pStreamEngineInterface )
- {
-
- // FIXME: Think whether we really need this Maemo variant of StreamEngineInterface. The default telepathy version should
- // be enough and avoids platform dependency.
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Initialize StreamEngineInterface..";
-#endif
- d->m_pStreamEngineInterface = new TpPrototype::Client::StreamEngineInterface( "org.freedesktop.Telepathy.StreamEngine",
- "/org/freedesktop/Telepathy/StreamEngine",
- this );
-
- }
-
- if ( !d->m_pStreamEngineHandlerInterface )
- {
- // The following interface is exported by the stream engine as well.
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Initialize ChannelHandlerInterface..";
-#endif
- d->m_pStreamEngineHandlerInterface = new TpPrototype::Client::ChannelHandlerInterface( "org.freedesktop.Telepathy.StreamEngine",
- "/org/freedesktop/Telepathy/StreamEngine",
- this );
- }
-
- Q_ASSERT( d->m_pCallStateInterface->isValid() );
- Q_ASSERT( d->m_pMediaSignallingInterface->isValid() );
-
- // Cleanup if we were unable to establish interfaces..
- if ( d->m_pGroupInterface && !d->m_pGroupInterface->isValid() )
- {
- qWarning() << "Could not establish interface:" << Tp::Client::ChannelInterfaceGroupInterface::staticInterfaceName();
- delete d->m_pGroupInterface;
- d->m_pGroupInterface = NULL;
- }
-
- if ( d->m_pCallStateInterface && !d->m_pCallStateInterface->isValid() )
- {
- qWarning() << "Could not establish interface:" << Tp::Client::ChannelInterfaceCallStateInterface::staticInterfaceName();
- delete d->m_pCallStateInterface;
- d->m_pCallStateInterface = NULL;
- }
-
- if ( d->m_pMediaSignallingInterface && !d->m_pMediaSignallingInterface->isValid() )
- {
- qWarning() << "Could not establish interface:" << Tp::Client::ChannelInterfaceMediaSignallingInterface::staticInterfaceName();
- delete d->m_pMediaSignallingInterface;
- d->m_pMediaSignallingInterface = NULL;
- }
-
- // Now use the streaming engine to handle this media channel
- if ( !d->m_pStreamEngineHandlerInterface || !d->m_pStreamEngineInterface )
- {
- qWarning() << "Could not establish interface:" << TpPrototype::Client::ChannelHandlerInterface::staticInterfaceName();
- qWarning() << "or interface:" << TpPrototype::Client::StreamEngineInterface::staticInterfaceName();
-
- delete d->m_pStreamEngineHandlerInterface;
- d->m_pStreamEngineHandlerInterface = NULL;
-
- delete d->m_pStreamEngineInterface;
- d->m_pStreamEngineInterface = NULL;
-
- // This is fatal, cause we need this interface
- d->m_isValid = false;
- qWarning() << "The interface:" << TpPrototype::Client::StreamEngineInterface::staticInterfaceName() << "is required! We will be unable to handle this call!";
- }
- else
- {
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Now delegate channel to stream-engine by calling HandleChannel()";
-#endif
- QDBusPendingReply<> handle_channel_reply = d->m_pStreamEngineHandlerInterface->HandleChannel( d->m_pConnectionInterface->service(),
- QDBusObjectPath( d->m_pConnectionInterface->path() ),
- channelType,
- QDBusObjectPath( channelPath ),
- handleType,
- handle );
-
- handle_channel_reply.waitForFinished();
-
- if ( !handle_channel_reply.isValid() )
- {
- QDBusError error = handle_channel_reply.error();
-
- qWarning() << "HandleChannel: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- d->m_isValid = false;
- return ;
- }
- }
-
- }
-
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "Telling the world about new channel (signalIncomingChannel())";
-#endif
- emit signalIncomingChannel( d->m_pContact );
-
-}
-
-void StreamedMediaChannel::connectSignals()
-{
- connect( d->m_pStreamedMediaInterface, SIGNAL( StreamAdded(uint , uint , uint ) ),
- this, SLOT( slotStreamAdded(uint , uint , uint ) ) );
- connect( d->m_pStreamedMediaInterface, SIGNAL( StreamDirectionChanged(uint , uint , uint ) ),
- this, SLOT( slotStreamDirectionChanged(uint , uint , uint ) ) );
- connect( d->m_pStreamedMediaInterface, SIGNAL( StreamError(uint , uint , const QString& ) ),
- this, SLOT( slotStreamError(uint , uint , const QString& ) ) );
- connect( d->m_pStreamedMediaInterface, SIGNAL( StreamRemoved(uint) ),
- this, SLOT( slotStreamRemoved(uint) ) );
- connect( d->m_pStreamedMediaInterface, SIGNAL( StreamStateChanged(uint , uint ) ),
- this, SLOT( slotStreamStateChanged(uint , uint ) ) );
-}
-
-bool StreamedMediaChannel::addMembers( QList<uint> handles )
-{
- if ( !d->m_pGroupInterface )
- {
- qWarning() << "StreamedMediaChannel::addMembers: No group channel found. Ignore call ..";
- return false;
- }
-
- QDBusPendingReply<> add_members_reply = d->m_pGroupInterface->AddMembers( handles, "Welcome!" );
- add_members_reply.waitForFinished();
-
- if ( !add_members_reply.isValid() )
- {
- QDBusError error = add_members_reply.error();
-
- qWarning() << "AddMembers: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return false;
- }
- return true;
-}
-
-bool StreamedMediaChannel::removeMembers( QList<uint> handles )
-{
- if ( !d->m_pGroupInterface )
- {
- qWarning() << "StreamedMediaChannel::removeMembers: No group channel found. Ignore call ..";
- return false;
- }
-
- QDBusPendingReply<> remove_members_reply = d->m_pGroupInterface->RemoveMembers( handles, "Bye-bye!!" );
- remove_members_reply.waitForFinished();
-
- if ( !remove_members_reply.isValid() )
- {
- QDBusError error = remove_members_reply.error();
-
- qWarning() << "RemoveMembers: error type:" << error.type()
- << "error name:" << error.name()
- << "error message:" << error.message();
-
- return false;
- }
- return true;
-}
-
-
-void StreamedMediaChannel::slotStreamAdded(uint streamID, uint contactHandle, uint streamType)
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << __PRETTY_FUNCTION__ << "streamID:" << streamID << "contactHandle: " << contactHandle << "streamType:" << streamType;
-#endif
- emit signalStreamAdded( this, streamID, static_cast<Tp::MediaStreamType>(streamType) );
-}
-
-void StreamedMediaChannel::slotStreamDirectionChanged(uint streamID, uint streamDirection, uint pendingFlags)
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << __PRETTY_FUNCTION__ << "streamID:" << streamID << "streamDirection: " << streamDirection << "pendingFlags:" << pendingFlags;
-#endif
- emit signalStreamDirectionChanged( this, streamID, streamDirection, pendingFlags );
-}
-
-void StreamedMediaChannel::slotStreamError(uint streamID, uint errorCode, const QString& message)
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << __PRETTY_FUNCTION__ << "streamID:" << streamID << "errorCode: " << errorCode << "message:" << message;
-#endif
- qWarning() << "Stream error: streamId: " << streamID << "ErrorCode: " << errorCode << "Message:" << message;
- emit signalStreamError( this, streamID, errorCode, message );
-}
-
-void StreamedMediaChannel::slotStreamRemoved(uint streamID)
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << __PRETTY_FUNCTION__ << "streamID:" << streamID;
-#endif
- emit signalStreamRemoved( this, streamID );
-}
-
-void StreamedMediaChannel::slotStreamStateChanged(uint streamID, uint streamState)
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << __PRETTY_FUNCTION__ << "streamID:" << streamID << "streamState: " << streamState;
-#endif
- emit signalStreamStateChanged( this, streamID, static_cast<Tp::MediaStreamState>(streamState) );
-}
-
-void StreamedMediaChannel::slotMembersChanged( const QString& message,
- const Tp::UIntList& added,
- const Tp::UIntList& removed,
- const Tp::UIntList& localPending,
- const Tp::UIntList& remotePending,
- uint actor,
- uint reason )
-{
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << __PRETTY_FUNCTION__
- << "message:" << message
- << "added:" << added
- << "removed:" << removed
- << "localPending:" << localPending
- << "remotePending:" << remotePending
- << "actor:" << actor
- << "reason:" << reason;
-#endif
- uint local_handle = d->localHandle();
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "local handle: " << local_handle;
-#endif
- if ( !added.isEmpty() )
- {
- foreach ( uint handle, added )
- {
- if ( handle == local_handle )
- {
- // I was added to the group. That means that an invitation was accepted.
- emit signalLocalInvitationAccepted( this );
- continue;
- }
- emit signalContactAdded( this, d->m_pContact->contactManager()->contactForHandle( handle ) );
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "signalContactAdded: " << handle;
-#endif
- }
- }
-
- if ( !removed.isEmpty() )
- {
- foreach ( uint handle, removed )
- {
- if ( handle == local_handle )
- { continue; }
- emit signalContactRemoved( this, d->m_pContact->contactManager()->contactForHandle( handle ) );
-#ifdef ENABLE_DEBUG_OUTPUT_
- qDebug() << "signalContactRemoved: " << handle;
-#endif
- }
- }
-}
-
-#include "TelepathyQt4/Prototype/_gen/StreamedMediaChannel.h.moc"
diff --git a/TelepathyQt4/Prototype/StreamedMediaChannel.h b/TelepathyQt4/Prototype/StreamedMediaChannel.h
deleted file mode 100644
index 3b69faa..0000000
--- a/TelepathyQt4/Prototype/StreamedMediaChannel.h
+++ /dev/null
@@ -1,436 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 basysKom GmbH
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef TelepathyQt4_Prototype_StreamedMediaChannel_H_
-#define TelepathyQt4_Prototype_StreamedMediaChannel_H_
-
-#include <TelepathyQt4/Connection>
-#include <TelepathyQt4/Channel>
-
-#include <QObject>
-#include <QVariantMap>
-#include <QPointer>
-
-#ifdef DEPRECATED_ENABLED__
-#define ATTRIBUTE_DEPRECATED __attribute__((deprecated))
-#else
-#define ATTRIBUTE_DEPRECATED
-#endif
-
-
-namespace TpPrototype {
-
-class StreamedMediaChannelPrivate;
-class Contact;
-class Account;
-
-/**
- * @ingroup qt_connection
- * StreamedMedia Channel for VoIP and Video Over IP.
- * The StreamedMedia channel object provides a simple API to manage the signalling of streamed media. The real
- * encoding/decoding of the data is done by the telepathy stream engine. New/incoming channels are handed over to
- * this stream engine internally.<br>
- * The channel contains multiple streams each representing its own media (video, audio, ..) and provides
- * its own group channel which can be used for conferences.<br>
- * <br>
- * <b>Important:</b><br>
- * This implementation currently just supports the telepathy stream engine as backend (see http://telepathy.freedesktop.org/wiki/Streamed_Media).<br>
- * <br>
- * <b>Example opening a VoIP communication to a contact:</b><br>
- * A valid streamed media channel object is provided by the remote contact object:
- * @code
- * TpPrototype::StreamedMediaChannel* media_channel = contact->streamedMediaChannel();
- * if ( !media_channel )
- * { return; }
- * @endcode
- * Request a channel (in this case an audio channel):
- * @code
- * media_channel->requestChannel( QList<Tp::MediaStreamType>() << Tp::MediaStreamTypeAudio );
- * @endcode
- * Whether the call was accepted or rejected is signalled by the following signals:
- * @code
- * connect( media_channel, SIGNAL( signalContactAdded( TpPrototype::Contact* ) ),
- * this, SLOT( slotStreamContactAdded( TpPrototype::Contact* ) ) );
- * connect( media_channel, SIGNAL( signalContactRemoved( TpPrototype::Contact* ) ),
- * this, SLOT( slotStreamContactRemoved( TpPrototype::Contact* ) ) );
- * @endcode
- * <b>Example receiving a VoIP communication from a contact:</b><br>
- * First you have to be informed about incoming calls. The ContactManager provides the signal:
- * @code
- * connect( m_pContactManager, SIGNAL( signalStreamedMediaChannelOpenedForContact( TpPrototype::Contact* ) ),
- * this, SLOT( slotStreamedMediaChannelOpenedForContact( TpPrototype::Contact* ) ) );
- * @endcode
- * Then you have to accept or reject the incoming call:
- * @code
- * TpPrototype::StreamedMediaChannel* streamed_channel = contact->streamedMediaChannel();
- * streamed_channel->acceptIncomingStream();
- * @endcode
- * or
- * @code
- * streamed_channel->rejectIncomingStream();
- * @endcode
- * <b>Hint:</b><br>
- * Before using this class set the capabilities with CapabilitiesManager::setCapabilities() according your requirements!
- * @see CapabiltiesManager
- * @see ChatChannel
- */
-class StreamedMediaChannel : public QObject
-{
- Q_OBJECT
-public:
- /**
- * Validity check.
- * Do not access any functions if this account is invalid.
- */
- bool isValid() const;
-
- /**
- * Destructor.
- * Deleting this object forces to drop all channels.
- */
- ~StreamedMediaChannel();
-
- /**
- * Accept the incoming media stream (call).
- * This function must be called to accept the incoming media stream.
- * @return Returns true if command was successful.
- */
- bool acceptIncomingStream();
-
- /**
- * Reject the incoming media stream (call).
- * This function should be called if an incoming call should be rejected.
- * @return Returns true if command was successful.
- */
- bool rejectIncomingStream();
-
- /**
- * Request outgoing media channel (call).
- * Ask remote contact to start a media channel.
- * @todo Describe what happens after this call ..
- * @param types The stream types that should be opened for this channel
- * @return Returns true if request call was successful.
- */
- bool requestChannel( QList<Tp::MediaStreamType> types );
-
- bool requestStreams( TpPrototype::Contact* contact, QList<Tp::MediaStreamType> types );
-
- /**
- * Add contacts to the group.
- * Multiple contacts may sharing the same stream. Use this function to invite a contact to this group. The contact will
- * be added to the group after he accepted the invitation.
- * @return Returns true if command was successful.
- */
- bool addContactsToGroup( QList<QPointer<TpPrototype::Contact> > contacts );
-
- /**
- * Remove contacts from the group.
- * Multiple contacts may sharing the same stream. Use this function to remove a contact from this group.
- * @return Returns true if command was successful.
- */
- bool removeContactsFromGroup( QList<QPointer<TpPrototype::Contact> > contacts );
-
- /**
- * Returns a list of contacts that are waiting locally for accaptance.
- * A Contact that is local pending has requested membership of the channel, but the local user of the framework must
- * accept their request before they may join.
- * @return Returns the list of contacts that are waiting for acceptance.
- */
- QList<QPointer<TpPrototype::Contact> > localPendingContacts();
-
- /**
- * Returns the list of members in the group.
- * The StreamedMediaChannel contains a group of members that currently part of the group.
- * @return Returns the list of contacts that are currently group members.
- */
- QList<QPointer<TpPrototype::Contact> > members();
-
- /**
- * Remove streams.
- * Use this function if a certain stream in a channel should be removed. This might be necessary if
- * a video stream should be canceled without terminating the audio channel.
- */
- bool removeStreams( const QList<uint>& streamIds );
-
- /**
- * Request streams for the current channel.
- *
- * Request that streams be established to exchange the given types of
- * media with the given member. In general this will try and establish a
- * bidirectional stream, but on some protocols it may not be possible to
- * indicate to the peer that you would like to receive media, so a
- * send-only stream will be created initially. In the cases where the
- * stream requires remote agreement (eg you wish to receive media from
- * them), the StreamDirectionChanged signal will be emitted with the
- * MEDIA_STREAM_PENDING_REMOTE_SEND flag set, and the signal emitted again
- * with the flag cleared when the remote end has replied.
- *
- * @param types An array of stream types (values of MediaStreamType)
- * @return An array of structs (in the same order as the given stream types)
- * containing:
- * <ul>
- * <li>the stream identifier</li>
- * <li>the contact handle who the stream is with (or 0 if the stream
- * represents more than a single member)</li>
- * <li>the type of the stream</li>
- * <li>the current stream state</li>
- * <li>the current direction of the stream</li>
- * <li>the current pending send flags</li>
- * </ul>
- * The returned list is empty if an error occured.
- *
- */
- Tp::MediaStreamInfoList requestStreams( QList<Tp::MediaStreamType> types );
-
- /**
- * Begins a call to the D-Bus method "ListStreams" on the remote object.
- *
- * Returns an array of structs representing the streams currently active
- * within this channel. Each stream is identified by an unsigned integer
- * which is unique for each stream within the channel.
- *
- * @return
- * An array of structs containing:
- * <ul>
- * <li>the stream identifier</li>
- * <li>the contact handle who the stream is with (or 0 if the stream
- * represents more than a single member)</li>
- * <li>the type of the stream</li>
- * <li>the current stream state</li>
- * <li>the current direction of the stream</li>
- * <li>the current pending send flags</li>
- * </ul>
- * The returned list is empty if an error occured.
- */
- Tp::MediaStreamInfoList listStreams();
-
-signals:
- /**
- * Incoming channel detected.
- * This signal is emitted when a valid incoming channel was detected and all needed interfaces were established successfully.
- * Usually it does not make sense to connect to this signal, because this object might be created or removed without any prior notification. Thus,
- * there is no chance to connect before this signal is emitted.<br>
- * Use ContactManager::signalStreamedMediaChannelOpenedForContact() instead to get informed about new channels!
- * @param contact The contact that contains this StreamedMediaChannel object.
- * @see ContactManager
- */
- void signalIncomingChannel( TpPrototype::Contact* contact );
-
- /**
- * A stream was added.
- * If a new stream was added to this media channel.
- * @param channel The channel where the stream was added to.
- * @param streamId The id of the stream.
- * @param streamType The type of the stream.
- */
- void signalStreamAdded( TpPrototype::StreamedMediaChannel* channel, uint streamId, Tp::MediaStreamType streamType );
-
- /**
- * Stream was removed.
- * This signal is emmitted when a media stream was removed. This may happen on network errors, if the remote contact
- * rejected/removed a stream or if the established connection was closed.
- * @param streamId The id of the stream.
- */
- void signalStreamRemoved( TpPrototype::StreamedMediaChannel* channel, uint streamId );
-
- /**
- * A remote contact was added to the group.
- * This signal has different meaning with regard to the context:
- * <ul><li>Outgoing call: The remote contact accapted the call. <i>addedContact</i> contains the remote contact in this case.</li>
- * </ul>
- * @param addedContact The contact that was removed from the group.
- * @todo: Are there any additional situations?
- */
- void signalContactAdded( TpPrototype::StreamedMediaChannel* channel, TpPrototype::Contact* addedContact );
-
- /**
- * A contact was removed from the channel.
- * This signal has different meaning with regard to the context:
- * <ul><li>Ongoing chat: The remote contact disconnected or closed the chat.</li>
- * <li>Initiating chat: The remote contact rejected the incoming call.</li>
- * <li>Group Chat: A contact was removed from the group.</li>
- * </ul>
- * @param removedContact The contact that was removed from the group.
- */
- void signalContactRemoved( TpPrototype::StreamedMediaChannel* channel, TpPrototype::Contact* removedContact );
-
- /**
- * A stream changed its state
- * @param streamId The ID of the stream as returned by listStreams()
- * @param streamState The state as provided by Tp::MediaStreamInfo
- */
- void signalStreamStateChanged( TpPrototype::StreamedMediaChannel* channel, uint streamID, Tp::MediaStreamState streamState );
-
- /**
- * Emitted when the direction or pending flags of a stream are changed.
- * If the MEDIA_STREAM_PENDING_LOCAL_SEND flag is set, the remote user has
- * requested that we begin sending on this stream. RequestStreamDirection
- * should be called to indicate whether or not this change is acceptable.
- *
- * @param streamID The stream identifier (as defined in ListStreams)
- * @param streamDirection The new stream direction (as defined in listStreams)
- * @param pendingFlags The new pending send flags (as defined in listStreams)
- */
- void signalStreamDirectionChanged( TpPrototype::StreamedMediaChannel* channel, uint streamID, uint streamDirection, uint pendingFlags );
-
- /**
- * Stream error.
- * Emitted when a stream encounters an error.
- * @param streamID The stream identifier (as defined in ListStreams)
- * @param errorCode A stream error number, one of the values of MediaStreamError
- * @param message A string describing the error (for debugging purposes only)
- */
- void signalStreamError( TpPrototype::StreamedMediaChannel* channel, uint streamID, uint errorCode, const QString& message );
-
- /**
- * Local invitation accepted.
- * This signal is accepted if the local contact was added into the group channel
- */
- void signalLocalInvitationAccepted( TpPrototype::StreamedMediaChannel* channel );
-
-
-public slots:
- /**
- * Set output volume.
- * @param streamId The id of the stream as emitted by signalStreamAdded()
- * @param volume The volume (range?)
- */
- void slotSetOutputVolume( uint streamId, uint volume );
-
- /**
- * Mute input.
- * @param streamId The id of the stream as emitted by signalStreamAdded()
- * @param muteState Muted on true.
- * @todo Check whether it is muted if muteState == true and correct API doc if needed.
- */
- void slotMuteInput( uint streamId, bool muteState );
-
- /**
- * Mute output.
- * @param streamId The id of the stream as emitted by signalStreamAdded()
- * @param muteState The volume (range?)
- * @todo Check whether it is muted if muteState == true and correct API doc if needed.
- */
- void slotMuteOutput( uint streamId, bool muteState );
-
- /**
- * Set output Window.
- * @param streamId The id of the stream as emitted by signalStreamAdded()
- * @param windowId The window id of the window that should be used to embed the output.
- * @todo Tell how to obtain a windowId
- */
- void slotSetOutputWindow( uint streamId, uint windowId );
-
- /**
- * Add a preview window.
- * @param windowId The window id of the window that should be used to show the preview image.
- * @see slotRemovePreviewWindow()
- * @todo Tell how to obtain a windowId
- */
- void slotAddPreviewWindow( uint windowId );
-
- /**
- * Remove a preview window.
- * @param windowId The window id of the window that was used to show the preview image.
- * @see slotAddPreviewWindow()
- * @todo Tell how to obtain a windowId
- */
- void slotRemovePreviewWindow( uint windowId );
-
- /**
- * Shutdown.
- * Shuts the stream engine down and deletes all internal interfaces.
- * @todo What does this function really does and how to handle this here?
- */
- void slotShutDown();
-
-protected:
- /**
- * Constructor.
- * Use Contact::streamedMediaChannel() to obtain an object of StreamedMediaChannel.
- */
- StreamedMediaChannel( Contact* contact, Tp::Client::ConnectionInterface* connectionInterface , QObject* parent = NULL );
-
- /**
- * Request a new streamed media channel.
- * This functions needs to be called if a new streamed media channel D-BUS object should be established.
- */
- void requestStreamedMediaChannel( uint handle );
-
- /**
- * Called internally to notify that a new media channel object was stablished on D-BUS.
- */
- void openStreamedMediaChannel( uint handle, uint handleType, const QString& channelPath, const QString& channelType );
-
- /** Connect slots to channel signals */
- void connectSignals();
-
- /** Add members to interal group channel */
- bool addMembers( QList<uint> handles );
-
- /** Remove members from interal group channel */
- bool removeMembers( QList<uint> handles );
-
-protected slots:
- /**
- * Represents the signal "slotStreamAdded" on the remote object.
- */
- void slotStreamAdded(uint streamID, uint contactHandle, uint streamType);
-
- /**
- * Represents the signal "StreamDirectionChanged" on the remote object.
- */
- void slotStreamDirectionChanged(uint streamID, uint streamDirection, uint pendingFlags);
-
- /**
- * Represents the signal "StreamError" on the remote object.
- */
- void slotStreamError(uint streamID, uint errorCode, const QString& message);
-
- /**
- * Represents the signal "StreamRemoved" on the remote object.
- */
- void slotStreamRemoved(uint streamID);
-
- /**
- * Represents the signal "StreamStateChanged" on the remote object.
- */
- void slotStreamStateChanged(uint streamID, uint streamState);
-
- /**
- * Represents the signal "MembersChanged" on the remote object.
- */
- void slotMembersChanged(const QString& message,
- const Tp::UIntList& added,
- const Tp::UIntList& removed,
- const Tp::UIntList& localPending,
- const Tp::UIntList& remotePending,
- uint actor,
- uint reason);
-private:
- StreamedMediaChannelPrivate * const d;
- friend class ContactManager;
- friend class Contact;
-};
-
-} // namespace
-
-#endif // Header guard
diff --git a/TelepathyQt4/Prototype/TpQt4Prototype.pc.in b/TelepathyQt4/Prototype/TpQt4Prototype.pc.in
deleted file mode 100644
index e62070d..0000000
--- a/TelepathyQt4/Prototype/TpQt4Prototype.pc.in
+++ /dev/null
@@ -1,11 +0,0 @@
-prefix=@prefix@
-exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-
-Name: TpQt4Prototype
-Description: Transitional Qt4 utility library for the Telepathy framework
-Version: @VERSION@
-Requires.private: QtCore >= 4.5, QtDBus >= 4.5, TelepathyQt4 >= @VERSION@
-Libs: -L${libdir} -ltpqt4-prototype
-Cflags: -I${includedir}/tpqt4-prototype
diff --git a/TelepathyQt4/Prototype/Types b/TelepathyQt4/Prototype/Types
deleted file mode 100644
index 59ee649..0000000
--- a/TelepathyQt4/Prototype/Types
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _TelepathyQt4_Prototype_Types_HEADER_GUARD_
-#define _TelepathyQt4_Prototype_Types_HEADER_GUARD_
-
-#include <TelepathyQt4/Prototype/types.h>
-
-#endif
diff --git a/TelepathyQt4/Prototype/all.xml b/TelepathyQt4/Prototype/all.xml
deleted file mode 100644
index a146300..0000000
--- a/TelepathyQt4/Prototype/all.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<tp:spec
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
- xmlns:xi="http://www.w3.org/2001/XInclude">
-
- <tp:title>Prototype/transitional spec extensions</tp:title>
-
-<xi:include href="channel-handler.xml"/>
-<xi:include href="stream-engine.xml"/>
-
-</tp:spec>
diff --git a/TelepathyQt4/Prototype/channel-handler.xml b/TelepathyQt4/Prototype/channel-handler.xml
deleted file mode 100644
index 71c9c7e..0000000
--- a/TelepathyQt4/Prototype/channel-handler.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<tp:spec
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
- xmlns:xi="http://www.w3.org/2001/XInclude">
-
-<tp:title>Old ChannelHandler interface</tp:title>
-
-<xi:include href="../../spec/Channel_Handler.xml"/>
-
-</tp:spec>
diff --git a/TelepathyQt4/Prototype/cli-channel-handler.cpp b/TelepathyQt4/Prototype/cli-channel-handler.cpp
deleted file mode 100644
index a2d753c..0000000
--- a/TelepathyQt4/Prototype/cli-channel-handler.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <TelepathyQt4/Prototype/_gen/cli-channel-handler-body.hpp>
-#include <TelepathyQt4/Prototype/_gen/cli-channel-handler.moc.hpp>
diff --git a/TelepathyQt4/Prototype/cli-channel-handler.h b/TelepathyQt4/Prototype/cli-channel-handler.h
deleted file mode 100644
index 0f8575a..0000000
--- a/TelepathyQt4/Prototype/cli-channel-handler.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef _TelepathyQt4_Prototype_cli_channel_handler_h_HEADER_GUARD_
-#define _TelepathyQt4_Prototype_cli_channel_handler_h_HEADER_GUARD_
-
-#include <TelepathyQt4/Prototype/_gen/cli-channel-handler.h>
-
-#endif
diff --git a/TelepathyQt4/Prototype/cli-stream-engine.cpp b/TelepathyQt4/Prototype/cli-stream-engine.cpp
deleted file mode 100644
index a027dcc..0000000
--- a/TelepathyQt4/Prototype/cli-stream-engine.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <TelepathyQt4/Prototype/_gen/cli-stream-engine-body.hpp>
-#include <TelepathyQt4/Prototype/_gen/cli-stream-engine.moc.hpp>
diff --git a/TelepathyQt4/Prototype/cli-stream-engine.h b/TelepathyQt4/Prototype/cli-stream-engine.h
deleted file mode 100644
index 3c1db90..0000000
--- a/TelepathyQt4/Prototype/cli-stream-engine.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef _TelepathyQt4_Prototype_cli_stream_engine_h_HEADER_GUARD_
-#define _TelepathyQt4_Prototype_cli_stream_engine_h_HEADER_GUARD_
-
-#include <TelepathyQt4/Prototype/_gen/cli-stream-engine.h>
-
-#endif
diff --git a/TelepathyQt4/Prototype/constants.h b/TelepathyQt4/Prototype/constants.h
deleted file mode 100644
index 79fd647..0000000
--- a/TelepathyQt4/Prototype/constants.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef _TelepathyQt4_Prototype_constants_h_HEADER_GUARD_
-#define _TelepathyQt4_Prototype_constants_h_HEADER_GUARD_
-
-#include <TelepathyQt4/Prototype/_gen/constants.h>
-
-#endif
diff --git a/TelepathyQt4/Prototype/stream-engine.xml b/TelepathyQt4/Prototype/stream-engine.xml
deleted file mode 100644
index ec33bce..0000000
--- a/TelepathyQt4/Prototype/stream-engine.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<tp:spec
- xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0"
- xmlns:xi="http://www.w3.org/2001/XInclude">
-
-<tp:title>Private stream engine interface</tp:title>
-
-<xi:include href="Stream_Engine.xml"/>
-
-</tp:spec>
diff --git a/TelepathyQt4/Prototype/types.cpp b/TelepathyQt4/Prototype/types.cpp
deleted file mode 100644
index 12aeb7c..0000000
--- a/TelepathyQt4/Prototype/types.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include "_gen/types-body.hpp"
diff --git a/TelepathyQt4/Prototype/types.h b/TelepathyQt4/Prototype/types.h
deleted file mode 100644
index d94e621..0000000
--- a/TelepathyQt4/Prototype/types.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2008 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2008 Nokia Corporation
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#ifndef _TelepathyQt4_Prototype_types_h_HEADER_GUARD_
-#define _TelepathyQt4_Prototype_types_h_HEADER_GUARD_
-
-#include <TelepathyQt4/Prototype/_gen/types.h>
-
-#endif
diff --git a/TelepathyQt4/RoomList b/TelepathyQt4/RoomList
deleted file mode 100644
index 1552461..0000000
--- a/TelepathyQt4/RoomList
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _TelepathyQt4_Client_RoomList_HEADER_GUARD_
-#define _TelepathyQt4_Client_RoomList_HEADER_GUARD_
-
-#ifndef IN_TELEPATHY_QT4_HEADER
-#define IN_TELEPATHY_QT4_HEADER
-#endif
-
-#include <TelepathyQt4/room-list.h>
-
-#undef IN_TELEPATHY_QT4_HEADER
-
-#endif
-// vim:set ft=cpp:
diff --git a/TelepathyQt4/RoomListChannel b/TelepathyQt4/RoomListChannel
new file mode 100644
index 0000000..cfaf82e
--- /dev/null
+++ b/TelepathyQt4/RoomListChannel
@@ -0,0 +1,13 @@
+#ifndef _TelepathyQt4_Client_RoomListChannel_HEADER_GUARD_
+#define _TelepathyQt4_Client_RoomListChannel_HEADER_GUARD_
+
+#ifndef IN_TELEPATHY_QT4_HEADER
+#define IN_TELEPATHY_QT4_HEADER
+#endif
+
+#include <TelepathyQt4/room-list-channel.h>
+
+#undef IN_TELEPATHY_QT4_HEADER
+
+#endif
+// vim:set ft=cpp:
diff --git a/TelepathyQt4/abstract-interface.h b/TelepathyQt4/abstract-interface.h
index 1e34be8..5652fee 100644
--- a/TelepathyQt4/abstract-interface.h
+++ b/TelepathyQt4/abstract-interface.h
@@ -56,6 +56,7 @@ protected:
private:
struct Private;
+ friend struct Private;
Private *mPriv;
};
diff --git a/TelepathyQt4/account-manager.cpp b/TelepathyQt4/account-manager.cpp
index d6d13ac..1fe927f 100644
--- a/TelepathyQt4/account-manager.cpp
+++ b/TelepathyQt4/account-manager.cpp
@@ -78,7 +78,6 @@ struct AccountManager::Private
ReadinessHelper *readinessHelper;
// Introspection
- QStringList interfaces;
QSet<QString> validAccountPaths;
QSet<QString> invalidAccountPaths;
QMap<QString, AccountPtr> accounts;
@@ -226,7 +225,7 @@ void AccountManager::Private::setAccountPaths(QSet<QString> &set,
* {
* if (op->isError()) {
* qWarning() << "Account manager cannot become ready:" <<
- * error->errorName() << "-" << error->errorMessage();
+ * op->errorName() << "-" << op->errorMessage();
* return;
* }
*
@@ -312,16 +311,6 @@ AccountManager::~AccountManager()
}
/**
- * Return a list of interfaces supported by this account manager.
- *
- * \return List of supported interfaces.
- */
-QStringList AccountManager::interfaces() const
-{
- return mPriv->interfaces;
-}
-
-/**
* \fn DBus::PropertiesInterface *AccountManager::propertiesInterface() const
*
* Return the properties interface proxy object for this account manager. The
@@ -577,7 +566,7 @@ void AccountManager::gotMainProperties(QDBusPendingCallWatcher *watcher)
props = reply.value();
if (props.contains("Interfaces")) {
- mPriv->interfaces = qdbus_cast<QStringList>(props["Interfaces"]);
+ setInterfaces(qdbus_cast<QStringList>(props["Interfaces"]));
}
if (props.contains("ValidAccounts")) {
mPriv->setAccountPaths(mPriv->validAccountPaths,
diff --git a/TelepathyQt4/account-manager.h b/TelepathyQt4/account-manager.h
index cf9c72a..1751ffa 100644
--- a/TelepathyQt4/account-manager.h
+++ b/TelepathyQt4/account-manager.h
@@ -50,7 +50,7 @@ class PendingAccount;
class PendingReady;
class AccountManager : public StatelessDBusProxy,
- private OptionalInterfaceFactory<AccountManager>,
+ public OptionalInterfaceFactory<AccountManager>,
public ReadyObject,
public RefCounted
{
@@ -65,13 +65,6 @@ public:
virtual ~AccountManager();
- QStringList interfaces() const;
-
- inline Client::DBus::PropertiesInterface *propertiesInterface() const
- {
- return OptionalInterfaceFactory<AccountManager>::interface<Client::DBus::PropertiesInterface>();
- }
-
QStringList validAccountPaths() const;
QStringList invalidAccountPaths() const;
QStringList allAccountPaths() const;
@@ -91,6 +84,11 @@ public:
// TODO: enabledAccounts(), accountsByProtocol(), ... ?
+ inline Client::DBus::PropertiesInterface *propertiesInterface() const
+ {
+ return OptionalInterfaceFactory<AccountManager>::interface<Client::DBus::PropertiesInterface>();
+ }
+
Q_SIGNALS:
void accountCreated(const QString &path);
void accountRemoved(const QString &path);
@@ -108,9 +106,10 @@ private Q_SLOTS:
void onAccountRemoved(const QDBusObjectPath &);
private:
+ friend class PendingAccount;
+
struct Private;
friend struct Private;
- friend class PendingAccount;
Private *mPriv;
};
diff --git a/TelepathyQt4/account.cpp b/TelepathyQt4/account.cpp
index 46c0099..9f1fa2f 100644
--- a/TelepathyQt4/account.cpp
+++ b/TelepathyQt4/account.cpp
@@ -79,7 +79,6 @@ struct Account::Private
ReadinessHelper *readinessHelper;
// Introspection
- QStringList interfaces;
QVariantMap parameters;
bool valid;
bool enabled;
@@ -430,7 +429,7 @@ const Avatar &Account::avatar() const
*/
PendingOperation *Account::setAvatar(const Avatar &avatar)
{
- if (!mPriv->interfaces.contains(TELEPATHY_INTERFACE_ACCOUNT_INTERFACE_AVATAR)) {
+ if (!interfaces().contains(TELEPATHY_INTERFACE_ACCOUNT_INTERFACE_AVATAR)) {
return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
"Account does not support Avatar");
}
@@ -538,7 +537,7 @@ ConnectionStatusReason Account::connectionStatusReason() const
}
/**
- * Return whether this account have a connection object that can be retrieved
+ * Return whether this account has a connection object that can be retrieved
* using connection().
*
* \return \c true if a connection object can be retrieved, \c false otherwise
@@ -551,13 +550,14 @@ bool Account::haveConnection() const
/**
* Get the