summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2009-03-06 12:24:53 (GMT)
committerSimon McVittie <smcv@debian.org>2009-03-06 12:24:53 (GMT)
commit06bafc6f920401252f9b780b0018ac84197fa7ba (patch)
tree8b8125f2fd912e7fb40bc62b19bf5c44005f65e2
parente05030fbc04aac19ba6cf541f5acabb46f84701d (diff)
downloadpackage-telepathy-qt4-06bafc6f920401252f9b780b0018ac84197fa7ba.tar.gz
package-telepathy-qt4-06bafc6f920401252f9b780b0018ac84197fa7ba.tar.xz
Imported Upstream version 0.1.1
-rw-r--r--ChangeLog801
-rw-r--r--Makefile.am3
-rw-r--r--Makefile.in3
-rw-r--r--NEWS42
-rw-r--r--TelepathyQt4/Client/PendingReadyAccount13
-rw-r--r--TelepathyQt4/Client/PendingReadyAccountManager13
-rw-r--r--TelepathyQt4/Client/PendingReadyConnection13
-rw-r--r--TelepathyQt4/Client/PendingReadyConnectionManager13
-rw-r--r--TelepathyQt4/Client/account-manager.cpp165
-rw-r--r--TelepathyQt4/Client/account-manager.h18
-rw-r--r--TelepathyQt4/Client/account.cpp464
-rw-r--r--TelepathyQt4/Client/account.h28
-rw-r--r--TelepathyQt4/Client/channel.cpp68
-rw-r--r--TelepathyQt4/Client/channel.h18
-rw-r--r--TelepathyQt4/Client/connection-manager-internal.h28
-rw-r--r--TelepathyQt4/Client/connection-manager.cpp267
-rw-r--r--TelepathyQt4/Client/connection-manager.h26
-rw-r--r--TelepathyQt4/Client/connection.cpp116
-rw-r--r--TelepathyQt4/Client/connection.h4
-rw-r--r--TelepathyQt4/Client/contact-manager.cpp649
-rw-r--r--TelepathyQt4/Client/contact-manager.h87
-rw-r--r--TelepathyQt4/Client/contact.cpp96
-rw-r--r--TelepathyQt4/Client/contact.h37
-rw-r--r--TelepathyQt4/Client/pending-ready-account-manager.cpp111
-rw-r--r--TelepathyQt4/Client/pending-ready-account-manager.h62
-rw-r--r--TelepathyQt4/Client/pending-ready-account.cpp110
-rw-r--r--TelepathyQt4/Client/pending-ready-connection-manager.cpp110
-rw-r--r--TelepathyQt4/Client/pending-ready-connection-manager.h62
-rw-r--r--TelepathyQt4/Client/pending-ready-connection.cpp110
-rw-r--r--TelepathyQt4/Client/pending-ready-connection.h62
-rw-r--r--TelepathyQt4/Client/readiness-helper.cpp6
-rw-r--r--TelepathyQt4/Makefile.am16
-rw-r--r--TelepathyQt4/Makefile.in59
-rwxr-xr-xconfigure5841
-rw-r--r--configure.ac4
-rw-r--r--doc/html/__gen_2cli-channel-handler_8h-source.html15
-rw-r--r--doc/html/__gen_2cli-stream-engine_8h-source.html15
-rw-r--r--doc/html/__gen_2constants_8h-source.html15
-rw-r--r--doc/html/__gen_2types_8h-source.html57
-rw-r--r--doc/html/_account_8h-source.html (renamed from doc/html/_prototype_2account_8h-source.html)15
-rw-r--r--doc/html/_account_manager_8h-source.html15
-rw-r--r--doc/html/_avatar_manager_8h-source.html35
-rw-r--r--doc/html/_capabilities_manager_8h-source.html15
-rw-r--r--doc/html/_chat_channel_8h-source.html15
-rw-r--r--doc/html/_client_2contact_8h-source.html129
-rw-r--r--doc/html/_connection_8h-source.html (renamed from doc/html/_prototype_2connection_8h-source.html)15
-rw-r--r--doc/html/_connection_facade_8h-source.html15
-rw-r--r--doc/html/_contact_8h-source.html (renamed from doc/html/_prototype_2contact_8h-source.html)15
-rw-r--r--doc/html/_contact_manager_8h-source.html39
-rw-r--r--doc/html/_d_bus_interface_8h-source.html15
-rw-r--r--doc/html/_presence_manager_8h-source.html15
-rw-r--r--doc/html/_prototype_2__gen_2constants_8h-source.html15
-rw-r--r--doc/html/_prototype_2__gen_2types_8h-source.html15
-rw-r--r--doc/html/_prototype_2constants_8h-source.html15
-rw-r--r--doc/html/_prototype_2types_8h-source.html15
-rw-r--r--doc/html/_streamed_media_channel_8h-source.html15
-rw-r--r--doc/html/abstract-interface_8h-source.html15
-rw-r--r--doc/html/account-manager_8h-source.html181
-rw-r--r--doc/html/account_8h-source.html (renamed from doc/html/_client_2account_8h-source.html)332
-rw-r--r--doc/html/annotated.html30
-rw-r--r--doc/html/channel_8h-source.html61
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_abstract_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_abstract_interface.html80
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_abstract_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_abstract_interface__coll__graph.pngbin1959 -> 2153 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_abstract_interface__inherit__graph.map72
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_abstract_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_abstract_interface__inherit__graph.pngbin50931 -> 51869 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account-members.html24
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account.html859
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account__coll__graph.map36
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account__coll__graph.pngbin34556 -> 34158 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account__inherit__graph.map8
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account__inherit__graph.pngbin3622 -> 3490 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface.html600
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface__coll__graph.pngbin2222 -> 3115 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface__inherit__graph.pngbin1604 -> 1612 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface_avatar_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface_avatar_interface.html116
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface_avatar_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface_avatar_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface_avatar_interface__coll__graph.pngbin2438 -> 3286 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface_avatar_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface_avatar_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_interface_avatar_interface__inherit__graph.pngbin1912 -> 1927 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager-members.html24
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager.html381
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager__coll__graph.map15
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager__coll__graph.pngbin13178 -> 13801 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager__inherit__graph.map8
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager__inherit__graph.pngbin4035 -> 3852 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager_interface.html216
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager_interface__coll__graph.pngbin2380 -> 3278 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_account_manager_interface__inherit__graph.pngbin1871 -> 1884 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel-members.html26
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel.html1109
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_1_1_group_member_change_details-members.html40
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_1_1_group_member_change_details.html114
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel__coll__graph.map40
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel__coll__graph.pngbin54186 -> 58743 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel__inherit__graph.map16
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel__inherit__graph.pngbin6549 -> 6452 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface.html380
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface__coll__graph.pngbin2180 -> 3075 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface__inherit__graph.pngbin1567 -> 1575 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_call_state_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_call_state_interface.html114
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_call_state_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_call_state_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_call_state_interface__coll__graph.pngbin2473 -> 3300 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_call_state_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_call_state_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_call_state_interface__inherit__graph.pngbin1940 -> 1955 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_chat_state_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_chat_state_interface.html120
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_chat_state_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_chat_state_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_chat_state_interface__coll__graph.pngbin2496 -> 3324 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_chat_state_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_chat_state_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_chat_state_interface__inherit__graph.pngbin1970 -> 1985 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_d_t_m_f_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_d_t_m_f_interface.html106
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_d_t_m_f_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_d_t_m_f_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_d_t_m_f_interface__coll__graph.pngbin2438 -> 3305 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_d_t_m_f_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_d_t_m_f_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_d_t_m_f_interface__inherit__graph.pngbin1916 -> 1930 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_group_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_group_interface.html516
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_group_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_group_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_group_interface__coll__graph.pngbin2418 -> 3278 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_group_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_group_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_group_interface__inherit__graph.pngbin1899 -> 1913 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_hold_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_hold_interface.html152
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_hold_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_hold_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_hold_interface__coll__graph.pngbin2377 -> 3244 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_hold_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_hold_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_hold_interface__inherit__graph.pngbin1861 -> 1875 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_media_signalling_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_media_signalling_interface.html96
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_media_signalling_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_media_signalling_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_media_signalling_interface__coll__graph.pngbin3337 -> 3496 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_media_signalling_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_media_signalling_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_media_signalling_interface__inherit__graph.pngbin2192 -> 2218 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_messages_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_messages_interface.html358
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_messages_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_messages_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_messages_interface__coll__graph.pngbin2507 -> 3331 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_messages_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_messages_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_messages_interface__inherit__graph.pngbin1975 -> 1990 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_password_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_password_interface.html128
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_password_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_password_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_password_interface__coll__graph.pngbin2547 -> 3372 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_password_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_password_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_interface_password_interface__inherit__graph.pngbin2012 -> 2027 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_contact_list_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_contact_list_interface.html62
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_contact_list_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_contact_list_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_contact_list_interface__coll__graph.pngbin2470 -> 3315 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_contact_list_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_contact_list_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_contact_list_interface__inherit__graph.pngbin1944 -> 1959 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_file_transfer_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_file_transfer_interface.html464
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_file_transfer_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_file_transfer_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_file_transfer_interface__coll__graph.pngbin2489 -> 3337 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_file_transfer_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_file_transfer_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_file_transfer_interface__inherit__graph.pngbin1959 -> 1978 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_room_list_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_room_list_interface.html228
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_room_list_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_room_list_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_room_list_interface__coll__graph.pngbin2465 -> 3332 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_room_list_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_room_list_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_room_list_interface__inherit__graph.pngbin1946 -> 1960 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_streamed_media_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_streamed_media_interface.html114
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_streamed_media_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_streamed_media_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_streamed_media_interface__coll__graph.pngbin2655 -> 3424 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_streamed_media_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_streamed_media_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_streamed_media_interface__inherit__graph.pngbin2113 -> 2138 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_text_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_text_interface.html196
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_text_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_text_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_text_interface__coll__graph.pngbin2331 -> 3220 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_text_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_text_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_text_interface__inherit__graph.pngbin1823 -> 1838 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_tubes_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_tubes_interface.html558
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_tubes_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_tubes_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_tubes_interface__coll__graph.pngbin2382 -> 3254 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_tubes_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_tubes_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_channel_type_tubes_interface__inherit__graph.pngbin1862 -> 1876 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection-members.html19
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection.html748
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_1_1_pending_connect-members.html14
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_1_1_pending_connect.html36
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_1_1_pending_connect__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_1_1_pending_connect__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_1_1_pending_connect__coll__graph.pngbin2389 -> 3260 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_1_1_pending_connect__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_1_1_pending_connect__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_1_1_pending_connect__inherit__graph.pngbin1871 -> 2009 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection__coll__graph.map22
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection__coll__graph.pngbin21786 -> 23763 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection__inherit__graph.map8
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection__inherit__graph.pngbin3752 -> 3597 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface.html354
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface__coll__graph.pngbin2232 -> 3122 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface__inherit__graph.pngbin1640 -> 1655 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_aliasing_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_aliasing_interface.html186
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_aliasing_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_aliasing_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_aliasing_interface__coll__graph.pngbin2556 -> 3380 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_aliasing_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_aliasing_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_aliasing_interface__inherit__graph.pngbin2024 -> 2039 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_avatars_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_avatars_interface.html300
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_avatars_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_avatars_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_avatars_interface__coll__graph.pngbin2525 -> 3349 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_avatars_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_avatars_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_avatars_interface__inherit__graph.pngbin1993 -> 2008 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_capabilities_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_capabilities_interface.html138
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_capabilities_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_capabilities_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_capabilities_interface__coll__graph.pngbin3229 -> 3381 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_capabilities_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_capabilities_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_capabilities_interface__inherit__graph.pngbin2081 -> 2110 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_contacts_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_contacts_interface.html66
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_contacts_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_contacts_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_contacts_interface__coll__graph.pngbin2490 -> 3261 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_contacts_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_contacts_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_contacts_interface__inherit__graph.pngbin1956 -> 1981 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_presence_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_presence_interface.html164
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_presence_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_presence_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_presence_interface__coll__graph.pngbin2576 -> 3341 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_presence_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_presence_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_presence_interface__inherit__graph.pngbin2040 -> 2066 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_requests_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_requests_interface.html150
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_requests_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_requests_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_requests_interface__coll__graph.pngbin2629 -> 3396 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_requests_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_requests_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_requests_interface__inherit__graph.pngbin2093 -> 2119 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_simple_presence_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_simple_presence_interface.html180
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_simple_presence_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_simple_presence_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_simple_presence_interface__coll__graph.pngbin3324 -> 3446 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_simple_presence_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_simple_presence_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_interface_simple_presence_interface__inherit__graph.pngbin2168 -> 2194 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager-members.html24
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager.html281
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_1_1_private_1_1_pending_names-members.html16
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_1_1_private_1_1_pending_names.html40
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_1_1_private_1_1_pending_names__coll__graph.map4
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_1_1_private_1_1_pending_names__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_1_1_private_1_1_pending_names__coll__graph.pngbin5288 -> 5453 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_1_1_private_1_1_pending_names__inherit__graph.map4
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_1_1_private_1_1_pending_names__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_1_1_private_1_1_pending_names__inherit__graph.pngbin2758 -> 3748 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager__coll__graph.map17
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager__coll__graph.pngbin13106 -> 13295 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager__inherit__graph.map8
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager__inherit__graph.pngbin4032 -> 3882 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_interface.html204
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_interface__coll__graph.pngbin2410 -> 3285 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_connection_manager_interface__inherit__graph.pngbin1894 -> 1908 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_contact-members.html25
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_contact.html353
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_contact__coll__graph.map28
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_contact__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_contact__coll__graph.pngbin27791 -> 30168 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_contact_manager-members.html30
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_contact_manager.html635
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_contact_manager__coll__graph.map22
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_contact_manager__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_contact_manager__coll__graph.pngbin23889 -> 25895 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_d_bus_daemon_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_d_bus_daemon_interface.html326
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_d_bus_daemon_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_d_bus_daemon_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_d_bus_daemon_interface__coll__graph.pngbin2418 -> 3294 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_d_bus_daemon_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_d_bus_daemon_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_d_bus_daemon_interface__inherit__graph.pngbin1903 -> 1917 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_introspectable_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_introspectable_interface.html62
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_introspectable_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_introspectable_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_introspectable_interface__coll__graph.pngbin2462 -> 3335 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_introspectable_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_introspectable_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_introspectable_interface__inherit__graph.pngbin1946 -> 1961 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_peer_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_peer_interface.html96
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_peer_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_peer_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_peer_interface__coll__graph.pngbin2301 -> 3196 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_peer_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_peer_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_peer_interface__inherit__graph.pngbin1698 -> 1709 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_properties_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_properties_interface.html136
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_properties_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_properties_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_properties_interface__coll__graph.pngbin2382 -> 3280 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_properties_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_properties_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_1_1_properties_interface__inherit__graph.pngbin1874 -> 1888 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_proxy-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_proxy.html226
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_proxy__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_proxy__coll__graph.pngbin1749 -> 1978 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_proxy__inherit__graph.map22
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_proxy__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_d_bus_proxy__inherit__graph.pngbin8108 -> 8311 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_file_transfer-members.html20
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_file_transfer.html22
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_file_transfer__coll__graph.map42
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_file_transfer__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_file_transfer__coll__graph.pngbin57225 -> 59640 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_file_transfer__inherit__graph.map10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_file_transfer__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_file_transfer__inherit__graph.pngbin3790 -> 3675 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_session_handler_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_session_handler_interface.html120
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_session_handler_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_session_handler_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_session_handler_interface__coll__graph.pngbin2501 -> 3366 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_session_handler_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_session_handler_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_session_handler_interface__inherit__graph.pngbin1980 -> 1994 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_stream_handler_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_stream_handler_interface.html528
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_stream_handler_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_stream_handler_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_stream_handler_interface__coll__graph.pngbin2459 -> 3328 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_stream_handler_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_stream_handler_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_media_stream_handler_interface__inherit__graph.pngbin1939 -> 1953 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_message-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_message.html216
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_message__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_message__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_message__inherit__graph.pngbin1594 -> 1603 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_cache-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_cache.html34
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_cache__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_cache__coll__graph.pngbin2095 -> 2202 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_cache__inherit__graph.map30
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_cache__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_cache__inherit__graph.pngbin18743 -> 14915 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_factory-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_factory.html42
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_factory__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_factory__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_factory__coll__graph.pngbin3656 -> 3715 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_factory__inherit__graph.map11
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_factory__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_optional_interface_factory__inherit__graph.pngbin11624 -> 2448 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_account-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_account.html48
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_account__coll__graph.map18
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_account__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_account__coll__graph.pngbin14954 -> 18236 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_account__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_account__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_account__inherit__graph.pngbin1668 -> 1669 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_channel-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_channel.html80
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_channel__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_channel__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_channel__coll__graph.pngbin3721 -> 3778 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_channel__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_channel__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_channel__inherit__graph.pngbin1620 -> 1621 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_connection-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_connection.html48
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_connection__coll__graph.map20
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_connection__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_connection__coll__graph.pngbin15122 -> 18401 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_connection__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_connection__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_connection__inherit__graph.pngbin1690 -> 1694 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contact_attributes-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contact_attributes.html88
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contact_attributes__coll__graph.map32
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contact_attributes__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contact_attributes__coll__graph.pngbin30385 -> 33537 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contact_attributes__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contact_attributes__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contact_attributes__inherit__graph.pngbin1930 -> 1940 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contacts-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contacts.html76
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contacts__coll__graph.map28
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contacts__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contacts__coll__graph.pngbin29262 -> 31535 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contacts__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contacts__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_contacts__inherit__graph.pngbin1684 -> 1670 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_failure-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_failure.html20
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_failure__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_failure__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_failure__coll__graph.pngbin2254 -> 3110 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_failure__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_failure__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_failure__inherit__graph.pngbin1634 -> 1635 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_handles-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_handles.html82
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_handles__coll__graph.map30
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_handles__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_handles__coll__graph.pngbin28706 -> 31382 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_handles__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_handles__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_handles__inherit__graph.pngbin1641 -> 1644 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_operation-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_operation.html168
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_operation__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_operation__coll__graph.pngbin1986 -> 2150 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_operation__inherit__graph.map34
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_operation__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_operation__inherit__graph.pngbin25415 -> 20666 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready.html20
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready__coll__graph.pngbin3800 -> 3781 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready__inherit__graph.pngbin1642 -> 1644 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account-members.html50
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account.html168
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account__coll__graph.map20
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account__coll__graph.md51
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account__coll__graph.pngbin40180 -> 0 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account__inherit__graph.map1
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account__inherit__graph.md51
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account__inherit__graph.pngbin1845 -> 0 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account_manager-members.html50
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account_manager.html166
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account_manager__coll__graph.map8
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account_manager__coll__graph.md51
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account_manager__coll__graph.pngbin13150 -> 0 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account_manager__inherit__graph.map1
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account_manager__inherit__graph.md51
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_account_manager__inherit__graph.pngbin2013 -> 0 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_channel-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_channel.html28
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_channel__coll__graph.map40
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_channel__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_channel__coll__graph.pngbin52773 -> 56996 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_channel__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_channel__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_channel__inherit__graph.pngbin1807 -> 1817 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection-members.html50
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection.html163
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection__coll__graph.map13
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection__coll__graph.md51
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection__coll__graph.pngbin25341 -> 0 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection__inherit__graph.map1
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection__inherit__graph.md51
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection__inherit__graph.pngbin1879 -> 0 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection_manager-members.html50
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection_manager.html166
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection_manager__coll__graph.map9
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection_manager__coll__graph.md51
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection_manager__coll__graph.pngbin13176 -> 0 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection_manager__inherit__graph.map1
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection_manager__inherit__graph.md51
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_ready_connection_manager__inherit__graph.pngbin2061 -> 0 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_send_message-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_send_message.html30
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_send_message__coll__graph.map4
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_send_message__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_send_message__coll__graph.pngbin4184 -> 4581 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_send_message__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_send_message__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_send_message__inherit__graph.pngbin1833 -> 1845 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_string_list-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_string_list.html14
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_string_list__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_string_list__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_string_list__coll__graph.pngbin3905 -> 3798 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_string_list__inherit__graph.map4
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_string_list__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_string_list__inherit__graph.pngbin3148 -> 2864 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_success-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_success.html20
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_success__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_success__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_success__coll__graph.pngbin2310 -> 3163 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_success__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_success__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_success__inherit__graph.pngbin1684 -> 1683 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_void_method_call-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_void_method_call.html22
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_void_method_call__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_void_method_call__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_void_method_call__coll__graph.pngbin2415 -> 3264 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_void_method_call__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_void_method_call__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_pending_void_method_call__inherit__graph.pngbin1874 -> 1890 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_properties_interface_interface-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_properties_interface_interface.html154
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_properties_interface_interface__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_properties_interface_interface__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_properties_interface_interface__coll__graph.pngbin2334 -> 3212 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_properties_interface_interface__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_properties_interface_interface__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_properties_interface_interface__inherit__graph.pngbin1816 -> 1830 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_protocol_info-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_protocol_info.html102
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_protocol_info__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_protocol_info__coll__graph.pngbin1710 -> 1804 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_protocol_parameter-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_protocol_parameter.html86
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_readiness_helper-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_readiness_helper.html90
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_readiness_helper__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_readiness_helper__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_readiness_helper__coll__graph.pngbin4202 -> 4750 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_received_message-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_received_message.html86
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_received_message__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_received_message__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_received_message__coll__graph.pngbin1606 -> 1619 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_received_message__inherit__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_received_message__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_received_message__inherit__graph.pngbin1606 -> 1619 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_referenced_handles-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_referenced_handles.html570
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_room_list-members.html20
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_room_list.html22
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_room_list__coll__graph.map42
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_room_list__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_room_list__coll__graph.pngbin57198 -> 59613 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_room_list__inherit__graph.map10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_room_list__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_room_list__inherit__graph.pngbin3780 -> 3665 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateful_d_bus_proxy-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateful_d_bus_proxy.html24
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateful_d_bus_proxy__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateful_d_bus_proxy__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateful_d_bus_proxy__coll__graph.pngbin2135 -> 2506 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateful_d_bus_proxy__inherit__graph.map14
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateful_d_bus_proxy__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateful_d_bus_proxy__inherit__graph.pngbin5193 -> 5331 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateless_d_bus_proxy-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateless_d_bus_proxy.html24
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateless_d_bus_proxy__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateless_d_bus_proxy__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateless_d_bus_proxy__coll__graph.pngbin2173 -> 2519 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateless_d_bus_proxy__inherit__graph.map8
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateless_d_bus_proxy__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_stateless_d_bus_proxy__inherit__graph.pngbin4041 -> 4091 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_streamed_media_channel-members.html20
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_streamed_media_channel.html22
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_streamed_media_channel__coll__graph.map42
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_streamed_media_channel__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_streamed_media_channel__coll__graph.pngbin57675 -> 60219 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_streamed_media_channel__inherit__graph.map10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_streamed_media_channel__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_streamed_media_channel__inherit__graph.pngbin4343 -> 3935 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_text_channel-members.html20
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_text_channel.html378
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_text_channel__coll__graph.map42
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_text_channel__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_text_channel__coll__graph.pngbin57125 -> 59571 bytes
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_text_channel__inherit__graph.map10
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_text_channel__inherit__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_client_1_1_text_channel__inherit__graph.pngbin3759 -> 3644 bytes
-rw-r--r--doc/html/class_telepathy_1_1_key_file-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_key_file.html154
-rw-r--r--doc/html/class_telepathy_1_1_key_file__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_key_file__coll__graph.pngbin1318 -> 1396 bytes
-rw-r--r--doc/html/class_telepathy_1_1_manager_file-members.html10
-rw-r--r--doc/html/class_telepathy_1_1_manager_file.html52
-rw-r--r--doc/html/class_telepathy_1_1_manager_file__coll__graph.map2
-rw-r--r--doc/html/class_telepathy_1_1_manager_file__coll__graph.md52
-rw-r--r--doc/html/class_telepathy_1_1_manager_file__coll__graph.pngbin2492 -> 2944 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_account-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_account.html210
-rw-r--r--doc/html/class_tp_prototype_1_1_account__coll__graph.map4
-rw-r--r--doc/html/class_tp_prototype_1_1_account__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_account__coll__graph.pngbin3281 -> 4519 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_account_manager-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_account_manager.html206
-rw-r--r--doc/html/class_tp_prototype_1_1_account_manager__coll__graph.map6
-rw-r--r--doc/html/class_tp_prototype_1_1_account_manager__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_account_manager__coll__graph.pngbin5650 -> 6301 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_avatar_manager-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_avatar_manager.html148
-rw-r--r--doc/html/class_tp_prototype_1_1_avatar_manager__coll__graph.map6
-rw-r--r--doc/html/class_tp_prototype_1_1_avatar_manager__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_avatar_manager__coll__graph.pngbin5298 -> 5785 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_capabilities_manager-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_capabilities_manager.html108
-rw-r--r--doc/html/class_tp_prototype_1_1_capabilities_manager__coll__graph.map6
-rw-r--r--doc/html/class_tp_prototype_1_1_capabilities_manager__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_capabilities_manager__coll__graph.pngbin5704 -> 6188 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_chat_channel-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_chat_channel.html216
-rw-r--r--doc/html/class_tp_prototype_1_1_chat_channel__coll__graph.map6
-rw-r--r--doc/html/class_tp_prototype_1_1_chat_channel__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_chat_channel__coll__graph.pngbin5685 -> 5890 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_channel_handler_interface-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_channel_handler_interface.html66
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_channel_handler_interface__coll__graph.map2
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_channel_handler_interface__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_channel_handler_interface__coll__graph.pngbin2351 -> 3234 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_channel_handler_interface__inherit__graph.map2
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_channel_handler_interface__inherit__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_channel_handler_interface__inherit__graph.pngbin1845 -> 1859 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_stream_engine_interface-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_stream_engine_interface.html210
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_stream_engine_interface__coll__graph.map2
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_stream_engine_interface__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_stream_engine_interface__coll__graph.pngbin2373 -> 3271 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_stream_engine_interface__inherit__graph.map2
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_stream_engine_interface__inherit__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_client_1_1_stream_engine_interface__inherit__graph.pngbin1868 -> 1877 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_connection-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_connection.html390
-rw-r--r--doc/html/class_tp_prototype_1_1_connection__coll__graph.map4
-rw-r--r--doc/html/class_tp_prototype_1_1_connection__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_connection__coll__graph.pngbin3416 -> 4625 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_connection_facade-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_connection_facade.html128
-rw-r--r--doc/html/class_tp_prototype_1_1_connection_facade__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_connection_facade__coll__graph.pngbin2061 -> 2086 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_contact-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_contact.html296
-rw-r--r--doc/html/class_tp_prototype_1_1_contact__coll__graph.map6
-rw-r--r--doc/html/class_tp_prototype_1_1_contact__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_contact__coll__graph.pngbin5736 -> 4712 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_contact_manager-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_contact_manager.html772
-rw-r--r--doc/html/class_tp_prototype_1_1_contact_manager__coll__graph.map8
-rw-r--r--doc/html/class_tp_prototype_1_1_contact_manager__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_contact_manager__coll__graph.pngbin7813 -> 8481 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_d_bus_interface-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_d_bus_interface.html16
-rw-r--r--doc/html/class_tp_prototype_1_1_presence_manager-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_presence_manager.html170
-rw-r--r--doc/html/class_tp_prototype_1_1_presence_manager__coll__graph.map8
-rw-r--r--doc/html/class_tp_prototype_1_1_presence_manager__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_presence_manager__coll__graph.pngbin6722 -> 6910 bytes
-rw-r--r--doc/html/class_tp_prototype_1_1_streamed_media_channel-members.html10
-rw-r--r--doc/html/class_tp_prototype_1_1_streamed_media_channel.html868
-rw-r--r--doc/html/class_tp_prototype_1_1_streamed_media_channel__coll__graph.map14
-rw-r--r--doc/html/class_tp_prototype_1_1_streamed_media_channel__coll__graph.md52
-rw-r--r--doc/html/class_tp_prototype_1_1_streamed_media_channel__coll__graph.pngbin14130 -> 14513 bytes
-rw-r--r--doc/html/classes.html52
-rw-r--r--doc/html/cli-account-manager_8h-source.html15
-rw-r--r--doc/html/cli-account_8h-source.html15
-rw-r--r--doc/html/cli-channel-handler_8h-source.html15
-rw-r--r--doc/html/cli-channel_8h-source.html15
-rw-r--r--doc/html/cli-connection-manager_8h-source.html15
-rw-r--r--doc/html/cli-connection_8h-source.html15
-rw-r--r--doc/html/cli-dbus_8h-source.html15
-rw-r--r--doc/html/cli-media-session-handler_8h-source.html15
-rw-r--r--doc/html/cli-media-stream-handler_8h-source.html15
-rw-r--r--doc/html/cli-properties_8h-source.html15
-rw-r--r--doc/html/cli-stream-engine_8h-source.html15
-rw-r--r--doc/html/connection-internal_8h-source.html17
-rw-r--r--doc/html/connection-manager-internal_8h-source.html117
-rw-r--r--doc/html/connection-manager_8h-source.html267
-rw-r--r--doc/html/connection_8h-source.html (renamed from doc/html/_client_2connection_8h-source.html)335
-rw-r--r--doc/html/constants_8h-source.html15
-rw-r--r--doc/html/contact-manager_8h-source.html204
-rw-r--r--doc/html/contact_8h-source.html169
-rw-r--r--doc/html/dbus-proxy_8h-source.html15
-rw-r--r--doc/html/dbus_8h-source.html15
-rw-r--r--doc/html/debug-internal_8h-source.html15
-rw-r--r--doc/html/debug_8h-source.html15
-rw-r--r--doc/html/deprecated.html30
-rw-r--r--doc/html/doxygen.css632
-rw-r--r--doc/html/file-transfer_8h-source.html15
-rw-r--r--doc/html/files.html31
-rw-r--r--doc/html/functions.html10
-rw-r--r--doc/html/functions_0x61.html75
-rw-r--r--doc/html/functions_0x62.html24
-rw-r--r--doc/html/functions_0x63.html160
-rw-r--r--doc/html/functions_0x64.html18
-rw-r--r--doc/html/functions_0x65.html12
-rw-r--r--doc/html/functions_0x66.html34
-rw-r--r--doc/html/functions_0x67.html34
-rw-r--r--doc/html/functions_0x68.html20
-rw-r--r--doc/html/functions_0x69.html100
-rw-r--r--doc/html/functions_0x6b.html10
-rw-r--r--doc/html/functions_0x6c.html10
-rw-r--r--doc/html/functions_0x6d.html43
-rw-r--r--doc/html/functions_0x6e.html12
-rw-r--r--doc/html/functions_0x6f.html10
-rw-r--r--doc/html/functions_0x70.html109
-rw-r--r--doc/html/functions_0x71.html10
-rw-r--r--doc/html/functions_0x72.html65
-rw-r--r--doc/html/functions_0x73.html108
-rw-r--r--doc/html/functions_0x74.html18
-rw-r--r--doc/html/functions_0x75.html14
-rw-r--r--doc/html/functions_0x76.html14
-rw-r--r--doc/html/functions_0x79.html10
-rw-r--r--doc/html/functions_0x7e.html26
-rw-r--r--doc/html/functions_enum.html12
-rw-r--r--doc/html/functions_eval.html26
-rw-r--r--doc/html/functions_func.html46
-rw-r--r--doc/html/functions_func_0x62.html26
-rw-r--r--doc/html/functions_func_0x63.html98
-rw-r--r--doc/html/functions_func_0x64.html20
-rw-r--r--doc/html/functions_func_0x65.html12
-rw-r--r--doc/html/functions_func_0x66.html14
-rw-r--r--doc/html/functions_func_0x67.html26
-rw-r--r--doc/html/functions_func_0x68.html20
-rw-r--r--doc/html/functions_func_0x69.html82
-rw-r--r--doc/html/functions_func_0x6b.html10
-rw-r--r--doc/html/functions_func_0x6c.html10
-rw-r--r--doc/html/functions_func_0x6d.html33
-rw-r--r--doc/html/functions_func_0x6e.html10
-rw-r--r--doc/html/functions_func_0x6f.html10
-rw-r--r--doc/html/functions_func_0x70.html53
-rw-r--r--doc/html/functions_func_0x71.html10
-rw-r--r--doc/html/functions_func_0x72.html49
-rw-r--r--doc/html/functions_func_0x73.html111
-rw-r--r--doc/html/functions_func_0x74.html14
-rw-r--r--doc/html/functions_func_0x75.html14
-rw-r--r--doc/html/functions_func_0x76.html10
-rw-r--r--doc/html/functions_func_0x79.html10
-rw-r--r--doc/html/functions_func_0x7e.html26
-rw-r--r--doc/html/functions_prop.html14
-rw-r--r--doc/html/functions_rela.html51
-rw-r--r--doc/html/functions_type.html10
-rw-r--r--doc/html/functions_vars.html66
-rw-r--r--doc/html/graph_legend.dot38
-rw-r--r--doc/html/graph_legend.html12
-rw-r--r--doc/html/graph_legend.pngbin4103 -> 4169 bytes
-rw-r--r--doc/html/group__clientaccount.html22
-rw-r--r--doc/html/group__clientaccount.pngbin1319 -> 1333 bytes
-rw-r--r--doc/html/group__clientchannel.html20
-rw-r--r--doc/html/group__clientchannel.pngbin1013 -> 1026 bytes
-rw-r--r--doc/html/group__clientcm.html20
-rw-r--r--doc/html/group__clientcm.pngbin1193 -> 1208 bytes
-rw-r--r--doc/html/group__clientconn.html20
-rw-r--r--doc/html/group__clientconn.pngbin1054 -> 1065 bytes
-rw-r--r--doc/html/group__clientdbus.html18
-rw-r--r--doc/html/group__clientdbus.pngbin1152 -> 1167 bytes
-rw-r--r--doc/html/group__clientmsesh.html18
-rw-r--r--doc/html/group__clientmsesh.pngbin1217 -> 1231 bytes
-rw-r--r--doc/html/group__clientmstrh.html18
-rw-r--r--doc/html/group__clientmstrh.pngbin1229 -> 1245 bytes
-rw-r--r--doc/html/group__clientprops.html18
-rw-r--r--doc/html/group__clientprops.pngbin1182 -> 1195 bytes
-rw-r--r--doc/html/group__clientsideproxies.html26
-rw-r--r--doc/html/group__clientsideproxies.pngbin6525 -> 6701 bytes
-rw-r--r--doc/html/group__debug.html20
-rw-r--r--doc/html/group__enumtypeconsts.html18
-rw-r--r--doc/html/group__enumtypeconsts.pngbin1219 -> 1231 bytes
-rw-r--r--doc/html/group__errorstrconsts.html24
-rw-r--r--doc/html/group__errorstrconsts.pngbin1091 -> 1097 bytes
-rw-r--r--doc/html/group__flagtypeconsts.html36
-rw-r--r--doc/html/group__flagtypeconsts.pngbin1121 -> 1130 bytes
-rw-r--r--doc/html/group__ifacestrconsts.html34
-rw-r--r--doc/html/group__ifacestrconsts.pngbin1154 -> 1163 bytes
-rw-r--r--doc/html/group__list.html32
-rw-r--r--doc/html/group__list.pngbin920 -> 928 bytes
-rw-r--r--doc/html/group__mapping.html18
-rw-r--r--doc/html/group__mapping.pngbin1061 -> 1072 bytes
-rw-r--r--doc/html/group__qt__accountmgm.html18
-rw-r--r--doc/html/group__qt__accountmgm.pngbin1311 -> 1316 bytes
-rw-r--r--doc/html/group__qt__connection.html18
-rw-r--r--doc/html/group__qt__connection.pngbin2500 -> 2407 bytes
-rw-r--r--doc/html/group__qt__contact.html18
-rw-r--r--doc/html/group__qt__contact.pngbin2483 -> 2412 bytes
-rw-r--r--doc/html/group__qt__convenience.html18
-rw-r--r--doc/html/group__qt__convenience.pngbin1281 -> 1289 bytes
-rw-r--r--doc/html/group__qt__style__api.html20
-rw-r--r--doc/html/group__qt__style__api.pngbin3278 -> 3327 bytes
-rw-r--r--doc/html/group__struct.html18
-rw-r--r--doc/html/group__struct.pngbin1043 -> 1050 bytes
-rw-r--r--doc/html/group__typesconstants.html18
-rw-r--r--doc/html/group__typesconstants.pngbin5925 -> 6088 bytes
-rw-r--r--doc/html/group__utilityconsts.html22
-rw-r--r--doc/html/group__utilityconsts.pngbin1133 -> 1143 bytes
-rw-r--r--doc/html/hierarchy.html48
-rw-r--r--doc/html/index.html2
-rw-r--r--doc/html/inherit__graph__0.map2
-rw-r--r--doc/html/inherit__graph__0.md52
-rw-r--r--doc/html/inherit__graph__0.pngbin581 -> 582 bytes
-rw-r--r--doc/html/inherit__graph__1.map2
-rw-r--r--doc/html/inherit__graph__1.md52
-rw-r--r--doc/html/inherit__graph__1.pngbin569 -> 579 bytes
-rw-r--r--doc/html/inherit__graph__10.map74
-rw-r--r--doc/html/inherit__graph__10.md52
-rw-r--r--doc/html/inherit__graph__10.pngbin38953 -> 39227 bytes
-rw-r--r--doc/html/inherit__graph__11.map2
-rw-r--r--doc/html/inherit__graph__11.md52
-rw-r--r--doc/html/inherit__graph__11.pngbin1163 -> 1278 bytes
-rw-r--r--doc/html/inherit__graph__12.map2
-rw-r--r--doc/html/inherit__graph__12.md52
-rw-r--r--doc/html/inherit__graph__12.pngbin1007 -> 1279 bytes
-rw-r--r--doc/html/inherit__graph__13.map2
-rw-r--r--doc/html/inherit__graph__13.md52
-rw-r--r--doc/html/inherit__graph__13.pngbin637 -> 639 bytes
-rw-r--r--doc/html/inherit__graph__14.map2
-rw-r--r--doc/html/inherit__graph__14.md52
-rw-r--r--doc/html/inherit__graph__14.pngbin784 -> 786 bytes
-rw-r--r--doc/html/inherit__graph__15.map4
-rw-r--r--doc/html/inherit__graph__15.md52
-rw-r--r--doc/html/inherit__graph__15.pngbin1364 -> 1377 bytes
-rw-r--r--doc/html/inherit__graph__16.map38
-rw-r--r--doc/html/inherit__graph__16.md52
-rw-r--r--doc/html/inherit__graph__16.pngbin17480 -> 16499 bytes
-rw-r--r--doc/html/inherit__graph__17.map36
-rw-r--r--doc/html/inherit__graph__17.md52
-rw-r--r--doc/html/inherit__graph__17.pngbin20556 -> 18610 bytes
-rw-r--r--doc/html/inherit__graph__18.map2
-rw-r--r--doc/html/inherit__graph__18.md52
-rw-r--r--doc/html/inherit__graph__18.pngbin684 -> 686 bytes
-rw-r--r--doc/html/inherit__graph__19.map2
-rw-r--r--doc/html/inherit__graph__19.md52
-rw-r--r--doc/html/inherit__graph__19.pngbin792 -> 787 bytes
-rw-r--r--doc/html/inherit__graph__2.map2
-rw-r--r--doc/html/inherit__graph__2.md52
-rw-r--r--doc/html/inherit__graph__2.pngbin506 -> 508 bytes
-rw-r--r--doc/html/inherit__graph__20.map2
-rw-r--r--doc/html/inherit__graph__20.md52
-rw-r--r--doc/html/inherit__graph__20.pngbin794 -> 796 bytes
-rw-r--r--doc/html/inherit__graph__21.map2
-rw-r--r--doc/html/inherit__graph__21.md52
-rw-r--r--doc/html/inherit__graph__21.pngbin1048 -> 1258 bytes
-rw-r--r--doc/html/inherit__graph__22.map2
-rw-r--r--doc/html/inherit__graph__22.md52
-rw-r--r--doc/html/inherit__graph__22.pngbin825 -> 827 bytes
-rw-r--r--doc/html/inherit__graph__23.map2
-rw-r--r--doc/html/inherit__graph__23.md52
-rw-r--r--doc/html/inherit__graph__23.pngbin806 -> 809 bytes
-rw-r--r--doc/html/inherit__graph__24.map2
-rw-r--r--doc/html/inherit__graph__24.md52
-rw-r--r--doc/html/inherit__graph__24.pngbin697 -> 699 bytes
-rw-r--r--doc/html/inherit__graph__25.map2
-rw-r--r--doc/html/inherit__graph__25.md52
-rw-r--r--doc/html/inherit__graph__25.pngbin705 -> 707 bytes
-rw-r--r--doc/html/inherit__graph__26.map2
-rw-r--r--doc/html/inherit__graph__26.md52
-rw-r--r--doc/html/inherit__graph__26.pngbin724 -> 726 bytes
-rw-r--r--doc/html/inherit__graph__27.map2
-rw-r--r--doc/html/inherit__graph__27.md52
-rw-r--r--doc/html/inherit__graph__27.pngbin739 -> 740 bytes
-rw-r--r--doc/html/inherit__graph__28.map2
-rw-r--r--doc/html/inherit__graph__28.md52
-rw-r--r--doc/html/inherit__graph__28.pngbin719 -> 734 bytes
-rw-r--r--doc/html/inherit__graph__29.map2
-rw-r--r--doc/html/inherit__graph__29.md52
-rw-r--r--doc/html/inherit__graph__29.pngbin541 -> 543 bytes
-rw-r--r--doc/html/inherit__graph__3.map2
-rw-r--r--doc/html/inherit__graph__3.md52
-rw-r--r--doc/html/inherit__graph__3.pngbin685 -> 687 bytes
-rw-r--r--doc/html/inherit__graph__30.map2
-rw-r--r--doc/html/inherit__graph__30.md52
-rw-r--r--doc/html/inherit__graph__30.pngbin850 -> 851 bytes
-rw-r--r--doc/html/inherit__graph__31.map2
-rw-r--r--doc/html/inherit__graph__31.md52
-rw-r--r--doc/html/inherit__graph__31.pngbin673 -> 696 bytes
-rw-r--r--doc/html/inherit__graph__32.map2
-rw-r--r--doc/html/inherit__graph__32.md52
-rw-r--r--doc/html/inherit__graph__32.pngbin611 -> 613 bytes
-rw-r--r--doc/html/inherit__graph__33.map2
-rw-r--r--doc/html/inherit__graph__33.md52
-rw-r--r--doc/html/inherit__graph__33.pngbin815 -> 818 bytes
-rw-r--r--doc/html/inherit__graph__34.map2
-rw-r--r--doc/html/inherit__graph__34.md52
-rw-r--r--doc/html/inherit__graph__34.pngbin913 -> 918 bytes
-rw-r--r--doc/html/inherit__graph__35.map2
-rw-r--r--doc/html/inherit__graph__35.md52
-rw-r--r--doc/html/inherit__graph__35.pngbin850 -> 852 bytes
-rw-r--r--doc/html/inherit__graph__36.map2
-rw-r--r--doc/html/inherit__graph__36.md52
-rw-r--r--doc/html/inherit__graph__36.pngbin912 -> 918 bytes
-rw-r--r--doc/html/inherit__graph__37.map2
-rw-r--r--doc/html/inherit__graph__37.md52
-rw-r--r--doc/html/inherit__graph__37.pngbin689 -> 691 bytes
-rw-r--r--doc/html/inherit__graph__38.map2
-rw-r--r--doc/html/inherit__graph__38.md52
-rw-r--r--doc/html/inherit__graph__38.pngbin660 -> 657 bytes
-rw-r--r--doc/html/inherit__graph__39.map2
-rw-r--r--doc/html/inherit__graph__39.md52
-rw-r--r--doc/html/inherit__graph__39.pngbin875 -> 878 bytes
-rw-r--r--doc/html/inherit__graph__4.map2
-rw-r--r--doc/html/inherit__graph__4.md52
-rw-r--r--doc/html/inherit__graph__4.pngbin701 -> 704 bytes
-rw-r--r--doc/html/inherit__graph__40.map2
-rw-r--r--doc/html/inherit__graph__40.md52
-rw-r--r--doc/html/inherit__graph__40.pngbin708 -> 712 bytes
-rw-r--r--doc/html/inherit__graph__41.map2
-rw-r--r--doc/html/inherit__graph__41.md52
-rw-r--r--doc/html/inherit__graph__41.pngbin677 -> 685 bytes
-rw-r--r--doc/html/inherit__graph__42.map2
-rw-r--r--doc/html/inherit__graph__42.md52
-rw-r--r--doc/html/inherit__graph__42.pngbin605 -> 607 bytes
-rw-r--r--doc/html/inherit__graph__43.map2
-rw-r--r--doc/html/inherit__graph__43.md52
-rw-r--r--doc/html/inherit__graph__43.pngbin791 -> 783 bytes
-rw-r--r--doc/html/inherit__graph__44.map2
-rw-r--r--doc/html/inherit__graph__44.md52
-rw-r--r--doc/html/inherit__graph__44.pngbin776 -> 779 bytes
-rw-r--r--doc/html/inherit__graph__45.map2
-rw-r--r--doc/html/inherit__graph__45.md52
-rw-r--r--doc/html/inherit__graph__45.pngbin640 -> 642 bytes
-rw-r--r--doc/html/inherit__graph__46.map2
-rw-r--r--doc/html/inherit__graph__46.md52
-rw-r--r--doc/html/inherit__graph__46.pngbin642 -> 644 bytes
-rw-r--r--doc/html/inherit__graph__47.map2
-rw-r--r--doc/html/inherit__graph__47.md52
-rw-r--r--doc/html/inherit__graph__47.pngbin887 -> 889 bytes
-rw-r--r--doc/html/inherit__graph__48.map2
-rw-r--r--doc/html/inherit__graph__48.md52
-rw-r--r--doc/html/inherit__graph__48.pngbin849 -> 850 bytes
-rw-r--r--doc/html/inherit__graph__49.map2
-rw-r--r--doc/html/inherit__graph__49.md52
-rw-r--r--doc/html/inherit__graph__49.pngbin844 -> 847 bytes
-rw-r--r--doc/html/inherit__graph__5.map2
-rw-r--r--doc/html/inherit__graph__5.md52
-rw-r--r--doc/html/inherit__graph__5.pngbin648 -> 637 bytes
-rw-r--r--doc/html/inherit__graph__50.map2
-rw-r--r--doc/html/inherit__graph__50.md52
-rw-r--r--doc/html/inherit__graph__50.pngbin559 -> 560 bytes
-rw-r--r--doc/html/inherit__graph__51.map2
-rw-r--r--doc/html/inherit__graph__51.md52
-rw-r--r--doc/html/inherit__graph__51.pngbin795 -> 798 bytes
-rw-r--r--doc/html/inherit__graph__52.map2
-rw-r--r--doc/html/inherit__graph__52.md52
-rw-r--r--doc/html/inherit__graph__52.pngbin658 -> 660 bytes
-rw-r--r--doc/html/inherit__graph__53.map2
-rw-r--r--doc/html/inherit__graph__53.md52
-rw-r--r--doc/html/inherit__graph__53.pngbin703 -> 705 bytes
-rw-r--r--doc/html/inherit__graph__54.map2
-rw-r--r--doc/html/inherit__graph__54.md52
-rw-r--r--doc/html/inherit__graph__54.pngbin782 -> 784 bytes
-rw-r--r--doc/html/inherit__graph__55.map2
-rw-r--r--doc/html/inherit__graph__55.md52
-rw-r--r--doc/html/inherit__graph__55.pngbin937 -> 940 bytes
-rw-r--r--doc/html/inherit__graph__56.map2
-rw-r--r--doc/html/inherit__graph__56.md52
-rw-r--r--doc/html/inherit__graph__56.pngbin774 -> 776 bytes
-rw-r--r--doc/html/inherit__graph__57.map2
-rw-r--r--doc/html/inherit__graph__57.md52
-rw-r--r--doc/html/inherit__graph__57.pngbin786 -> 787 bytes
-rw-r--r--doc/html/inherit__graph__58.map2
-rw-r--r--doc/html/inherit__graph__58.md52
-rw-r--r--doc/html/inherit__graph__58.pngbin752 -> 754 bytes
-rw-r--r--doc/html/inherit__graph__59.map2
-rw-r--r--doc/html/inherit__graph__59.md52
-rw-r--r--doc/html/inherit__graph__59.pngbin763 -> 765 bytes
-rw-r--r--doc/html/inherit__graph__6.map2
-rw-r--r--doc/html/inherit__graph__6.md52
-rw-r--r--doc/html/inherit__graph__6.pngbin782 -> 784 bytes
-rw-r--r--doc/html/inherit__graph__60.map2
-rw-r--r--doc/html/inherit__graph__60.md52
-rw-r--r--doc/html/inherit__graph__60.pngbin584 -> 585 bytes
-rw-r--r--doc/html/inherit__graph__61.map2
-rw-r--r--doc/html/inherit__graph__61.md52
-rw-r--r--doc/html/inherit__graph__61.pngbin663 -> 665 bytes
-rw-r--r--doc/html/inherit__graph__62.map2
-rw-r--r--doc/html/inherit__graph__62.md52
-rw-r--r--doc/html/inherit__graph__62.pngbin748 -> 748 bytes
-rw-r--r--doc/html/inherit__graph__63.map2
-rw-r--r--doc/html/inherit__graph__63.md52
-rw-r--r--doc/html/inherit__graph__63.pngbin727 -> 729 bytes
-rw-r--r--doc/html/inherit__graph__64.map2
-rw-r--r--doc/html/inherit__graph__64.md52
-rw-r--r--doc/html/inherit__graph__64.pngbin810 -> 812 bytes
-rw-r--r--doc/html/inherit__graph__65.map2
-rw-r--r--doc/html/inherit__graph__65.md52
-rw-r--r--doc/html/inherit__graph__65.pngbin540 -> 540 bytes
-rw-r--r--doc/html/inherit__graph__66.map2
-rw-r--r--doc/html/inherit__graph__66.md52
-rw-r--r--doc/html/inherit__graph__66.pngbin524 -> 525 bytes
-rw-r--r--doc/html/inherit__graph__67.map2
-rw-r--r--doc/html/inherit__graph__67.md52
-rw-r--r--doc/html/inherit__graph__67.pngbin576 -> 577 bytes
-rw-r--r--doc/html/inherit__graph__68.map2
-rw-r--r--doc/html/inherit__graph__68.md52
-rw-r--r--doc/html/inherit__graph__68.pngbin722 -> 723 bytes
-rw-r--r--doc/html/inherit__graph__69.map2
-rw-r--r--doc/html/inherit__graph__69.md52
-rw-r--r--doc/html/inherit__graph__69.pngbin709 -> 711 bytes
-rw-r--r--doc/html/inherit__graph__7.map2
-rw-r--r--doc/html/inherit__graph__7.md52
-rw-r--r--doc/html/inherit__graph__7.pngbin651 -> 654 bytes
-rw-r--r--doc/html/inherit__graph__70.map2
-rw-r--r--doc/html/inherit__graph__70.md52
-rw-r--r--doc/html/inherit__graph__70.pngbin827 -> 1037 bytes
-rw-r--r--doc/html/inherit__graph__71.map2
-rw-r--r--doc/html/inherit__graph__71.md52
-rw-r--r--doc/html/inherit__graph__71.pngbin1064 -> 1239 bytes
-rw-r--r--doc/html/inherit__graph__72.map2
-rw-r--r--doc/html/inherit__graph__72.md52
-rw-r--r--doc/html/inherit__graph__72.pngbin810 -> 812 bytes
-rw-r--r--doc/html/inherit__graph__73.map2
-rw-r--r--doc/html/inherit__graph__73.md52
-rw-r--r--doc/html/inherit__graph__73.pngbin609 -> 611 bytes
-rw-r--r--doc/html/inherit__graph__74.map2
-rw-r--r--doc/html/inherit__graph__74.md52
-rw-r--r--doc/html/inherit__graph__74.pngbin613 -> 615 bytes
-rw-r--r--doc/html/inherit__graph__75.map2
-rw-r--r--doc/html/inherit__graph__75.md52
-rw-r--r--doc/html/inherit__graph__75.pngbin729 -> 732 bytes
-rw-r--r--doc/html/inherit__graph__76.map2
-rw-r--r--doc/html/inherit__graph__76.md52
-rw-r--r--doc/html/inherit__graph__76.pngbin578 -> 580 bytes
-rw-r--r--doc/html/inherit__graph__77.map2
-rw-r--r--doc/html/inherit__graph__77.md52
-rw-r--r--doc/html/inherit__graph__77.pngbin721 -> 723 bytes
-rw-r--r--doc/html/inherit__graph__78.map2
-rw-r--r--doc/html/inherit__graph__78.md52
-rw-r--r--doc/html/inherit__graph__78.pngbin701 -> 703 bytes
-rw-r--r--doc/html/inherit__graph__79.map2
-rw-r--r--doc/html/inherit__graph__79.md52
-rw-r--r--doc/html/inherit__graph__79.pngbin739 -> 741 bytes
-rw-r--r--doc/html/inherit__graph__8.map2
-rw-r--r--doc/html/inherit__graph__8.md52
-rw-r--r--doc/html/inherit__graph__8.pngbin656 -> 658 bytes
-rw-r--r--doc/html/inherit__graph__80.map2
-rw-r--r--doc/html/inherit__graph__80.md52
-rw-r--r--doc/html/inherit__graph__80.pngbin796 -> 798 bytes
-rw-r--r--doc/html/inherit__graph__9.map2
-rw-r--r--doc/html/inherit__graph__9.md52
-rw-r--r--doc/html/inherit__graph__9.pngbin583 -> 584 bytes
-rw-r--r--doc/html/inherits.html192
-rw-r--r--doc/html/key-file_8h-source.html15
-rw-r--r--doc/html/main.html12
-rw-r--r--doc/html/manager-file_8h-source.html15
-rw-r--r--doc/html/media-session-handler_8h-source.html15
-rw-r--r--doc/html/media-stream-handler_8h-source.html15
-rw-r--r--doc/html/message_8h-source.html15
-rw-r--r--doc/html/modules.html10
-rw-r--r--doc/html/namespace_telepathy.html62
-rw-r--r--doc/html/namespace_telepathy_1_1_client.html76
-rw-r--r--doc/html/namespace_telepathy_1_1_client_1_1_d_bus.html18
-rw-r--r--doc/html/namespace_tp_prototype.html26
-rw-r--r--doc/html/namespace_tp_prototype_1_1_client.html18
-rw-r--r--doc/html/namespacemembers.html12
-rw-r--r--doc/html/namespacemembers_0x63.html14
-rw-r--r--doc/html/namespacemembers_0x64.html12
-rw-r--r--doc/html/namespacemembers_0x65.html12
-rw-r--r--doc/html/namespacemembers_0x66.html12
-rw-r--r--doc/html/namespacemembers_0x68.html12
-rw-r--r--doc/html/namespacemembers_0x6c.html12
-rw-r--r--doc/html/namespacemembers_0x6d.html12
-rw-r--r--doc/html/namespacemembers_0x6e.html12
-rw-r--r--doc/html/namespacemembers_0x6f.html12
-rw-r--r--doc/html/namespacemembers_0x70.html12
-rw-r--r--doc/html/namespacemembers_0x71.html14
-rw-r--r--doc/html/namespacemembers_0x72.html12
-rw-r--r--doc/html/namespacemembers_0x73.html12
-rw-r--r--doc/html/namespacemembers_0x74.html12
-rw-r--r--doc/html/namespacemembers_0x77.html12
-rw-r--r--doc/html/namespacemembers_enum.html12
-rw-r--r--doc/html/namespacemembers_eval.html12
-rw-r--r--doc/html/namespacemembers_func.html17
-rw-r--r--doc/html/namespacemembers_type.html14
-rw-r--r--doc/html/namespacemembers_vars.html12
-rw-r--r--doc/html/namespaces.html12
-rw-r--r--doc/html/optional-interface-factory_8h-source.html15
-rw-r--r--doc/html/pages.html10
-rw-r--r--doc/html/pending-account_8h-source.html15
-rw-r--r--doc/html/pending-channel_8h-source.html15
-rw-r--r--doc/html/pending-connection_8h-source.html15
-rw-r--r--doc/html/pending-contact-attributes_8h-source.html15
-rw-r--r--doc/html/pending-contacts_8h-source.html15
-rw-r--r--doc/html/pending-handles_8h-source.html15
-rw-r--r--doc/html/pending-operation_8h-source.html15
-rw-r--r--doc/html/pending-ready-account-manager_8h-source.html86
-rw-r--r--doc/html/pending-ready-account_8h-source.html86
-rw-r--r--doc/html/pending-ready-channel_8h-source.html15
-rw-r--r--doc/html/pending-ready-connection-manager_8h-source.html86
-rw-r--r--doc/html/pending-ready-connection_8h-source.html86
-rw-r--r--doc/html/pending-ready_8h-source.html15
-rw-r--r--doc/html/pending-string-list_8h-source.html15
-rw-r--r--doc/html/properties_8h-source.html15
-rw-r--r--doc/html/readiness-helper_8h-source.html19
-rw-r--r--doc/html/referenced-handles_8h-source.html15
-rw-r--r--doc/html/room-list_8h-source.html15
-rw-r--r--doc/html/simple-pending-operations_8h-source.html15
-rw-r--r--doc/html/streamed-media-channel_8h-source.html15
-rw-r--r--doc/html/struct_telepathy_1_1_alias_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_alias_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_alias_pair-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_alias_pair.html26
-rw-r--r--doc/html/struct_telepathy_1_1_avatar-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_avatar.html18
-rw-r--r--doc/html/struct_telepathy_1_1_avatar_token_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_avatar_token_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_capability_change-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_capability_change.html42
-rw-r--r--doc/html/struct_telepathy_1_1_capability_pair-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_capability_pair.html18
-rw-r--r--doc/html/struct_telepathy_1_1_channel_call_state_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_channel_call_state_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_channel_class-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_channel_class.html22
-rw-r--r--doc/html/struct_telepathy_1_1_channel_details-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_channel_details.html18
-rw-r--r--doc/html/struct_telepathy_1_1_channel_info-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_channel_info.html30
-rw-r--r--doc/html/struct_telepathy_1_1_client_1_1_connection_manager_1_1_private-members.html43
-rw-r--r--doc/html/struct_telepathy_1_1_client_1_1_connection_manager_1_1_private.html212
-rw-r--r--doc/html/struct_telepathy_1_1_client_1_1_connection_manager_1_1_private__coll__graph.map17
-rw-r--r--doc/html/struct_telepathy_1_1_client_1_1_connection_manager_1_1_private__coll__graph.md52
-rw-r--r--doc/html/struct_telepathy_1_1_client_1_1_connection_manager_1_1_private__coll__graph.pngbin11165 -> 13842 bytes
-rw-r--r--doc/html/struct_telepathy_1_1_client_1_1_readiness_helper_1_1_introspectable-members.html18
-rw-r--r--doc/html/struct_telepathy_1_1_client_1_1_readiness_helper_1_1_introspectable.html24
-rw-r--r--doc/html/struct_telepathy_1_1_contact_attributes_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_contact_attributes_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_contact_capability-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_contact_capability.html34
-rw-r--r--doc/html/struct_telepathy_1_1_contact_presences-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_contact_presences.html18
-rw-r--r--doc/html/struct_telepathy_1_1_d_bus_tube_member-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_d_bus_tube_member.html18
-rw-r--r--doc/html/struct_telepathy_1_1_handle_identifier_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_handle_identifier_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_handle_owner_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_handle_owner_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_last_activity_and_statuses-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_last_activity_and_statuses.html20
-rw-r--r--doc/html/struct_telepathy_1_1_last_activity_and_statuses__coll__graph.map2
-rw-r--r--doc/html/struct_telepathy_1_1_last_activity_and_statuses__coll__graph.md52
-rw-r--r--doc/html/struct_telepathy_1_1_last_activity_and_statuses__coll__graph.pngbin1828 -> 1849 bytes
-rw-r--r--doc/html/struct_telepathy_1_1_local_pending_info-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_local_pending_info.html36
-rw-r--r--doc/html/struct_telepathy_1_1_media_session_handler_info-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_media_session_handler_info.html30
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_handler_candidate-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_handler_candidate.html16
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_handler_codec-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_handler_codec.html38
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_handler_codec__coll__graph.map2
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_handler_codec__coll__graph.md52
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_handler_codec__coll__graph.pngbin1876 -> 1899 bytes
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_handler_transport-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_handler_transport.html44
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_info-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_media_stream_info.html40
-rw-r--r--doc/html/struct_telepathy_1_1_message_part-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_message_part.html34
-rw-r--r--doc/html/struct_telepathy_1_1_message_part_content_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_message_part_content_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_multiple_status_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_multiple_status_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_object_path_list-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_object_path_list.html16
-rw-r--r--doc/html/struct_telepathy_1_1_param_spec-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_param_spec.html40
-rw-r--r--doc/html/struct_telepathy_1_1_pending_text_message-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_pending_text_message.html42
-rw-r--r--doc/html/struct_telepathy_1_1_property_flags_change-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_property_flags_change.html26
-rw-r--r--doc/html/struct_telepathy_1_1_property_spec-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_property_spec.html30
-rw-r--r--doc/html/struct_telepathy_1_1_property_value-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_property_value.html18
-rw-r--r--doc/html/struct_telepathy_1_1_qualified_property_value_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_qualified_property_value_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_requestable_channel_class-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_requestable_channel_class.html56
-rw-r--r--doc/html/struct_telepathy_1_1_rich_presence_access_control-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_rich_presence_access_control.html30
-rw-r--r--doc/html/struct_telepathy_1_1_room_info-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_room_info.html24
-rw-r--r--doc/html/struct_telepathy_1_1_simple_contact_presences-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_simple_contact_presences.html18
-rw-r--r--doc/html/struct_telepathy_1_1_simple_presence-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_simple_presence.html46
-rw-r--r--doc/html/struct_telepathy_1_1_simple_status_spec-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_simple_status_spec.html30
-rw-r--r--doc/html/struct_telepathy_1_1_simple_status_spec_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_simple_status_spec_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_single_contact_attributes_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_single_contact_attributes_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_socket_address_i_pv4-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_socket_address_i_pv4.html18
-rw-r--r--doc/html/struct_telepathy_1_1_socket_address_i_pv6-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_socket_address_i_pv6.html18
-rw-r--r--doc/html/struct_telepathy_1_1_socket_netmask_i_pv4-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_socket_netmask_i_pv4.html18
-rw-r--r--doc/html/struct_telepathy_1_1_socket_netmask_i_pv6-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_socket_netmask_i_pv6.html18
-rw-r--r--doc/html/struct_telepathy_1_1_status_spec-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_status_spec.html30
-rw-r--r--doc/html/struct_telepathy_1_1_status_spec__coll__graph.map2
-rw-r--r--doc/html/struct_telepathy_1_1_status_spec__coll__graph.md52
-rw-r--r--doc/html/struct_telepathy_1_1_status_spec__coll__graph.pngbin1667 -> 1692 bytes
-rw-r--r--doc/html/struct_telepathy_1_1_status_spec_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_status_spec_map.html16
-rw-r--r--doc/html/struct_telepathy_1_1_string_string_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_string_string_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_string_variant_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_string_variant_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_supported_socket_map-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_supported_socket_map.html18
-rw-r--r--doc/html/struct_telepathy_1_1_tube_info-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_tube_info.html30
-rw-r--r--doc/html/struct_telepathy_1_1_u_int_list-members.html10
-rw-r--r--doc/html/struct_telepathy_1_1_u_int_list.html16
-rw-r--r--doc/html/struct_tp_prototype_1_1_avatar_manager_1_1_avatar-members.html18
-rw-r--r--doc/html/struct_tp_prototype_1_1_avatar_manager_1_1_avatar.html36
-rw-r--r--doc/html/struct_tp_prototype_1_1_avatar_manager_1_1_avatar_requirements-members.html26
-rw-r--r--doc/html/struct_tp_prototype_1_1_avatar_manager_1_1_avatar_requirements.html74
-rw-r--r--doc/html/tabs.css7
-rw-r--r--doc/html/text-channel_8h-source.html15
-rw-r--r--doc/html/todo.html136
-rw-r--r--doc/html/tree.html104
-rw-r--r--doc/html/types_8h-source.html15
-rw-r--r--examples/Makefile.am2
-rw-r--r--examples/Makefile.in2
-rw-r--r--examples/accounts/account-item.cpp2
-rw-r--r--examples/accounts/accounts-window.cpp2
-rw-r--r--examples/roster/Makefile.am34
-rw-r--r--examples/roster/Makefile.in572
-rw-r--r--examples/roster/main.cpp27
-rw-r--r--examples/roster/roster-item.cpp73
-rw-r--r--examples/roster/roster-item.h (renamed from TelepathyQt4/Client/pending-ready-account.h)48
-rw-r--r--examples/roster/roster-window.cpp388
-rw-r--r--examples/roster/roster-window.h87
-rw-r--r--tests/dbus/Makefile.am5
-rw-r--r--tests/dbus/Makefile.in23
-rw-r--r--tests/dbus/account-basics.cpp23
-rw-r--r--tests/dbus/chan-basics.cpp12
-rw-r--r--tests/dbus/chan-group.cpp52
-rw-r--r--tests/dbus/cm-basics.cpp2
-rw-r--r--tests/dbus/conn-roster.cpp291
-rw-r--r--tests/lib/Makefile.am5
-rw-r--r--tests/lib/Makefile.in10
-rw-r--r--tests/lib/contactlist/Makefile.am38
-rw-r--r--tests/lib/contactlist/Makefile.in567
-rw-r--r--tests/lib/contactlist/conn.c591
-rw-r--r--tests/lib/contactlist/conn.h65
-rw-r--r--tests/lib/contactlist/connection-manager.c116
-rw-r--r--tests/lib/contactlist/connection-manager.h62
-rw-r--r--tests/lib/contactlist/contact-list-manager.c1578
-rw-r--r--tests/lib/contactlist/contact-list-manager.h107
-rw-r--r--tests/lib/contactlist/contact-list.c632
-rw-r--r--tests/lib/contactlist/contact-list.h118
-rw-r--r--tests/lib/contactlist/manager-file.py19
-rw-r--r--tests/pinocchio/cm-basics.cpp2
-rw-r--r--tests/pinocchio/conn-basics.cpp1
-rw-r--r--tools/Makefile.am1
-rw-r--r--tools/Makefile.in1
-rw-r--r--tools/manager-file.py171
1325 files changed, 27449 insertions, 20333 deletions
diff --git a/ChangeLog b/ChangeLog
index e7d0087..35c5a98 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,804 @@
+commit 6ac59411f93c7d84cef64dd60c955038ae4d4e1d
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-05 18:43:56 +0000
+
+ Prepare release 0.1.1
+
+ NEWS | 41 +++++++++++++++++++++++++++++++++++++++--
+ configure.ac | 4 ++--
+ 2 files changed, 41 insertions(+), 4 deletions(-)
+
+commit 53557ddbc44c251f5262ba4040f9230205af7d70
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-05 18:20:35 +0000
+
+ roster example: connect to the right signals
+
+ examples/roster/roster-item.cpp | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit e8877188b1f09cbc5f704edbac89d0281b3f4610
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-05 17:33:41 +0000
+
+ Add methods indicating whether contact list manipulations take a message
+
+ Also add the missing canRescindPresenceSubscriptionRequest(),
+ which indicates whether we can cancel a request before the contact has
+ approved it, and simplify contact-list manipulation method names
+
+ TelepathyQt4/Client/contact-manager.cpp | 194 +++++++++++++++++++++++++++++--
+ TelepathyQt4/Client/contact-manager.h | 23 +++--
+ TelepathyQt4/Client/contact.cpp | 8 +-
+ examples/roster/roster-window.cpp | 6 +-
+ 4 files changed, 206 insertions(+), 25 deletions(-)
+
+commit 10479026b3de11303f86b576ab377d30a0c6f44b
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-05 17:03:00 +0000
+
+ Channel: don't second-guess the CM
+
+ Similarly to ContactManager, if the group flags indicate we're likely to
+ fail, we should still make the attempt, so the connection manager can give
+ us the most appropriate error.
+
+ TelepathyQt4/Client/channel.cpp | 32 --------------------------------
+ 1 files changed, 0 insertions(+), 32 deletions(-)
+
+commit 616be9e9f760bae7d7530254a7a38c29a675b52e
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-05 17:00:37 +0000
+
+ ContactManager: don't second-guess the connection manager
+
+ Although we have flags to indicate which actions are likely to work, their
+ interactions are complex, so we should only reject attempts to take action
+ if the channel doesn't exist at all. In all other cases we should attempt
+ the D-Bus call, even if we expect it to fail, so the connection manager
+ can return an appropriate error.
+
+ TelepathyQt4/Client/contact-manager.cpp | 35 ++++++++----------------------
+ 1 files changed, 10 insertions(+), 25 deletions(-)
+
+commit 9ce902c82ed28dd09cb09b923cf8efc2495274ce
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-05 16:56:33 +0000
+
+ Fix compilation of the Roster example
+
+ examples/roster/roster-window.h | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 1cbb29badeee83d19d69bf3159d53d6bb652f5e8
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-05 16:56:24 +0000
+
+ Document some of the ContactManager methods
+
+ TelepathyQt4/Client/contact-manager.cpp | 87 +++++++++++++++++++++++++++++++
+ 1 files changed, 87 insertions(+), 0 deletions(-)
+
+commit 9b46587aa488d360109073846a70e67ae30c4e9a
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-05 16:32:33 +0000
+
+ ContactManager: cache pointers to the subscribe, publish, stored, deny channels
+
+ TelepathyQt4/Client/contact-manager.cpp | 110 ++++++++++++++-----------------
+ 1 files changed, 49 insertions(+), 61 deletions(-)
+
+commit 6c8a6414d2949778708fe5b98af52dccd883cd6b
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-05 16:09:24 +0000
+
+ typedef QSet<QSharedPointer<Contact> > as Contacts to make code clearer
+
+ TelepathyQt4/Client/channel.cpp | 24 +++++-----
+ TelepathyQt4/Client/channel.h | 14 +++---
+ TelepathyQt4/Client/contact-manager.cpp | 76 +++++++++++++++---------------
+ TelepathyQt4/Client/contact-manager.h | 28 ++++++------
+ TelepathyQt4/Client/contact.h | 2 +
+ examples/roster/roster-window.cpp | 6 +-
+ examples/roster/roster-window.h | 2 +-
+ tests/dbus/chan-group.cpp | 46 +++++++++---------
+ 8 files changed, 99 insertions(+), 99 deletions(-)
+
+commit 90c80391acd10220ce314f7ab4af8a0664570750
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-05 14:33:59 -0300
+
+ Fixed build.
+
+ examples/roster/roster-window.cpp | 1 -
+ 1 files changed, 0 insertions(+), 1 deletions(-)
+
+commit 453c3975e00e2826665f4a0d02bcd418c0e912bc
+Merge: 2ebbbe7... 0b3ee41...
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-05 12:50:53 -0300
+
+ Merge branch 'connection'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit 2ebbbe7df7772565230b49eef6d7a036814cdad6
+Merge: 037e36d... 4cda678...
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-05 12:07:35 -0300
+
+ Merge branch 'readiness'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit 4cda678260c0ee72208e6ed7dc36d3b50fa357c5
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-05 11:57:23 -0300
+
+ ConnectionManager: Do not go ready if we can't get the list of protocols or all params.
+
+ TelepathyQt4/Client/connection-manager.cpp | 17 +++++++++++------
+ 1 files changed, 11 insertions(+), 6 deletions(-)
+
+commit 05f9b33e660c1efbf310364546a12bc7630defec
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 13:18:04 -0300
+
+ ConnectionManager: Added requestedFeatures/actualFeatures/missingFeatures.
+
+ TelepathyQt4/Client/connection-manager.cpp | 15 +++++++++++++++
+ TelepathyQt4/Client/connection-manager.h | 4 ++++
+ 2 files changed, 19 insertions(+), 0 deletions(-)
+
+commit d911df212ecfd83ef19d6fd22606c36f4573c888
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 13:17:55 -0300
+
+ Account: Added requestedFeatures/actualFeatures/missingFeatures.
+
+ TelepathyQt4/Client/account.cpp | 15 +++++++++++++++
+ TelepathyQt4/Client/account.h | 4 ++++
+ 2 files changed, 19 insertions(+), 0 deletions(-)
+
+commit 63f4de98c4435e22ff88865647f3946bc4b15c56
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 13:17:23 -0300
+
+ AccountManager: Added requestedFeatures/actualFeatures/missingFeatures.
+
+ TelepathyQt4/Client/account-manager.cpp | 15 +++++++++++++++
+ TelepathyQt4/Client/account-manager.h | 4 ++++
+ 2 files changed, 19 insertions(+), 0 deletions(-)
+
+commit 393c80c2d1e380205412cd6f9c6afad665c0eb89
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 12:44:26 -0300
+
+ Removed PendingReadyConnectionManager in favor of PendingReady.
+
+ TelepathyQt4/Client/PendingReadyConnectionManager | 13 ---
+ .../Client/pending-ready-connection-manager.cpp | 110 --------------------
+ .../Client/pending-ready-connection-manager.h | 62 -----------
+ TelepathyQt4/Makefile.am | 4 -
+ 4 files changed, 0 insertions(+), 189 deletions(-)
+
+commit 52e7e027fa389ca48d7816e5920743abb0d96364
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 12:43:13 -0300
+
+ ConnectionManager: Use foreach instead of Q_FOREACH.
+
+ TelepathyQt4/Client/connection-manager.cpp | 28 ++++++++++++++--------------
+ 1 files changed, 14 insertions(+), 14 deletions(-)
+
+commit 0bf8aae2f8aa129aa065798133d200cd1b871349
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 12:41:02 -0300
+
+ ConnectionManager: Use ReadinessHelper class.
+
+ TelepathyQt4/Client/account.cpp | 1 -
+ TelepathyQt4/Client/connection-manager-internal.h | 28 ++-
+ TelepathyQt4/Client/connection-manager.cpp | 235 ++++++++++-----------
+ TelepathyQt4/Client/connection-manager.h | 22 +--
+ tests/dbus/cm-basics.cpp | 2 +-
+ tests/pinocchio/cm-basics.cpp | 2 +-
+ tests/pinocchio/conn-basics.cpp | 1 -
+ 7 files changed, 140 insertions(+), 151 deletions(-)
+
+commit 95cee7ac26f14460eedffb5106ef5798d8e47e84
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 12:44:06 -0300
+
+ AccountManager: Use foreach/emit instead of Q_FOREACH/Q_EMIT.
+
+ TelepathyQt4/Client/account-manager.cpp | 14 +++++++-------
+ 1 files changed, 7 insertions(+), 7 deletions(-)
+
+commit 0b3ee41cc3790a9ce4f7da9238e746bc4b3d6a0c
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 19:03:57 -0300
+
+ Connection: Added roster test.
+
+ tests/dbus/Makefile.am | 5 +
+ tests/dbus/conn-roster.cpp | 291 ++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 296 insertions(+), 0 deletions(-)
+
+commit 2995ea50235b949b95b26a63d45d0168f8d9e192
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 19:02:01 -0300
+
+ contact list example: use the proper list when authorizing contacts.
+
+ tests/lib/contactlist/contact-list-manager.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 529ab86461340012dae066a50b4d1238eaf0a72d
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 18:58:20 -0300
+
+ Contact: Use full namespace on signals.
+
+ TelepathyQt4/Client/contact.h | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 3024571cc6286f7a008f66765bcc1a2a24f9ec83
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-04 18:57:44 -0300
+
+ ContactManager: Use message on subscribe/publish methods.
+
+ TelepathyQt4/Client/contact-manager.cpp | 8 ++++----
+ 1 files changed, 4 insertions(+), 4 deletions(-)
+
+commit bde6e71d2f9aa55a74912bee161750e55a60732d
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-27 19:48:22 -0300
+
+ Improved roster example to support blocking contacts.
+
+ Changed pushbuttons to actions triggered by context menu, to make the UI less
+ cluttered.
+ Added blocking contacts support.
+ Fixed some bugs.
+
+ examples/roster/roster-item.cpp | 21 +++-
+ examples/roster/roster-item.h | 5 +-
+ examples/roster/roster-window.cpp | 190 ++++++++++++++++++++++++++++---------
+ examples/roster/roster-window.h | 21 +++-
+ 4 files changed, 180 insertions(+), 57 deletions(-)
+
+commit 539037daf8139afd1150bba2bbfcdde1543ce279
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-27 19:38:36 -0300
+
+ ContactManager: Added support for blocking contacts.
+
+ TelepathyQt4/Client/contact-manager.cpp | 83 ++++++++++++++++++++++++++++++-
+ TelepathyQt4/Client/contact-manager.h | 12 ++++-
+ TelepathyQt4/Client/contact.cpp | 27 ++++++++++-
+ TelepathyQt4/Client/contact.h | 5 ++
+ 4 files changed, 124 insertions(+), 3 deletions(-)
+
+commit 9399de114a7d3cd2e25a5a62e38598e5b960bbb2
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-27 17:39:02 -0300
+
+ Contact: Make sure subscription/publishStateChanged is not emitted if nothing happened.
+
+ TelepathyQt4/Client/contact.cpp | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+commit 09f2ca624df83b1951d64efd8cbb31906659feda
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-27 16:42:50 -0300
+
+ ContactManager: Make it work with QT_NO_CAST_FROM_ASCII.
+
+ TelepathyQt4/Client/contact-manager.cpp | 10 ++++++----
+ 1 files changed, 6 insertions(+), 4 deletions(-)
+
+commit fb7048e77432b50849fb077f9e6046071ceab656
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-27 16:39:33 -0300
+
+ ContactManager: Fixed identifier for ContactList stored.
+
+ TelepathyQt4/Client/contact-manager.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 3e079b1696fbd1f96a419a9f8084ac028c8fe6d3
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-27 16:36:59 -0300
+
+ ContactManager: Un-inline identifierForType and typeForIdentifier.
+
+ TelepathyQt4/Client/contact-manager.cpp | 23 +++++++++++++++++++++++
+ TelepathyQt4/Client/contact-manager.h | 23 ++---------------------
+ 2 files changed, 25 insertions(+), 21 deletions(-)
+
+commit faf0dc64bca7774bf743d9237c61669f69511c30
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:46:36 -0300
+
+ Added roster example to gitignore.
+
+ .gitignore | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 8d6fef721ea99c7edddfff5862e0eeb7942d6d82
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:32:28 -0300
+
+ Improved roster example to support add/auth/remove/deny contacts.
+
+ examples/roster/roster-item.cpp | 27 +++++-
+ examples/roster/roster-item.h | 6 +-
+ examples/roster/roster-window.cpp | 178 ++++++++++++++++++++++++++++++++++++-
+ examples/roster/roster-window.h | 16 ++++
+ 4 files changed, 219 insertions(+), 8 deletions(-)
+
+commit 9d2ddf8c30f836d8b0b17d402d0df85e8eb2b925
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:27:52 -0300
+
+ Contact: Added debug.
+
+ TelepathyQt4/Client/contact.cpp | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 4db8495fdb45fad2607e00a0a450043753998f7c
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:32:06 -0300
+
+ ContactManager: Added more debug.
+
+ TelepathyQt4/Client/contact-manager.cpp | 10 ++++++++++
+ 1 files changed, 10 insertions(+), 0 deletions(-)
+
+commit 24736fe0ac2301ec97f4d5c9488c27214d5115f0
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:30:49 -0300
+
+ ContactManager: Added warnings for when contacts appear on the wrong lists.
+
+ Added warnings when local pending contacts appear on subscribe list and
+ remote pending contacts appear on publish list.
+
+ TelepathyQt4/Client/contact-manager.cpp | 10 ++++++++--
+ 1 files changed, 8 insertions(+), 2 deletions(-)
+
+commit 2cc132718bc4c5649af7c592e592db7d4a7db1b8
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:29:20 -0300
+
+ ContactManager: Renamed deny to remove on contact publication related methods.
+
+ TelepathyQt4/Client/contact-manager.cpp | 10 ++++++----
+ TelepathyQt4/Client/contact-manager.h | 4 ++--
+ TelepathyQt4/Client/contact.cpp | 4 ++--
+ TelepathyQt4/Client/contact.h | 2 +-
+ 4 files changed, 11 insertions(+), 9 deletions(-)
+
+commit 8bc2b9cb818b1297d05046ed2280a19c22ad0ac2
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:27:05 -0300
+
+ Contact: Added removePresenceSubscription.
+
+ TelepathyQt4/Client/contact.cpp | 9 +++++++++
+ TelepathyQt4/Client/contact.h | 1 +
+ 2 files changed, 10 insertions(+), 0 deletions(-)
+
+commit e626e587f9c8cf1ae2449fb5123e5c69ef4d3389
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:22:31 -0300
+
+ ContactManager: Added canRemoveContactsPresenceSubscription/removeContactsPresenceSubscription.
+
+ TelepathyQt4/Client/contact-manager.cpp | 24 ++++++++++++++++++++++++
+ TelepathyQt4/Client/contact-manager.h | 3 +++
+ 2 files changed, 27 insertions(+), 0 deletions(-)
+
+commit 3be97118121d217a11b89d1d544f391cb20c9a3b
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:25:47 -0300
+
+ ContactManager: Fixed check on canAuthorizeContactsPresencePublication.
+
+ Contacts in local pending can always be added, even if the Channel::groupFlags()
+ does not contain the flag CanAdd. So just check if the publish channel exists.
+
+ TelepathyQt4/Client/contact-manager.cpp | 5 ++++-
+ 1 files changed, 4 insertions(+), 1 deletions(-)
+
+commit 05aa885798872510ac5077ad979fbcffb9f63236
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:13:14 -0300
+
+ Channel: Allow contacts on local pending list be added even if groupFlags does not contain FlagCanAdd.
+
+ TelepathyQt4/Client/channel.cpp | 14 +++++++++++---
+ 1 files changed, 11 insertions(+), 3 deletions(-)
+
+commit e61178812f881490c9f69db2fcb4eb17b9198779
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:19:11 -0300
+
+ Use full namespace on Channel and ConnectionManager signals.
+
+ TelepathyQt4/Client/channel.h | 12 ++++++------
+ TelepathyQt4/Client/contact-manager.cpp | 30 +++++++++++++++---------------
+ TelepathyQt4/Client/contact-manager.h | 22 +++++++++++-----------
+ tests/dbus/chan-group.cpp | 30 +++++++++++++++---------------
+ 4 files changed, 47 insertions(+), 47 deletions(-)
+
+commit 634b4b266fa77b0bf7182c19656feebe6ca6d685
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-25 14:36:06 -0300
+
+ ContactManager: Store ReferencedHandles instead of uint on ContactListChannel.
+
+ TelepathyQt4/Client/connection.cpp | 7 ++++---
+ TelepathyQt4/Client/contact-manager.h | 9 +++++----
+ 2 files changed, 9 insertions(+), 7 deletions(-)
+
+commit 2ff418d6f826af43231ffd95598d81abb5057f38
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-25 14:21:54 -0300
+
+ Added roster example.
+
+ This example will show all the contacts of a given account using gabble
+ and track their presence status.
+
+ configure.ac | 1 +
+ examples/Makefile.am | 2 +-
+ examples/roster/Makefile.am | 34 +++++++++++
+ examples/roster/main.cpp | 27 +++++++++
+ examples/roster/roster-item.cpp | 45 +++++++++++++++
+ examples/roster/roster-item.h | 49 ++++++++++++++++
+ examples/roster/roster-window.cpp | 111 +++++++++++++++++++++++++++++++++++++
+ examples/roster/roster-window.h | 61 ++++++++++++++++++++
+ 8 files changed, 329 insertions(+), 1 deletions(-)
+
+commit 0b4bc4625db4616290861d1ba8e90d3b1ff18fb4
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-25 14:21:07 -0300
+
+ Connection: Make connection works with current PendingHandles.
+
+ PendingHandles now fails if some handle cannot be retrieved, so let's request
+ one handle at a time.
+
+ TelepathyQt4/Client/connection.cpp | 62 +++++++++++++++-----------------
+ TelepathyQt4/Client/contact-manager.h | 14 +++++++
+ 2 files changed, 43 insertions(+), 33 deletions(-)
+
+commit 206a263a5308d7b0489ae569fccb22e9f5db413b
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-25 14:18:18 -0300
+
+ Connection: Proper check for status when using some methods.
+
+ Some methods are used internally before the connection emits statusChanged and
+ the status() returns Connected. For example ensureChannel is used by
+ FeatureRoster but the connection status may not be Connected yet (waiting for
+ all features to become ready before changing status).
+
+ TelepathyQt4/Client/connection.cpp | 8 +++-----
+ 1 files changed, 3 insertions(+), 5 deletions(-)
+
+commit 716bdf2c949acc2dc9b1c4939e809ac27c8e4407
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-25 14:16:05 -0300
+
+ ContactManager: Fixed bug when iterating trough contact list channels and there is an invalid channel.
+
+ TelepathyQt4/Client/contact-manager.cpp | 3 +--
+ 1 files changed, 1 insertions(+), 2 deletions(-)
+
+commit 92dc792eda00bad728c4aeb9bbddf30add1c5fda
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-25 12:30:27 -0300
+
+ Contact: Default to blank message on subscription/publication methods.
+
+ TelepathyQt4/Client/contact.h | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 4a5081dc8785b7aed9395a27cc7f1a513d953673
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-25 12:17:57 -0300
+
+ ContactManager: Use the proper contacts for subscribe and publish lists.
+
+ TelepathyQt4/Client/contact-manager.cpp | 30 +++++++++++++++---------------
+ 1 files changed, 15 insertions(+), 15 deletions(-)
+
+commit 2169747e0ac6e9908a54e94e36ab7ec0234cddbc
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-25 12:14:05 -0300
+
+ Connection: Remove the check for handle == 0 on requesting channel handles and added a FIXME.
+
+ TelepathyQt4/Client/connection.cpp | 20 +++++++++++---------
+ 1 files changed, 11 insertions(+), 9 deletions(-)
+
+commit ad198b5c29ba0da9f5ecdf745e63dea118192145
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-25 10:54:41 -0300
+
+ ContactManager: Make allKnownContacts return the cached contacts instead of a PendingOperation.
+
+ TelepathyQt4/Client/contact-manager.cpp | 5 ++---
+ TelepathyQt4/Client/contact-manager.h | 3 +--
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+commit 60bbdfa633d7a4da8272247a724350649a6f5316
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-24 20:18:40 -0300
+
+ Contact: Added requestPresenceSubscription and authorize/denyPresencePublication support.
+
+ TelepathyQt4/Client/contact-manager.cpp | 88 +++++++++++++++++++++++++++----
+ TelepathyQt4/Client/contact-manager.h | 15 +++++-
+ TelepathyQt4/Client/contact.cpp | 27 +++++++++
+ TelepathyQt4/Client/contact.h | 6 ++
+ 4 files changed, 124 insertions(+), 12 deletions(-)
+
+commit fbb32e878ff2cd13c9aa0693573dbc30a1b8011d
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-24 18:23:38 -0300
+
+ ContactManager: Added signal that will be emitted when a contact asked to subscribe to your presence.
+
+ TelepathyQt4/Client/contact-manager.cpp | 4 ++++
+ TelepathyQt4/Client/contact-manager.h | 3 +++
+ 2 files changed, 7 insertions(+), 0 deletions(-)
+
+commit 9455b4769f0ddad2ad257b7f7404bc730b0b0138
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-24 18:07:31 -0300
+
+ ContactManager: Update contacts subscription/publish state.
+
+ TelepathyQt4/Client/contact-manager.cpp | 174 ++++++++++++++++++++++++++++---
+ TelepathyQt4/Client/contact-manager.h | 13 +++
+ 2 files changed, 174 insertions(+), 13 deletions(-)
+
+commit fd5e936d93d0339b88641e9ce59e5614239854b8
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-24 18:06:47 -0300
+
+ Contact: Added stub subscription/publish state methods.
+
+ TelepathyQt4/Client/contact.cpp | 28 +++++++++++++++++++++++++++-
+ TelepathyQt4/Client/contact.h | 15 +++++++++++++++
+ 2 files changed, 42 insertions(+), 1 deletions(-)
+
+commit 19aa52e6d85c287035d4135571c59c8d19bea92e
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-24 13:56:57 -0300
+
+ Channel: Changed channel to use QSet of contacts instead of QList.
+
+ This make it easy to implement roster support, where contacts from
+ different channels need to be merged.
+
+ TelepathyQt4/Client/channel.cpp | 36 +++++++++++++++---------------
+ TelepathyQt4/Client/channel.h | 14 ++++++------
+ tests/dbus/chan-group.cpp | 46 +++++++++++++++++++-------------------
+ 3 files changed, 48 insertions(+), 48 deletions(-)
+
+commit abf0a1cf5f78c98ad8010df62cd2997f453a1efc
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-24 14:26:10 -0300
+
+ Connection: Added initial roster support (FeatureRoster).
+
+ TelepathyQt4/Client/connection.cpp | 107 +++++++++++++++++++++++++++++++
+ TelepathyQt4/Client/connection.h | 4 +
+ TelepathyQt4/Client/contact-manager.cpp | 28 ++++++++
+ TelepathyQt4/Client/contact-manager.h | 43 ++++++++++++
+ 4 files changed, 182 insertions(+), 0 deletions(-)
+
+commit c6b4d4ee439d62371de6250f25cbb081b6a04dbf
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-24 13:54:22 -0300
+
+ Contact: Added qHash function for a contact QSharedPointer.
+
+ TelepathyQt4/Client/contact.h | 6 ++++++
+ 1 files changed, 6 insertions(+), 0 deletions(-)
+
+commit edc1b022efc62240405a1a47d4cca96e45e37a4b
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-03 15:22:20 +0000
+
+ Add contactlist example connection manager (unreviewed initial version) from telepathy-glib
+
+ configure.ac | 1 +
+ tests/lib/Makefile.am | 5 +-
+ tests/lib/contactlist/Makefile.am | 38 +
+ tests/lib/contactlist/conn.c | 591 ++++++++++
+ tests/lib/contactlist/conn.h | 65 ++
+ tests/lib/contactlist/connection-manager.c | 116 ++
+ tests/lib/contactlist/connection-manager.h | 62 +
+ tests/lib/contactlist/contact-list-manager.c | 1578 ++++++++++++++++++++++++++
+ tests/lib/contactlist/contact-list-manager.h | 107 ++
+ tests/lib/contactlist/contact-list.c | 632 +++++++++++
+ tests/lib/contactlist/contact-list.h | 118 ++
+ tests/lib/contactlist/manager-file.py | 19 +
+ 12 files changed, 3330 insertions(+), 2 deletions(-)
+
+commit 76bf1cccf70416d88d39202a03e725a4b6a2a639
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-03-03 15:21:49 +0000
+
+ Add manager-file.py (unreviewed initial version) from telepathy-glib
+
+ tools/Makefile.am | 1 +
+ tools/manager-file.py | 171 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 172 insertions(+), 0 deletions(-)
+
+commit 037e36da3122bde70a16f783abcb011ae9b164a8
+Merge: 02e1654... 0601a69...
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-03 11:36:11 -0300
+
+ Merge branch 'readiness'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit 0601a69b95fe49ba0f60dfc95af43f0087f57ab2
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-03 00:58:21 -0300
+
+ Removed PendingReadyAccount in favor of PendingReady.
+
+ TelepathyQt4/Client/PendingReadyAccount | 13 ---
+ TelepathyQt4/Client/pending-ready-account.cpp | 110 -------------------------
+ TelepathyQt4/Client/pending-ready-account.h | 62 --------------
+ TelepathyQt4/Makefile.am | 4 -
+ 4 files changed, 0 insertions(+), 189 deletions(-)
+
+commit 3570d3c3f96a8d7db2fe43c55db261023bb60646
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-03 01:28:59 -0300
+
+ Account: Moved updateProperties/retrieveAvatar to Private class.
+
+ TelepathyQt4/Client/account.cpp | 143 ++++++++++++++++++++-------------------
+ TelepathyQt4/Client/account.h | 3 -
+ 2 files changed, 73 insertions(+), 73 deletions(-)
+
+commit 6ed5f5e8e262c999b97cc434fbccf0f8a0db1f26
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-03 00:51:31 -0300
+
+ Account: Use ReadinessHelper class.
+
+ TelepathyQt4/Client/account.cpp | 313 ++++++++++++++----------------------
+ TelepathyQt4/Client/account.h | 21 +--
+ examples/accounts/account-item.cpp | 2 +-
+ tests/dbus/account-basics.cpp | 21 ++-
+ 4 files changed, 147 insertions(+), 210 deletions(-)
+
+commit 1505d1c1db49c1e1fed5002fb19e5172a95e3a02
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-02 23:43:34 -0300
+
+ Remove PendingReadyAccountManager in favor of PendingReady.
+
+ TelepathyQt4/Client/PendingReadyAccountManager | 13 ---
+ .../Client/pending-ready-account-manager.cpp | 111 --------------------
+ .../Client/pending-ready-account-manager.h | 62 -----------
+ TelepathyQt4/Makefile.am | 4 -
+ 4 files changed, 0 insertions(+), 190 deletions(-)
+
+commit e6fe2fa2841fadec36eb6df7bf4efaba40ca5125
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-02 23:40:38 -0300
+
+ AccountManager: Use ReadinessHelper class.
+
+ TelepathyQt4/Client/account-manager.cpp | 142 +++++++++++++------------------
+ TelepathyQt4/Client/account-manager.h | 14 ++--
+ examples/accounts/accounts-window.cpp | 2 +-
+ tests/dbus/account-basics.cpp | 2 +-
+ 4 files changed, 67 insertions(+), 93 deletions(-)
+
+commit 0465cc87ff27d5088da434c5923102c45a54ec50
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-02 23:40:08 -0300
+
+ Removed PendingReadyConnection in favor of PendingReady.
+
+ TelepathyQt4/Client/PendingReadyConnection | 13 ---
+ TelepathyQt4/Client/pending-ready-connection.cpp | 110 ----------------------
+ TelepathyQt4/Client/pending-ready-connection.h | 62 ------------
+ TelepathyQt4/Makefile.am | 4 -
+ 4 files changed, 0 insertions(+), 189 deletions(-)
+
+commit 474c8b3377616a6f9f84d212a9806fb841077d07
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-03 00:50:24 -0300
+
+ Connection: Fixed check for missing features.
+
+ TelepathyQt4/Client/connection.cpp | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+commit 7e2c2218021360ad9c7565aba7597e26e5362e38
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-03 00:57:56 -0300
+
+ ReadinessHelper: Proper return the proxy object on PendingReady::object().
+
+ TelepathyQt4/Client/readiness-helper.cpp | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+commit ba55c5d9de4793ba3dcc254cc2c5fcaf2c13e8de
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-02 22:07:34 -0300
+
+ Makefile.am: when creating FIXME.out, search TelepathyQt4/Client as well as TelepathyQt4/
+
+ Also search for cpp/hpp files.
+
+ Makefile.am | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 02e165450be83d662257e142dac8ff9319b13964
+Merge: 68eec1b... 349807c...
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-03 11:11:19 -0300
+
+ Merge branch 'trivia'
+
+ Reviewed-by: Simon McVittie (smcv) <simon.mcvittie@collabora.co.uk>
+
+commit 349807c2478684f1bfb0a6d6b90077ee13fcb418
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-03-02 22:07:34 -0300
+
+ Makefile.am: when creating FIXME.out, search TelepathyQt4/Client as well as TelepathyQt4/
+
+ Also search for cpp/hpp files.
+
+ Makefile.am | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+commit 1cae45445c61252bf8a4cc13c6153f850dbb03fe
+Author: Andre Moreira Magalhaes (andrunko) <andre.magalhaes@collabora.co.uk>
+Date: 2009-02-26 20:52:09 -0300
+
+ chan-basics test: don't assume that IDs will be in a particular order.
+
+ tests/dbus/chan-basics.cpp | 12 ++++++++----
+ 1 files changed, 8 insertions(+), 4 deletions(-)
+
+commit 68eec1b3824de65c68bae12ca05ad801ca92eabb
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-02-27 12:55:24 +0000
+
+ .gitignore: Ignore detached signatures
+
+ .gitignore | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 1bab8eb08bb2971fcf1a270cd309535e5318d2a4
+Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
+Date: 2009-02-27 12:54:59 +0000
+
+ Bump version to 0.1.0.1
+
+ NEWS | 5 +++++
+ configure.ac | 2 +-
+ 2 files changed, 6 insertions(+), 1 deletions(-)
+
commit 6d0c82fdc13dc11225e91ca27429cc9fcee01cf4
Author: Simon McVittie <simon.mcvittie@collabora.co.uk>
Date: 2009-02-26 17:18:56 +0000
diff --git a/Makefile.am b/Makefile.am
index e0171c4..e22794a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -13,7 +13,8 @@ CLEANFILES = FIXME.out
MOSTLYCLEANFILES = $(DX_CLEANFILES)
check-local::
- egrep -A 5 '[F]IXME|[T]ODO|[X]XX' $(srcdir)/TelepathyQt4/*.[ch] \
+ egrep -A 5 '[F]IXME|[T]ODO|[X]XX' $(srcdir)/TelepathyQt4/*.[ch]* \
+ $(srcdir)/TelepathyQt4/Client/*.[ch]* \
> FIXME.out || true
doc/html: doxygen-doc
diff --git a/Makefile.in b/Makefile.in
index e52fcae..7ba7b1d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -789,7 +789,8 @@ uninstall-info: uninstall-info-recursive
check-local::
- egrep -A 5 '[F]IXME|[T]ODO|[X]XX' $(srcdir)/TelepathyQt4/*.[ch] \
+ egrep -A 5 '[F]IXME|[T]ODO|[X]XX' $(srcdir)/TelepathyQt4/*.[ch]* \
+ $(srcdir)/TelepathyQt4/Client/*.[ch]* \
> FIXME.out || true
doc/html: doxygen-doc
diff --git a/NEWS b/NEWS
index cf53652..db42aad 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,45 @@
+telepathy-qt4 0.1.1 (2009-03-05)
+================================
+
+The "PresencePublicationAuthorizationRequestRejection" release.
+
+API changes:
+
+* PendingReadyAccount, PendingReadyAccountManager, PendingReadyConnection,
+ PendingReadyConnectionManager have all been replaced by the PendingReady
+ class
+
+* Account, AccountManager, Connection and ConnectionManager features are now
+ QSet<uint>, not bitfields
+
+* Plural contacts are generally represented by a QSet<QSharedPointer<Contact> >
+ instead of a QList<QSharedPointer<Contact> > (with a new typedef,
+ Telepathy::Client::Contacts, which must be used in signal/slot connections)
+
+Enhancements:
+
+* Added Connection::FeatureRoster, which, when enabled, adds contact list
+ (a.k.a. roster/buddy list) functionality to the ContactManager and
+ Contact objects
+
+* Improved maintainability of Account, AccountManager, Connection and
+ ConnectionManager becoming ready
+
+* A QSharedPointer<Contact> is now hashable with qHash, meaning contacts can
+ be QSet or QHash members
+
+* Added a trivial contact list user interface, examples/roster/roster
+
+Fixes:
+
+* The client library no longer attempts to enforce group add/remove flags:
+ whatever change the user requests is passed on to the connection manager
+ (which might reject it)
+
+* PendingReady objects returned by Connection::becomeReady() have the
+ Connection as parent, rather than an internal object that isn't useful
+ to library users
+
telepathy-qt4 0.1.0 (2009-02-26)
================================
diff --git a/TelepathyQt4/Client/PendingReadyAccount b/TelepathyQt4/Client/PendingReadyAccount
deleted file mode 100644
index 6ff95ca..0000000
--- a/TelepathyQt4/Client/PendingReadyAccount
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _TelepathyQt4_Client_PendingReadyAccount_HEADER_GUARD_
-#define _TelepathyQt4_Client_PendingReadyAccount_HEADER_GUARD_
-
-#ifndef IN_TELEPATHY_QT4_HEADER
-#define IN_TELEPATHY_QT4_HEADER
-#endif
-
-#include <TelepathyQt4/Client/pending-ready-account.h>
-
-#undef IN_TELEPATHY_QT4_HEADER
-
-#endif
-// vim:set ft=cpp:
diff --git a/TelepathyQt4/Client/PendingReadyAccountManager b/TelepathyQt4/Client/PendingReadyAccountManager
deleted file mode 100644
index e833ca1..0000000
--- a/TelepathyQt4/Client/PendingReadyAccountManager
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _TelepathyQt4_Client_PendingReadyAccountManager_HEADER_GUARD_
-#define _TelepathyQt4_Client_PendingReadyAccountManager_HEADER_GUARD_
-
-#ifndef IN_TELEPATHY_QT4_HEADER
-#define IN_TELEPATHY_QT4_HEADER
-#endif
-
-#include <TelepathyQt4/Client/pending-ready-account-manager.h>
-
-#undef IN_TELEPATHY_QT4_HEADER
-
-#endif
-// vim:set ft=cpp:
diff --git a/TelepathyQt4/Client/PendingReadyConnection b/TelepathyQt4/Client/PendingReadyConnection
deleted file mode 100644
index 219d1ed..0000000
--- a/TelepathyQt4/Client/PendingReadyConnection
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _TelepathyQt4_Client_PendingReadyConnection_HEADER_GUARD_
-#define _TelepathyQt4_Client_PendingReadyConnection_HEADER_GUARD_
-
-#ifndef IN_TELEPATHY_QT4_HEADER
-#define IN_TELEPATHY_QT4_HEADER
-#endif
-
-#include <TelepathyQt4/Client/pending-ready-connection.h>
-
-#undef IN_TELEPATHY_QT4_HEADER
-
-#endif
-// vim:set ft=cpp:
diff --git a/TelepathyQt4/Client/PendingReadyConnectionManager b/TelepathyQt4/Client/PendingReadyConnectionManager
deleted file mode 100644
index b1f7a39..0000000
--- a/TelepathyQt4/Client/PendingReadyConnectionManager
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _TelepathyQt4_Client_PendingReadyConnectionManager_HEADER_GUARD_
-#define _TelepathyQt4_Client_PendingReadyConnectionManager_HEADER_GUARD_
-
-#ifndef IN_TELEPATHY_QT4_HEADER
-#define IN_TELEPATHY_QT4_HEADER
-#endif
-
-#include <TelepathyQt4/Client/pending-ready-connection-manager.h>
-
-#undef IN_TELEPATHY_QT4_HEADER
-
-#endif
-// vim:set ft=cpp:
diff --git a/TelepathyQt4/Client/account-manager.cpp b/TelepathyQt4/Client/account-manager.cpp
index 31ecf89..01ff26e 100644
--- a/TelepathyQt4/Client/account-manager.cpp
+++ b/TelepathyQt4/Client/account-manager.cpp
@@ -29,7 +29,8 @@
#include <TelepathyQt4/Client/Account>
#include <TelepathyQt4/Client/PendingAccount>
-#include <TelepathyQt4/Client/PendingReadyAccountManager>
+#include <TelepathyQt4/Client/PendingReady>
+#include <TelepathyQt4/Client/ReadinessHelper>
#include <TelepathyQt4/Constants>
#include <QQueue>
@@ -65,27 +66,49 @@ struct AccountManager::Private
Private(AccountManager *parent);
~Private();
+ void init();
+
+ static void introspectMain(Private *self);
+
void setAccountPaths(QSet<QString> &set, const QVariant &variant);
+ // Public object
+ AccountManager *parent;
+
+ // Instance of generated interface class
AccountManagerInterface *baseInterface;
- bool ready;
- PendingReadyAccountManager *pendingReady;
- QQueue<void (AccountManager::*)()> introspectQueue;
+
+ ReadinessHelper *readinessHelper;
+
+ // Introspection
QStringList interfaces;
- AccountManager::Features features;
QSet<QString> validAccountPaths;
QSet<QString> invalidAccountPaths;
QMap<QString, QSharedPointer<Account> > accounts;
};
AccountManager::Private::Private(AccountManager *parent)
- : baseInterface(new AccountManagerInterface(parent->dbusConnection(),
- parent->busName(), parent->objectPath(), parent)),
- ready(false),
- pendingReady(0),
- features(0)
+ : parent(parent),
+ baseInterface(new AccountManagerInterface(parent->dbusConnection(),
+ parent->busName(), parent->objectPath(), parent))
{
debug() << "Creating new AccountManager:" << parent->busName();
+
+ QMap<uint, ReadinessHelper::Introspectable> introspectables;
+
+ // As AccountManager does not have predefined statuses let's simulate one (0)
+ ReadinessHelper::Introspectable introspectableCore(
+ QSet<uint>() << 0, // makesSenseForStatuses
+ QSet<uint>(), // dependsOnFeatures
+ QStringList(), // dependsOnInterfaces
+ (ReadinessHelper::IntrospectFunc) &Private::introspectMain,
+ this);
+ introspectables[FeatureCore] = introspectableCore;
+
+ readinessHelper = new ReadinessHelper(parent, 0 /* status */,
+ introspectables, parent);
+
+ init();
}
AccountManager::Private::~Private()
@@ -107,13 +130,13 @@ void AccountManager::Private::setAccountPaths(QSet<QString> &set,
if (wronglyTypedPaths.size() > 0) {
warning() << "AccountManager returned wrong type "
"(expected 'ao', got 'as'); working around it";
- Q_FOREACH (QString path, wronglyTypedPaths) {
+ foreach (QString path, wronglyTypedPaths) {
set << path;
}
}
}
else {
- Q_FOREACH (const QDBusObjectPath &path, paths) {
+ foreach (const QDBusObjectPath &path, paths) {
set << path.path();
}
}
@@ -139,9 +162,6 @@ AccountManager::AccountManager(QObject* parent)
OptionalInterfaceFactory<AccountManager>(this),
mPriv(new Private(this))
{
- if (isValid()) {
- init();
- }
}
/**
@@ -158,9 +178,6 @@ AccountManager::AccountManager(const QDBusConnection& bus,
OptionalInterfaceFactory<AccountManager>(this),
mPriv(new Private(this))
{
- if (isValid()) {
- init();
- }
}
/**
@@ -314,7 +331,7 @@ QSharedPointer<Account> AccountManager::accountForPath(const QString &path)
QList<QSharedPointer<Account> > AccountManager::accountsForPaths(const QStringList &paths)
{
QList<QSharedPointer<Account> > result;
- Q_FOREACH (const QString &path, paths) {
+ foreach (const QString &path, paths) {
result << accountForPath(path);
}
return result;
@@ -352,10 +369,9 @@ PendingAccount *AccountManager::createAccount(const QString &connectionManager,
* \return \c true if the object has finished its initial setup for basic
* functionality plus the given features
*/
-bool AccountManager::isReady(Features features) const
+bool AccountManager::isReady(const QSet<uint> &features) const
{
- return mPriv->ready
- && ((mPriv->features & features) == features);
+ return mPriv->readinessHelper->isReady(features);
}
/**
@@ -363,41 +379,32 @@ bool AccountManager::isReady(Features features) const
* its initial setup, or will fail if a fatal error occurs during this
* initial setup.
*
+ * If an empty set is used FeatureCore will be considered as the requested
+ * feature.
+ *
* \param requestedFeatures The features which should be enabled
- * \return A PendingReadyAccountManager object which will emit finished
+ * \return A PendingReady object which will emit finished
* when this object has finished or failed initial setup for basic
* functionality plus the given features
*/
-PendingReadyAccountManager *AccountManager::becomeReady(Features requestedFeatures)
+PendingReady *AccountManager::becomeReady(const QSet<uint> &requestedFeatures)
{
- if (!isValid()) {
- PendingReadyAccountManager *operation =
- new PendingReadyAccountManager(requestedFeatures, this);
- operation->setFinishedWithError(TELEPATHY_ERROR_NOT_AVAILABLE,
- "AccountManager is invalid");
- return operation;
- }
+ return mPriv->readinessHelper->becomeReady(requestedFeatures);
+}
- if (isReady(requestedFeatures)) {
- PendingReadyAccountManager *operation =
- new PendingReadyAccountManager(requestedFeatures, this);
- operation->setFinished();
- return operation;
- }
+QSet<uint> AccountManager::requestedFeatures() const
+{
+ return mPriv->readinessHelper->requestedFeatures();
+}
- if (requestedFeatures != 0) {
- PendingReadyAccountManager *operation =
- new PendingReadyAccountManager(requestedFeatures, this);
- operation->setFinishedWithError(TELEPATHY_ERROR_INVALID_ARGUMENT,
- "Invalid features argument");
- return operation;
- }
+QSet<uint> AccountManager::actualFeatures() const
+{
+ return mPriv->readinessHelper->actualFeatures();
+}
- if (!mPriv->pendingReady) {
- mPriv->pendingReady =
- new PendingReadyAccountManager(requestedFeatures, this);
- }
- return mPriv->pendingReady;
+QSet<uint> AccountManager::missingFeatures() const
+{
+ return mPriv->readinessHelper->missingFeatures();
}
/**
@@ -414,33 +421,36 @@ AccountManagerInterface *AccountManager::baseInterface() const
return mPriv->baseInterface;
}
-void AccountManager::init()
+/**** Private ****/
+void AccountManager::Private::init()
{
- connect(mPriv->baseInterface,
+ if (!parent->isValid()) {
+ return;
+ }
+
+ parent->connect(baseInterface,
SIGNAL(AccountValidityChanged(const QDBusObjectPath &, bool)),
SLOT(onAccountValidityChanged(const QDBusObjectPath &, bool)));
- connect(mPriv->baseInterface,
+ parent->connect(baseInterface,
SIGNAL(AccountRemoved(const QDBusObjectPath &)),
SLOT(onAccountRemoved(const QDBusObjectPath &)));
-
- mPriv->introspectQueue.enqueue(&AccountManager::callGetAll);
- QTimer::singleShot(0, this, SLOT(continueIntrospection()));
}
-/**** Private ****/
-void AccountManager::callGetAll()
+void AccountManager::Private::introspectMain(AccountManager::Private *self)
{
+ DBus::PropertiesInterface *properties = self->parent->propertiesInterface();
+ Q_ASSERT(properties != 0);
+
debug() << "Calling Properties::GetAll(AccountManager)";
QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(
- propertiesInterface()->GetAll(
- TELEPATHY_INTERFACE_ACCOUNT_MANAGER), this);
- connect(watcher,
+ properties->GetAll(
+ TELEPATHY_INTERFACE_ACCOUNT_MANAGER), self->parent);
+ self->parent->connect(watcher,
SIGNAL(finished(QDBusPendingCallWatcher *)),
- SLOT(onGetAllAccountManagerReturn(QDBusPendingCallWatcher *)));
+ SLOT(gotMainProperties(QDBusPendingCallWatcher *)));
}
-void AccountManager::onGetAllAccountManagerReturn(
- QDBusPendingCallWatcher *watcher)
+void AccountManager::gotMainProperties(QDBusPendingCallWatcher *watcher)
{
QDBusPendingReply<QVariantMap> reply = *watcher;
QVariantMap props;
@@ -466,7 +476,7 @@ void AccountManager::onGetAllAccountManagerReturn(
reply.error().name() << ": " << reply.error().message();
}
- continueIntrospection();
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureCore, true);
watcher->deleteLater();
}
@@ -494,15 +504,15 @@ void AccountManager::onAccountValidityChanged(const QDBusObjectPath &objectPath,
}
if (newAccount) {
- Q_EMIT accountCreated(path);
+ emit accountCreated(path);
// if the newly created account is invalid (shouldn't be the case)
// emit also accountValidityChanged indicating this
if (!nowValid) {
- Q_EMIT accountValidityChanged(path, nowValid);
+ emit accountValidityChanged(path, nowValid);
}
}
else {
- Q_EMIT accountValidityChanged(path, nowValid);
+ emit accountValidityChanged(path, nowValid);
}
}
@@ -516,26 +526,7 @@ void AccountManager::onAccountRemoved(const QDBusObjectPath &objectPath)
if (mPriv->accounts.contains(path)) {
mPriv->accounts.remove(path);
}
- Q_EMIT accountRemoved(path);
-}
-
-void AccountManager::continueIntrospection()
-{
- if (!mPriv->ready) {
- if (mPriv->introspectQueue.isEmpty()) {
- debug() << "AccountManager is ready";
- mPriv->ready = true;
-
- if (mPriv->pendingReady) {
- mPriv->pendingReady->setFinished();
- // it will delete itself later
- mPriv->pendingReady = 0;
- }
- }
- else {
- (this->*(mPriv->introspectQueue.dequeue()))();
- }
- }
+ emit accountRemoved(path);
}
} // Telepathy::Client
diff --git a/TelepathyQt4/Client/account-manager.h b/TelepathyQt4/Client/account-manager.h
index 42ed0ca..2717d03 100644
--- a/TelepathyQt4/Client/account-manager.h
+++ b/TelepathyQt4/Client/account-manager.h
@@ -33,6 +33,7 @@
#include <TelepathyQt4/Client/OptionalInterfaceFactory>
#include <QDBusObjectPath>
+#include <QSet>
#include <QSharedPointer>
#include <QString>
#include <QVariantMap>
@@ -45,7 +46,7 @@ namespace Client
class Account;
class AccountManager;
class PendingAccount;
-class PendingReadyAccountManager;
+class PendingReady;
class AccountManager : public StatelessDBusProxy,
private OptionalInterfaceFactory<AccountManager>
@@ -55,6 +56,7 @@ class AccountManager : public StatelessDBusProxy,
public:
enum Feature {
+ FeatureCore = 0,
_Padding = 0xFFFFFFFF
};
Q_DECLARE_FLAGS(Features, Feature)
@@ -88,9 +90,13 @@ public:
// TODO: enabledAccounts(), accountsByProtocol(), ... ?
- bool isReady(Features features = 0) const;
+ bool isReady(const QSet<uint> &features = QSet<uint>()) const;
- PendingReadyAccountManager *becomeReady(Features features = 0);
+ PendingReady *becomeReady(const QSet<uint> &requestedFeatures = QSet<uint>());
+
+ QSet<uint> requestedFeatures() const;
+ QSet<uint> actualFeatures() const;
+ QSet<uint> missingFeatures() const;
Q_SIGNALS:
void accountCreated(const QString &path);
@@ -101,15 +107,11 @@ protected:
AccountManagerInterface *baseInterface() const;
private Q_SLOTS:
- void onGetAllAccountManagerReturn(QDBusPendingCallWatcher *);
+ void gotMainProperties(QDBusPendingCallWatcher *);
void onAccountValidityChanged(const QDBusObjectPath &, bool);
void onAccountRemoved(const QDBusObjectPath &);
- void continueIntrospection();
private:
- void init();
- void callGetAll();
-
struct Private;
friend struct Private;
friend class PendingAccount;
diff --git a/TelepathyQt4/Client/account.cpp b/TelepathyQt4/Client/account.cpp
index 0167d26..496f3e2 100644
--- a/TelepathyQt4/Client/account.cpp
+++ b/TelepathyQt4/Client/account.cpp
@@ -31,9 +31,9 @@
#include <TelepathyQt4/Client/Connection>
#include <TelepathyQt4/Client/ConnectionManager>
#include <TelepathyQt4/Client/PendingFailure>
-#include <TelepathyQt4/Client/PendingReadyAccount>
-#include <TelepathyQt4/Client/PendingReadyConnectionManager>
+#include <TelepathyQt4/Client/PendingReady>
#include <TelepathyQt4/Client/PendingVoidMethodCall>
+#include <TelepathyQt4/Client/ReadinessHelper>
#include <TelepathyQt4/Constants>
#include <TelepathyQt4/Debug>
@@ -59,18 +59,29 @@ namespace Client
struct Account::Private
{
- Private(AccountManager *am, Account *parent);
+ Private(Account *parent, AccountManager *am);
~Private();
+ void init();
+
+ static void introspectMain(Private *self);
+ static void introspectAvatar(Private *self);
+ static void introspectProtocolInfo(Private *self);
+
+ void updateProperties(const QVariantMap &props);
+ void retrieveAvatar();
+
+ // Public object
+ Account *parent;
AccountManager *am;
+
+ // Instance of generated interface class
AccountInterface *baseInterface;
- bool ready;
- QList<PendingReadyAccount *> pendingOperations;
- QQueue<void (Account::*)()> introspectQueue;
+
+ ReadinessHelper *readinessHelper;
+
+ // Introspection
QStringList interfaces;
- Account::Features features;
- Account::Features pendingFeatures;
- Account::Features missingFeatures;
QVariantMap parameters;
bool valid;
bool enabled;
@@ -93,14 +104,11 @@ struct Account::Private
QSharedPointer<Connection> connection;
};
-Account::Private::Private(AccountManager *am, Account *parent)
- : am(am),
+Account::Private::Private(Account *parent, AccountManager *am)
+ : parent(parent),
+ am(am),
baseInterface(new AccountInterface(parent->dbusConnection(),
- parent->busName(), parent->objectPath(), parent)),
- ready(false),
- features(0),
- pendingFeatures(0),
- missingFeatures(0),
+ parent->busName(), parent->objectPath(), parent)),
valid(false),
enabled(false),
connectsAutomatically(false),
@@ -137,12 +145,42 @@ Account::Private::Private(AccountManager *am, Account *parent)
parent->objectPath();
}
}
+
+ QMap<uint, ReadinessHelper::Introspectable> introspectables;
+
+ // As Account does not have predefined statuses let's simulate one (0)
+ ReadinessHelper::Introspectable introspectableCore(
+ QSet<uint>() << 0, // makesSenseForStatuses
+ QSet<uint>(), // dependsOnFeatures
+ QStringList(), // dependsOnInterfaces
+ (ReadinessHelper::IntrospectFunc) &Private::introspectMain,
+ this);
+ introspectables[FeatureCore] = introspectableCore;
+
+ ReadinessHelper::Introspectable introspectableAvatar(
+ QSet<uint>() << 0, // makesSenseForStatuses
+ QSet<uint>() << FeatureCore, // dependsOnFeatures (core)
+ QStringList() << TELEPATHY_INTERFACE_ACCOUNT_INTERFACE_AVATAR, // dependsOnInterfaces
+ (ReadinessHelper::IntrospectFunc) &Private::introspectAvatar,
+ this);
+ introspectables[FeatureAvatar] = introspectableAvatar;
+
+ ReadinessHelper::Introspectable introspectableProtocolInfo(
+ QSet<uint>() << 0, // makesSenseForStatuses
+ QSet<uint>() << FeatureCore, // dependsOnFeatures (core)
+ QStringList(), // dependsOnInterfaces
+ (ReadinessHelper::IntrospectFunc) &Private::introspectProtocolInfo,
+ this);
+ introspectables[FeatureProtocolInfo] = introspectableProtocolInfo;
+
+ readinessHelper = new ReadinessHelper(parent, 0 /* status */,
+ introspectables, parent);
+
+ init();
}
Account::Private::~Private()
{
- delete baseInterface;
- delete cm;
}
/**
@@ -169,19 +207,8 @@ Account::Account(AccountManager *am, const QString &objectPath,
: StatelessDBusProxy(am->dbusConnection(),
am->busName(), objectPath, parent),
OptionalInterfaceFactory<Account>(this),
- mPriv(new Private(am, this))
+ mPriv(new Private(this, am))
{
- if (isValid()) {
- connect(mPriv->baseInterface,
- SIGNAL(Removed()),
- SLOT(onRemoved()));
- connect(mPriv->baseInterface,
- SIGNAL(AccountPropertyChanged(const QVariantMap &)),
- SLOT(onPropertyChanged(const QVariantMap &)));
-
- mPriv->introspectQueue.enqueue(&Account::callGetAll);
- QTimer::singleShot(0, this, SLOT(continueIntrospection()));
- }
}
/**
@@ -347,14 +374,12 @@ PendingOperation *Account::setNickname(const QString &value)
*/
const Telepathy::Avatar &Account::avatar() const
{
- if (mPriv->missingFeatures & FeatureAvatar) {
+ if (!isReady(QSet<uint>() << FeatureAvatar)) {
warning() << "Trying to retrieve avatar from account, but "
- "avatar is not supported";
- }
- else if (!(mPriv->features & FeatureAvatar)) {
- warning() << "Trying to retrieve avatar from account without "
- "calling Account::becomeReady(FeatureAvatar)";
+ "avatar is not supported or was not requested. "
+ "Use becomeReady(FeatureAvatar)";
}
+
return mPriv->avatar;
}
@@ -367,9 +392,9 @@ const Telepathy::Avatar &Account::avatar() const
*/
PendingOperation *Account::setAvatar(const Telepathy::Avatar &avatar)
{
- if (!avatarInterface()) {
+ if (!mPriv->interfaces.contains(TELEPATHY_INTERFACE_ACCOUNT_INTERFACE_AVATAR)) {
return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
- "Unimplemented");
+ "Account does not support Avatar");
}
return new PendingVoidMethodCall(this,
@@ -414,10 +439,12 @@ PendingOperation *Account::updateParameters(const QVariantMap &set,
*/
ProtocolInfo *Account::protocolInfo() const
{
- if (!mPriv->features & FeatureProtocolInfo) {
- warning() << "Trying to retrieve protocol info from account without"
- "calling Account::becomeReady(FeatureProtocolInfo)";
+ if (!isReady(QSet<uint>() << FeatureProtocolInfo)) {
+ warning() << "Trying to retrieve protocol info from account, but "
+ "protocol info is not supported or was not requested. "
+ "Use becomeReady(FeatureProtocolInfo)";
}
+
return mPriv->protocolInfo;
}
@@ -624,10 +651,9 @@ PendingOperation *Account::remove()
* \return \c true if the object has finished its initial setup for basic
* functionality plus the given features
*/
-bool Account::isReady(Features features) const
+bool Account::isReady(const QSet<uint> &features) const
{
- return mPriv->ready
- && ((mPriv->features & features) == features);
+ return mPriv->readinessHelper->isReady(features);
}
/**
@@ -635,84 +661,31 @@ bool Account::isReady(Features features) const
* its initial setup, or will fail if a fatal error occurs during this
* initial setup.
*
+ * If an empty set is used FeatureCore will be considered as the requested
+ * feature.
+ *
* \param requestedFeatures The features which should be enabled.
- * \return A PendingReadyAccount object which will emit finished
+ * \return A PendingReady object which will emit finished
* when this object has finished or failed its initial setup.
*/
-PendingReadyAccount *Account::becomeReady(Features requestedFeatures)
+PendingReady *Account::becomeReady(const QSet<uint> &requestedFeatures)
{
- if (!isValid()) {
- PendingReadyAccount *operation =
- new PendingReadyAccount(requestedFeatures, this);
- operation->setFinishedWithError(TELEPATHY_ERROR_NOT_AVAILABLE,
- "Account is invalid");
- return operation;
- }
-
- if (isReady(requestedFeatures)) {
- PendingReadyAccount *operation =
- new PendingReadyAccount(requestedFeatures, this);
- operation->setFinished();
- return operation;
- }
-
- debug() << "calling becomeReady with requested features:"
- << requestedFeatures;
- foreach (PendingReadyAccount *operation, mPriv->pendingOperations) {
- if (operation->requestedFeatures() == requestedFeatures) {
- debug() << "returning cached pending operation";
- return operation;
- }
- }
-
- if (requestedFeatures & FeatureAvatar) {
- // if the only feature requested is avatar and avatar is know to not be
- // supported, just finish silently
- if (requestedFeatures == FeatureAvatar &&
- mPriv->missingFeatures & FeatureAvatar) {
- PendingReadyAccount *operation =
- new PendingReadyAccount(requestedFeatures, this);
- operation->setFinished();
- return operation;
- }
-
- // if we know that avatar is not supported, no need to
- // queue the call to get avatar
- if (!(mPriv->missingFeatures & FeatureAvatar) &&
- !(mPriv->features & FeatureAvatar) &&
- !(mPriv->pendingFeatures & FeatureAvatar)) {
- mPriv->introspectQueue.enqueue(&Account::callGetAvatar);
- }
- }
-
- if (requestedFeatures & FeatureProtocolInfo) {
- // the user asked for protocol info
- // but we already know that protocol info is not supported, so
- // fail directly
- if (mPriv->missingFeatures & FeatureProtocolInfo) {
- PendingReadyAccount *operation =
- new PendingReadyAccount(requestedFeatures, this);
- operation->setFinishedWithError(TELEPATHY_ERROR_NOT_IMPLEMENTED,
- QString("ProtocolInfo not found for protocol %1 on CM %2")
- .arg(mPriv->protocol).arg(mPriv->cmName));
- return operation;
- }
-
- if (!(mPriv->features & FeatureProtocolInfo) &&
- !(mPriv->pendingFeatures & FeatureProtocolInfo)) {
- mPriv->introspectQueue.enqueue(&Account::callGetProtocolInfo);
- }
- }
+ return mPriv->readinessHelper->becomeReady(requestedFeatures);
+}
- mPriv->pendingFeatures |= requestedFeatures;
+QSet<uint> Account::requestedFeatures() const
+{
+ return mPriv->readinessHelper->requestedFeatures();
+}
- QTimer::singleShot(0, this, SLOT(continueIntrospection()));
+QSet<uint> Account::actualFeatures() const
+{
+ return mPriv->readinessHelper->actualFeatures();
+}
- debug() << "Creating new pending operation";
- PendingReadyAccount *operation =
- new PendingReadyAccount(requestedFeatures, this);
- mPriv->pendingOperations.append(operation);
- return operation;
+QSet<uint> Account::missingFeatures() const
+{
+ return mPriv->readinessHelper->missingFeatures();
}
QStringList Account::interfaces() const
@@ -778,152 +751,159 @@ AccountInterface *Account::baseInterface() const
}
/**** Private ****/
-void Account::checkForAvatarInterface()
+void Account::Private::init()
{
- AccountInterfaceAvatarInterface *iface = avatarInterface();
- if (!iface) {
- debug() << "Avatar interface is not support for account" << objectPath();
- // add it to missing features so we don't try to retrieve the avatar
- mPriv->missingFeatures |= Account::FeatureAvatar;
+ if (!parent->isValid()) {
+ return;
}
+
+ parent->connect(baseInterface,
+ SIGNAL(Removed()),
+ SLOT(onRemoved()));
+ parent->connect(baseInterface,
+ SIGNAL(AccountPropertyChanged(const QVariantMap &)),
+ SLOT(onPropertyChanged(const QVariantMap &)));
}
-void Account::callGetAll()
+void Account::Private::introspectMain(Account::Private *self)
{
+ DBus::PropertiesInterface *properties = self->parent->propertiesInterface();
+ Q_ASSERT(properties != 0);
+
debug() << "Calling Properties::GetAll(Account)";
QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(
- propertiesInterface()->GetAll(
- TELEPATHY_INTERFACE_ACCOUNT), this);
- connect(watcher,
+ properties->GetAll(
+ TELEPATHY_INTERFACE_ACCOUNT), self->parent);
+ self->parent->connect(watcher,
SIGNAL(finished(QDBusPendingCallWatcher *)),
- SLOT(onGetAllAccountReturn(QDBusPendingCallWatcher *)));
+ SLOT(gotMainProperties(QDBusPendingCallWatcher *)));
}
-void Account::callGetAvatar()
+void Account::Private::introspectAvatar(Account::Private *self)
{
debug() << "Calling GetAvatar(Account)";
// we already checked if avatar interface exists, so bypass avatar interface
// checking
AccountInterfaceAvatarInterface *iface =
- avatarInterface(BypassInterfaceCheck);
+ self->parent->avatarInterface(BypassInterfaceCheck);
// If we are here it means the user cares about avatar, so
// connect to avatar changed signal, so we update the avatar
// when it changes.
- connect(iface,
+ self->parent->connect(iface,
SIGNAL(AvatarChanged()),
SLOT(onAvatarChanged()));
- retrieveAvatar();
+ self->retrieveAvatar();
}
-void Account::callGetProtocolInfo()
+void Account::Private::introspectProtocolInfo(Account::Private *self)
{
- mPriv->cm = new ConnectionManager(
- dbusConnection(),
- mPriv->cmName, this);
- connect(mPriv->cm->becomeReady(),
+ Q_ASSERT(self->cm == 0);
+
+ self->cm = new ConnectionManager(
+ self->parent->dbusConnection(),
+ self->cmName, self->parent);
+ self->parent->connect(self->cm->becomeReady(),
SIGNAL(finished(Telepathy::Client::PendingOperation *)),
SLOT(onConnectionManagerReady(Telepathy::Client::PendingOperation *)));
}
-void Account::updateProperties(const QVariantMap &props)
+void Account::Private::updateProperties(const QVariantMap &props)
{
debug() << "Account::updateProperties: changed:";
if (props.contains("Interfaces")) {
- mPriv->interfaces = qdbus_cast<QStringList>(props["Interfaces"]);
- debug() << " Interfaces:" << mPriv->interfaces;
-
- checkForAvatarInterface();
+ interfaces = qdbus_cast<QStringList>(props["Interfaces"]);
+ debug() << " Interfaces:" << interfaces;
}
if (props.contains("DisplayName") &&
- mPriv->displayName != qdbus_cast<QString>(props["DisplayName"])) {
- mPriv->displayName = qdbus_cast<QString>(props["DisplayName"]);
- debug() << " Display Name:" << mPriv->displayName;
- emit displayNameChanged(mPriv->displayName);
+ displayName != qdbus_cast<QString>(props["DisplayName"])) {
+ displayName = qdbus_cast<QString>(props["DisplayName"]);
+ debug() << " Display Name:" << displayName;
+ emit parent->displayNameChanged(displayName);
}
if (props.contains("Icon") &&
- mPriv->icon != qdbus_cast<QString>(props["Icon"])) {
- mPriv->icon = qdbus_cast<QString>(props["Icon"]);
- debug() << " Icon:" << mPriv->icon;
- emit iconChanged(mPriv->icon);
+ icon != qdbus_cast<QString>(props["Icon"])) {
+ icon = qdbus_cast<QString>(props["Icon"]);
+ debug() << " Icon:" << icon;
+ emit parent->iconChanged(icon);
}
if (props.contains("Nickname") &&
- mPriv->nickname != qdbus_cast<QString>(props["Nickname"])) {
- mPriv->nickname = qdbus_cast<QString>(props["Nickname"]);
- debug() << " Nickname:" << mPriv->nickname;
- emit nicknameChanged(mPriv->nickname);
+ nickname != qdbus_cast<QString>(props["Nickname"])) {
+ nickname = qdbus_cast<QString>(props["Nickname"]);
+ debug() << " Nickname:" << nickname;
+ emit parent->nicknameChanged(nickname);
}
if (props.contains("NormalizedName") &&
- mPriv->normalizedName != qdbus_cast<QString>(props["NormalizedName"])) {
- mPriv->normalizedName = qdbus_cast<QString>(props["NormalizedName"]);
- debug() << " Normalized Name:" << mPriv->normalizedName;
- emit normalizedNameChanged(mPriv->normalizedName);
+ normalizedName != qdbus_cast<QString>(props["NormalizedName"])) {
+ normalizedName = qdbus_cast<QString>(props["NormalizedName"]);
+ debug() << " Normalized Name:" << normalizedName;
+ emit parent->normalizedNameChanged(normalizedName);
}
if (props.contains("Valid") &&
- mPriv->valid != qdbus_cast<bool>(props["Valid"])) {
- mPriv->valid = qdbus_cast<bool>(props["Valid"]);
- debug() << " Valid:" << (mPriv->valid ? "true" : "false");
- emit validityChanged(mPriv->valid);
+ valid != qdbus_cast<bool>(props["Valid"])) {
+ valid = qdbus_cast<bool>(props["Valid"]);
+ debug() << " Valid:" << (valid ? "true" : "false");
+ emit parent->validityChanged(valid);
}
if (props.contains("Enabled") &&
- mPriv->enabled != qdbus_cast<bool>(props["Enabled"])) {
- mPriv->enabled = qdbus_cast<bool>(props["Enabled"]);
- debug() << " Enabled:" << (mPriv->enabled ? "true" : "false");
- emit stateChanged(mPriv->enabled);
+ enabled != qdbus_cast<bool>(props["Enabled"])) {
+ enabled = qdbus_cast<bool>(props["Enabled"]);
+ debug() << " Enabled:" << (enabled ? "true" : "false");
+ emit parent->stateChanged(enabled);
}
if (props.contains("ConnectAutomatically") &&
- mPriv->connectsAutomatically !=
+ connectsAutomatically !=
qdbus_cast<bool>(props["ConnectAutomatically"])) {
- mPriv->connectsAutomatically =
+ connectsAutomatically =
qdbus_cast<bool>(props["ConnectAutomatically"]);
- debug() << " Connects Automatically:" << (mPriv->enabled ? "true" : "false");
- emit connectsAutomaticallyPropertyChanged(mPriv->connectsAutomatically);
+ debug() << " Connects Automatically:" << (enabled ? "true" : "false");
+ emit parent->connectsAutomaticallyPropertyChanged(connectsAutomatically);
}
if (props.contains("Parameters") &&
- mPriv->parameters != qdbus_cast<QVariantMap>(props["Parameters"])) {
- mPriv->parameters = qdbus_cast<QVariantMap>(props["Parameters"]);
- debug() << " Parameters:" << mPriv->parameters;
- emit parametersChanged(mPriv->parameters);
+ parameters != qdbus_cast<QVariantMap>(props["Parameters"])) {
+ parameters = qdbus_cast<QVariantMap>(props["Parameters"]);
+ debug() << " Parameters:" << parameters;
+ emit parent->parametersChanged(parameters);
}
if (props.contains("AutomaticPresence") &&
- mPriv->automaticPresence != qdbus_cast<Telepathy::SimplePresence>(
+ automaticPresence != qdbus_cast<Telepathy::SimplePresence>(
props["AutomaticPresence"])) {
- mPriv->automaticPresence = qdbus_cast<Telepathy::SimplePresence>(
+ automaticPresence = qdbus_cast<Telepathy::SimplePresence>(
props["AutomaticPresence"]);
- debug() << " Automatic Presence:" << mPriv->automaticPresence.type <<
- "-" << mPriv->automaticPresence.status;
- emit automaticPresenceChanged(mPriv->automaticPresence);
+ debug() << " Automatic Presence:" << automaticPresence.type <<
+ "-" << automaticPresence.status;
+ emit parent->automaticPresenceChanged(automaticPresence);
}
if (props.contains("CurrentPresence") &&
- mPriv->currentPresence != qdbus_cast<Telepathy::SimplePresence>(
+ currentPresence != qdbus_cast<Telepathy::SimplePresence>(
props["CurrentPresence"])) {
- mPriv->currentPresence = qdbus_cast<Telepathy::SimplePresence>(
+ currentPresence = qdbus_cast<Telepathy::SimplePresence>(
props["CurrentPresence"]);
- debug() << " Current Presence:" << mPriv->currentPresence.type <<
- "-" << mPriv->currentPresence.status;
- emit currentPresenceChanged(mPriv->currentPresence);
+ debug() << " Current Presence:" << currentPresence.type <<
+ "-" << currentPresence.status;
+ emit parent->currentPresenceChanged(currentPresence);
}
if (props.contains("RequestedPresence") &&
- mPriv->requestedPresence != qdbus_cast<Telepathy::SimplePresence>(
+ requestedPresence != qdbus_cast<Telepathy::SimplePresence>(
props["RequestedPresence"])) {
- mPriv->requestedPresence = qdbus_cast<Telepathy::SimplePresence>(
+ requestedPresence = qdbus_cast<Telepathy::SimplePresence>(
props["RequestedPresence"]);
- debug() << " Requested Presence:" << mPriv->requestedPresence.type <<
- "-" << mPriv->requestedPresence.status;
- emit requestedPresenceChanged(mPriv->requestedPresence);
+ debug() << " Requested Presence:" << requestedPresence.type <<
+ "-" << requestedPresence.status;
+ emit parent->requestedPresenceChanged(requestedPresence);
}
if (props.contains("Connection")) {
@@ -939,10 +919,10 @@ void Account::updateProperties(const QVariantMap &props)
path = QString();
}
- if (mPriv->connectionObjectPath != path) {
- mPriv->connection.clear();
- mPriv->connectionObjectPath = path;
- emit haveConnectionChanged(!path.isEmpty());
+ if (connectionObjectPath != path) {
+ connection.clear();
+ connectionObjectPath = path;
+ emit parent->haveConnectionChanged(!path.isEmpty());
}
}
@@ -950,93 +930,97 @@ void Account::updateProperties(const QVariantMap &props)
bool changed = false;
if (props.contains("ConnectionStatus") &&
- mPriv->connectionStatus != Telepathy::ConnectionStatus(
+ connectionStatus != Telepathy::ConnectionStatus(
qdbus_cast<uint>(props["ConnectionStatus"]))) {
- mPriv->connectionStatus = Telepathy::ConnectionStatus(
+ connectionStatus = Telepathy::ConnectionStatus(
qdbus_cast<uint>(props["ConnectionStatus"]));
- debug() << " Connection Status:" << mPriv->connectionStatus;
+ debug() << " Connection Status:" << connectionStatus;
changed = true;
}
if (props.contains("ConnectionStatusReason") &&
- mPriv->connectionStatusReason != Telepathy::ConnectionStatusReason(
+ connectionStatusReason != Telepathy::ConnectionStatusReason(
qdbus_cast<uint>(props["ConnectionStatusReason"]))) {
- mPriv->connectionStatusReason = Telepathy::ConnectionStatusReason(
+ connectionStatusReason = Telepathy::ConnectionStatusReason(
qdbus_cast<uint>(props["ConnectionStatusReason"]));
- debug() << " Connection StatusReason:" << mPriv->connectionStatusReason;
+ debug() << " Connection StatusReason:" << connectionStatusReason;
changed = true;
}
if (changed) {
- emit connectionStatusChanged(
- mPriv->connectionStatus, mPriv->connectionStatusReason);
+ emit parent->connectionStatusChanged(
+ connectionStatus, connectionStatusReason);
}
}
}
-void Account::retrieveAvatar()
+void Account::Private::retrieveAvatar()
{
QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(
- propertiesInterface()->Get(
+ parent->propertiesInterface()->Get(
TELEPATHY_INTERFACE_ACCOUNT_INTERFACE_AVATAR,
- "Avatar"), this);
- connect(watcher,
+ "Avatar"), parent);
+ parent->connect(watcher,
SIGNAL(finished(QDBusPendingCallWatcher *)),
- SLOT(onGetAvatarReturn(QDBusPendingCallWatcher *)));
+ SLOT(gotAvatar(QDBusPendingCallWatcher *)));
}
-void Account::onGetAllAccountReturn(QDBusPendingCallWatcher *watcher)
+void Account::gotMainProperties(QDBusPendingCallWatcher *watcher)
{
QDBusPendingReply<QVariantMap> reply = *watcher;
if (!reply.isError()) {
debug() << "Got reply to Properties.GetAll(Account)";
- updateProperties(reply.value());
+ mPriv->updateProperties(reply.value());
+
+ mPriv->readinessHelper->setInterfaces(mPriv->interfaces);
+
debug() << "Account basic functionality is ready";
- mPriv->ready = true;
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureCore, true);
} else {
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureCore, false);
+
warning().nospace() <<
"GetAll(Account) failed: " <<
reply.error().name() << ": " << reply.error().message();
}
- continueIntrospection();
-
watcher->deleteLater();
}
-void Account::onGetAvatarReturn(QDBusPendingCallWatcher *watcher)
+void Account::gotAvatar(QDBusPendingCallWatcher *watcher)
{
QDBusPendingReply<QVariant> reply = *watcher;
- mPriv->pendingFeatures &= ~(Account::FeatureAvatar);
-
if (!reply.isError()) {
- mPriv->features |= Account::FeatureAvatar;
-
debug() << "Got reply to GetAvatar(Account)";
mPriv->avatar = qdbus_cast<Telepathy::Avatar>(reply);
+ // first time
+ if (!mPriv->readinessHelper->actualFeatures().contains(FeatureAvatar)) {
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureAvatar, true);
+ }
+
emit avatarChanged(mPriv->avatar);
} else {
- // add it to missing features so we don't try to retrieve the avatar
- // again
- mPriv->missingFeatures |= Account::FeatureAvatar;
+ // check if the feature is already there, and for some reason retrieveAvatar
+ // failed when called the second time
+ if (!mPriv->readinessHelper->missingFeatures().contains(FeatureAvatar)) {
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureAvatar, false);
+ }
warning().nospace() <<
"GetAvatar(Account) failed: " <<
reply.error().name() << ": " << reply.error().message();
}
- continueIntrospection();
-
watcher->deleteLater();
}
void Account::onAvatarChanged()
{
debug() << "Avatar changed, retrieving it";
- retrieveAvatar();
+ mPriv->retrieveAvatar();
}
void Account::onConnectionManagerReady(PendingOperation *operation)
@@ -1053,36 +1037,21 @@ void Account::onConnectionManagerReady(PendingOperation *operation)
error = (mPriv->protocolInfo == 0);
}
- mPriv->pendingFeatures &= ~(Account::FeatureProtocolInfo);
-
if (!error) {
- mPriv->features |= Account::FeatureProtocolInfo;
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureProtocolInfo, true);
}
else {
- mPriv->missingFeatures |= Account::FeatureProtocolInfo;
-
- // signal all pending operations that cares about protocol info that
- // it failed, as FeatureProtocolInfo is mandatory
- foreach (PendingReadyAccount *operation, mPriv->pendingOperations) {
- if (operation->requestedFeatures() & FeatureProtocolInfo) {
- operation->setFinishedWithError(operation->errorName(),
- operation->errorMessage());
- mPriv->pendingOperations.removeOne(operation);
- }
- }
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureProtocolInfo, false);
}
-
- continueIntrospection();
}
void Account::onPropertyChanged(const QVariantMap &delta)
{
- updateProperties(delta);
+ mPriv->updateProperties(delta);
}
void Account::onRemoved()
{
- mPriv->ready = false;
mPriv->valid = false;
mPriv->enabled = false;
// This is the closest error we have at the moment
@@ -1090,24 +1059,5 @@ void Account::onRemoved()
QLatin1String("Account removed from AccountManager"));
}
-void Account::continueIntrospection()
-{
- if (mPriv->introspectQueue.isEmpty()) {
- foreach (PendingReadyAccount *operation, mPriv->pendingOperations) {
- if (mPriv->ready &&
- ((operation->requestedFeatures() &
- (mPriv->features | mPriv->missingFeatures)) == operation->requestedFeatures())) {
- operation->setFinished();
- }
- if (operation->isFinished()) {
- mPriv->pendingOperations.removeOne(operation);
- }
- }
- }
- else {
- (this->*(mPriv->introspectQueue.dequeue()))();
- }
-}
-
} // Telepathy::Client
} // Telepathy
diff --git a/TelepathyQt4/Client/account.h b/TelepathyQt4/Client/account.h
index de08cbc..53c60ac 100644
--- a/TelepathyQt4/Client/account.h
+++ b/TelepathyQt4/Client/account.h
@@ -33,6 +33,7 @@
#include <TelepathyQt4/Client/OptionalInterfaceFactory>
#include <TelepathyQt4/Constants>
+#include <QSet>
#include <QSharedPointer>
#include <QString>
#include <QStringList>
@@ -48,17 +49,18 @@ class AccountManager;
class Connection;
class PendingConnection;
class PendingOperation;
-class PendingReadyAccount;
+class PendingReady;
class ProtocolInfo;
class Account : public StatelessDBusProxy,
private OptionalInterfaceFactory<Account>
{
Q_OBJECT
+ Q_DISABLE_COPY(Account)
public:
enum Feature {
- /** Get the avatar data */
+ FeatureCore = 0,
FeatureAvatar = 1,
FeatureProtocolInfo = 2,
_Padding = 0xFFFFFFFF
@@ -128,9 +130,13 @@ public:
PendingOperation *remove();
- bool isReady(Features features = 0) const;
+ bool isReady(const QSet<uint> &features = QSet<uint>()) const;
- PendingReadyAccount *becomeReady(Features features = 0);
+ PendingReady *becomeReady(const QSet<uint> &requestedFeatures = QSet<uint>());
+
+ QSet<uint> requestedFeatures() const;
+ QSet<uint> actualFeatures() const;
+ QSet<uint> missingFeatures() const;
QStringList interfaces() const;
@@ -180,24 +186,14 @@ protected:
AccountInterface *baseInterface() const;
private Q_SLOTS:
- void onGetAllAccountReturn(QDBusPendingCallWatcher *);
- void onGetAvatarReturn(QDBusPendingCallWatcher *);
+ void gotMainProperties(QDBusPendingCallWatcher *);
+ void gotAvatar(QDBusPendingCallWatcher *);
void onAvatarChanged();
void onConnectionManagerReady(Telepathy::Client::PendingOperation *);
void onPropertyChanged(const QVariantMap &delta);
void onRemoved();
- void continueIntrospection();
private:
- Q_DISABLE_COPY(Account);
-
- void checkForAvatarInterface();
- void callGetAll();
- void callGetAvatar();
- void callGetProtocolInfo();
- void updateProperties(const QVariantMap &props);
- void retrieveAvatar();
-
struct Private;
friend struct Private;
Private *mPriv;
diff --git a/TelepathyQt4/Client/channel.cpp b/TelepathyQt4/Client/channel.cpp
index b273aab..0a8ee5a 100644
--- a/TelepathyQt4/Client/channel.cpp
+++ b/TelepathyQt4/Client/channel.cpp
@@ -725,9 +725,9 @@ void Channel::Private::processMembersChanged()
void Channel::Private::updateContacts(const QList<QSharedPointer<Contact> > &contacts)
{
- QList<QSharedPointer<Contact> > groupContactsAdded;
- QList<QSharedPointer<Contact> > groupLocalPendingContactsAdded;
- QList<QSharedPointer<Contact> > groupRemotePendingContactsAdded;
+ Contacts groupContactsAdded;
+ Contacts groupLocalPendingContactsAdded;
+ Contacts groupRemotePendingContactsAdded;
QSharedPointer<Contact> actorContact;
bool selfContactUpdated = false;
@@ -737,15 +737,15 @@ void Channel::Private::updateContacts(const QList<QSharedPointer<Contact> > &con
foreach (QSharedPointer<Contact> contact, contacts) {
uint handle = contact->handle()[0];
if (pendingGroupMembers.contains(handle)) {
- groupContactsAdded.append(contact);
+ groupContactsAdded.insert(contact);
groupContacts[handle] = contact;
} else if (pendingGroupLocalPendingMembers.contains(handle)) {
- groupLocalPendingContactsAdded.append(contact);
+ groupLocalPendingContactsAdded.insert(contact);
groupLocalPendingContacts[handle] = contact;
// FIXME: should set the details and actor here too
groupLocalPendingContactsChangeInfo[handle] = GroupMemberChangeDetails();
} else if (pendingGroupRemotePendingMembers.contains(handle)) {
- groupRemotePendingContactsAdded.append(contact);
+ groupRemotePendingContactsAdded.insert(contact);
groupRemotePendingContacts[handle] = contact;
}
@@ -785,9 +785,7 @@ void Channel::Private::updateContacts(const QList<QSharedPointer<Contact> > &con
}
}
- // FIXME: use QSet to make the code somewhat easier to comprehend and change
-
- QList<QSharedPointer<Contact> > groupContactsRemoved;
+ Contacts groupContactsRemoved;
QSharedPointer<Contact> contactToRemove;
foreach (uint handle, groupMembersToRemove) {
if (groupContacts.contains(handle)) {
@@ -806,7 +804,7 @@ void Channel::Private::updateContacts(const QList<QSharedPointer<Contact> > &con
}
if (contactToRemove) {
- groupContactsRemoved.append(contactToRemove);
+ groupContactsRemoved.insert(contactToRemove);
}
}
groupMembersToRemove.clear();
@@ -1247,6 +1245,9 @@ bool Channel::groupCanAddContacts() const
/**
* Add contacts to this channel.
*
+ * Note that Contacts on local pending list can always be added even if
+ * groupCanAddContacts() returns false.
+ *
* \param contacts Contacts to be added.
* \param message A string message, which can be blank if desired.
* \return A PendingOperation which will emit PendingOperation::finished
@@ -1260,10 +1261,6 @@ PendingOperation *Channel::groupAddContacts(const QList<QSharedPointer<Contact>
warning() << "Channel::groupAddContacts() used channel not ready";
return new PendingFailure(this, TELEPATHY_ERROR_NOT_AVAILABLE,
"Channel not ready");
- } else if (!groupCanAddContacts()) {
- warning() << "Channel::groupAddContacts() used but adding contacts is not supported";
- return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
- "Channel does not support adding contacts");
} else if (contacts.isEmpty()) {
warning() << "Channel::groupAddContacts() used with empty contacts param";
return new PendingFailure(this, TELEPATHY_ERROR_INVALID_ARGUMENT,
@@ -1361,29 +1358,6 @@ PendingOperation *Channel::groupRemoveContacts(const QList<QSharedPointer<Contac
}
}
- if (!groupCanRemoveContacts()) {
- foreach (const QSharedPointer<Contact> &contact, contacts) {
- if (mPriv->groupContacts.contains(contact->handle()[0])) {
- warning() << "Channel::groupRemoveContacts() used but remove a contact "
- "in groupContacts() but contacts in groupContacts() can't be removed "
- "on this channel";
- return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
- "Channel does not support removing contacts in groupContacts()");
- }
- }
- }
-
- if (!groupCanRescindContacts()) {
- foreach (const QSharedPointer<Contact> &contact, contacts) {
- if (mPriv->groupRemotePendingContacts.contains(contact->handle()[0])) {
- warning() << "Channel::groupRemoveContacts() used to rescind a contact "
- "but contacts can't be rescinded on this channel";
- return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
- "Channel does not support rescinding contacts");
- }
- }
- }
-
if (!mPriv->interfaces.contains(TELEPATHY_INTERFACE_CHANNEL_INTERFACE_GROUP)) {
warning() << "Channel::groupRemoveContacts() used with no group interface";
return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
@@ -1403,13 +1377,13 @@ PendingOperation *Channel::groupRemoveContacts(const QList<QSharedPointer<Contac
*
* \return List of contact objects.
*/
-QList<QSharedPointer<Contact> > Channel::groupContacts() const
+Contacts Channel::groupContacts() const
{
if (!isReady()) {
warning() << "Channel::groupMembers() used channel not ready";
}
- return mPriv->groupContacts.values();
+ return mPriv->groupContacts.values().toSet();
}
/**
@@ -1418,7 +1392,7 @@ QList<QSharedPointer<Contact> > Channel::groupContacts() const
*
* \return List of contacts.
*/
-QList<QSharedPointer<Contact> > Channel::groupLocalPendingContacts() const
+Contacts Channel::groupLocalPendingContacts() const
{
if (!isReady()) {
warning() << "Channel::groupLocalPending() used channel not ready";
@@ -1427,7 +1401,7 @@ QList<QSharedPointer<Contact> > Channel::groupLocalPendingContacts() const
warning() << "Channel::groupLocalPending() used with no group interface";
}
- return mPriv->groupLocalPendingContacts.values();
+ return mPriv->groupLocalPendingContacts.values().toSet();
}
/**
@@ -1436,7 +1410,7 @@ QList<QSharedPointer<Contact> > Channel::groupLocalPendingContacts() const
*
* \return List of contacts.
*/
-QList<QSharedPointer<Contact> > Channel::groupRemotePendingContacts() const
+Contacts Channel::groupRemotePendingContacts() const
{
if (!isReady()) {
warning() << "Channel::groupRemotePending() used channel not ready";
@@ -1446,7 +1420,7 @@ QList<QSharedPointer<Contact> > Channel::groupRemotePendingContacts() const
"group interface";
}
- return mPriv->groupRemotePendingContacts.values();
+ return mPriv->groupRemotePendingContacts.values().toSet();
}
/**
@@ -1618,10 +1592,10 @@ QSharedPointer<Contact> Channel::groupSelfContact() const
/**
* \fn void Channel::groupMembersChanged(
- * const QList<QSharedPointer<Contact> > &groupMembersAdded,
- * const QList<QSharedPointer<Contact> > &groupLocalPendingMembersAdded,
- * const QList<QSharedPointer<Contact> > &groupRemotePendingMembersAdded,
- * const QList<QSharedPointer<Contact> > &groupMembersRemoved,
+ * const Telepathy::Client::Contacts &groupMembersAdded,
+ * const Telepathy::Client::Contacts &groupLocalPendingMembersAdded,
+ * const Telepathy::Client::Contacts &groupRemotePendingMembersAdded,
+ * const Telepathy::Client::Contacts &groupMembersRemoved,
* const Channel::GroupMemberChangeDetails &details);
*
* Emitted when the value returned by groupContacts(), groupLocalPendingContacts() or
diff --git a/TelepathyQt4/Client/channel.h b/TelepathyQt4/Client/channel.h
index f407bc1..c7ef61f 100644
--- a/TelepathyQt4/Client/channel.h
+++ b/TelepathyQt4/Client/channel.h
@@ -94,9 +94,9 @@ public:
const QString &message = QString(),
uint reason = Telepathy::ChannelGroupChangeReasonNone);
- QList<QSharedPointer<Contact> > groupContacts() const;
- QList<QSharedPointer<Contact> > groupLocalPendingContacts() const;
- QList<QSharedPointer<Contact> > groupRemotePendingContacts() const;
+ Contacts groupContacts() const;
+ Contacts groupLocalPendingContacts() const;
+ Contacts groupRemotePendingContacts() const;
class GroupMemberChangeDetails
{
@@ -151,13 +151,13 @@ Q_SIGNALS:
void groupCanRescindContactsChanged(bool canRescindContacts);
void groupMembersChanged(
- const QList<QSharedPointer<Contact> > &groupMembersAdded,
- const QList<QSharedPointer<Contact> > &groupLocalPendingMembersAdded,
- const QList<QSharedPointer<Contact> > &groupLocalPendingMembersRemoved,
- const QList<QSharedPointer<Contact> > &groupMembersRemoved,
- const Channel::GroupMemberChangeDetails &details);
+ const Telepathy::Client::Contacts &groupMembersAdded,
+ const Telepathy::Client::Contacts &groupLocalPendingMembersAdded,
+ const Telepathy::Client::Contacts &groupRemotePendingMembersAdded,
+ const Telepathy::Client::Contacts &groupMembersRemoved,
+ const Telepathy::Client::Channel::GroupMemberChangeDetails &details);
- void groupHandleOwnersChanged(const HandleOwnerMap &owners,
+ void groupHandleOwnersChanged(const Telepathy::HandleOwnerMap &owners,
const Telepathy::UIntList &added, const Telepathy::UIntList &removed);
void groupSelfContactChanged();
diff --git a/TelepathyQt4/Client/connection-manager-internal.h b/TelepathyQt4/Client/connection-manager-internal.h
index 97e2d00..d205455 100644
--- a/TelepathyQt4/Client/connection-manager-internal.h
+++ b/TelepathyQt4/Client/connection-manager-internal.h
@@ -36,13 +36,19 @@ namespace Client
class ConnectionManager;
class ConnectionManagerInterface;
-class PendingReadyConnectionManager;
+class ReadinessHelper;
struct ConnectionManager::Private
{
- Private(const QString &name, ConnectionManager *parent);
+ Private(ConnectionManager *parent, const QString &name);
~Private();
+ bool parseConfigFile();
+
+ static void introspectMain(Private *self);
+ void introspectProtocols();
+ void introspectParameters();
+
static QString makeBusName(const QString &name);
static QString makeObjectPath(const QString &name);
@@ -50,16 +56,20 @@ struct ConnectionManager::Private
class PendingNames;
- ConnectionManagerInterface *baseInterface;
+ // Public object
+ ConnectionManager *parent;
+
QString name;
- bool ready;
- QQueue<void (ConnectionManager::*)()> introspectQueue;
- QQueue<QString> getParametersQueue;
- QQueue<QString> protocolQueue;
+
+ // Instance of generated interface class
+ ConnectionManagerInterface *baseInterface;
+
+ ReadinessHelper *readinessHelper;
+
+ // Introspection
QStringList interfaces;
+ QQueue<QString> parametersQueue;
ProtocolInfoList protocols;
- PendingReadyConnectionManager *pendingReady;
- ConnectionManager::Features features;
};
class ConnectionManager::Private::PendingNames : public PendingStringList
diff --git a/TelepathyQt4/Client/connection-manager.cpp b/TelepathyQt4/Client/connection-manager.cpp
index c51080e..bc57f3d 100644
--- a/TelepathyQt4/Client/connection-manager.cpp
+++ b/TelepathyQt4/Client/connection-manager.cpp
@@ -31,7 +31,8 @@
#include <TelepathyQt4/Client/DBus>
#include <TelepathyQt4/Client/PendingConnection>
-#include <TelepathyQt4/Client/PendingReadyConnectionManager>
+#include <TelepathyQt4/Client/PendingReady>
+#include <TelepathyQt4/Client/ReadinessHelper>
#include <TelepathyQt4/Constants>
#include <TelepathyQt4/ManagerFile>
#include <TelepathyQt4/Types>
@@ -136,7 +137,7 @@ ProtocolInfo::ProtocolInfo(const QString &cmName, const QString &name)
*/
ProtocolInfo::~ProtocolInfo()
{
- Q_FOREACH (ProtocolParameter *param, mPriv->params) {
+ foreach (ProtocolParameter *param, mPriv->params) {
delete param;
}
}
@@ -183,7 +184,7 @@ const ProtocolParameterList &ProtocolInfo::parameters() const
*/
bool ProtocolInfo::hasParameter(const QString &name) const
{
- Q_FOREACH (ProtocolParameter *param, mPriv->params) {
+ foreach (ProtocolParameter *param, mPriv->params) {
if (param->name() == name) {
return true;
}
@@ -274,27 +275,39 @@ void ConnectionManager::Private::PendingNames::invokeMethod(const QLatin1String
void ConnectionManager::Private::PendingNames::parseResult(const QStringList &names)
{
- Q_FOREACH (const QString name, names) {
+ foreach (const QString name, names) {
if (name.startsWith("org.freedesktop.Telepathy.ConnectionManager.")) {
mResult << name.right(name.length() - 44);
}
}
}
-ConnectionManager::Private::Private(const QString &name, ConnectionManager *parent)
- : baseInterface(new ConnectionManagerInterface(parent->dbusConnection(),
- parent->busName(), parent->objectPath(), parent)),
+ConnectionManager::Private::Private(ConnectionManager *parent, const QString &name)
+ : parent(parent),
name(name),
- ready(false),
- pendingReady(0),
- features(0)
+ baseInterface(new ConnectionManagerInterface(parent->dbusConnection(),
+ parent->busName(), parent->objectPath(), parent))
{
debug() << "Creating new ConnectionManager:" << parent->busName();
+
+ QMap<uint, ReadinessHelper::Introspectable> introspectables;
+
+ // As ConnectionManager does not have predefined statuses let's simulate one (0)
+ ReadinessHelper::Introspectable introspectableCore(
+ QSet<uint>() << 0, // makesSenseForStatuses
+ QSet<uint>(), // dependsOnFeatures
+ QStringList(), // dependsOnInterfaces
+ (ReadinessHelper::IntrospectFunc) &Private::introspectMain,
+ this);
+ introspectables[FeatureCore] = introspectableCore;
+
+ readinessHelper = new ReadinessHelper(parent, 0 /* status */,
+ introspectables, parent);
}
ConnectionManager::Private::~Private()
{
- Q_FOREACH (ProtocolInfo *info, protocols) {
+ foreach (ProtocolInfo *info, protocols) {
delete info;
}
delete baseInterface;
@@ -314,7 +327,7 @@ QString ConnectionManager::Private::makeObjectPath(const QString &name)
ProtocolInfo *ConnectionManager::Private::protocol(const QString &protocolName)
{
- Q_FOREACH (ProtocolInfo *info, protocols) {
+ foreach (ProtocolInfo *info, protocols) {
if (info->name() == protocolName) {
return info;
}
@@ -346,12 +359,8 @@ ConnectionManager::ConnectionManager(const QString &name, QObject *parent)
Private::makeBusName(name), Private::makeObjectPath(name),
parent),
OptionalInterfaceFactory<ConnectionManager>(this),
- mPriv(new Private(name, this))
+ mPriv(new Private(this, name))
{
- if (isValid()) {
- mPriv->introspectQueue.enqueue(&ConnectionManager::callReadConfig);
- QTimer::singleShot(0, this, SLOT(continueIntrospection()));
- }
}
/**
@@ -366,12 +375,8 @@ ConnectionManager::ConnectionManager(const QDBusConnection &bus,
: StatelessDBusProxy(bus, Private::makeBusName(name),
Private::makeObjectPath(name), parent),
OptionalInterfaceFactory<ConnectionManager>(this),
- mPriv(new Private(name, this))
+ mPriv(new Private(this, name))
{
- if (isValid()) {
- mPriv->introspectQueue.enqueue(&ConnectionManager::callReadConfig);
- QTimer::singleShot(0, this, SLOT(continueIntrospection()));
- }
}
/**
@@ -410,7 +415,7 @@ QStringList ConnectionManager::interfaces() const
QStringList ConnectionManager::supportedProtocols() const
{
QStringList protocols;
- Q_FOREACH (const ProtocolInfo *info, mPriv->protocols) {
+ foreach (const ProtocolInfo *info, mPriv->protocols) {
protocols.append(info->name());
}
return protocols;
@@ -460,12 +465,12 @@ PendingConnection *ConnectionManager::requestConnection(const QString &protocol,
* until the object is ready. To wait for the object to be ready, call
* becomeReady() and connect to the finished signal on the result.
*
+ * \param features The features which should be tested
* \return \c true if the object has finished initial setup.
*/
-bool ConnectionManager::isReady(Features features) const
+bool ConnectionManager::isReady(const QSet<uint> &features) const
{
- return mPriv->ready
- && ((mPriv->features & features) == features);
+ return mPriv->readinessHelper->isReady(features);
}
/**
@@ -473,31 +478,32 @@ bool ConnectionManager::isReady(Features features) const
* its initial setup, or will fail if a fatal error occurs during this
* initial setup.
*
- * \return A PendingReadyConnectionManager object which will emit finished
- * when this object has finished or failed its initial setup.
+ * If an empty set is used FeatureCore will be considered as the requested
+ * feature.
+ *
+ * \param requestedFeatures The features which should be enabled
+ * \return A PendingReady object which will emit finished
+ * when this object has finished or failed initial setup for basic
+ * functionality plus the given features
*/
-PendingReadyConnectionManager *ConnectionManager::becomeReady(Features requestedFeatures)
-{
- if (!isValid()) {
- PendingReadyConnectionManager *operation =
- new PendingReadyConnectionManager(requestedFeatures, this);
- operation->setFinishedWithError(TELEPATHY_ERROR_NOT_AVAILABLE,
- "ConnectionManager is invalid");
- return operation;
- }
+PendingReady *ConnectionManager::becomeReady(const QSet<uint> &requestedFeatures)
+{
+ return mPriv->readinessHelper->becomeReady(requestedFeatures);
+}
- if (isReady(requestedFeatures)) {
- PendingReadyConnectionManager *operation =
- new PendingReadyConnectionManager(requestedFeatures, this);
- operation->setFinished();
- return operation;
- }
+QSet<uint> ConnectionManager::requestedFeatures() const
+{
+ return mPriv->readinessHelper->requestedFeatures();
+}
- if (!mPriv->pendingReady) {
- mPriv->pendingReady =
- new PendingReadyConnectionManager(requestedFeatures, this);
- }
- return mPriv->pendingReady;
+QSet<uint> ConnectionManager::actualFeatures() const
+{
+ return mPriv->readinessHelper->actualFeatures();
+}
+
+QSet<uint> ConnectionManager::missingFeatures() const
+{
+ return mPriv->readinessHelper->missingFeatures();
}
/**
@@ -529,28 +535,27 @@ ConnectionManagerInterface *ConnectionManager::baseInterface() const
}
/**** Private ****/
-bool ConnectionManager::checkConfigFile()
+bool ConnectionManager::Private::parseConfigFile()
{
- ManagerFile f(mPriv->name);
+ ManagerFile f(name);
if (!f.isValid()) {
return false;
}
- Q_FOREACH (QString protocol, f.protocols()) {
- ProtocolInfo *info = new ProtocolInfo(mPriv->name,
- protocol);
- mPriv->protocols.append(info);
+ foreach (QString protocol, f.protocols()) {
+ ProtocolInfo *info = new ProtocolInfo(name, protocol);
+ protocols.append(info);
- Q_FOREACH (ParamSpec spec, f.parameters(protocol)) {
+ foreach (ParamSpec spec, f.parameters(protocol)) {
info->addParameter(spec);
}
}
#if 0
- Q_FOREACH (ProtocolInfo *info, mPriv->protocols) {
+ foreach (ProtocolInfo *info, protocols) {
qDebug() << "protocol name :" << info->name();
qDebug() << "protocol cn name:" << info->cmName();
- Q_FOREACH (ProtocolParameter *param, info->parameters()) {
+ foreach (ProtocolParameter *param, info->parameters()) {
qDebug() << "\tparam name: " << param->name();
qDebug() << "\tparam is required:" << param->isRequired();
qDebug() << "\tparam is secret: " << param->isSecret();
@@ -562,53 +567,51 @@ bool ConnectionManager::checkConfigFile()
return true;
}
-void ConnectionManager::callReadConfig()
+void ConnectionManager::Private::introspectMain(ConnectionManager::Private *self)
{
- if (!checkConfigFile()) {
- warning() << "error parsing config file for connection manager"
- << mPriv->name;
- mPriv->introspectQueue.enqueue(&ConnectionManager::callGetAll);
- mPriv->introspectQueue.enqueue(&ConnectionManager::callListProtocols);
+ if (self->parseConfigFile()) {
+ self->readinessHelper->setIntrospectCompleted(FeatureCore, true);
+ return;
}
- continueIntrospection();
-}
+ warning() << "Error parsing config file for connection manager"
+ << self->name << "- introspecting";
+
+ DBus::PropertiesInterface *properties = self->parent->propertiesInterface();
+ Q_ASSERT(properties != 0);
-void ConnectionManager::callGetAll()
-{
debug() << "Calling Properties::GetAll(ConnectionManager)";
QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(
- propertiesInterface()->GetAll(
- TELEPATHY_INTERFACE_CONNECTION_MANAGER), this);
- connect(watcher,
+ properties->GetAll(
+ TELEPATHY_INTERFACE_CONNECTION_MANAGER), self->parent);
+ self->parent->connect(watcher,
SIGNAL(finished(QDBusPendingCallWatcher *)),
- SLOT(onGetAllConnectionManagerReturn(QDBusPendingCallWatcher *)));
+ SLOT(gotMainProperties(QDBusPendingCallWatcher *)));
}
-void ConnectionManager::callGetParameters()
+void ConnectionManager::Private::introspectProtocols()
{
- QString protocol = mPriv->getParametersQueue.dequeue();
- mPriv->protocolQueue.enqueue(protocol);
- debug() << "Calling ConnectionManager::GetParameters(" << protocol << ")";
+ debug() << "Calling ConnectionManager::ListProtocols";
QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(
- mPriv->baseInterface->GetParameters(protocol), this);
- connect(watcher,
+ baseInterface->ListProtocols(), parent);
+ parent->connect(watcher,
SIGNAL(finished(QDBusPendingCallWatcher *)),
- SLOT(onGetParametersReturn(QDBusPendingCallWatcher *)));
+ SLOT(gotProtocols(QDBusPendingCallWatcher *)));
}
-void ConnectionManager::callListProtocols()
+void ConnectionManager::Private::introspectParameters()
{
- debug() << "Calling ConnectionManager::ListProtocols";
- QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(
- mPriv->baseInterface->ListProtocols(), this);
- connect(watcher,
- SIGNAL(finished(QDBusPendingCallWatcher *)),
- SLOT(onListProtocolsReturn(QDBusPendingCallWatcher *)));
+ foreach (const QString &protocolName, parametersQueue) {
+ debug() << "Calling ConnectionManager::GetParameters(" << protocolName << ")";
+ QDBusPendingCallWatcher *watcher = new QDBusPendingCallWatcher(
+ baseInterface->GetParameters(protocolName), parent);
+ parent->connect(watcher,
+ SIGNAL(finished(QDBusPendingCallWatcher *)),
+ SLOT(gotParameters(QDBusPendingCallWatcher *)));
+ }
}
-void ConnectionManager::onGetAllConnectionManagerReturn(
- QDBusPendingCallWatcher *watcher)
+void ConnectionManager::gotMainProperties(QDBusPendingCallWatcher *watcher)
{
QDBusPendingReply<QVariantMap> reply = *watcher;
QVariantMap props;
@@ -621,6 +624,7 @@ void ConnectionManager::onGetAllConnectionManagerReturn(
// empty, so keep the empty list mPriv was initialized with
if (props.contains("Interfaces")) {
mPriv->interfaces = qdbus_cast<QStringList>(props["Interfaces"]);
+ mPriv->readinessHelper->setInterfaces(mPriv->interfaces);
}
} else {
warning().nospace() <<
@@ -628,13 +632,12 @@ void ConnectionManager::onGetAllConnectionManagerReturn(
reply.error().name() << ": " << reply.error().message();
}
- continueIntrospection();
+ mPriv->introspectProtocols();
watcher->deleteLater();
}
-void ConnectionManager::onListProtocolsReturn(
- QDBusPendingCallWatcher *watcher)
+void ConnectionManager::gotProtocols(QDBusPendingCallWatcher *watcher)
{
QDBusPendingReply<QStringList> reply = *watcher;
QStringList protocolsNames;
@@ -642,70 +645,72 @@ void ConnectionManager::onListProtocolsReturn(
if (!reply.isError()) {
debug() << "Got reply to ConnectionManager.ListProtocols";
protocolsNames = reply.value();
+
+ foreach (const QString &protocolName, protocolsNames) {
+ mPriv->protocols.append(new ProtocolInfo(mPriv->name,
+ protocolName));
+ mPriv->parametersQueue.enqueue(protocolName);
+ }
+
+ mPriv->introspectParameters();
} else {
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureCore, false);
+
warning().nospace() <<
"ConnectionManager.ListProtocols failed: " <<
reply.error().name() << ": " << reply.error().message();
}
- Q_FOREACH (const QString &protocolName, protocolsNames) {
- mPriv->protocols.append(new ProtocolInfo(mPriv->name,
- protocolName));
-
- mPriv->getParametersQueue.enqueue(protocolName);
- mPriv->introspectQueue.enqueue(&ConnectionManager::callGetParameters);
- }
-
- continueIntrospection();
-
watcher->deleteLater();
}
-void ConnectionManager::onGetParametersReturn(
- QDBusPendingCallWatcher *watcher)
+void ConnectionManager::gotParameters(QDBusPendingCallWatcher *watcher)
{
QDBusPendingReply<ParamSpecList> reply = *watcher;
- ParamSpecList parameters;
- QString protocolName = mPriv->protocolQueue.dequeue();
+ QString protocolName = mPriv->parametersQueue.dequeue();
ProtocolInfo *info = mPriv->protocol(protocolName);
if (!reply.isError()) {
- debug() << "Got reply to ConnectionManager.GetParameters";
- parameters = reply.value();
+ debug() << QString("Got reply to ConnectionManager.GetParameters(%1)").arg(protocolName);
+ ParamSpecList parameters = reply.value();
+ foreach (const ParamSpec &spec, parameters) {
+ debug() << "Parameter" << spec.name << "has flags" << spec.flags
+ << "and signature" << spec.signature;
+
+ info->addParameter(spec);
+ }
} else {
+ // let's remove this protocol as we can't get the params
+ mPriv->protocols.removeOne(info);
+
warning().nospace() <<
- "ConnectionManager.GetParameters failed: " <<
+ QString("ConnectionManager.GetParameters(%1) failed: ").arg(protocolName) <<
reply.error().name() << ": " << reply.error().message();
}
- Q_FOREACH (const ParamSpec &spec, parameters) {
- debug() << "Parameter" << spec.name << "has flags" << spec.flags
- << "and signature" << spec.signature;
-
- info->addParameter(spec);
- }
-
- continueIntrospection();
-
- watcher->deleteLater();
-}
-
-void ConnectionManager::continueIntrospection()
-{
- if (!mPriv->ready) {
- if (mPriv->introspectQueue.isEmpty()) {
- debug() << "ConnectionManager is ready";
- mPriv->ready = true;
+ if (mPriv->parametersQueue.isEmpty()) {
+ if (!mPriv->protocols.isEmpty()) {
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureCore, true);
+ } else {
+ // we could not retrieve the params for any protocol, fail core.
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureCore, false);
+ }
- if (mPriv->pendingReady) {
- mPriv->pendingReady->setFinished();
- // it will delete itself later
- mPriv->pendingReady = 0;
+#if 0
+ foreach (ProtocolInfo *info, mPriv->protocols) {
+ qDebug() << "protocol name :" << info->name();
+ qDebug() << "protocol cn name:" << info->cmName();
+ foreach (ProtocolParameter *param, info->parameters()) {
+ qDebug() << "\tparam name: " << param->name();
+ qDebug() << "\tparam is required:" << param->isRequired();
+ qDebug() << "\tparam is secret: " << param->isSecret();
+ qDebug() << "\tparam value: " << param->defaultValue();
}
- } else {
- (this->*(mPriv->introspectQueue.dequeue()))();
}
+#endif
}
+
+ watcher->deleteLater();
}
} // Telepathy::Client
diff --git a/TelepathyQt4/Client/connection-manager.h b/TelepathyQt4/Client/connection-manager.h
index 5080ab9..4a0da56 100644
--- a/TelepathyQt4/Client/connection-manager.h
+++ b/TelepathyQt4/Client/connection-manager.h
@@ -33,13 +33,15 @@
#include <TelepathyQt4/Client/OptionalInterfaceFactory>
#include <TelepathyQt4/Constants>
+#include <QSet>
+
namespace Telepathy
{
namespace Client
{
class PendingConnection;
-class PendingReadyConnectionManager;
+class PendingReady;
class PendingStringList;
class ProtocolParameter;
class ProtocolInfo;
@@ -119,6 +121,7 @@ class ConnectionManager : public StatelessDBusProxy,
public:
enum Feature {
+ FeatureCore = 0,
_Padding = 0xFFFFFFFF
};
Q_DECLARE_FLAGS(Features, Feature)
@@ -144,9 +147,13 @@ public:
return OptionalInterfaceFactory<ConnectionManager>::interface<DBus::PropertiesInterface>();
}
- bool isReady(Features features = 0) const;
+ bool isReady(const QSet<uint> &features = QSet<uint>()) const;
+
+ PendingReady *becomeReady(const QSet<uint> &requestedFeatures = QSet<uint>());
- PendingReadyConnectionManager *becomeReady(Features features = 0);
+ QSet<uint> requestedFeatures() const;
+ QSet<uint> actualFeatures() const;
+ QSet<uint> missingFeatures() const;
static PendingStringList *listNames(const QDBusConnection &bus = QDBusConnection::sessionBus());
@@ -154,20 +161,13 @@ protected:
ConnectionManagerInterface *baseInterface() const;
private Q_SLOTS:
- void onGetParametersReturn(QDBusPendingCallWatcher *);
- void onListProtocolsReturn(QDBusPendingCallWatcher *);
- void onGetAllConnectionManagerReturn(QDBusPendingCallWatcher *);
- void continueIntrospection();
+ void gotMainProperties(QDBusPendingCallWatcher *);
+ void gotProtocols(QDBusPendingCallWatcher *);
+ void gotParameters(QDBusPendingCallWatcher *);
private:
Q_DISABLE_COPY(ConnectionManager);
- bool checkConfigFile();
- void callReadConfig();
- void callGetAll();
- void callGetParameters();
- void callListProtocols();
-
struct Private;
friend struct Private;
friend class PendingConnection;
diff --git a/TelepathyQt4/Client/connection.cpp b/TelepathyQt4/Client/connection.cpp
index 49f6579..4879a0f 100644
--- a/TelepathyQt4/Client/connection.cpp
+++ b/TelepathyQt4/Client/connection.cpp
@@ -36,8 +36,10 @@
#include <TelepathyQt4/Client/PendingFailure>
#include <TelepathyQt4/Client/PendingHandles>
#include <TelepathyQt4/Client/PendingReady>
+#include <TelepathyQt4/Client/PendingReadyChannel>
#include <TelepathyQt4/Client/PendingVoidMethodCall>
#include <TelepathyQt4/Client/ReadinessHelper>
+#include <TelepathyQt4/Client/ReferencedHandles>
#include <QMap>
#include <QMetaObject>
@@ -85,6 +87,7 @@ struct Connection::Private
void introspectContacts();
static void introspectSelfContact(Private *self);
static void introspectSimplePresence(Private *self);
+ static void introspectRoster(Private *self);
struct HandleContext;
@@ -115,6 +118,8 @@ struct Connection::Private
QSharedPointer<Contact> selfContact;
QStringList contactAttributeInterfaces;
uint selfHandle;
+ QMap<uint, ContactManager::ContactListChannel> contactListsChannels;
+ uint contactListsChannelsReady;
// (Bus connection name, service name) -> HandleContext
static QMap<QPair<QString, QString>, HandleContext *> handleContexts;
@@ -162,6 +167,7 @@ Connection::Private::Private(Connection *parent)
status(Connection::StatusUnknown),
statusReason(ConnectionStatusReasonNoneSpecified),
selfHandle(0),
+ contactListsChannelsReady(0),
handleContext(0),
contactManager(new ContactManager(parent))
{
@@ -191,6 +197,14 @@ Connection::Private::Private(Connection *parent)
this);
introspectables[FeatureSimplePresence] = introspectableSimplePresence;
+ ReadinessHelper::Introspectable introspectableRoster(
+ QSet<uint>() << Connection::StatusConnected, // makesSenseForStatuses
+ QSet<uint>() << 0, // dependsOnFeatures (core)
+ QStringList() << TELEPATHY_INTERFACE_CONNECTION_INTERFACE_CONTACTS, // dependsOnInterfaces
+ (ReadinessHelper::IntrospectFunc) &Private::introspectRoster,
+ this);
+ introspectables[FeatureRoster] = introspectableRoster;
+
readinessHelper = new ReadinessHelper(parent, status,
introspectables, parent);
parent->connect(readinessHelper,
@@ -353,6 +367,25 @@ void Connection::Private::introspectSelfHandle()
SLOT(gotSelfHandle(QDBusPendingCallWatcher *)));
}
+void Connection::Private::introspectRoster(Connection::Private *self)
+{
+ debug() << "Requesting handles for contact lists";
+
+ for (uint i = 0; i < ContactManager::ContactListChannel::LastType; ++i) {
+ self->contactListsChannels.insert(i,
+ ContactManager::ContactListChannel(
+ (ContactManager::ContactListChannel::Type) i));
+
+ PendingHandles *pending = self->parent->requestHandles(
+ Telepathy::HandleTypeList,
+ QStringList() << ContactManager::ContactListChannel::identifierForType(
+ (ContactManager::ContactListChannel::Type) i));
+ self->parent->connect(pending,
+ SIGNAL(finished(Telepathy::Client::PendingOperation*)),
+ SLOT(gotContactListsHandles(Telepathy::Client::PendingOperation*)));
+ }
+}
+
Connection::PendingConnect::PendingConnect(Connection *parent, const QSet<uint> &requestedFeatures)
: PendingOperation(parent),
requestedFeatures(requestedFeatures)
@@ -851,7 +884,7 @@ void Connection::gotSelfContact(PendingOperation *op)
// check if the feature is already there, and for some reason introspectSelfContact
// failed when called the second time
- if (!mPriv->readinessHelper->actualFeatures().contains(FeatureSelfContact)) {
+ if (!mPriv->readinessHelper->missingFeatures().contains(FeatureSelfContact)) {
mPriv->readinessHelper->setIntrospectCompleted(FeatureSelfContact, false);
}
}
@@ -897,6 +930,79 @@ void Connection::gotSelfHandle(QDBusPendingCallWatcher *watcher)
watcher->deleteLater();
}
+void Connection::gotContactListsHandles(PendingOperation *op)
+{
+ if (op->isError()) {
+ // let's not fail, because the contact lists are not supported
+ debug() << "Unable to retrieve contact list handle, ignoring";
+ contactListChannelReady();
+ return;
+ }
+
+ debug() << "Got handles for contact lists";
+ PendingHandles *pending = qobject_cast<PendingHandles*>(op);
+
+ // FIXME check for handles in pending->invalidHandles() when
+ // invalidHandles is implemented
+ // if (pending->invalidHandles().size() == 1) {
+ // contactListChannelReady();
+ // return;
+ // }
+
+ debug() << "Requesting channels for contact lists";
+ QVariantMap request;
+ request.insert(QLatin1String(TELEPATHY_INTERFACE_CHANNEL ".ChannelType"),
+ TELEPATHY_INTERFACE_CHANNEL_TYPE_CONTACT_LIST);
+ request.insert(QLatin1String(TELEPATHY_INTERFACE_CHANNEL ".TargetHandleType"),
+ Telepathy::HandleTypeList);
+
+ Q_ASSERT(pending->handles().size() == 1);
+ Q_ASSERT(pending->namesRequested().size() == 1);
+ ReferencedHandles handle = pending->handles();
+ uint type = ContactManager::ContactListChannel::typeForIdentifier(
+ pending->namesRequested().first());
+ Q_ASSERT(type != (uint) -1 && type < ContactManager::ContactListChannel::LastType);
+ mPriv->contactListsChannels[type].handle = handle;
+ request[QLatin1String(TELEPATHY_INTERFACE_CHANNEL ".TargetHandle")] = handle[0];
+ connect(ensureChannel(request),
+ SIGNAL(finished(Telepathy::Client::PendingOperation*)),
+ SLOT(gotContactListChannel(Telepathy::Client::PendingOperation*)));
+}
+
+void Connection::gotContactListChannel(PendingOperation *op)
+{
+ if (op->isError()) {
+ contactListChannelReady();
+ return;
+ }
+
+ PendingChannel *pending = qobject_cast<PendingChannel*>(op);
+ QSharedPointer<Channel> channel = pending->channel();
+ uint handle = pending->handle();
+ Q_ASSERT(!channel.isNull());
+ Q_ASSERT(handle);
+ for (int i = 0; i < ContactManager::ContactListChannel::LastType; ++i) {
+ if (mPriv->contactListsChannels[i].handle.size() > 0 &&
+ mPriv->contactListsChannels[i].handle[0] == handle) {
+ Q_ASSERT(mPriv->contactListsChannels[i].channel.isNull());
+ mPriv->contactListsChannels[i].channel = channel;
+ connect(channel->becomeReady(),
+ SIGNAL(finished(Telepathy::Client::PendingOperation *)),
+ SLOT(contactListChannelReady()));
+ }
+ }
+}
+
+void Connection::contactListChannelReady()
+{
+ if (++mPriv->contactListsChannelsReady ==
+ ContactManager::ContactListChannel::LastType) {
+ debug() << "FeatureRoster ready";
+ mPriv->contactManager->setContactListChannels(mPriv->contactListsChannels);
+ mPriv->readinessHelper->setIntrospectCompleted(FeatureRoster, true);
+ }
+}
+
/**
* Get the ConnectionInterface for this Connection. This
* method is protected since the convenience methods provided by this
@@ -939,7 +1045,7 @@ ConnectionInterface *Connection::baseInterface() const
*/
PendingChannel *Connection::createChannel(const QVariantMap &request)
{
- if (mPriv->status != StatusConnected) {
+ if (mPriv->pendingStatus != StatusConnected) {
warning() << "Calling createChannel with connection not yet connected";
return new PendingChannel(this, TELEPATHY_ERROR_NOT_AVAILABLE,
"Connection not yet connected");
@@ -990,7 +1096,7 @@ PendingChannel *Connection::createChannel(const QVariantMap &request)
*/
PendingChannel *Connection::ensureChannel(const QVariantMap &request)
{
- if (mPriv->status != StatusConnected) {
+ if (mPriv->pendingStatus != StatusConnected) {
warning() << "Calling ensureChannel with connection not yet connected";
return new PendingChannel(this, TELEPATHY_ERROR_NOT_AVAILABLE,
"Connection not yet connected");
@@ -1284,9 +1390,7 @@ PendingContactAttributes *Connection::getContactAttributes(const UIntList &handl
QStringList Connection::contactAttributeInterfaces() const
{
- if (!isReady()) {
- warning() << "Connection::contactAttributeInterfaces() used when not ready";
- } else if (status() != StatusConnected) {
+ if (mPriv->pendingStatus != StatusConnected) {
warning() << "Connection::contactAttributeInterfaces() used with status"
<< status() << "!= StatusConnected";
} else if (!this->interfaces().contains(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_CONTACTS)) {
diff --git a/TelepathyQt4/Client/connection.h b/TelepathyQt4/Client/connection.h
index 38033bf..48dd5dd 100644
--- a/TelepathyQt4/Client/connection.h
+++ b/TelepathyQt4/Client/connection.h
@@ -66,6 +66,7 @@ public:
FeatureCore = 0,
FeatureSelfContact = 1,
FeatureSimplePresence = 2,
+ FeatureRoster = 4,
_Padding = 0xFFFFFFFF
};
Q_DECLARE_FLAGS(Features, Feature)
@@ -198,6 +199,9 @@ private Q_SLOTS:
void gotSimpleStatuses(QDBusPendingCallWatcher *watcher);
void gotSelfContact(Telepathy::Client::PendingOperation *);
void gotSelfHandle(QDBusPendingCallWatcher *watcher);
+ void gotContactListsHandles(Telepathy::Client::PendingOperation *);
+ void gotContactListChannel(Telepathy::Client::PendingOperation *);
+ void contactListChannelReady();
void doReleaseSweep(uint type);
diff --git a/TelepathyQt4/Client/contact-manager.cpp b/TelepathyQt4/Client/contact-manager.cpp
index 21b5d5f..1e1c52d 100644
--- a/TelepathyQt4/Client/contact-manager.cpp
+++ b/TelepathyQt4/Client/contact-manager.cpp
@@ -30,6 +30,7 @@
#include <TelepathyQt4/Client/Connection>
#include <TelepathyQt4/Client/PendingContactAttributes>
#include <TelepathyQt4/Client/PendingContacts>
+#include <TelepathyQt4/Client/PendingFailure>
#include <TelepathyQt4/Client/PendingHandles>
#include <TelepathyQt4/Client/ReferencedHandles>
@@ -68,12 +69,20 @@ struct ContactManager::Private
{
Connection *conn;
QMap<uint, QWeakPointer<Contact> > contacts;
- QSharedPointer<Contact> lookupContactByHandle(uint handle);
QMap<Contact::Feature, bool> tracking;
void ensureTracking(Contact::Feature feature);
QSet<Contact::Feature> supportedFeatures;
+
+ QMap<uint, ContactListChannel> contactListsChannels;
+ QSharedPointer<Channel> subscribeChannel;
+ QSharedPointer<Channel> publishChannel;
+ QSharedPointer<Channel> storedChannel;
+ QSharedPointer<Channel> denyChannel;
+
+ Contacts allKnownContacts() const;
+ void updateContactsPresenceState();
};
Connection *ContactManager::connection() const
@@ -140,6 +149,363 @@ QSet<Contact::Feature> ContactManager::supportedFeatures() const
return mPriv->supportedFeatures;
}
+/**
+ * Return a list of relevant contacts (a reasonable guess as to what should
+ * be displayed as "the contact list").
+ *
+ * This may include any or all of: contacts whose presence the user receives,
+ * contacts who are allowed to see the user's presence, contacts stored in
+ * some persistent contact list on the server, contacts who the user
+ * has blocked from communicating with them, or contacts who are relevant
+ * in some other way.
+ *
+ * User interfaces displaying a contact list will probably want to filter this
+ * list and display some suitable subset of it.
+ *
+ * On protocols where there is no concept of presence or a centrally-stored
+ * contact list (like IRC), this method may return an empty list.
+ *
+ * \return Some contacts
+ */
+Contacts ContactManager::allKnownContacts() const
+{
+ return mPriv->allKnownContacts();
+}
+
+/**
+ * Return whether subscribing to additional contacts' presence is supported
+ * on this channel.
+ *
+ * In some protocols, the list of contacts whose presence can be seen is
+ * fixed, so we can't subscribe to the presence of additional contacts.
+ *
+ * Notably, in link-local XMPP, you can see the presence of everyone on the
+ * local network, and trying to add more subscriptions would be meaningless.
+ *
+ * \return Whether Contact::requestPresenceSubscription and
+ * requestPresenceSubscription are likely to succeed
+ */
+bool ContactManager::canRequestPresenceSubscription() const
+{
+ return mPriv->subscribeChannel &&
+ mPriv->subscribeChannel->groupCanAddContacts();
+}
+
+/**
+ * Return whether a message can be sent when subscribing to contacts'
+ * presence.
+ *
+ * If no message will actually be sent, user interfaces should avoid prompting
+ * the user for a message, and use an empty string for the message argument.
+ *
+ * \return Whether the message argument to
+ * Contact::requestPresenceSubscription and
+ * requestPresenceSubscription is actually used
+ */
+bool ContactManager::subscriptionRequestHasMessage() const
+{
+ return mPriv->subscribeChannel &&
+ (mPriv->subscribeChannel->groupFlags() &
+ Telepathy::ChannelGroupFlagMessageAdd);
+}
+
+/**
+ * Attempt to subscribe to the presence of the given contacts.
+ *
+ * This operation is sometimes called "adding contacts to the buddy
+ * list" or "requesting authorization".
+ *
+ * On most protocols, the contacts will need to give permission
+ * before the user will be able to receive their presence: if so, they will
+ * be in presence state Contact::PresenceStateAsk until they authorize
+ * or deny the request.
+ *
+ * The returned PendingOperation will return successfully when a request to
+ * subscribe to the contacts' presence has been submitted, or fail if this
+ * cannot happen. In particular, it does not wait for the contacts to give
+ * permission for the presence subscription.
+ *
+ * \param contacts Contacts whose presence is desired
+ * \param message A message from the user which is either transmitted to the
+ * contacts, or ignored, depending on the protocol
+ * \return A pending operation which will return when an attempt has been made
+ * to subscribe to the contacts' presence
+ */
+PendingOperation *ContactManager::requestPresenceSubscription(
+ const QList<QSharedPointer<Contact> > &contacts, const QString &message)
+{
+ if (!mPriv->subscribeChannel) {
+ return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
+ "Cannot subscribe to contacts' presence on this protocol");
+ }
+
+ return mPriv->subscribeChannel->groupAddContacts(contacts, message);
+}
+
+/**
+ * Return whether the user can stop receiving the presence of a contact
+ * whose presence they have subscribed to.
+ *
+ * \return Whether removePresenceSubscription and
+ * Contact::removePresenceSubscription are likely to succeed
+ * for contacts with subscription state Contact::PresenceStateYes
+ */
+bool ContactManager::canRemovePresenceSubscription() const
+{
+ return mPriv->subscribeChannel &&
+ mPriv->subscribeChannel->groupCanRemoveContacts();
+}
+
+/**
+ * Return whether a message can be sent when removing an existing subscription
+ * to the presence of a contact.
+ *
+ * If no message will actually be sent, user interfaces should avoid prompting
+ * the user for a message, and use an empty string for the message argument.
+ *
+ * \return Whether the message argument to
+ * Contact::removePresenceSubscription and
+ * removePresenceSubscription is actually used,
+ * for contacts with subscription state Contact::PresenceStateYes
+ */
+bool ContactManager::subscriptionRemovalHasMessage() const
+{
+ return mPriv->subscribeChannel &&
+ (mPriv->subscribeChannel->groupFlags() &
+ Telepathy::ChannelGroupFlagMessageRemove);
+}
+
+/**
+ * Return whether the user can cancel a request to subscribe to a contact's
+ * presence before that contact has responded.
+ *
+ * \return Whether removePresenceSubscription and
+ * Contact::removePresenceSubscription are likely to succeed
+ * for contacts with subscription state Contact::PresenceStateAsk
+ */
+bool ContactManager::canRescindPresenceSubscriptionRequest() const
+{
+ return mPriv->subscribeChannel &&
+ mPriv->subscribeChannel->groupCanRescindContacts();
+}
+
+/**
+ * Return whether a message can be sent when cancelling a request to
+ * subscribe to the presence of a contact.
+ *
+ * If no message will actually be sent, user interfaces should avoid prompting
+ * the user for a message, and use an empty string for the message argument.
+ *
+ * \return Whether the message argument to
+ * Contact::removePresenceSubscription and
+ * removePresenceSubscription is actually used,
+ * for contacts with subscription state Contact::PresenceStateAsk
+ */
+bool ContactManager::subscriptionRescindingHasMessage() const
+{
+ return mPriv->subscribeChannel &&
+ (mPriv->subscribeChannel->groupFlags() &
+ Telepathy::ChannelGroupFlagMessageRescind);
+}
+
+/**
+ * Attempt to stop receiving the presence of the given contacts, or cancel
+ * a request to subscribe to their presence that was previously sent.
+ *
+ * \param contacts Contacts whose presence is no longer required
+ * \message A message from the user which is either transmitted to the
+ * contacts, or ignored, depending on the protocol
+ * \return A pending operation which will return when an attempt has been made
+ * to remove any subscription to the contacts' presence
+ */
+PendingOperation *ContactManager::removePresenceSubscription(
+ const QList<QSharedPointer<Contact> > &contacts, const QString &message)
+{
+ if (!mPriv->subscribeChannel) {
+ return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
+ "Cannot subscribe to contacts' presence on this protocol");
+ }
+
+ return mPriv->subscribeChannel->groupRemoveContacts(contacts, message);
+}
+
+/**
+ * Return true if the publication of the user's presence to contacts can be
+ * authorized.
+ *
+ * This is always true, unless the protocol has no concept of authorizing
+ * publication (in which case contacts' publication status can never be
+ * Contact::PresenceStateAsk).
+ */
+bool ContactManager::canAuthorizePresencePublication() const
+{
+ // do not check for Channel::groupCanAddContacts as all contacts in local
+ // pending can be added, even if the Channel::groupFlags() does not contain
+ // the flag CanAdd
+ return (bool) mPriv->publishChannel;
+}
+
+/**
+ * Return whether a message can be sent when authorizing a request from a
+ * contact that the user's presence is published to them.
+ *
+ * If no message will actually be sent, user interfaces should avoid prompting
+ * the user for a message, and use an empty string for the message argument.
+ *
+ * \return Whether the message argument to
+ * Contact::authorizePresencePublication and
+ * authorizePresencePublication is actually used,
+ * for contacts with subscription state Contact::PresenceStateAsk
+ */
+bool ContactManager::publicationAuthorizationHasMessage() const
+{
+ return mPriv->subscribeChannel &&
+ (mPriv->subscribeChannel->groupFlags() &
+ Telepathy::ChannelGroupFlagMessageAccept);
+}
+
+/**
+ * If the given contacts have asked the user to publish presence to them,
+ * grant permission for this publication to take place.
+ *
+ * \param contacts Contacts who should be allowed to receive the user's
+ * presence
+ * \message A message from the user which is either transmitted to the
+ * contacts, or ignored, depending on the protocol
+ * \return A pending operation which will return when an attempt has been made
+ * to authorize publication of the user's presence to the contacts
+ */
+PendingOperation *ContactManager::authorizePresencePublication(
+ const QList<QSharedPointer<Contact> > &contacts, const QString &message)
+{
+ if (!mPriv->publishChannel) {
+ return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
+ "Cannot control publication of presence on this protocol");
+ }
+
+ return mPriv->publishChannel->groupAddContacts(contacts, message);
+}
+
+/**
+ * Return whether a message can be sent when rejecting a request from a
+ * contact that the user's presence is published to them.
+ *
+ * If no message will actually be sent, user interfaces should avoid prompting
+ * the user for a message, and use an empty string for the message argument.
+ *
+ * \return Whether the message argument to
+ * Contact::removePresencePublication and
+ * removePresencePublication is actually used,
+ * for contacts with subscription state Contact::PresenceStateAsk
+ */
+bool ContactManager::publicationRejectionHasMessage() const
+{
+ return mPriv->subscribeChannel &&
+ (mPriv->subscribeChannel->groupFlags() &
+ Telepathy::ChannelGroupFlagMessageReject);
+}
+
+/**
+ * Return true if the publication of the user's presence to contacts can be
+ * removed, even after permission has been given.
+ *
+ * (Rejecting requests for presence to be published is always allowed.)
+ *
+ * \return Whether removePresencePublication and
+ * Contact::removePresencePublication are likely to succeed
+ * for contacts with subscription state Contact::PresenceStateYes
+ */
+bool ContactManager::canRemovePresencePublication() const
+{
+ return mPriv->publishChannel &&
+ mPriv->publishChannel->groupCanRemoveContacts();
+}
+
+/**
+ * Return whether a message can be sent when revoking earlier permission
+ * that the user's presence is published to a contact.
+ *
+ * If no message will actually be sent, user interfaces should avoid prompting
+ * the user for a message, and use an empty string for the message argument.
+ *
+ * \return Whether the message argument to
+ * Contact::removePresencePublication and
+ * removePresencePublication is actually used,
+ * for contacts with subscription state Contact::PresenceStateYes
+ */
+bool ContactManager::publicationRemovalHasMessage() const
+{
+ return mPriv->subscribeChannel &&
+ (mPriv->subscribeChannel->groupFlags() &
+ Telepathy::ChannelGroupFlagMessageRemove);
+}
+
+/**
+ * If the given contacts have asked the user to publish presence to them,
+ * deny this request (this should always succeed, unless a network error
+ * occurs).
+ *
+ * If the given contacts already have permission to receive
+ * the user's presence, attempt to revoke that permission (this might not
+ * be supported by the protocol - canRemovePresencePublication
+ * indicates whether it is likely to succeed).
+ *
+ * \param contacts Contacts who should no longer be allowed to receive the
+ * user's presence
+ * \message A message from the user which is either transmitted to the
+ * contacts, or ignored, depending on the protocol
+ * \return A pending operation which will return when an attempt has been made
+ * to remove any publication of the user's presence to the contacts
+ */
+PendingOperation *ContactManager::removePresencePublication(
+ const QList<QSharedPointer<Contact> > &contacts, const QString &message)
+{
+ if (!mPriv->publishChannel) {
+ return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
+ "Cannot control publication of presence on this protocol");
+ }
+
+ return mPriv->publishChannel->groupRemoveContacts(contacts, message);
+}
+
+/**
+ * Return whether this protocol has a list of blocked contacts.
+ *
+ * \return Whether blockContacts is likely to succeed
+ */
+bool ContactManager::canBlockContacts() const
+{
+ return (bool) mPriv->denyChannel;
+}
+
+/**
+ * Set whether the given contacts are blocked. Blocked contacts cannot send
+ * messages to the user; depending on the protocol, blocking a contact may
+ * have other effects.
+ *
+ * \param contacts Contacts who should be added to, or removed from, the list
+ * of blocked contacts
+ * \param value If true, add the contacts to the list of blocked contacts;
+ * if false, remove them from the list
+ * \return A pending operation which will return when an attempt has been made
+ * to take the requested action
+ */
+PendingOperation *ContactManager::blockContacts(
+ const QList<QSharedPointer<Contact> > &contacts, bool value)
+{
+ if (!mPriv->denyChannel) {
+ return new PendingFailure(this, TELEPATHY_ERROR_NOT_IMPLEMENTED,
+ "Cannot block contacts on this protocol");
+ }
+
+ if (value) {
+ return mPriv->denyChannel->groupAddContacts(contacts);
+ }
+ else {
+ return mPriv->denyChannel->groupRemoveContacts(contacts);
+ }
+}
+
PendingContacts *ContactManager::contactsForHandles(const UIntList &handles,
const QSet<Contact::Feature> &features)
{
@@ -151,7 +517,7 @@ PendingContacts *ContactManager::contactsForHandles(const UIntList &handles,
QSet<Contact::Feature> missingFeatures;
foreach (uint handle, handles) {
- QSharedPointer<Contact> contact = mPriv->lookupContactByHandle(handle);
+ QSharedPointer<Contact> contact = lookupContactByHandle(handle);
if (contact) {
if ((features - contact->requestedFeatures()).isEmpty()) {
// Contact exists and has all the requested features
@@ -239,7 +605,7 @@ void ContactManager::onAliasesChanged(const Telepathy::AliasPairList &aliases)
debug() << "Got AliasesChanged for" << aliases.size() << "contacts";
foreach (AliasPair pair, aliases) {
- QSharedPointer<Contact> contact = mPriv->lookupContactByHandle(pair.handle);
+ QSharedPointer<Contact> contact = lookupContactByHandle(pair.handle);
if (contact) {
contact->receiveAlias(pair.alias);
@@ -251,7 +617,7 @@ void ContactManager::onAvatarUpdated(uint handle, const QString &token)
{
debug() << "Got AvatarUpdate for contact with handle" << handle;
- QSharedPointer<Contact> contact = mPriv->lookupContactByHandle(handle);
+ QSharedPointer<Contact> contact = lookupContactByHandle(handle);
if (contact) {
contact->receiveAvatarToken(token);
}
@@ -262,7 +628,7 @@ void ContactManager::onPresencesChanged(const Telepathy::SimpleContactPresences
debug() << "Got PresencesChanged for" << presences.size() << "contacts";
foreach (uint handle, presences.keys()) {
- QSharedPointer<Contact> contact = mPriv->lookupContactByHandle(handle);
+ QSharedPointer<Contact> contact = lookupContactByHandle(handle);
if (contact) {
contact->receiveSimplePresence(presences[handle]);
@@ -270,6 +636,96 @@ void ContactManager::onPresencesChanged(const Telepathy::SimpleContactPresences
}
}
+void ContactManager::onSubscribeChannelMembersChanged(
+ const Contacts &groupMembersAdded,
+ const Contacts &groupLocalPendingMembersAdded,
+ const Contacts &groupRemotePendingMembersAdded,
+ const Contacts &groupMembersRemoved,
+ const Channel::GroupMemberChangeDetails &details)
+{
+ Q_UNUSED(details);
+
+ if (!groupLocalPendingMembersAdded.isEmpty()) {
+ warning() << "Found local pending contacts on subscribe list";
+ }
+
+ foreach (QSharedPointer<Contact> contact, groupMembersAdded) {
+ debug() << "Contact" << contact->id() << "on subscribe list";
+ contact->setSubscriptionState(Contact::PresenceStateYes);
+ }
+
+ foreach (QSharedPointer<Contact> contact, groupRemotePendingMembersAdded) {
+ debug() << "Contact" << contact->id() << "added to subscribe list";
+ contact->setSubscriptionState(Contact::PresenceStateAsk);
+ }
+
+ foreach (QSharedPointer<Contact> contact, groupMembersRemoved) {
+ debug() << "Contact" << contact->id() << "removed from subscribe list";
+ contact->setSubscriptionState(Contact::PresenceStateNo);
+ }
+}
+
+void ContactManager::onPublishChannelMembersChanged(
+ const Contacts &groupMembersAdded,
+ const Contacts &groupLocalPendingMembersAdded,
+ const Contacts &groupRemotePendingMembersAdded,
+ const Contacts &groupMembersRemoved,
+ const Channel::GroupMemberChangeDetails &details)
+{
+ Q_UNUSED(details);
+
+ if (!groupRemotePendingMembersAdded.isEmpty()) {
+ warning() << "Found remote pending contacts on publish list";
+ }
+
+ foreach (QSharedPointer<Contact> contact, groupMembersAdded) {
+ debug() << "Contact" << contact->id() << "on publish list";
+ contact->setPublishState(Contact::PresenceStateYes);
+ }
+
+ foreach (QSharedPointer<Contact> contact, groupLocalPendingMembersAdded) {
+ debug() << "Contact" << contact->id() << "added to publish list";
+ contact->setPublishState(Contact::PresenceStateAsk);
+ }
+
+ foreach (QSharedPointer<Contact> contact, groupMembersRemoved) {
+ debug() << "Contact" << contact->id() << "removed from publish list";
+ contact->setPublishState(Contact::PresenceStateNo);
+ }
+
+ if (!groupLocalPendingMembersAdded.isEmpty()) {
+ emit presencePublicationRequested(groupLocalPendingMembersAdded);
+ }
+}
+
+void ContactManager::onDenyChannelMembersChanged(
+ const Contacts &groupMembersAdded,
+ const Contacts &groupLocalPendingMembersAdded,
+ const Contacts &groupRemotePendingMembersAdded,
+ const Contacts &groupMembersRemoved,
+ const Channel::GroupMemberChangeDetails &details)
+{
+ Q_UNUSED(details);
+
+ if (!groupLocalPendingMembersAdded.isEmpty()) {
+ warning() << "Found local pending contacts on deny list";
+ }
+
+ if (!groupRemotePendingMembersAdded.isEmpty()) {
+ warning() << "Found remote pending contacts on deny list";
+ }
+
+ foreach (QSharedPointer<Contact> contact, groupMembersAdded) {
+ debug() << "Contact" << contact->id() << "added to deny list";
+ contact->setBlocked(true);
+ }
+
+ foreach (QSharedPointer<Contact> contact, groupMembersRemoved) {
+ debug() << "Contact" << contact->id() << "removed from deny list";
+ contact->setBlocked(false);
+ }
+}
+
ContactManager::ContactManager(Connection *parent)
: QObject(parent), mPriv(new Private)
{
@@ -284,7 +740,7 @@ ContactManager::~ContactManager()
QSharedPointer<Contact> ContactManager::ensureContact(const ReferencedHandles &handle,
const QSet<Contact::Feature> &features, const QVariantMap &attributes) {
uint bareHandle = handle[0];
- QSharedPointer<Contact> contact = mPriv->lookupContactByHandle(bareHandle);
+ QSharedPointer<Contact> contact = lookupContactByHandle(bareHandle);
if (!contact) {
contact = QSharedPointer<Contact>(new Contact(this, handle, features, attributes));
@@ -296,15 +752,88 @@ QSharedPointer<Contact> ContactManager::ensureContact(const ReferencedHandles &h
return contact;
}
-QSharedPointer<Contact> ContactManager::Private::lookupContactByHandle(uint handle)
+void ContactManager::setContactListChannels(
+ const QMap<uint, ContactListChannel> &contactListsChannels)
+{
+ Q_ASSERT(mPriv->contactListsChannels.isEmpty());
+ mPriv->contactListsChannels = contactListsChannels;
+
+ if (mPriv->contactListsChannels.contains(ContactListChannel::TypeSubscribe)) {
+ mPriv->subscribeChannel = mPriv->contactListsChannels[ContactListChannel::TypeSubscribe].channel;
+ }
+
+ if (mPriv->contactListsChannels.contains(ContactListChannel::TypePublish)) {
+ mPriv->publishChannel = mPriv->contactListsChannels[ContactListChannel::TypePublish].channel;
+ }
+
+ if (mPriv->contactListsChannels.contains(ContactListChannel::TypeStored)) {
+ mPriv->storedChannel = mPriv->contactListsChannels[ContactListChannel::TypeStored].channel;
+ }
+
+ if (mPriv->contactListsChannels.contains(ContactListChannel::TypeDeny)) {
+ mPriv->denyChannel = mPriv->contactListsChannels[ContactListChannel::TypeDeny].channel;
+ }
+
+ mPriv->updateContactsPresenceState();
+
+ QMap<uint, ContactListChannel>::const_iterator i = contactListsChannels.constBegin();
+ QMap<uint, ContactListChannel>::const_iterator end = contactListsChannels.constEnd();
+ uint type;
+ QSharedPointer<Channel> channel;
+ const char *method;
+ while (i != end) {
+ type = i.key();
+ channel = i.value().channel;
+ ++i;
+ if (!channel) {
+ continue;
+ }
+
+ if (type == ContactListChannel::TypeSubscribe) {
+ method = SLOT(onSubscribeChannelMembersChanged(
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Channel::GroupMemberChangeDetails &));
+ } else if (type == ContactListChannel::TypePublish) {
+ method = SLOT(onPublishChannelMembersChanged(
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Channel::GroupMemberChangeDetails &));
+ } else if (type == ContactListChannel::TypeDeny) {
+ method = SLOT(onDenyChannelMembersChanged(
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Channel::GroupMemberChangeDetails &));
+ } else {
+ continue;
+ }
+
+ connect(channel.data(),
+ SIGNAL(groupMembersChanged(
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Contacts &,
+ const Telepathy::Client::Channel::GroupMemberChangeDetails &)),
+ method);
+ }
+}
+
+QSharedPointer<Contact> ContactManager::lookupContactByHandle(uint handle)
{
QSharedPointer<Contact> contact;
- if (contacts.contains(handle)) {
- contact = contacts.value(handle).toStrongRef();
+ if (mPriv->contacts.contains(handle)) {
+ contact = mPriv->contacts.value(handle).toStrongRef();
if (!contact) {
// Dangling weak pointer, remove it
- contacts.remove(handle);
+ mPriv->contacts.remove(handle);
}
}
@@ -350,5 +879,105 @@ void ContactManager::Private::ensureTracking(Contact::Feature feature)
tracking[feature] = true;
}
+Contacts ContactManager::Private::allKnownContacts() const
+{
+ Contacts contacts;
+ foreach (const ContactListChannel &contactListChannel, contactListsChannels) {
+ QSharedPointer<Channel> channel = contactListChannel.channel;
+ if (!channel) {
+ continue;
+ }
+ contacts.unite(channel->groupContacts());
+ contacts.unite(channel->groupLocalPendingContacts());
+ contacts.unite(channel->groupRemotePendingContacts());
+ }
+ return contacts;
+}
+
+void ContactManager::Private::updateContactsPresenceState()
+{
+ Contacts subscribeContacts;
+ Contacts subscribeContactsRP;
+
+ if (subscribeChannel) {
+ subscribeContacts = subscribeChannel->groupContacts();
+ subscribeContactsRP = subscribeChannel->groupRemotePendingContacts();
+ }
+
+ Contacts publishContacts;
+ Contacts publishContactsLP;
+ if (publishChannel) {
+ publishContacts = publishChannel->groupContacts();
+ publishContactsLP = publishChannel->groupLocalPendingContacts();
+ }
+
+ Contacts denyContacts;
+ if (denyChannel) {
+ denyContacts = denyChannel->groupContacts();
+ }
+
+ if (!subscribeChannel && !publishChannel && !denyChannel) {
+ return;
+ }
+
+ Contacts contacts = allKnownContacts();
+ foreach (QSharedPointer<Contact> contact, contacts) {
+ if (subscribeChannel) {
+ // not in "subscribe" -> No, in "subscribe" lp -> Ask, in "subscribe" current -> Yes
+ if (subscribeContacts.contains(contact)) {
+ contact->setSubscriptionState(Contact::PresenceStateYes);
+ } else if (subscribeContactsRP.contains(contact)) {
+ contact->setSubscriptionState(Contact::PresenceStateAsk);
+ } else {
+ contact->setSubscriptionState(Contact::PresenceStateNo);
+ }
+ }
+
+ if (publishChannel) {
+ // not in "publish" -> No, in "subscribe" rp -> Ask, in "publish" current -> Yes
+ if (publishContacts.contains(contact)) {
+ contact->setPublishState(Contact::PresenceStateYes);
+ } else if (publishContactsLP.contains(contact)) {
+ contact->setPublishState(Contact::PresenceStateAsk);
+ } else {
+ contact->setPublishState(Contact::PresenceStateNo);
+ }
+ }
+
+ if (denyChannel) {
+ if (denyContacts.contains(contact)) {
+ contact->setBlocked(true);
+ }
+ }
+ }
+}
+
+QString ContactManager::ContactListChannel::identifierForType(Type type)
+{
+ static QString identifiers[LastType] = {
+ QLatin1String("subscribe"),
+ QLatin1String("publish"),
+ QLatin1String("stored"),
+ QLatin1String("deny"),
+ };
+ return identifiers[type];
+}
+
+uint ContactManager::ContactListChannel::typeForIdentifier(const QString &identifier)
+{
+ static QHash<QString, uint> types;
+ if (types.isEmpty()) {
+ types.insert(QLatin1String("subscribe"), TypeSubscribe);
+ types.insert(QLatin1String("publish"), TypePublish);
+ types.insert(QLatin1String("stored"), TypeStored);
+ types.insert(QLatin1String("deny"), TypeDeny);
+ }
+ if (types.contains(identifier)) {
+ return types[identifier];
+ }
+ return (uint) -1;
+}
+
+
}
}
diff --git a/TelepathyQt4/Client/contact-manager.h b/TelepathyQt4/Client/contact-manager.h
index 917136c..b14bfb7 100644
--- a/TelepathyQt4/Client/contact-manager.h
+++ b/TelepathyQt4/Client/contact-manager.h
@@ -34,6 +34,8 @@
#include <TelepathyQt4/Types>
#include <TelepathyQt4/Client/Contact>
+#include <TelepathyQt4/Client/Channel>
+#include <TelepathyQt4/Client/ReferencedHandles>
namespace Telepathy
{
@@ -55,6 +57,32 @@ class ContactManager : public QObject
bool isSupported() const;
QSet<Contact::Feature> supportedFeatures() const;
+ Contacts allKnownContacts() const;
+
+ bool canRequestPresenceSubscription() const;
+ bool subscriptionRequestHasMessage() const;
+ PendingOperation *requestPresenceSubscription(
+ const QList<QSharedPointer<Contact> > &contacts, const QString &message = QString());
+ bool canRemovePresenceSubscription() const;
+ bool subscriptionRemovalHasMessage() const;
+ bool canRescindPresenceSubscriptionRequest() const;
+ bool subscriptionRescindingHasMessage() const;
+ PendingOperation *removePresenceSubscription(
+ const QList<QSharedPointer<Contact> > &contacts, const QString &message = QString());
+ bool canAuthorizePresencePublication() const;
+ bool publicationAuthorizationHasMessage() const;
+ PendingOperation *authorizePresencePublication(
+ const QList<QSharedPointer<Contact> > &contacts, const QString &message = QString());
+ bool publicationRejectionHasMessage() const;
+ bool canRemovePresencePublication() const;
+ bool publicationRemovalHasMessage() const;
+ PendingOperation *removePresencePublication(
+ const QList<QSharedPointer<Contact> > &contacts, const QString &message = QString());
+
+ bool canBlockContacts() const;
+ PendingOperation *blockContacts(
+ const QList<QSharedPointer<Contact> > &contacts, bool value = true);
+
PendingContacts *contactsForHandles(const UIntList &handles,
const QSet<Contact::Feature> &features = QSet<Contact::Feature>());
PendingContacts *contactsForHandles(const ReferencedHandles &handles,
@@ -66,22 +94,81 @@ class ContactManager : public QObject
PendingContacts *upgradeContacts(const QList<QSharedPointer<Contact> > &contacts,
const QSet<Contact::Feature> &features);
+ Q_SIGNALS:
+ void presencePublicationRequested(const Telepathy::Client::Contacts &contacts);
+
private Q_SLOTS:
void onAliasesChanged(const Telepathy::AliasPairList &);
void onAvatarUpdated(uint, const QString &);
void onPresencesChanged(const Telepathy::SimpleContactPresences &);
+ void onSubscribeChannelMembersChanged(
+ const Telepathy::Client::Contacts &groupMembersAdded,
+ const Telepathy::Client::Contacts &groupLocalPendingMembersAdded,
+ const Telepathy::Client::Contacts &groupRemotePendingMembersAdded,
+ const Telepathy::Client::Contacts &groupMembersRemoved,
+ const Telepathy::Client::Channel::GroupMemberChangeDetails &details);
+ void onPublishChannelMembersChanged(
+ const Telepathy::Client::Contacts &groupMembersAdded,
+ const Telepathy::Client::Contacts &groupLocalPendingMembersAdded,
+ const Telepathy::Client::Contacts &groupRemotePendingMembersAdded,
+ const Telepathy::Client::Contacts &groupMembersRemoved,
+ const Telepathy::Client::Channel::GroupMemberChangeDetails &details);
+ void onDenyChannelMembersChanged(
+ const Telepathy::Client::Contacts &groupMembersAdded,
+ const Telepathy::Client::Contacts &groupLocalPendingMembersAdded,
+ const Telepathy::Client::Contacts &groupRemotePendingMembersAdded,
+ const Telepathy::Client::Contacts &groupMembersRemoved,
+ const Telepathy::Client::Channel::GroupMemberChangeDetails &details);
+
private:
+ struct ContactListChannel
+ {
+ enum Type {
+ TypeSubscribe = 0,
+ TypePublish,
+ TypeStored,
+ TypeDeny,
+ LastType
+ };
+
+ ContactListChannel()
+ : type((Type) -1)
+ {
+ }
+
+ ContactListChannel(Type type)
+ : type(type)
+ {
+ }
+
+ ~ContactListChannel()
+ {
+ }
+
+ static QString identifierForType(Type type);
+ static uint typeForIdentifier(const QString &identifier);
+
+ Type type;
+ ReferencedHandles handle;
+ QSharedPointer<Channel> channel;
+ };
+
ContactManager(Connection *parent);
~ContactManager();
QSharedPointer<Contact> ensureContact(const ReferencedHandles &handle,
const QSet<Contact::Feature> &features, const QVariantMap &attributes);
+ void setContactListChannels(const QMap<uint, ContactListChannel> &contactListsChannels);
+
+ QSharedPointer<Contact> lookupContactByHandle(uint handle);
+
struct Private;
friend struct Private;
friend class Connection;
friend class PendingContacts;
+ friend class Contact;
Private *mPriv;
};
diff --git a/TelepathyQt4/Client/contact.cpp b/TelepathyQt4/Client/contact.cpp
index d10d654..4ee49e2 100644
--- a/TelepathyQt4/Client/contact.cpp
+++ b/TelepathyQt4/Client/contact.cpp
@@ -37,7 +37,9 @@ namespace Client
struct Contact::Private
{
Private(ContactManager *manager, const ReferencedHandles &handle)
- : manager(manager), handle(handle), isAvatarTokenKnown(false)
+ : manager(manager), handle(handle), isAvatarTokenKnown(false),
+ subscriptionState(PresenceStateNo), publishState(PresenceStateNo),
+ blocked(false)
{
}
@@ -52,6 +54,10 @@ struct Contact::Private
bool isAvatarTokenKnown;
QString avatarToken;
SimplePresence simplePresence;
+
+ PresenceState subscriptionState;
+ PresenceState publishState;
+ bool blocked;
};
ContactManager *Contact::manager() const
@@ -149,8 +155,69 @@ QString Contact::presenceMessage() const
return mPriv->simplePresence.statusMessage;
}
+Contact::PresenceState Contact::subscriptionState() const
+{
+ return mPriv->subscriptionState;
+}
+
+Contact::PresenceState Contact::publishState() const
+{
+ return mPriv->publishState;
+}
+
+PendingOperation *Contact::requestPresenceSubscription(const QString &message)
+{
+ QSharedPointer<Contact> self =
+ mPriv->manager->lookupContactByHandle(mPriv->handle[0]);
+ return mPriv->manager->requestPresenceSubscription(
+ QList<QSharedPointer<Contact> >() << self,
+ message);
+}
+
+PendingOperation *Contact::removePresenceSubscription(const QString &message)
+{
+ QSharedPointer<Contact> self =
+ mPriv->manager->lookupContactByHandle(mPriv->handle[0]);
+ return mPriv->manager->removePresenceSubscription(
+ QList<QSharedPointer<Contact> >() << self,
+ message);
+}
+
+PendingOperation *Contact::authorizePresencePublication(const QString &message)
+{
+ QSharedPointer<Contact> self =
+ mPriv->manager->lookupContactByHandle(mPriv->handle[0]);
+ return mPriv->manager->authorizePresencePublication(
+ QList<QSharedPointer<Contact> >() << self,
+ message);
+}
+
+PendingOperation *Contact::removePresencePublication(const QString &message)
+{
+ QSharedPointer<Contact> self =
+ mPriv->manager->lookupContactByHandle(mPriv->handle[0]);
+ return mPriv->manager->removePresencePublication(
+ QList<QSharedPointer<Contact> >() << self,
+ message);
+}
+
+bool Contact::isBlocked() const
+{
+ return mPriv->blocked;
+}
+
+PendingOperation *Contact::block(bool value)
+{
+ QSharedPointer<Contact> self =
+ mPriv->manager->lookupContactByHandle(mPriv->handle[0]);
+ return mPriv->manager->blockContacts(
+ QList<QSharedPointer<Contact> >() << self,
+ value);
+}
+
Contact::~Contact()
{
+ debug() << "Contact" << id() << "destroyed";
delete mPriv;
}
@@ -263,5 +330,32 @@ void Contact::receiveSimplePresence(const SimplePresence &presence)
}
}
+void Contact::setSubscriptionState(Contact::PresenceState state)
+{
+ if (mPriv->subscriptionState == state) {
+ return;
+ }
+ mPriv->subscriptionState = state;
+ emit subscriptionStateChanged(state);
+}
+
+void Contact::setPublishState(Contact::PresenceState state)
+{
+ if (mPriv->publishState == state) {
+ return;
+ }
+ mPriv->publishState = state;
+ emit publishStateChanged(state);
+}
+
+void Contact::setBlocked(bool value)
+{
+ if (mPriv->blocked == value) {
+ return;
+ }
+ mPriv->blocked = value;
+ emit blockStatusChanged(value);
+}
+
} // Telepathy::Client
} // Telepathy
diff --git a/TelepathyQt4/Client/contact.h b/TelepathyQt4/Client/contact.h
index f2abd00..bb71882 100644
--- a/TelepathyQt4/Client/contact.h
+++ b/TelepathyQt4/Client/contact.h
@@ -28,6 +28,7 @@
#include <QObject>
#include <QSet>
+#include <QSharedPointer>
#include <QVariantMap>
#include <TelepathyQt4/Types>
@@ -36,7 +37,9 @@ namespace Telepathy
{
namespace Client
{
+
class ContactManager;
+class PendingOperation;
class ReferencedHandles;
class Contact : public QObject
@@ -51,6 +54,12 @@ public:
_Padding = 0xFFFFFFFF
};
+ enum PresenceState {
+ PresenceStateNo,
+ PresenceStateAsk,
+ PresenceStateYes
+ };
+
ContactManager *manager() const;
ReferencedHandles handle() const;
@@ -68,6 +77,17 @@ public:
uint presenceType() const;
QString presenceMessage() const;
+ PresenceState subscriptionState() const;
+ PresenceState publishState() const;
+
+ PendingOperation *requestPresenceSubscription(const QString &message = QString());
+ PendingOperation *removePresenceSubscription(const QString &message = QString());
+ PendingOperation *authorizePresencePublication(const QString &message = QString());
+ PendingOperation *removePresencePublication(const QString &message = QString());
+
+ bool isBlocked() const;
+ PendingOperation *block(bool value = true);
+
~Contact();
Q_SIGNALS:
@@ -75,9 +95,13 @@ Q_SIGNALS:
void avatarTokenChanged(const QString &avatarToken);
void simplePresenceChanged(const QString &status, uint type, const QString &presenceMessage);
+ void subscriptionStateChanged(Telepathy::Client::Contact::PresenceState state);
+ void publishStateChanged(Telepathy::Client::Contact::PresenceState state);
+ void blockStatusChanged(bool blocked);
+
// TODO: consider how the Renaming interface should work and map to Contacts
// I guess it would be something like:
- // void renamedTo(QSharedPointer<Contact>)
+ // void renamedTo(QSharedPointer<Telepathy::Client::Contact>)
// with that contact getting the same features requested as the current one. Or would we rather
// want to signal that change right away with a handle?
@@ -93,12 +117,23 @@ private:
void receiveAvatarToken(const QString &avatarToken);
void receiveSimplePresence(const SimplePresence &presence);
+ void setSubscriptionState(PresenceState state);
+ void setPublishState(PresenceState state);
+ void setBlocked(bool value);
+
struct Private;
friend class ContactManager;
friend struct Private;
Private *mPriv;
};
+typedef QSet<QSharedPointer<Contact> > Contacts;
+
+inline uint qHash(const QSharedPointer<Contact> &contact)
+{
+ return qHash(contact.data());
+}
+
} // Telepathy::Client
} // Telepathy
diff --git a/TelepathyQt4/Client/pending-ready-account-manager.cpp b/TelepathyQt4/Client/pending-ready-account-manager.cpp
deleted file mode 100644
index 5cf9fc7..0000000
--- a/TelepathyQt4/Client/pending-ready-account-manager.cpp
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2009 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/Client/PendingReadyAccountManager>
-
-#include "TelepathyQt4/Client/_gen/pending-ready-account-manager.moc.hpp"
-
-#include "TelepathyQt4/debug-internal.h"
-
-#include <QDBusPendingCallWatcher>
-#include <QDBusPendingReply>
-
-/**
- * \addtogroup clientsideproxies Client-side proxies
- *
- * Proxy objects representing remote service objects accessed via D-Bus.
- *
- * In addition to providing direct access to methods, signals and properties
- * exported by the remote objects, some of these proxies offer features like
- * automatic inspection of remote object capabilities, property tracking,
- * backwards compatibility helpers for older services and other utilities.
- */
-
-namespace Telepathy
-{
-namespace Client
-{
-
-struct PendingReadyAccountManager::Private
-{
- Private(AccountManager::Features requestedFeatures, AccountManager *accountManager) :
- requestedFeatures(requestedFeatures),
- accountManager(accountManager)
- {
- }
-
- AccountManager::Features requestedFeatures;
- AccountManager *accountManager;
-};
-
-/**
- * \class PendingReadyAccountManager
- * \ingroup clientaccount
- * \headerfile <TelepathyQt4/Client/pending-ready-account-manager.h> <TelepathyQt4/Client/PendingReadyAccountManager>
- *
- * Class containing the features requested and the reply to a request
- * for an account manager to become ready. Instances of this class cannot be
- * constructed directly; the only way to get one is via AccountManager::becomeReady().
- */
-
-/**
- * Construct a PendingReadyAccountManager object.
- *
- * \param accountManager The AccountManager that will become ready.
- */
-PendingReadyAccountManager::PendingReadyAccountManager(AccountManager::Features requestedFeatures,
- AccountManager *accountManager)
- : PendingOperation(accountManager),
- mPriv(new Private(requestedFeatures, accountManager))
-{
-}
-
-/**
- * Class destructor.
- */
-PendingReadyAccountManager::~PendingReadyAccountManager()
-{
- delete mPriv;
-}
-
-/**
- * Return the AccountManager object through which the request was made.
- *
- * \return AccountManager object.
- */
-AccountManager *PendingReadyAccountManager::accountManager() const
-{
- return mPriv->accountManager;
-}
-
-/**
- * Return the Features that were requested to become ready on the
- * account manager.
- *
- * \return Features.
- */
-AccountManager::Features PendingReadyAccountManager::requestedFeatures() const
-{
- return mPriv->requestedFeatures;
-}
-
-} // Telepathy::Client
-} // Telepathy
diff --git a/TelepathyQt4/Client/pending-ready-account-manager.h b/TelepathyQt4/Client/pending-ready-account-manager.h
deleted file mode 100644
index bc5f5e5..0000000
--- a/TelepathyQt4/Client/pending-ready-account-manager.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2009 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_cli_pending_ready_account_manager_h_HEADER_GUARD_
-#define _TelepathyQt4_cli_pending_ready_account_manager_h_HEADER_GUARD_
-
-#ifndef IN_TELEPATHY_QT4_HEADER
-#error IN_TELEPATHY_QT4_HEADER
-#endif
-
-#include <TelepathyQt4/Client/AccountManager>
-#include <TelepathyQt4/Client/PendingOperation>
-
-class QDBusPendingCallWatcher;
-
-namespace Telepathy
-{
-namespace Client
-{
-
-class PendingReadyAccountManager : public PendingOperation
-{
- Q_OBJECT
-
-public:
- ~PendingReadyAccountManager();
-
- AccountManager *accountManager() const;
- AccountManager::Features requestedFeatures() const;
-
-private:
- Q_DISABLE_COPY(PendingReadyAccountManager);
- PendingReadyAccountManager(AccountManager::Features requestedFeatures, AccountManager *accountManager);
-
- struct Private;
- friend struct Private;
- friend class AccountManager;
- Private *mPriv;
-};
-
-} // Telepathy::Client
-} // Telepathy
-
-#endif
diff --git a/TelepathyQt4/Client/pending-ready-account.cpp b/TelepathyQt4/Client/pending-ready-account.cpp
deleted file mode 100644
index 3ab8a46..0000000
--- a/TelepathyQt4/Client/pending-ready-account.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2009 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/Client/PendingReadyAccount>
-
-#include "TelepathyQt4/Client/_gen/pending-ready-account.moc.hpp"
-
-#include "TelepathyQt4/debug-internal.h"
-
-#include <QDBusPendingCallWatcher>
-#include <QDBusPendingReply>
-
-/**
- * \addtogroup clientsideproxies Client-side proxies
- *
- * Proxy objects representing remote service objects accessed via D-Bus.
- *
- * In addition to providing direct access to methods, signals and properties
- * exported by the remote objects, some of these proxies offer features like
- * automatic inspection of remote object capabilities, property tracking,
- * backwards compatibility helpers for older services and other utilities.
- */
-
-namespace Telepathy
-{
-namespace Client
-{
-
-struct PendingReadyAccount::Private
-{
- Private(Account::Features requestedFeatures, Account *account) :
- requestedFeatures(requestedFeatures),
- account(account)
- {
- }
-
- Account::Features requestedFeatures;
- Account *account;
-};
-
-/**
- * \class PendingReadyAccount
- * \ingroup clientaccount
- * \headerfile <TelepathyQt4/Client/pending-ready-account.h> <TelepathyQt4/Client/PendingReadyAccount>
- *
- * Class containing the features requested and the reply to a request
- * for an account to become ready. Instances of this class cannot be
- * constructed directly; the only way to get one is via Account::becomeReady().
- */
-
-/**
- * Construct a PendingReadyAccount object.
- *
- * \param account The Account that will become ready.
- */
-PendingReadyAccount::PendingReadyAccount(Account::Features requestedFeatures, Account *account)
- : PendingOperation(account),
- mPriv(new Private(requestedFeatures, account))
-{
-}
-
-/**
- * Class destructor.
- */
-PendingReadyAccount::~PendingReadyAccount()
-{
- delete mPriv;
-}
-
-/**
- * Return the Account object through which the request was made.
- *
- * \return Account object.
- */
-Account *PendingReadyAccount::account() const
-{
- return mPriv->account;
-}
-
-/**
- * Return the Features that were requested to become ready on the
- * account.
- *
- * \return Features.
- */
-Account::Features PendingReadyAccount::requestedFeatures() const
-{
- return mPriv->requestedFeatures;
-}
-
-} // Telepathy::Client
-} // Telepathy
diff --git a/TelepathyQt4/Client/pending-ready-connection-manager.cpp b/TelepathyQt4/Client/pending-ready-connection-manager.cpp
deleted file mode 100644
index 7ba607e..0000000
--- a/TelepathyQt4/Client/pending-ready-connection-manager.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2009 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/Client/PendingReadyConnectionManager>
-
-#include "TelepathyQt4/Client/_gen/pending-ready-connection-manager.moc.hpp"
-
-#include "TelepathyQt4/debug-internal.h"
-
-#include <QDBusPendingCallWatcher>
-#include <QDBusPendingReply>
-
-/**
- * \addtogroup clientsideproxies Client-side proxies
- *
- * Proxy objects representing remote service objects accessed via D-Bus.
- *
- * In addition to providing direct access to methods, signals and properties
- * exported by the remote objects, some of these proxies offer features like
- * automatic inspection of remote object capabilities, property tracking,
- * backwards compatibility helpers for older services and other utilities.
- */
-
-namespace Telepathy
-{
-namespace Client
-{
-
-struct PendingReadyConnectionManager::Private
-{
- Private(ConnectionManager::Features requestedFeatures, ConnectionManager *connectionManager) :
- requestedFeatures(requestedFeatures),
- connectionManager(connectionManager)
- {
- }
-
- ConnectionManager::Features requestedFeatures;
- ConnectionManager *connectionManager;
-};
-
-/**
- * \class PendingReadyConnectionManager
- * \ingroup clientcm
- * \headerfile <TelepathyQt4/Client/pending-ready-connection-manager.h> <TelepathyQt4/Client/PendingReadyConnectionManager>
- *
- * Class containing the features requested and the reply to a request
- * for a connection manager to become ready. Instances of this class cannot be
- * constructed directly; the only way to get one is via ConnectionManager::becomeReady().
- */
-
-/**
- * Construct a PendingReadyConnectionManager object.
- *
- * \param connectionManager The ConnectionManager that will become ready.
- */
-PendingReadyConnectionManager::PendingReadyConnectionManager(ConnectionManager::Features requestedFeatures, ConnectionManager *connectionManager)
- : PendingOperation(connectionManager),
- mPriv(new Private(requestedFeatures, connectionManager))
-{
-}
-
-/**
- * Class destructor.
- */
-PendingReadyConnectionManager::~PendingReadyConnectionManager()
-{
- delete mPriv;
-}
-
-/**
- * Return the ConnectionManager object through which the request was made.
- *
- * \return ConnectionManager object.
- */
-ConnectionManager *PendingReadyConnectionManager::connectionManager() const
-{
- return mPriv->connectionManager;
-}
-
-/**
- * Return the Features that were requested to become ready on the
- * connection manager.
- *
- * \return Features.
- */
-ConnectionManager::Features PendingReadyConnectionManager::requestedFeatures() const
-{
- return mPriv->requestedFeatures;
-}
-
-} // Telepathy::Client
-} // Telepathy
diff --git a/TelepathyQt4/Client/pending-ready-connection-manager.h b/TelepathyQt4/Client/pending-ready-connection-manager.h
deleted file mode 100644
index c8cad39..0000000
--- a/TelepathyQt4/Client/pending-ready-connection-manager.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2009 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_cli_pending_ready_connection_manager_h_HEADER_GUARD_
-#define _TelepathyQt4_cli_pending_ready_connection_manager_h_HEADER_GUARD_
-
-#ifndef IN_TELEPATHY_QT4_HEADER
-#error IN_TELEPATHY_QT4_HEADER
-#endif
-
-#include <TelepathyQt4/Client/ConnectionManager>
-#include <TelepathyQt4/Client/PendingOperation>
-
-class QDBusPendingCallWatcher;
-
-namespace Telepathy
-{
-namespace Client
-{
-
-class PendingReadyConnectionManager : public PendingOperation
-{
- Q_OBJECT
-
-public:
- ~PendingReadyConnectionManager();
-
- ConnectionManager *connectionManager() const;
- ConnectionManager::Features requestedFeatures() const;
-
-private:
- Q_DISABLE_COPY(PendingReadyConnectionManager);
- PendingReadyConnectionManager(ConnectionManager::Features requestedFeatures, ConnectionManager *connectionManager);
-
- struct Private;
- friend struct Private;
- friend class ConnectionManager;
- Private *mPriv;
-};
-
-} // Telepathy::Client
-} // Telepathy
-
-#endif
diff --git a/TelepathyQt4/Client/pending-ready-connection.cpp b/TelepathyQt4/Client/pending-ready-connection.cpp
deleted file mode 100644
index 43e9292..0000000
--- a/TelepathyQt4/Client/pending-ready-connection.cpp
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2009 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/Client/PendingReadyConnection>
-
-#include "TelepathyQt4/Client/_gen/pending-ready-connection.moc.hpp"
-
-#include "TelepathyQt4/debug-internal.h"
-
-#include <QDBusPendingCallWatcher>
-#include <QDBusPendingReply>
-
-/**
- * \addtogroup clientsideproxies Client-side proxies
- *
- * Proxy objects representing remote service objects accessed via D-Bus.
- *
- * In addition to providing direct access to methods, signals and properties
- * exported by the remote objects, some of these proxies offer features like
- * automatic inspection of remote object capabilities, property tracking,
- * backwards compatibility helpers for older services and other utilities.
- */
-
-namespace Telepathy
-{
-namespace Client
-{
-
-struct PendingReadyConnection::Private
-{
- Private(Connection::Features requestedFeatures, Connection *connection) :
- requestedFeatures(requestedFeatures),
- connection(connection)
- {
- }
-
- Connection::Features requestedFeatures;
- Connection *connection;
-};
-
-/**
- * \class PendingReadyConnection
- * \ingroup clientconnection
- * \headerfile <TelepathyQt4/Client/pending-ready-connection.h> <TelepathyQt4/Client/PendingReadyConnection>
- *
- * Class containing the features requested and the reply to a request
- * for a connection to become ready. Instances of this class cannot be
- * constructed directly; the only way to get one is via Connection::becomeReady().
- */
-
-/**
- * Construct a PendingReadyConnection object.
- *
- * \param connection The Connection that will become ready.
- */
-PendingReadyConnection::PendingReadyConnection(Connection::Features requestedFeatures, Connection *connection)
- : PendingOperation(connection),
- mPriv(new Private(requestedFeatures, connection))
-{
-}
-
-/**
- * Class destructor.
- */
-PendingReadyConnection::~PendingReadyConnection()
-{
- delete mPriv;
-}
-
-/**
- * Return the Connection object through which the request was made.
- *
- * \return Connection object.
- */
-Connection *PendingReadyConnection::connection() const
-{
- return mPriv->connection;
-}
-
-/**
- * Return the Features that were requested to become ready on the
- * connection.
- *
- * \return Features.
- */
-Connection::Features PendingReadyConnection::requestedFeatures() const
-{
- return mPriv->requestedFeatures;
-}
-
-} // Telepathy::Client
-} // Telepathy
diff --git a/TelepathyQt4/Client/pending-ready-connection.h b/TelepathyQt4/Client/pending-ready-connection.h
deleted file mode 100644
index 37e92ad..0000000
--- a/TelepathyQt4/Client/pending-ready-connection.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * This file is part of TelepathyQt4
- *
- * Copyright (C) 2009 Collabora Ltd. <http://www.collabora.co.uk/>
- * Copyright (C) 2009 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_cli_pending_ready_connection_h_HEADER_GUARD_
-#define _TelepathyQt4_cli_pending_ready_connection_h_HEADER_GUARD_
-
-#ifndef IN_TELEPATHY_QT4_HEADER
-#error IN_TELEPATHY_QT4_HEADER
-#endif
-
-#include <TelepathyQt4/Client/Connection>
-#include <TelepathyQt4/Client/PendingOperation>
-
-class QDBusPendingCallWatcher;
-
-namespace Telepathy
-{
-namespace Client
-{
-
-class PendingReadyConnection : public PendingOperation
-{
- Q_OBJECT
-
-public:
- ~PendingReadyConnection();
-
- Connection *connection() const;
- Connection::Features requestedFeatures() const;
-
-private:
- Q_DISABLE_COPY(PendingReadyConnection);
- PendingReadyConnection(Connection::Features requestedFeatures, Connection *connection);
-
- struct Private;
- friend struct Private;
- friend class Connection;
- Private *mPriv;
-};
-
-} // Telepathy::Client
-} // Telepathy
-
-#endif
diff --git a/TelepathyQt4/Client/readiness-helper.cpp b/TelepathyQt4/Client/readiness-helper.cpp
index bca6f47..03034ef 100644
--- a/TelepathyQt4/Client/readiness-helper.cpp
+++ b/TelepathyQt4/Client/readiness-helper.cpp
@@ -354,7 +354,7 @@ PendingReady *ReadinessHelper::becomeReady(QSet<uint> requestedFeatures)
debug() << "ReadinessHelper::becomeReady called with invalid features: requestedFeatures =" <<
requestedFeatures << "- supportedFeatures =" << mPriv->supportedFeatures;
PendingReady *operation =
- new PendingReady(requestedFeatures, this);
+ new PendingReady(requestedFeatures, mPriv->proxy);
operation->setFinishedWithError(TELEPATHY_ERROR_INVALID_ARGUMENT,
"Requested features contains invalid feature");
return operation;
@@ -362,7 +362,7 @@ PendingReady *ReadinessHelper::becomeReady(QSet<uint> requestedFeatures)
if (!mPriv->proxy->isValid()) {
PendingReady *operation =
- new PendingReady(requestedFeatures, this);
+ new PendingReady(requestedFeatures, mPriv->proxy);
operation->setFinishedWithError(mPriv->proxy->invalidationReason(),
mPriv->proxy->invalidationMessage());
return operation;
@@ -379,7 +379,7 @@ PendingReady *ReadinessHelper::becomeReady(QSet<uint> requestedFeatures)
// it will be updated on iterateIntrospection
mPriv->pendingFeatures += requestedFeatures;
- operation = new PendingReady(requestedFeatures, parent());
+ operation = new PendingReady(requestedFeatures, mPriv->proxy);
mPriv->pendingOperations.append(operation);
QTimer::singleShot(0, this, SLOT(iterateIntrospection()));
diff --git a/TelepathyQt4/Makefile.am b/TelepathyQt4/Makefile.am
index 5d9023e..ea5bb6b 100644
--- a/TelepathyQt4/Makefile.am
+++ b/TelepathyQt4/Makefile.am
@@ -60,11 +60,7 @@ libtelepathy_qt4_la_SOURCES = \
Client/pending-handles.cpp \
Client/pending-operation.cpp \
Client/pending-ready.cpp \
- Client/pending-ready-account.cpp \
- Client/pending-ready-account-manager.cpp \
Client/pending-ready-channel.cpp \
- Client/pending-ready-connection.cpp \
- Client/pending-ready-connection-manager.cpp \
Client/pending-string-list.cpp \
Client/properties.cpp \
Client/readiness-helper.cpp \
@@ -119,11 +115,7 @@ nodist_libtelepathy_qt4_la_SOURCES = \
Client/_gen/pending-handles.moc.hpp \
Client/_gen/pending-operation.moc.hpp \
Client/_gen/pending-ready.moc.hpp \
- Client/_gen/pending-ready-account.moc.hpp \
- Client/_gen/pending-ready-account-manager.moc.hpp \
Client/_gen/pending-ready-channel.moc.hpp \
- Client/_gen/pending-ready-connection.moc.hpp \
- Client/_gen/pending-ready-connection-manager.moc.hpp \
Client/_gen/pending-string-list.moc.hpp \
Client/_gen/readiness-helper.moc.hpp \
Client/_gen/room-list.moc.hpp \
@@ -168,11 +160,7 @@ tpqt4clientinclude_HEADERS = \
Client/PendingHandles \
Client/PendingOperation \
Client/PendingReady \
- Client/PendingReadyAccount \
- Client/PendingReadyAccountManager \
Client/PendingReadyChannel \
- Client/PendingReadyConnection \
- Client/PendingReadyConnectionManager \
Client/PendingSuccess \
Client/PendingStringList \
Client/PendingVoidMethodCall \
@@ -240,11 +228,7 @@ tpqt4clientinclude_HEADERS = \
Client/pending-handles.h \
Client/pending-operation.h \
Client/pending-ready.h \
- Client/pending-ready-account.h \
- Client/pending-ready-account-manager.h \
Client/pending-ready-channel.h \
- Client/pending-ready-connection.h \
- Client/pending-ready-connection-manager.h \
Client/pending-string-list.h \
Client/properties.h \
Client/readiness-helper.h \
diff --git a/TelepathyQt4/Makefile.in b/TelepathyQt4/Makefile.in
index 8525f8d..33b3c83 100644
--- a/TelepathyQt4/Makefile.in
+++ b/TelepathyQt4/Makefile.in
@@ -76,13 +76,10 @@ am_libtelepathy_qt4_la_OBJECTS = abstract-interface.lo account.lo \
pending-channel.lo pending-connection.lo \
pending-contact-attributes.lo pending-contacts.lo \
pending-handles.lo pending-operation.lo pending-ready.lo \
- pending-ready-account.lo pending-ready-account-manager.lo \
- pending-ready-channel.lo pending-ready-connection.lo \
- pending-ready-connection-manager.lo pending-string-list.lo \
- properties.lo readiness-helper.lo referenced-handles.lo \
- room-list.lo streamed-media-channel.lo text-channel.lo \
- debug.lo key-file.lo manager-file.lo types.lo \
- header-compile-test.lo
+ pending-ready-channel.lo pending-string-list.lo properties.lo \
+ readiness-helper.lo referenced-handles.lo room-list.lo \
+ streamed-media-channel.lo text-channel.lo debug.lo key-file.lo \
+ manager-file.lo types.lo header-compile-test.lo
nodist_libtelepathy_qt4_la_OBJECTS =
libtelepathy_qt4_la_OBJECTS = $(am_libtelepathy_qt4_la_OBJECTS) \
$(nodist_libtelepathy_qt4_la_OBJECTS)
@@ -381,11 +378,7 @@ libtelepathy_qt4_la_SOURCES = \
Client/pending-handles.cpp \
Client/pending-operation.cpp \
Client/pending-ready.cpp \
- Client/pending-ready-account.cpp \
- Client/pending-ready-account-manager.cpp \
Client/pending-ready-channel.cpp \
- Client/pending-ready-connection.cpp \
- Client/pending-ready-connection-manager.cpp \
Client/pending-string-list.cpp \
Client/properties.cpp \
Client/readiness-helper.cpp \
@@ -440,11 +433,7 @@ nodist_libtelepathy_qt4_la_SOURCES = \
Client/_gen/pending-handles.moc.hpp \
Client/_gen/pending-operation.moc.hpp \
Client/_gen/pending-ready.moc.hpp \
- Client/_gen/pending-ready-account.moc.hpp \
- Client/_gen/pending-ready-account-manager.moc.hpp \
Client/_gen/pending-ready-channel.moc.hpp \
- Client/_gen/pending-ready-connection.moc.hpp \
- Client/_gen/pending-ready-connection-manager.moc.hpp \
Client/_gen/pending-string-list.moc.hpp \
Client/_gen/readiness-helper.moc.hpp \
Client/_gen/room-list.moc.hpp \
@@ -489,11 +478,7 @@ tpqt4clientinclude_HEADERS = \
Client/PendingHandles \
Client/PendingOperation \
Client/PendingReady \
- Client/PendingReadyAccount \
- Client/PendingReadyAccountManager \
Client/PendingReadyChannel \
- Client/PendingReadyConnection \
- Client/PendingReadyConnectionManager \
Client/PendingSuccess \
Client/PendingStringList \
Client/PendingVoidMethodCall \
@@ -561,11 +546,7 @@ tpqt4clientinclude_HEADERS = \
Client/pending-handles.h \
Client/pending-operation.h \
Client/pending-ready.h \
- Client/pending-ready-account.h \
- Client/pending-ready-account-manager.h \
Client/pending-ready-channel.h \
- Client/pending-ready-connection.h \
- Client/pending-ready-connection-manager.h \
Client/pending-string-list.h \
Client/properties.h \
Client/readiness-helper.h \
@@ -707,11 +688,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending-contacts.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending-handles.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending-operation.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending-ready-account-manager.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending-ready-account.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending-ready-channel.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending-ready-connection-manager.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending-ready-connection.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending-ready.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending-string-list.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/properties.Plo@am__quote@
@@ -904,20 +881,6 @@ pending-ready.lo: Client/pending-ready.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pending-ready.lo `test -f 'Client/pending-ready.cpp' || echo '$(srcdir)/'`Client/pending-ready.cpp
-pending-ready-account.lo: Client/pending-ready-account.cpp
-@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pending-ready-account.lo -MD -MP -MF "$(DEPDIR)/pending-ready-account.Tpo" -c -o pending-ready-account.lo `test -f 'Client/pending-ready-account.cpp' || echo '$(srcdir)/'`Client/pending-ready-account.cpp; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/pending-ready-account.Tpo" "$(DEPDIR)/pending-ready-account.Plo"; else rm -f "$(DEPDIR)/pending-ready-account.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Client/pending-ready-account.cpp' object='pending-ready-account.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pending-ready-account.lo `test -f 'Client/pending-ready-account.cpp' || echo '$(srcdir)/'`Client/pending-ready-account.cpp
-
-pending-ready-account-manager.lo: Client/pending-ready-account-manager.cpp
-@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pending-ready-account-manager.lo -MD -MP -MF "$(DEPDIR)/pending-ready-account-manager.Tpo" -c -o pending-ready-account-manager.lo `test -f 'Client/pending-ready-account-manager.cpp' || echo '$(srcdir)/'`Client/pending-ready-account-manager.cpp; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/pending-ready-account-manager.Tpo" "$(DEPDIR)/pending-ready-account-manager.Plo"; else rm -f "$(DEPDIR)/pending-ready-account-manager.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Client/pending-ready-account-manager.cpp' object='pending-ready-account-manager.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pending-ready-account-manager.lo `test -f 'Client/pending-ready-account-manager.cpp' || echo '$(srcdir)/'`Client/pending-ready-account-manager.cpp
-
pending-ready-channel.lo: Client/pending-ready-channel.cpp
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pending-ready-channel.lo -MD -MP -MF "$(DEPDIR)/pending-ready-channel.Tpo" -c -o pending-ready-channel.lo `test -f 'Client/pending-ready-channel.cpp' || echo '$(srcdir)/'`Client/pending-ready-channel.cpp; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/pending-ready-channel.Tpo" "$(DEPDIR)/pending-ready-channel.Plo"; else rm -f "$(DEPDIR)/pending-ready-channel.Tpo"; exit 1; fi
@@ -925,20 +888,6 @@ pending-ready-channel.lo: Client/pending-ready-channel.cpp
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pending-ready-channel.lo `test -f 'Client/pending-ready-channel.cpp' || echo '$(srcdir)/'`Client/pending-ready-channel.cpp
-pending-ready-connection.lo: Client/pending-ready-connection.cpp
-@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pending-ready-connection.lo -MD -MP -MF "$(DEPDIR)/pending-ready-connection.Tpo" -c -o pending-ready-connection.lo `test -f 'Client/pending-ready-connection.cpp' || echo '$(srcdir)/'`Client/pending-ready-connection.cpp; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/pending-ready-connection.Tpo" "$(DEPDIR)/pending-ready-connection.Plo"; else rm -f "$(DEPDIR)/pending-ready-connection.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Client/pending-ready-connection.cpp' object='pending-ready-connection.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pending-ready-connection.lo `test -f 'Client/pending-ready-connection.cpp' || echo '$(srcdir)/'`Client/pending-ready-connection.cpp
-
-pending-ready-connection-manager.lo: Client/pending-ready-connection-manager.cpp
-@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pending-ready-connection-manager.lo -MD -MP -MF "$(DEPDIR)/pending-ready-connection-manager.Tpo" -c -o pending-ready-connection-manager.lo `test -f 'Client/pending-ready-connection-manager.cpp' || echo '$(srcdir)/'`Client/pending-ready-connection-manager.cpp; \
-@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/pending-ready-connection-manager.Tpo" "$(DEPDIR)/pending-ready-connection-manager.Plo"; else rm -f "$(DEPDIR)/pending-ready-connection-manager.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='Client/pending-ready-connection-manager.cpp' object='pending-ready-connection-manager.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pending-ready-connection-manager.lo `test -f 'Client/pending-ready-connection-manager.cpp' || echo '$(srcdir)/'`Client/pending-ready-connection-manager.cpp
-
pending-string-list.lo: Client/pending-string-list.cpp
@am__fastdepCXX_TRUE@ if $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pending-string-list.lo -MD -MP -MF "$(DEPDIR)/pending-string-list.Tpo" -c -o pending-string-list.lo `test -f 'Client/pending-string-list.cpp' || echo '$(srcdir)/'`Client/pending-string-list.cpp; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/pending-string-list.Tpo" "$(DEPDIR)/pending-string-list.Plo"; else rm -f "$(DEPDIR)/pending-string-list.Tpo"; exit 1; fi
diff --git a/configure b/configure
index 5b7a9ec..bb117b3 100755
--- a/configure
+++ b/configure
@@ -1,11 +1,11 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for Telepathy-Qt4 0.1.0.
+# Generated by GNU Autoconf 2.63 for Telepathy-Qt4 0.1.1.
#
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy>.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## --------------------- ##
@@ -17,7 +17,7 @@ DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -39,17 +39,45 @@ as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+ as_echo='printf %s\n'
+ as_echo_n='printf %s'
+else
+ if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+ as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+ as_echo_n='/usr/ucb/echo -n'
else
- PATH_SEPARATOR=:
+ as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+ as_echo_n_body='eval
+ arg=$1;
+ case $arg in
+ *"$as_nl"*)
+ expr "X$arg" : "X\\(.*\\)$as_nl";
+ arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+ esac;
+ expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+ '
+ export as_echo_n_body
+ as_echo_n='sh -c $as_echo_n_body as_echo'
fi
- rm -f conf$$.sh
+ export as_echo_body
+ as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ PATH_SEPARATOR=:
+ (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+ (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+ PATH_SEPARATOR=';'
+ }
fi
# Support unset when possible.
@@ -65,8 +93,6 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
-as_nl='
-'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
@@ -89,7 +115,7 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
{ (exit 1); exit 1; }
fi
@@ -102,17 +128,10 @@ PS2='> '
PS4='+ '
# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
@@ -134,7 +153,7 @@ as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X/"$0" |
+$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -160,7 +179,7 @@ else
as_have_required=no
fi
- if test $as_have_required = yes && (eval ":
+ if test $as_have_required = yes && (eval ":
(as_func_return () {
(exit \$1)
}
@@ -242,7 +261,7 @@ IFS=$as_save_IFS
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -263,7 +282,7 @@ _ASEOF
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
@@ -343,10 +362,10 @@ fi
if test "x$CONFIG_SHELL" != x; then
for as_var in BASH_ENV ENV
- do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
- done
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi
@@ -415,9 +434,10 @@ fi
test \$exitcode = 0") || {
echo No shell found that supports shell functions.
- echo Please tell autoconf@gnu.org about your system,
- echo including any error possibly output before this
- echo message
+ echo Please tell bug-autoconf@gnu.org about your system,
+ echo including any error possibly output before this message.
+ echo This can help us improve future autoconf versions.
+ echo Configuration will now proceed without shell functions.
}
@@ -453,7 +473,7 @@ test \$exitcode = 0") || {
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
{ (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
@@ -481,7 +501,6 @@ case `echo -n x` in
*)
ECHO_N='-n';;
esac
-
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -494,19 +513,22 @@ if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir
-fi
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+ if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+ elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+ else
as_ln_s='cp -p'
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
+ fi
else
as_ln_s='cp -p'
fi
@@ -531,10 +553,10 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
case $1 in
- -*)set "./$1";;
+ -*)set "./$1";;
esac;
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
@@ -728,8 +750,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='Telepathy-Qt4'
PACKAGE_TARNAME='telepathy-qt4'
-PACKAGE_VERSION='0.1.0'
-PACKAGE_STRING='Telepathy-Qt4 0.1.0'
+PACKAGE_VERSION='0.1.1'
+PACKAGE_STRING='Telepathy-Qt4 0.1.1'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy'
# Factoring default headers for most tests.
@@ -768,204 +790,231 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL
-PATH_SEPARATOR
-PACKAGE_NAME
-PACKAGE_TARNAME
-PACKAGE_VERSION
-PACKAGE_STRING
-PACKAGE_BUGREPORT
-exec_prefix
-prefix
-program_transform_name
-bindir
-sbindir
-libexecdir
-datarootdir
-datadir
-sysconfdir
-sharedstatedir
-localstatedir
-includedir
-oldincludedir
-docdir
-infodir
-htmldir
-dvidir
-pdfdir
-psdir
-libdir
-localedir
-mandir
-DEFS
-ECHO_C
-ECHO_N
-ECHO_T
-LIBS
-build_alias
-host_alias
-target_alias
-INSTALL_PROGRAM
-INSTALL_SCRIPT
-INSTALL_DATA
-CYGPATH_W
-PACKAGE
-VERSION
-ACLOCAL
-AUTOCONF
-AUTOMAKE
-AUTOHEADER
-MAKEINFO
-install_sh
-STRIP
-INSTALL_STRIP_PROGRAM
-mkdir_p
-AWK
-SET_MAKE
-am__leading_dot
-AMTAR
-am__tar
-am__untar
-CXX
-CXXFLAGS
-LDFLAGS
-CPPFLAGS
-ac_ct_CXX
-EXEEXT
-OBJEXT
-DEPDIR
-am__include
-am__quote
-AMDEP_TRUE
-AMDEP_FALSE
-AMDEPBACKSLASH
-CXXDEPMODE
-am__fastdepCXX_TRUE
-am__fastdepCXX_FALSE
-build
-build_cpu
-build_vendor
-build_os
-host
-host_cpu
-host_vendor
-host_os
-CC
-CFLAGS
-ac_ct_CC
-CCDEPMODE
-am__fastdepCC_TRUE
-am__fastdepCC_FALSE
-SED
-GREP
-EGREP
-LN_S
-ECHO
-AR
-RANLIB
-DSYMUTIL
-NMEDIT
-CPP
-CXXCPP
-F77
-FFLAGS
-ac_ct_F77
-LIBTOOL
-PKG_CONFIG
-LT_CURRENT
-LT_REVISION
-LT_AGE
-VERSION_SCRIPT_ARG
-HAVE_VERSION_SCRIPT_ARG_TRUE
-HAVE_VERSION_SCRIPT_ARG_FALSE
-OFFICIAL_RELEASE_TRUE
-OFFICIAL_RELEASE_FALSE
-ERROR_CXXFLAGS
-ERROR_CFLAGS
-ENABLE_CODING_STYLE_CHECKS
-QTCORE_CFLAGS
-QTCORE_LIBS
-MOC
-RCC
-QTDBUS_CFLAGS
-QTDBUS_LIBS
-QTGUI_CFLAGS
-QTGUI_LIBS
-HAVE_QTGUI_TRUE
-HAVE_QTGUI_FALSE
-QTTEST_CFLAGS
-QTTEST_LIBS
-TP_QT4_CFLAGS
-PROTO_CFLAGS
-TP_GLIB_CFLAGS
-TP_GLIB_LIBS
-ENABLE_TP_GLIB_TESTS_TRUE
-ENABLE_TP_GLIB_TESTS_FALSE
-PINOCCHIO
-PINOCCHIO_CTL
-HAVE_PINOCCHIO_TRUE
-HAVE_PINOCCHIO_FALSE
-PYTHON
-PYTHON_VERSION
-PYTHON_PREFIX
-PYTHON_EXEC_PREFIX
-PYTHON_PLATFORM
-pythondir
-pkgpythondir
-pyexecdir
-pkgpyexecdir
-TEST_PYTHON
-HAVE_TEST_PYTHON_TRUE
-HAVE_TEST_PYTHON_FALSE
-DX_PROJECT
-DX_CONFIG
-DX_DOCDIR
-DX_ENV
-DX_FLAG_doc
-DX_DOXYGEN
-DX_PERL
-DX_COND_doc_TRUE
-DX_COND_doc_FALSE
-DX_FLAG_dot
-DX_DOT
-DX_COND_dot_TRUE
-DX_COND_dot_FALSE
-DX_FLAG_man
-DX_COND_man_TRUE
-DX_COND_man_FALSE
-DX_FLAG_rtf
-DX_COND_rtf_TRUE
-DX_COND_rtf_FALSE
-DX_FLAG_xml
-DX_COND_xml_TRUE
-DX_COND_xml_FALSE
-DX_FLAG_chm
-DX_HHC
-DX_COND_chm_TRUE
-DX_COND_chm_FALSE
-DX_FLAG_chi
-DX_COND_chi_TRUE
-DX_COND_chi_FALSE
-DX_FLAG_html
-DX_COND_html_TRUE
-DX_COND_html_FALSE
-DX_FLAG_ps
-DX_LATEX
-DX_MAKEINDEX
-DX_DVIPS
-DX_EGREP
-DX_COND_ps_TRUE
-DX_COND_ps_FALSE
-DX_FLAG_pdf
-DX_PDFLATEX
-DX_COND_pdf_TRUE
-DX_COND_pdf_FALSE
-DX_COND_latex_TRUE
-DX_COND_latex_FALSE
-DOXYGEN_PAPER_SIZE
+ac_subst_vars='LTLIBOBJS
LIBOBJS
-LTLIBOBJS'
+DOXYGEN_PAPER_SIZE
+DX_COND_latex_FALSE
+DX_COND_latex_TRUE
+DX_COND_pdf_FALSE
+DX_COND_pdf_TRUE
+DX_PDFLATEX
+DX_FLAG_pdf
+DX_COND_ps_FALSE
+DX_COND_ps_TRUE
+DX_EGREP
+DX_DVIPS
+DX_MAKEINDEX
+DX_LATEX
+DX_FLAG_ps
+DX_COND_html_FALSE
+DX_COND_html_TRUE
+DX_FLAG_html
+DX_COND_chi_FALSE
+DX_COND_chi_TRUE
+DX_FLAG_chi
+DX_COND_chm_FALSE
+DX_COND_chm_TRUE
+DX_HHC
+DX_FLAG_chm
+DX_COND_xml_FALSE
+DX_COND_xml_TRUE
+DX_FLAG_xml
+DX_COND_rtf_FALSE
+DX_COND_rtf_TRUE
+DX_FLAG_rtf
+DX_COND_man_FALSE
+DX_COND_man_TRUE
+DX_FLAG_man
+DX_COND_dot_FALSE
+DX_COND_dot_TRUE
+DX_DOT
+DX_FLAG_dot
+DX_COND_doc_FALSE
+DX_COND_doc_TRUE
+DX_PERL
+DX_DOXYGEN
+DX_FLAG_doc
+DX_ENV
+DX_DOCDIR
+DX_CONFIG
+DX_PROJECT
+HAVE_TEST_PYTHON_FALSE
+HAVE_TEST_PYTHON_TRUE
+TEST_PYTHON
+pkgpyexecdir
+pyexecdir
+pkgpythondir
+pythondir
+PYTHON_PLATFORM
+PYTHON_EXEC_PREFIX
+PYTHON_PREFIX
+PYTHON_VERSION
+PYTHON
+HAVE_PINOCCHIO_FALSE
+HAVE_PINOCCHIO_TRUE
+PINOCCHIO_CTL
+PINOCCHIO
+ENABLE_TP_GLIB_TESTS_FALSE
+ENABLE_TP_GLIB_TESTS_TRUE
+TP_GLIB_LIBS
+TP_GLIB_CFLAGS
+PROTO_CFLAGS
+TP_QT4_CFLAGS
+QTTEST_LIBS
+QTTEST_CFLAGS
+HAVE_QTGUI_FALSE
+HAVE_QTGUI_TRUE
+QTGUI_LIBS
+QTGUI_CFLAGS
+QTDBUS_LIBS
+QTDBUS_CFLAGS
+RCC
+MOC
+QTCORE_LIBS
+QTCORE_CFLAGS
+ENABLE_CODING_STYLE_CHECKS
+ERROR_CFLAGS
+ERROR_CXXFLAGS
+OFFICIAL_RELEASE_FALSE
+OFFICIAL_RELEASE_TRUE
+HAVE_VERSION_SCRIPT_ARG_FALSE
+HAVE_VERSION_SCRIPT_ARG_TRUE
+VERSION_SCRIPT_ARG
+LT_AGE
+LT_REVISION
+LT_CURRENT
+PKG_CONFIG
+LIBTOOL
+ac_ct_F77
+FFLAGS
+F77
+CXXCPP
+CPP
+NMEDIT
+DSYMUTIL
+RANLIB
+AR
+ECHO
+LN_S
+EGREP
+GREP
+SED
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+ac_ct_CC
+CFLAGS
+CC
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CXX
+CPPFLAGS
+LDFLAGS
+CXXFLAGS
+CXX
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_dependency_tracking
+enable_shared
+enable_static
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+with_pic
+with_tags
+enable_compiler_optimisations
+enable_compiler_coverage
+enable_linker_optimisations
+enable_Werror
+enable_debug
+enable_coding_style_checks
+enable_doxygen_doc
+enable_doxygen_dot
+enable_doxygen_man
+enable_doxygen_rtf
+enable_doxygen_xml
+enable_doxygen_chm
+enable_doxygen_chi
+enable_doxygen_html
+enable_doxygen_ps
+enable_doxygen_pdf
+'
ac_precious_vars='build_alias
host_alias
target_alias
@@ -998,6 +1047,8 @@ DOXYGEN_PAPER_SIZE'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -1096,13 +1147,21 @@ do
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=no ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
@@ -1115,13 +1174,21 @@ do
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
- eval enable_$ac_feature=\$ac_optarg ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"enable_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -1312,22 +1379,38 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=\$ac_optarg ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
+ expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+ { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
{ (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
- eval with_$ac_package=no ;;
+ ac_useropt_orig=$ac_useropt
+ ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+ case $ac_user_opts in
+ *"
+"with_$ac_useropt"
+"*) ;;
+ *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+ ac_unrecognized_sep=', ';;
+ esac
+ eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
@@ -1347,7 +1430,7 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) { echo "$as_me: error: unrecognized option: $ac_option
+ -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
Try \`$0 --help' for more information." >&2
{ (exit 1); exit 1; }; }
;;
@@ -1356,16 +1439,16 @@ Try \`$0 --help' for more information." >&2
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
{ (exit 1); exit 1; }; }
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
@@ -1374,22 +1457,38 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
+ { $as_echo "$as_me: error: missing argument to $ac_option" >&2
{ (exit 1); exit 1; }; }
fi
-# Be sure to have absolute directory names.
+if test -n "$ac_unrecognized_opts"; then
+ case $enable_option_checking in
+ no) ;;
+ fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2
+ { (exit 1); exit 1; }; } ;;
+ *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+ esac
+fi
+
+# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
+ # Remove trailing slashes.
+ case $ac_val in
+ */ )
+ ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+ eval $ac_var=\$ac_val;;
+ esac
+ # Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
{ (exit 1); exit 1; }; }
done
@@ -1404,7 +1503,7 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
@@ -1420,10 +1519,10 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- { echo "$as_me: error: Working directory cannot be determined" >&2
+ { $as_echo "$as_me: error: working directory cannot be determined" >&2
{ (exit 1); exit 1; }; }
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
{ (exit 1); exit 1; }; }
@@ -1431,12 +1530,12 @@ test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$0" ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-echo X"$0" |
+ ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_myself" : 'X\(//\)[^/]' \| \
+ X"$as_myself" : 'X\(//\)$' \| \
+ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -1463,12 +1562,12 @@ else
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
{ (exit 1); exit 1; }; }
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
{ (exit 1); exit 1; }; }
pwd)`
# When building in place, set srcdir=.
@@ -1495,7 +1594,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Telepathy-Qt4 0.1.0 to adapt to many kinds of systems.
+\`configure' configures Telepathy-Qt4 0.1.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1517,9 +1616,9 @@ Configuration:
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -1529,25 +1628,25 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/telepathy-qt4]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/telepathy-qt4]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1565,11 +1664,12 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Telepathy-Qt4 0.1.0:";;
+ short | recursive ) echo "Configuration of Telepathy-Qt4 0.1.1:";;
esac
cat <<\_ACEOF
Optional Features:
+ --disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-dependency-tracking speeds up one-time build
@@ -1655,15 +1755,17 @@ fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" || continue
+ test -d "$ac_dir" ||
+ { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+ continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -1699,7 +1801,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
@@ -1708,11 +1810,11 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Telepathy-Qt4 configure 0.1.0
-generated by GNU Autoconf 2.61
+Telepathy-Qt4 configure 0.1.1
+generated by GNU Autoconf 2.63
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
@@ -1722,8 +1824,8 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Telepathy-Qt4 $as_me 0.1.0, which was
-generated by GNU Autoconf 2.61. Invocation command line was
+It was created by Telepathy-Qt4 $as_me 0.1.1, which was
+generated by GNU Autoconf 2.63. Invocation command line was
$ $0 $@
@@ -1759,7 +1861,7 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- echo "PATH: $as_dir"
+ $as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS
@@ -1794,7 +1896,7 @@ do
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
- ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
@@ -1846,11 +1948,12 @@ _ASBOX
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
-echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
+ BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) $as_unset $ac_var ;;
esac ;;
esac
@@ -1880,9 +1983,9 @@ _ASBOX
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
@@ -1897,9 +2000,9 @@ _ASBOX
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- echo "$ac_var='\''$ac_val'\''"
+ $as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
@@ -1915,8 +2018,8 @@ _ASBOX
echo
fi
test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
+ $as_echo "$as_me: caught signal $ac_signal"
+ $as_echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
@@ -1958,21 +2061,24 @@ _ACEOF
# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
- set x "$CONFIG_SITE"
+ ac_site_file1=$CONFIG_SITE
elif test "x$prefix" != xNONE; then
- set x "$prefix/share/config.site" "$prefix/etc/config.site"
+ ac_site_file1=$prefix/share/config.site
+ ac_site_file2=$prefix/etc/config.site
else
- set x "$ac_default_prefix/share/config.site" \
- "$ac_default_prefix/etc/config.site"
+ ac_site_file1=$ac_default_prefix/share/config.site
+ ac_site_file2=$ac_default_prefix/etc/config.site
fi
-shift
-for ac_site_file
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
+ test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file"
fi
@@ -1982,16 +2088,16 @@ if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special
# files actually), so we avoid doing that.
if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+ { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
@@ -2005,29 +2111,38 @@ for ac_var in $ac_precious_vars; do
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
+ # differences in whitespace do not lead to failure.
+ ac_old_val_w=`echo x $ac_old_val`
+ ac_new_val_w=`echo x $ac_new_val`
+ if test "$ac_old_val_w" != "$ac_new_val_w"; then
+ { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ ac_cache_corrupted=:
+ else
+ { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+ eval $ac_var=\$ac_old_val
+ fi
+ { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5
+$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
+ { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5
+$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.