diff -Nru telepathy-glib-0.17.7/ChangeLog telepathy-glib-0.18.0/ChangeLog --- telepathy-glib-0.17.7/ChangeLog 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/ChangeLog 2012-04-02 20:35:24.000000000 +0000 @@ -1,3 +1,381 @@ +commit 95b3336d2d43fdbfe61692144dca8700e0ad0071 +Author: Jonny Lamb +Date: 2012-04-02 16:31:18 -0400 + + version 0.18.0 + + Signed-off-by: Jonny Lamb + +commit 7d8094e59bf346b092f7a51e21afd0e7d9df6f1a +Author: Jonny Lamb +Date: 2012-04-02 16:23:52 -0400 + + NEWS: update for 0.18.0 + + Signed-off-by: Jonny Lamb + +commit dcab14f903605fc2f0c162e45b1c322966eb46c2 +Merge: 6275753 126261c +Author: Will Thompson +Date: 2012-04-02 16:46:25 +0100 + + Merge branch '29271-some-dbus-tube-api' + + https://bugs.freedesktop.org/show_bug.cgi?id=29271 + + Reviewed-by: Guillaume Desmottes + +commit 126261cf295622c659238bf51d85d8e39c8eaf2c +Author: Will Thompson +Date: 2012-04-02 16:43:31 +0100 + + DBusTubeChannel: write a better preamble maybe? + +commit 86216b62cd607b94bf837b4052f1f1e6cbfab819 +Author: Will Thompson +Date: 2012-04-02 16:16:25 +0100 + + dbus tube test: add bug references for FIXMEs + +commit b5bb8f51d46aa7ea89fafcc3042d30bc4a5db018 +Author: Will Thompson +Date: 2012-03-30 16:10:52 +0100 + + dbus-tubes example: check method argument types + +commit 5421f1432ed21a198e00aa708dc00e8f032ec488 +Author: Will Thompson +Date: 2012-03-30 15:20:53 +0100 + + DBusTubeChannel: always use CREDENTIALS for now + + Unlike with stream tubes, I don't think this is something which tp-glib + can decide for you. CREDENTIALS means “Use D-Bus's normal SASL + handshaking”; LOCALHOST means “turn off the same-user restriction and + optionally enable the ANONYMOUS mechanism if the socket really is only + available to local users” or something. + + (To be honest, it's not obvious how an application can decide what it + wants without being patched. I think this functionality exists for + Sugar's benefit, where the CMs are run as different users to the + applications; the applications can only talk to them, IIRC, because the + session bus has authentication turned off.) + +commit ecbbb72e7d11951a13514151cdf16112e09e608c +Author: Will Thompson +Date: 2012-03-30 09:00:50 +0100 + + dbus-tube: fail offer/accept if channel is invalidated + +commit a3725ba5c52443bdad1d6bf87230bd01af4cf53a +Author: Will Thompson +Date: 2012-03-29 17:48:52 +0100 + + Test DBus tubes opening after Accept/Offer returns + +commit d63489a560f483d85204b5ce0402fda69aac4503 +Author: Will Thompson +Date: 2012-03-29 17:08:06 +0100 + + proxy: sprinkle some checked casts around. + + It's really tempting fate to just blindly cast objects to their expected + type, particularly objects as fundamental as TpProxy, and particularly + from callbacks. In this case, my incorrect refcounting was causing me to + steal a reference; causing a perplexing crash in + tp_proxy_poll_features() when tp_proxy_emit_invalidated() got called + from an idle after I'd stolen its reference. Putting the checked cast in + at the beginning made it much easier to spot the nature of the bug. + +commit 7e812b3eebadc026b57fb8595b146ea8db3c5a5c +Author: Will Thompson +Date: 2012-03-30 15:32:42 +0100 + + Add an example dbus tube offerer and accepter. + +commit 6275753ca716891e5865d5ea7ce5be94b096d34a +Author: Guillaume Desmottes +Date: 2012-03-30 09:46:26 +0200 + + call-channel: display a string representation of the state + +commit 9ace209ddec046bb514200df8a4d82021fbd49fe +Author: Guillaume Desmottes +Date: 2012-03-30 09:46:07 +0200 + + media-observer: use more TpChannel accessors + +commit cee24813a448f792c2846a474cc31fa1c2d10625 +Author: Guillaume Desmottes +Date: 2012-03-30 09:33:46 +0200 + + media-observer: Observe Call channels instead of StreamedMedia + +commit 79aa8283e9f1abf240f4885a87ca409aa3bfc5d9 +Author: Guillaume Desmottes +Date: 2012-03-30 09:33:31 +0200 + + approver.c: Approve Call channels instead of StreamedMedia + +commit a0bdd4727bed1802f5998487e1f4a7fd759d5eaf +Author: Xavier Claessens +Date: 2012-03-28 11:32:12 +0200 + + Tests: SetContactInfo must also emit ContactInfoChanged signal + +commit 19cd507119858c8b4a5656dad6da02f4bae9b98e +Author: Xavier Claessens +Date: 2012-03-28 11:31:33 +0200 + + Tests: Add more supported ContactInfo fields + + Those are needed for folks tests + +commit ea0800451b9ef3577edad6048a30ddffab7e3462 +Author: Xavier Claessens +Date: 2012-03-27 16:07:39 +0200 + + Tests: Improve fake Account and AccountManager + + * add/remove accounts from the AccountManager + * set a connection on an Account + * enable/disable an Account + +commit a51467903021e816cf0ba80761db549f3d69fb94 +Author: Xavier Claessens +Date: 2012-03-27 14:44:14 +0200 + + Tests: Rename TestContactListManager to TpTestsContactListManager + + This is to respect the TpTests namespace. It is important for the copy + in folks that introspect that API. + +commit d977e60be4a8b3e59c02dbbf3342ccd57eadf0dd +Author: Xavier Claessens +Date: 2012-03-27 14:29:14 +0200 + + Tests: manage the global set of groups + + At the moment, only groups per contact is managed + +commit f27ae89b1d3160db22041bed29bfaa9b1dc2be7f +Author: Xavier Claessens +Date: 2012-03-27 14:28:10 +0200 + + Tests: Implement mutable contact list + +commit cce321f4c16c734cc5c72a94ce18fecf5ef9fb1a +Author: Xavier Claessens +Date: 2011-08-17 15:45:54 +0200 + + Make g-i scanner abort on warning if not official release + +commit a5e22eb37d1cb943049fe8bff301271fd93ce582 +Author: Olivier Crête +Date: 2012-03-23 18:51:02 -0400 + + CallContentMediaDescription: Add missing documentation + + https://bugs.freedesktop.org/show_bug.cgi?id=47767 + +commit eabc9d497dab65d10565822454b86ca782453c34 +Author: Guillaume Desmottes +Date: 2011-09-28 14:52:46 +0200 + + examples/client/stream-tubes/Makefile.am: ensure that we link on tp-glib from source + + It has to be the first one in LDADD + +commit e846211f3d47b0cbe5364bb4d4bd2cfd95929a13 +Author: Guillaume Desmottes +Date: 2011-09-28 13:39:53 +0200 + + add tp_dbus_tube_channel_accept_async() + +commit 10d524e09c93fb49cdf5deba279aab920ea38a37 +Author: Will Thompson +Date: 2012-03-28 17:52:52 +0100 + + Correct English in tp_dbus_tube_channel_offer_async() + +commit 283b25fae9573e495adf152c0dc5e025e1e599c6 +Author: Will Thompson +Date: 2012-03-28 17:41:36 +0100 + + dbus-tube test: return TRUE from ::new-connection handler + + The documentation for GDBusServer::new-connection says: + + > If you want to accept the connection, take a reference to the connection + > object and return TRUE. + + We were not doing this—the callback returned void. So random bytes from + the stack were interpreted as a boolean. The result on my machine was + that this test case passed when run in isolation (-p /dbus-tube/offer) + but failed when test-dbus-tube ran as a whole. This is presumably + because GDBusServer does this: + + if (claimed) + g_dbus_connection_start_message_processing (data->connection); + + So if we happened to "return" a false value, the connection never got + started. + +commit 081c0684259606b72f5bb8fe4ad36bfdc87ef180 +Author: Guillaume Desmottes +Date: 2011-09-28 12:39:55 +0200 + + add tp_dbus_tube_channel_offer_async() + +commit 26256dedabc9287d6f5b8afa677cb41cf71c9d3d +Author: Guillaume Desmottes +Date: 2011-09-28 12:34:44 +0200 + + TpTestsDBusTubeChannel: implement Offer() + +commit db2a2e16b84fea0afd1f3b7f34feb138ce92970e +Author: Guillaume Desmottes +Date: 2011-09-28 12:28:27 +0200 + + Add TP_DBUS_TUBE_CHANNEL_FEATURE_CORE + + It does tracking of State property. Currently not used but will be by + Offer/Accept methods. + +commit 2776c23c3095ca4aaa356c6d9f0ee0c02b4c7edc +Author: Will Thompson +Date: 2012-03-28 14:09:58 +0100 + + AutomaticClientFactory: add a channel type lookup table + + This is a bit longer but it makes me feel smart. + +commit b5fe86f5fe8e2cfbc257fff29c1b087e3d2b4f74 +Author: Alvaro Soliverez +Date: 2012-03-27 17:54:36 -0300 + + Move TpBaseContactListAsyncFinishFunc right before the point where it is + used for the first time + +commit 477cc4b53205617345a76975e5ac98d0e4cf2bec +Author: Alvaro Soliverez +Date: 2012-03-27 17:26:26 -0300 + + Remove duplicate typedef that was introduced by mistake in one of the + latest commits + + It works fine in Linux, but duplicated statements fail on Windows and + Android. + +commit 4decb6712215cda729841003f3ad868cc877c521 +Author: Alban Crequy +Date: 2012-03-27 19:33:36 +0100 + + doc: TpBaseContactList's download-at-connection property + +commit 952d0a8ff765c9a992dc0b11e6c46efe34cc32fc +Author: Alban Crequy +Date: 2012-03-27 19:31:31 +0100 + + doc: tp_base_contact_list_get_download_at_connection + +commit a705c6fbd77befe839aedc9890f6529f3f861abd +Author: Alban Crequy +Date: 2012-02-23 18:36:26 +0000 + + test: contact-list download + + https://bugs.freedesktop.org/show_bug.cgi?id=43826 + +commit 3e0b118737007410230ba5ada721747a8818eeea +Author: Alban Crequy +Date: 2012-03-20 11:58:50 +0000 + + ContactList: implement helper tp_base_contact_list_get_download_at_connection + + https://bugs.freedesktop.org/show_bug.cgi?id=43826 + +commit 8bde24822f73aeb9ec66f719d3066673d41d1c08 +Author: Alban Crequy +Date: 2012-02-25 19:31:05 +0000 + + ContactList: add method Download in TpBaseContactList + + https://bugs.freedesktop.org/show_bug.cgi?id=43826 + +commit aa1d2196aa5291af961d4ceff36507773a5393c0 +Author: Alban Crequy +Date: 2012-01-20 13:51:01 +0000 + + ContactList: add property DownloadAtConnection in TpBaseContactList + + https://bugs.freedesktop.org/show_bug.cgi?id=43826 + +commit 234bf108287a72e86a95357a38372f40d713bf1a +Author: Alvaro Soliverez +Date: 2012-03-27 08:45:31 -0300 + + Have the Android target depend on the generated code + + Previously, the code autogeneration was executed manually from the + Android.mk. This proved to be prone to errors, and having the Android.mk + target in Makefile.am is much more standard and it works fine. + Therefore, we removed the statement from Android.mk and added the target + dependency. + +commit a936ed76760f2daacaff9d0fbe964daf9a10dc28 +Author: Will Thompson +Date: 2012-03-26 17:13:30 +0100 + + stream_tube_channel_new: refer to TpAutomaticProxyFactory + + Most API users don't actually need to call this function. + +commit 7cfb90e3dfac54456423c0a27ba0f39b512f6997 +Author: Will Thompson +Date: 2012-03-26 17:13:06 +0100 + + docs: Fix "Finishes to" broken English + +commit 75d92d599cde42d24d487c12ba3170a300db4311 +Author: Will Thompson +Date: 2012-02-03 14:58:42 +0000 + + python/ft example: handle an exception. Hooray! + +commit 04b24840f7ce2956e02384c1b8a200b3f5eaf9ac +Author: Xavier Claessens +Date: 2012-03-26 13:01:50 +0200 + + Use g_dir_make_tmp() now that we depend on glib 2.30 + +commit 2ff460d6866fc740c9776229a1749f702307034e +Author: Guillaume Desmottes +Date: 2012-03-23 14:54:27 +0100 + + contact_set_subscription_states: use _tp_base_contact_list_presence_state_to_letter() + + I've just been tricked by a log when reading: + contact_set_subscription_states: subscribe: 1 + I read '1' as TRUE while it was actually TP_SUBSCRIPTION_STATE_NO. + + This patch also has the nice side effect of reducing the debug output as everything + is now on a single line. + +commit 24f1c7fa370f061165b1e46692e254455864b5cc +Author: Guillaume Desmottes +Date: 2012-03-23 14:49:24 +0100 + + export _tp_base_contact_list_presence_state_to_letter as private API + +commit bd59256d28412d86a360cc43a8798d21d2ce157f +Author: Jonny Lamb +Date: 2012-03-22 18:34:11 -0400 + + start on version 0.17.8 + + Signed-off-by: Jonny Lamb + commit 37bb3f998ef5c2b8e8cb01047e4f5d7e9284e52f Author: Jonny Lamb Date: 2012-03-22 17:34:44 -0400 @@ -8076,8114 +8454,10 @@ Bump nano-version to 0.14.0.1 -commit 62fb543541710a2443fd692cec9ecb72a9874351 -Author: Will Thompson -Date: 2011-03-21 17:56:35 +0000 - - version 0.14.0 - -commit da645737686d92712c2ac622d2b2a888ba07bddd -Author: Will Thompson -Date: 2011-03-21 17:55:14 +0000 - - NEWS for 0.14.0 - -commit 83edfa4ffbddf7ff62432bbd82b446ed3d2e854d -Author: Nicolas Dufresne -Date: 2011-03-16 15:27:39 -0400 - - Fix got_sender_contact_by_id_cb error handling - - This bug was introduced by 5cc352873f102b6a43c2a95b71a9a2e5a38526ab - -commit 0b86a27be7ecd4401696624b925e4719b9a4f31a -Author: Nicolas Dufresne -Date: 2011-03-16 15:27:25 -0400 - - Fix got_sender_contact_by_handle_cb error handling - - This bug was introduced by 5cc352873f102b6a43c2a95b71a9a2e5a38526ab - -commit d2708eeced8185c02c61420678f674f71b2bf3be -Author: Will Thompson -Date: 2011-03-15 20:11:48 +0000 - - Bump nano-version to 0.13.18.1 - -commit 4a2637ec606509c1848a293da034abbfbbb0ea18 -Author: Will Thompson -Date: 2011-03-15 19:32:13 +0000 - - Version 0.13.18 - -commit 2189991503efd71bd65887c5ab280d4078ae7534 -Author: Will Thompson -Date: 2011-03-15 19:31:45 +0000 - - News for 0.13.18 - -commit ca3c4e31c0a93976f7fc4d20323c6995d28c8f7b -Author: Simon McVittie -Date: 2011-03-08 16:52:06 +0000 - - with-session-bus.sh: set DBUS_SESSION_BUS_PID, like dbus-launch does - - This isn't directly useful for Telepathy, but is useful if you're - debugging the dbus-daemon itself. - - Reviewed-by: Will Thompson - -commit e77e5c7c6982e7b0ec167a812d5eae5082193a52 -Merge: 64a19c7 6418d8a -Author: Simon McVittie -Date: 2011-03-15 18:15:21 +0000 - - Merge branch 'ldflags' - - Reviewed-by: Will Thompson - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32976 - -commit 64a19c7d218db2429b49b578e267c24871657774 -Merge: a08b10e bc812a8 -Author: Will Thompson -Date: 2011-03-15 18:12:49 +0000 - - Merge branch 'fd.o-34337-gcc-4.6' - -commit bc812a896a33f184d4ddee6fb20f4659ef60f8f8 -Author: Will Thompson -Date: 2011-03-15 18:12:23 +0000 - - Remove dummy local GType variable. - -commit f326c123bf76e685cd5258417b8dfd026fad2d65 -Author: Will Thompson -Date: 2011-02-24 15:04:27 +0000 - - Implement tp_strdiff using g_strcmp0. - - Clang's analyzer, like Coverity before it, isn't smart enough to realise - that the first two conditions between them guarantee that, if you get to - the end, left and right are non-NULL. - - But the point is moot, since we can just use a Glib function. - -commit 26fdbe81650249fc3566669124ab988ef0248499 -Author: Will Thompson -Date: 2011-02-24 14:59:44 +0000 - - Fix “Value stored to _ is never read” clang warnings. - -commit e5e8579bd16f3b98a0d0c87f9ba3825cd963fac8 -Author: Dan Winship -Date: 2011-02-16 09:22:47 -0500 - - fix gcc 4.6 "variable is set but not used" warnings - - Signed-off-by: Will Thompson - -commit 367d9b96f7bf449ce034684dd4c4a79bd669ac84 -Author: Will Thompson -Date: 2011-02-24 11:18:15 +0000 - - Make tp_clear_* less NULL-safe. - - Previously tp_clear_object (NULL) was permitted. This upsets GCC 4.6, - which (quite reasonably) complained that - - if (&object != NULL) - - is redundant. The joy of macros. I grepped tp-glib and Gabble, and can't - find *any* cases where anything other than &variable is passed to these - macros. Since this is an unstable branch, let's just change this. - -commit a08b10e66c516bfcbc20428c2657363d035f8ef9 +commit e2c8c159cd5cae2a944f4b79aec03b2bbc246f1d Author: Jonny Lamb -Date: 2011-03-15 11:58:20 +0000 +Date: 2011-02-14 09:34:29 +0000 - base-connection: document the self object in signal docstrings + util: add tp_g_ptr_array_extend Signed-off-by: Jonny Lamb - -commit 83200447e0825af6ee51211111e630bd1f86c2d9 -Author: Benjamin Otte -Date: 2011-03-11 13:11:46 +0000 - - Don't include TpCMMessage in gir file. - - This class is only for use by connection managers, while we only (intend - to) expose client-side API in the gir file. - - Reviewed-by: Guillaume Desmottes - Signed-off-by: Will Thompson - -commit 60e2bac4406fedf8a16014673ade145629ea9b3d -Author: Danielle Madeley -Date: 2011-03-10 15:06:49 +1100 - - Docs include simple-password-channel, when it's actually called base-password-channel - -commit 4b0e1b5b8d149a7b9687b397511dce9cbfb29d12 -Author: Guillaume Desmottes -Date: 2011-03-09 15:02:23 +0100 - - start dev of next release - -commit 09b532cbcf7229f4c509ec919f1bc8e8f6028558 -Author: Guillaume Desmottes -Date: 2011-03-09 14:45:47 +0100 - - Prepare 0.13.17 - -commit 9439184ab7e49930fbb20be1c07477af73d8b6a3 -Author: Guillaume Desmottes -Date: 2011-03-09 14:45:24 +0100 - - errors.c: remove blank line to keep gtk-doc happy - -commit 453ab423649553181d7118237a5617bc431575c4 -Author: Guillaume Desmottes -Date: 2011-03-09 14:41:32 +0100 - - add TP_PROP_CONNECTION_INTERFACE_CELLULAR_MESSAGE_NATIONAL_CHARACTER_SET to doc - - It has been added with spec 0.21.12. - -commit cd0fae5fcf587f2ca816ff3ffdf51fa0c3d51d99 -Author: Guillaume Desmottes -Date: 2011-03-09 14:38:19 +0100 - - close the nick markup for TP_ERROR_EMERGENCY_CALLS_NOT_SUPPORTED - -commit bb7ba8fb258ee52094ffbe2e4b9a8479ebc6e714 -Author: Guillaume Desmottes -Date: 2011-03-09 14:28:17 +0100 - - fix name of the SoftwareUpgradeRequired error quark - -commit a819ceed461bc76f7a416ef75db35c3544482cb5 -Author: Sjoerd Simons -Date: 2011-03-09 12:05:28 +0000 - - Add new error codes - - Added error codecs for - org.freedesktop.Telepathy.Error.SoftwareUpgradeRequired and - org.freedesktop.Telepathy.Error.EmergencyCallsNotSupported - -commit 0d3a989d1ec83719bd4d25f2043925d7376c6e49 -Author: Sjoerd Simons -Date: 2011-03-09 12:05:09 +0000 - - Update to telepathy-spec 0.21.12 - -commit 48b79cbce6b8624f820229a1512dc4759335878c -Author: Guillaume Desmottes -Date: 2011-03-07 10:33:51 +0100 - - start dev of next release - -commit 00ae1ea04a28d7f31e2e5063e9e2f886263e62e0 -Author: Guillaume Desmottes -Date: 2011-03-07 10:21:47 +0100 - - set date of the 0.13.16 release - -commit 22298c01e7644dcce117632daa9dbb183719e4a2 -Author: Guillaume Desmottes -Date: 2011-03-04 10:20:11 +0100 - - prepare 0.13.16 - -commit 3b8f40852a7bb81e388f5ef4987a3945f3f47e95 -Author: Jonathon Jongsma -Date: 2011-03-04 11:44:26 -0600 - - BaseContactList: fix leak in set_list_received - - This function was calling dup_groups() but was not freeing the returned array - of groups. - -commit 48414d9a120a2e6b9e67c8557e81a07c6bfd1d70 -Author: Jonny Lamb -Date: 2010-12-21 16:24:26 +0000 - - base-client: add set_observer_delay_approvers function - - Signed-off-by: Jonny Lamb - -commit a34bd41f835987a392c0ece97499c32cb1f9fd0a -Author: Guillaume Desmottes -Date: 2011-03-04 14:05:05 +0100 - - tp_text_channel_supports_message_type: rename arg to message_type to match the name in the declaration - - This makes gtk-doc happy. - -commit 23607939292b5716f5bd0d2c37c5c3ba2bef89e9 -Author: Guillaume Desmottes -Date: 2011-03-04 13:50:42 +0100 - - update to spec 0.21.11 - - Add TP_PROP_CLIENT_OBSERVER_DELAY_APPROVERS - -commit e975ad1a8cee711caa4f49e2215f95458d06192a -Merge: 7d41f2a 501f113 -Author: Guillaume Desmottes -Date: 2011-03-03 11:33:04 +0100 - - Merge remote branch 'danni/gbindings' - -commit 7d41f2a8ef8f25774bbf9918fcd5e798fe275705 -Author: Emilio Pozuelo Monfort -Date: 2011-03-02 17:26:02 +0000 - - Contact Search: only close channels if there was an error - -commit 30f35197ebb3c1109a2dd692627cbb664467fc8f -Merge: 6861051 965f5c8 -Author: Guillaume Desmottes -Date: 2011-03-02 15:57:56 +0100 - - Merge branch 'messages-types-34907' - -commit 965f5c86e9a56045ca8b674a5c681d566583765f -Author: Guillaume Desmottes -Date: 2011-03-02 13:59:29 +0100 - - add tp_text_channel_supports_message_type() - -commit c10428e15665ad38f14a645d2b6790206169cbee -Author: Guillaume Desmottes -Date: 2011-03-02 13:44:15 +0100 - - text-channel: display the channel path in error debug messages - -commit 1c5bee114d5bc1dcd3fd065ae97e8af3c8f36fe9 -Author: Guillaume Desmottes -Date: 2011-03-02 11:56:52 +0100 - - text-channel: add a message-types property and accessor (#34907) - -commit babb92e35f2f7638d8fe132aa209762cf3a8faf0 -Author: Guillaume Desmottes -Date: 2011-03-02 11:55:03 +0100 - - echo-message-parts/chan: add Messages.MessageTypes to immutable properties - -commit 501f113d7e30049e05fdb2eafa4bdd23f2101854 -Author: Danielle Madeley -Date: 2011-03-01 12:20:51 +1100 - - Add an invert parameter to binding functions - - This makes it possible to set a value to FALSE on Connected, which you would - use (for example) when showing a GtkInfoBar while an account is disconnected. - -commit 6861051e097fd9fb552badeb6f8e7c7eb03dc540 -Author: Danielle Madeley -Date: 2011-02-28 17:27:05 +1100 - - Add GBinding utilities for connection-status on TpAccount and TpConnection - - This sets up the appropriate GBinding bits and pieces to bind a connection - status to a boolean property, e.g. GtkWidget:sensitive. - - Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=34813 - -commit 921abe30797179870724a428c45264e27c93897a -Author: Marco Barisione -Date: 2011-02-22 09:10:57 +0000 - - TpBaseContactList: don't call store_contacts_async() if it's null - -commit f89a2b36a40945e136955984a9e6905f9b002230 -Author: Marco Barisione -Date: 2011-02-22 09:02:54 +0000 - - TpBaseContactList: don't crash when renaming a group with a NULL channel - -commit 98f5ff6280a06972024c5dc79994daddd3c312ec -Author: Will Thompson -Date: 2011-02-25 11:21:57 +0000 - - Start NEWS for 0.13.16 - -commit c8a81c53705cf59e051e3b78bfd3b8f17653c0e2 -Merge: f1f222a e9caf63 -Author: Will Thompson -Date: 2011-02-25 11:16:40 +0000 - - Merge branch 'fdo#34148' - - Signed-off-by: Will Thompson - -commit e9caf6320cc663bf06100c447c253003b6d0b1c8 -Author: Morten Mjelva -Date: 2011-02-10 17:06:31 +0100 - - Added connection manager and protocol properties to TpConnection - -commit f1f222a6328a62fa80a29eea54d392f483a12613 -Author: Guillaume Desmottes -Date: 2011-02-24 16:20:12 +0100 - - set nano version - -commit 18916f971fa2aa26aefd4e03122f018dbebb3704 -Author: Guillaume Desmottes -Date: 2011-02-24 15:50:31 +0100 - - prepare 0.13.15 - -commit fa86f4cc955eb74625170eba19b8d0e908dd699d -Author: Guillaume Desmottes -Date: 2011-02-24 13:59:45 +0100 - - properly document TpBasePasswordChannel - -commit 0c3e03b21cc825a483d9089bfbac47435c5a0460 -Author: Guillaume Desmottes -Date: 2011-02-24 13:59:25 +0100 - - telepathy-glib-sections.txt: add tp_simple_password_manager_prompt_for_channel_finish - -commit 4dcc2a8524986092696b2fdf287962edf1719a16 -Author: Jonathon Jongsma -Date: 2011-02-23 22:14:02 -0600 - - Rename TpSimplePasswordChannel to TpBasePasswordChannel - - Server-side base classes tend to be named TpBase*, so rename this class to - make it more consistent with other base classes to be used by CMs. - -commit ab3968c64b3fb093d972c222c38802292e8e1bd9 -Author: Jonathon Jongsma -Date: 2011-02-23 22:13:02 -0600 - - SimplePasswordManager: Add introspection annotations - -commit 72e8034061c20a93f4be04b6a16ca123fd44b956 -Author: Jonathon Jongsma -Date: 2011-02-09 14:15:37 -0600 - - TpSimplePasswordChannel: Add support for MaySaveResponse property - - Add support to the simple password for the MaySaveResponse property that was - recently added to the SASLAuthentication spec. This property defaults to - TRUE, and in the normal case where the API user doesn't deal directly with the - channel, it should do the right thing. For applications that want different - behavior, they can subclass TpSimplepasswordChannel and set the property as - appropriate. - -commit c9b397a700e8f7fe01745428df8d31cb5b799402 -Author: Jonathon Jongsma -Date: 2011-02-21 14:09:02 -0600 - - TpSimplePasswordManager: add prompt_for_channel_finish() - - Instead of having both prompt_async() and prompt_for_channel_async() call the - same _finish() function, provide a separate function for the custom channel - case. This function will also return the custom channel that was originally - passed to prompt_for_channel_async(). This way, the API user doesn't need to - carry around the channel in user_data in the case that they need to query the - channel for information after the prompt has completed. - -commit 3c8778038dd11f9eb97a2ac89c439b36fe75617b -Author: Jonathon Jongsma -Date: 2011-02-08 12:13:42 -0600 - - SimplePasswordManager: add prompt_for_channel_async() API - - This API allows applications to supply their own channel object to be used in - the password manager. The use case for this is when an authentication channel - needs to implement additional interfaces. In this case, they can inherit from - TpSimplePasswordChannel and implement these custom interfaces in the subclass. - -commit 8a4d453b7c040845991c4ca900758fd7a4d37611 -Author: Jonathon Jongsma -Date: 2011-02-08 11:34:07 -0600 - - Expose TpSimplePasswordChannel as public API - -commit adabf28b68ae680a8b607d951a7291b27e3c39e2 -Author: Senko Rasic -Date: 2011-02-24 14:19:10 +0100 - - add tp_utf8_make_valid to documentation - -commit 38a4dc5ce0ec467117b7f37101d18788b42906ea -Author: Senko Rasic -Date: 2011-02-24 13:23:39 +0100 - - util.c: add copyrights from glib/gutf8.c for tp_utf8_make_valid() - -commit e03e5b5b5712f01ce127e2932a093f3d193d253b -Author: Senko Rasic -Date: 2011-02-24 13:11:20 +0100 - - add test for tp_utf8_make_valid() - -commit 15f102dfebb14415e7f8e1f2dc43cd09bf844f31 -Author: Senko Rasic -Date: 2011-02-24 13:11:07 +0100 - - add tp_utf8_make_valid() - -commit 129c24a5d09aa84daed4153498e3fd6c9c0866bc -Author: Guillaume Desmottes -Date: 2011-02-24 13:12:03 +0100 - - Update to spec 0.21.10 - - Add TP_PROP_CHANNEL_INTERFACE_SASL_AUTHENTICATION_MAY_SAVE_RESPONSE - -commit de3c4991dbc7620335f449e994efa87d1275a974 -Author: Guillaume Desmottes -Date: 2011-02-24 13:09:48 +0100 - - spec/Makefile.am: sort EXTRA_DIST - -commit 360c0bd59c8a009271c3d9fbee732e014418db54 -Author: Will Thompson -Date: 2011-02-23 23:03:09 +0000 - - Bump nano-version to 0.13.14 - -commit c708a139b103d3f7c0d7e268e25f7710a9047f1b -Author: Will Thompson -Date: 2011-02-23 22:24:18 +0000 - - Version 0.13.14 - -commit 18290326d71c527608766b21cdf038043d57498d -Author: Will Thompson -Date: 2011-02-23 22:23:28 +0000 - - Replace 0.13.UNRELEASED with 0.13.14 - -commit f1ff10c6b85e5d6f9975e2b0090057b566065027 -Author: Will Thompson -Date: 2011-02-23 22:22:44 +0000 - - NEWS for 0.13.14 - -commit 5894586c33dc082116049e4f136838d039285508 -Author: Danielle Madeley -Date: 2011-02-23 11:56:31 +1100 - - Add DBus.Properties.PropertiesChanged signal to generated API - - New Tp spec is going to exist soon that uses PropertiesChanged instead of - custom change notification, so we need to support this in tp-glib. - -commit 41ebfed35a8b034586764247e21b14776195ed48 -Author: Danielle Madeley -Date: 2011-02-22 15:00:45 +1100 - - Include _gen/tp-cli-protocol.h in protocol.h, not protocol.c - -commit bb953c79a4052a96e3e57b96c25f57ab54437fb6 -Author: Guillaume Desmottes -Date: 2011-02-22 16:08:13 +0100 - - improve doc - -commit 8b69a0cfa0f9bf13273bea2207dfdb48a9370381 -Author: Guillaume Desmottes -Date: 2011-02-22 16:02:38 +0100 - - coding style fix - -commit 8b28275fa226c8bab0540804af6ecdfb6d6a74a4 -Author: Guillaume Desmottes -Date: 2010-12-22 12:44:26 +0100 - - document with version of MC implements SucceedWithChannel - -commit f954ffee14c3c4b81dec49eb2780a4b73f472684 -Author: Guillaume Desmottes -Date: 2010-12-22 12:43:20 +0100 - - add a link to the TP book - -commit 6c229d50c66b0256436841a049c845480257b7a2 -Author: Guillaume Desmottes -Date: 2010-12-21 14:09:14 +0100 - - inline channel_request_succeeded() - -commit 25b735b8f6f9744febbac898e631aaa9b3ebc556 -Author: Guillaume Desmottes -Date: 2010-12-21 14:07:27 +0100 - - always Fire TpChannelRequest::succeeded-with-channel instead and deprecate the succeed signal - -commit 8ca567b5fe1f1ae576d2abd6b557ecbc4c90912a -Author: Guillaume Desmottes -Date: 2010-12-21 13:48:08 +0100 - - factor out _tp_create_channel_request_list - -commit 4e44959998dbab6daa9bbaf4b9f3ab765a3aaa70 -Author: Guillaume Desmottes -Date: 2010-12-21 10:48:26 +0100 - - simple-channel-request: make clear who provides Hints - -commit b28fe951c6b6adde052b9578a18bd845165e1f72 -Author: Guillaume Desmottes -Date: 2010-12-21 10:27:40 +0100 - - channel-request: channel-factory property can be changed - -commit dfc15b2ab4a655943b95100de5df9cb7062e8b6a -Author: Guillaume Desmottes -Date: 2010-12-21 10:14:53 +0100 - - move ensure_and_observe_cb definition just before using it - -commit 3c9d01c88d766297fabffbe72793a6a7a8f0b20c -Author: Guillaume Desmottes -Date: 2010-12-21 10:11:07 +0100 - - improve ensure channels doc - -commit 182af97a8dba8361486c3a02c2fc1566d97703fd -Author: Guillaume Desmottes -Date: 2010-12-21 09:52:15 +0100 - - improve doc of request and observe - -commit ea6221c930295fab7b2368b9c23d46d6b4ceac6c -Author: Guillaume Desmottes -Date: 2010-12-21 09:48:51 +0100 - - use _tp_implement_finish_return_copy_pointer instead of request_and_observe_channel_finish - -commit e8884ab5dc5b094ac9c92931f3549f68a1662602 -Author: Guillaume Desmottes -Date: 2010-12-21 08:51:30 +0100 - - use Confused error if MC is on crack - -commit 9c4a45d6427ed4040bb8cf3d6138848f2dc593f0 -Author: Guillaume Desmottes -Date: 2010-11-29 12:12:18 +0100 - - add tp_observe_channels_context_get_requests() - -commit fc4355af4b3b9fb02e7c0e7529add7efca167679 -Author: Guillaume Desmottes -Date: 2010-11-29 10:53:19 +0100 - - test tp_account_channel_request_set_hints() - -commit 3400e0d617b7929a7168b4ee3faa5aed153fc044 -Author: Guillaume Desmottes -Date: 2010-11-29 10:52:29 +0100 - - simple-channel-request: set request-properties in Handler_Info - -commit 28841ca84cf40d952fe85437329d3f68dfe403ae -Author: Guillaume Desmottes -Date: 2010-11-29 10:51:37 +0100 - - add tp_handle_channels_context_get_requests() - -commit c7d94a807499b5cbeed7ac4ae05f1bf423e156c6 -Author: Guillaume Desmottes -Date: 2010-11-29 10:31:24 +0100 - - add tp_account_channel_request_set_hints() - -commit ad698b29f23c9201efff7b4923760eefe4686488 -Author: Guillaume Desmottes -Date: 2010-11-25 16:03:12 +0100 - - TpChannelRequest: add API to get the hints - -commit 5ee96ec71302185c84e78b771f9acaa948823ad1 -Author: Guillaume Desmottes -Date: 2010-11-25 15:32:13 +0100 - - TpChannelRequest: store the immutable properties as a GObject prop - -commit b2ca5278ad30700f4083f166690678ce4d0ca58b -Author: Guillaume Desmottes -Date: 2010-11-18 12:24:19 +0100 - - use WithHints() variant with request and observe - -commit 6e4151b6ecef76737b637a60d908be01bd84e1a0 -Author: Guillaume Desmottes -Date: 2010-11-18 11:46:37 +0100 - - implement Hints and Hints requests in simple objects - -commit 677266470fb11ace80a08178029e2218756f49ad -Author: Guillaume Desmottes -Date: 2010-11-11 11:55:33 +0100 - - account-channel-request: prepare features on the channel - -commit 86a9ac78c39ece4da8029e022ad10504ced1ad8c -Author: Guillaume Desmottes -Date: 2010-11-11 11:42:42 +0100 - - account-channel-request: pass factory to TpChannelRequest if needed - -commit 07906662bd3f5e0c913de2303daeecab4f11b5f5 -Author: Guillaume Desmottes -Date: 2010-11-11 11:33:09 +0100 - - TpChannelRequest: use channel factory - -commit f978a5f60cc0c78158b1da1d81b6391ffca26da0 -Author: Guillaume Desmottes -Date: 2010-11-11 10:57:00 +0100 - - test observe with an old MC not firing SucceededWithChannel - -commit d9938ff9413122f4d27a329ce85a11f655de1aca -Author: Guillaume Desmottes -Date: 2010-11-11 10:48:37 +0100 - - fix name of old tests - -commit 734c62d834f566a06ca0a3943e810be7ccf5ca7e -Author: Guillaume Desmottes -Date: 2010-11-11 10:47:17 +0100 - - test request and observe API - -commit fc8eec75b5b0dae572a61ad70646ae9567ec14a4 -Author: Guillaume Desmottes -Date: 2010-11-11 10:46:48 +0100 - - add tp_account_channel_request_{create,ensure}_and_observe_channel_async (fdo #29457) - -commit 0100664a26ccfeae9dc00c0f09647011102b5342 -Author: Guillaume Desmottes -Date: 2010-11-10 18:23:13 +0100 - - replace should_handle by an enum - -commit 6ec65138ac1743018cf9978a66640ae08d6feaba -Author: Guillaume Desmottes -Date: 2010-11-10 18:23:40 +0100 - - simple-channel-request: fire SucceededWithChannel in the fake case - -commit cc4eedb325652c76d4cf932df3aaa6b27e6ca78d -Author: Guillaume Desmottes -Date: 2010-11-10 17:19:50 +0100 - - fix test comment - -commit a27f6558c64c7f50919bf729ecc5ad70222a2a0e -Author: Guillaume Desmottes -Date: 2010-11-08 17:23:36 +0100 - - test succeeded-with-channel signal - -commit 66e1ff0dc33565f4da7ff59f0aa895a9bcc02ebe -Author: Guillaume Desmottes -Date: 2010-11-08 17:22:50 +0100 - - TpChannelRequest: add succeeded-with-channel signal - -commit ffcba22dd8d7dd075b4ba5d86c2625c221ceb1f8 -Author: Guillaume Desmottes -Date: 2010-11-08 16:54:13 +0100 - - channel-request: use signals array - -commit bacf23c2d71abffa41d9df091073470397b95ce4 -Merge: 691a7d7 abfc6ae -Author: Guillaume Desmottes -Date: 2011-02-22 12:52:51 +0100 - - Merge branch 'support-room-list-33901' - -commit abfc6ae34bca91be5719027f3ff3f43293d7ad51 -Author: Guillaume Desmottes -Date: 2011-02-09 14:57:46 +0100 - - improve tp_capabilities_supports_room_list doc - -commit 691a7d7095cae86d75bca374203f660a295effb5 -Author: Xavier Claessens -Date: 2011-02-20 13:11:52 +0100 - - Fix review comments for contact-groups - -commit 3e0279f77d8cdbfd59a89a11170a83dbe3d2f67e -Author: Xavier Claessens -Date: 2010-12-28 18:45:08 +0100 - - Add unit tests for ContactGroups - -commit 1d22c5f6350cbced2ef0a0ac21e3d4d45ce4b4b6 -Author: Xavier Claessens -Date: 2010-12-28 17:04:19 +0100 - - TpContact: Add ContactGroups support - -commit 905653243b32cd3e5a6782a94658ce49eab12020 -Author: Guillaume Desmottes -Date: 2011-02-14 11:28:49 +0100 - - properly annotate the TpContactSearch::search-results-received: signal - -commit f8fa52e0dcb873bee6d98608673442a0af06096a -Author: Guillaume Desmottes -Date: 2011-02-14 11:05:57 +0100 - - properly annotate tp_contact_search_get_account() - -commit d02fda3e086830ccdc5b49505c720895548d7db3 -Author: Guillaume Desmottes -Date: 2011-02-14 11:05:25 +0100 - - use guchar instead of uchar as element-type - -commit 1b48c0e00048bc552881d7ea15a5e64c691d625d -Author: Guillaume Desmottes -Date: 2011-02-14 11:04:58 +0100 - - properly annotate tp_account_channel_request_get_channel_request() - -commit e2c8c159cd5cae2a944f4b79aec03b2bbc246f1d -Author: Jonny Lamb -Date: 2011-02-14 09:34:29 +0000 - - util: add tp_g_ptr_array_extend - - Signed-off-by: Jonny Lamb - -commit 746c03c35407b038b51fb820709d7c4ec4bb2316 -Author: Vivek Dasmohapatra -Date: 2011-02-10 14:47:28 +0000 - - Bump nano-version post release - -commit 66cb9dc0a12a792fda34fb2bef9603ec2b7c8196 -Author: Vivek Dasmohapatra -Date: 2011-02-09 20:18:08 +0000 - - Version 0.13.13 - -commit 35bcbd7c8af383dece746d4aa4e6dc6060a6d742 -Author: Vivek Dasmohapatra -Date: 2011-02-09 19:16:54 +0000 - - Squash unused-variable error during distcheck (DEBUG can be ifdef'd to nothing) - -commit 65fbcc02f4d1bb4ed1827155e5834346b3c5612c -Author: Vivek Dasmohapatra -Date: 2011-02-08 17:00:52 +0000 - - Add entries to doc sections index file - -commit df366e7ef32f350ab68f56daecdd0c5a38acd083 -Author: Vivek Dasmohapatra -Date: 2011-02-03 15:14:31 +0000 - - Helper functions allow less printf'ing in the debug path. - - Messages need only be printf'd once, and if the cache is disabled and - the sender has been turned off, they need not be printf'd at all if the - caller doesn't want the formatted strings back. - -commit d84c9f7fc1b922c73c3cdcdffbe15acba59b878b -Author: Vivek Dasmohapatra -Date: 2011-02-03 15:12:01 +0000 - - ifdef the debug cache code based on ENABLE_DEBUG_CACHE - -commit 3862ea9d9577437a48bf0d798fe7387fe1bd4176 -Author: Vivek Dasmohapatra -Date: 2011-02-03 15:10:41 +0000 - - New configure option + docs for disabling the debug message cache. - -commit f668a47d269ad07b5e25f8f04f835cb86b059624 -Author: Guillaume Desmottes -Date: 2011-02-09 14:43:10 +0100 - - use tp_strv_contains() - -commit 89a693adfa0366bc9966b56cd1e01dc3237429e6 -Author: Guillaume Desmottes -Date: 2011-02-09 14:03:20 +0100 - - properly document tp_account_channel_request_get_channel_request - -commit 734585db5f628cd451d1ebe42b9ff71ef84a2bae -Author: Guillaume Desmottes -Date: 2011-02-04 14:46:41 +0100 - - add tp_capabilities_supports_room_list() (fdo #33901) - -commit 6229e83759a5e6adf5117a5b49ae59f97cc77cad -Merge: d80b543 5e06241 -Author: Guillaume Desmottes -Date: 2011-02-09 13:17:55 +0100 - - Merge branch 'chan-request-33761' - -commit 5e062418e06f83064e814fdb0c154154209df159 -Author: Guillaume Desmottes -Date: 2011-02-04 14:16:44 +0100 - - explain how to compare TpChannelRequest objects - -commit d80b5439c05c4770d7e400a361e3ee88620278fb -Author: Guillaume Desmottes -Date: 2011-02-08 16:01:47 +0100 - - annotate tp_message_peek() - -commit 27a1090a2a8c19aa7e25e85f86a7e372439dd259 -Author: Will Thompson -Date: 2011-02-07 16:06:23 +0100 - - Put -Wno-error=foo before -Wno-foo - - Clang treats the combination of these two parameters differently - depending on which order they appear in. By reversing them, we can - compile with `clang --analyze` and get warnings from its static analyzer - without clutter. - - Reviewed-by: Simon McVittie - -commit 40290b2ff576773340289b988c4948d661df73ca -Merge: 58bf150 cb11b8e -Author: Will Thompson -Date: 2011-02-02 14:32:34 +0000 - - Merge branch 'medicated-documentation-shampoo' - - 23.15. Restate my assumptions: - - 1. gtk-doc is the language of telepathy-glib's documentation. - 2. Cross-references between sections of the documentation can be - represented and understood through gtk-doc markup. - 3. If you build this documentation, errors emerge. Therefore: there are - errors everywhere in the documentation. - - Reviewed-by: Simon McVittie - -commit cb11b8e26658b1e1ba0a6dfd7e75c8ece930c4e3 -Author: Will Thompson -Date: 2011-02-02 12:19:27 +0000 - - TextChan: Clarify what INCOMING_MESSAGES feature does - - The documentation referred to a property which doesn't exist, and didn't - say what the change notification signals were. - -commit c21282cc9c3be655b9227cbfa141e9929bff8412 -Author: Will Thompson -Date: 2011-02-02 00:30:20 +0000 - - Fix a load of broken documentation cross-references - - I actually read the warnings produced by building the documentation and - found all these. - -commit 8f86dfa5ef768f6da5c744a7aa5bcfd726af6aae -Author: Will Thompson -Date: 2011-02-02 00:26:43 +0000 - - Fix a tonne of documentation nits in client classes - -commit 5829f565e45ea6a056eeac8e6024ba4f5b527f91 -Author: Will Thompson -Date: 2011-02-01 23:39:03 +0000 - - Include TpBaseClientClass in gtk-doc - - At looks like the class struct used to be private. But now it's not, and - bits of documentation (try to) link to fields of it. - -commit 58bf150c70bee50ca69c7b7bed632aed66e72eae -Author: Will Thompson -Date: 2011-02-01 16:36:38 +0000 - - bump nano-version to 0.13.12.1 - -commit 13b746b90bfc2b2133193796c504a56d7e2a581d -Author: Guillaume Desmottes -Date: 2011-02-01 16:13:20 +0100 - - account-channel-request: add a channel-request property (#33761) - -commit 1f21d513ca152b7cd30cce36b294f6a9ac514d98 -Author: Will Thompson -Date: 2011-02-01 15:56:00 +0000 - - Version 0.13.12 - -commit 85a35a0a18ff62624b060f13325b77ed95bfc175 -Author: Will Thompson -Date: 2011-02-01 15:50:58 +0000 - - maintainer-make-release: check for gtk-doc at the start - - Previously, the release process only failed when we got to making - distcheck. Instead it should blow up right away, at the same time as - we're checking for uncommited changes and so on. - - Reviewed-by: Jonny Lamb - -commit 0f051670c5682bbb277089b909557b7baf98a5b6 -Author: Will Thompson -Date: 2011-02-01 15:43:39 +0000 - - maintainer-prepare-release: remove redundant 'make check' - - Jonny was upset that running `make maintainer-make-release` ran both - 'check' and 'distcheck'. We think that just running the build before - making distcheck should be enough. - - Reviewed-by: Jonny Lamb - -commit bc2691ff53873e24eb7e14a9543954c941a0718b -Author: Will Thompson -Date: 2011-02-01 13:46:11 +0000 - - NEWS for 0.13.12 - -commit ab2c1d3a1250141ce4741b74ef15f255b5fd7cac -Author: Guillaume Desmottes -Date: 2011-01-31 12:07:23 +0100 - - add tp_svc_channel_type_file_transfer_emit_uri_defined to the doc - -commit 6db0f671fc17443e84e0732394f88624e724bd3d -Author: Guillaume Desmottes -Date: 2011-01-28 15:52:56 +0100 - - update to spec 0.21.9 - -commit a0ef503aa657aa46ff53accf2980404c9e5d4bbd -Author: Xavier Claessens -Date: 2011-01-14 13:25:31 +0100 - - Clarify a bit documentation of subscription state APIs - -commit 36e8bd46666348a457d2c75d547b18aa0aa16f77 -Author: Xavier Claessens -Date: 2010-12-28 10:51:10 +0100 - - Add unit test for TpContact subscription states - -commit 4aafb87cd523c4c10f3beb9f43868f83c458a6f3 -Author: Xavier Claessens -Date: 2010-12-27 22:32:42 +0100 - - Implement ContactList interface on test contacts connection - -commit 4674eabb2f35f579d79904e9d59f164b33b3428a -Author: Xavier Claessens -Date: 2010-12-23 17:08:38 +0100 - - TpContact: Add subscribe/publish state properties - -commit c6b3fe0fc5f2c25f872a7e38e284e407e9b85c45 -Author: Xavier Claessens -Date: 2010-12-27 22:04:58 +0100 - - Avoid crash if a contact has no ContactInfo in test connection - -commit 04ce9d80ee7578924add3ea829e2267567470886 -Author: Will Thompson -Date: 2011-01-28 16:45:11 +0000 - - Tweak TpCMParamSpec's docs to linkify TpConnMgrParamFlags - - Reviewed-by: Jonny Lamb - -commit 9aaccf6adfddf4d27c9e8a9569894f1ef7f02932 -Author: Will Thompson -Date: 2011-01-28 13:40:05 +0000 - - tests/contact-search-result: null-terminate value array - - Reviewed-by: Jonny Lamb - Reviewed-by: Sjoerd Simons - -commit c952deb73661d91ce2ce74209b0dba191b9bc0aa -Merge: 9885c9a 796d7ee -Author: Will Thompson -Date: 2011-01-28 13:00:16 +0000 - - Merge branch 'accidental-glib-2.28-dep-and-doc-fixes' - - Reviewed-by: Guillaume Desmottes - -commit 9885c9acb2066076817ec497852b8c6784f98b64 -Author: Guillaume Desmottes -Date: 2011-01-28 13:41:03 +0100 - - remove abbreviations - -commit c0cdc8f8baf5a9f0f3b947801f2dba1b21b54b17 -Author: Guillaume Desmottes -Date: 2011-01-28 13:37:18 +0100 - - link the bug blocking us from using TelepathyGLib.USER_ACTION_TIME_CURRENT_TIME - -commit 070e0fe0f191bfc8c7c1f6d9dca48fb418e01c59 -Author: Guillaume Desmottes -Date: 2011-01-28 13:36:21 +0100 - - ensure-channel.py: rename create_request to create_request_dict - -commit 71c01964d1a87b6f2b94089ca46de3fe12d2617d -Author: Guillaume Desmottes -Date: 2011-01-11 11:37:26 +0100 - - add client/python/ensure-channel.py (#32986) - -commit 796d7ee4417aab8d0e4e688468fc74619915db54 -Author: Will Thompson -Date: 2011-01-28 12:02:45 +0000 - - Improve TpPresenceMixin introduction. - -commit a65f839c79c39d1ba703fa03d57110a4556b967a -Author: Will Thompson -Date: 2011-01-28 11:36:51 +0000 - - Clarify TpPresenceMixinStatusAvailableFunc - - Most CMs don't need to use this function at all. It's only really for - the benefit of Gabble. So let's document up-front that it should usually - be NULL, and explain the situation where it should not be NULL in the - documentation for the typedef. - -commit a02435e4d65f527b1d30f7dbf35523c3469509e4 -Author: Will Thompson -Date: 2011-01-28 10:43:34 +0000 - - PresenceMixin: move documentation from .h to .c - - We tend to put the docstrings in the source files, to avoid rebuilding - the whole library whenever one docstring is edited, and also I guess to - keep the headers smaller maybe? - -commit d40bfd8fe2aefe2fdb7bf0c5469c5e432f1a59b5 -Author: Will Thompson -Date: 2011-01-28 12:08:25 +0000 - - _create_search_channel_cb: simplify error handling - - There was a lot of duplicated code here, which made me sad. - -commit 1d636ae877f84cf82caac6bd3ae10f4216f651b1 -Author: Will Thompson -Date: 2011-01-28 12:00:16 +0000 - - Remove accidental GLib 2.28 dependency. - - g_simple_async_result_take_error() and g_list_free_full() were added in - GLib 2.28, which we don't claim to depend on. - -commit 516a065e2dc5ecbbc185423a0b32b17a38b4946b -Merge: 2170d25 02acffae -Author: Guillaume Desmottes -Date: 2011-01-28 12:02:04 +0100 - - Merge branch 'python-handler-32524' - -commit 02acffaeae07e18d0148d0a7c71e6343f6087896 -Author: Guillaume Desmottes -Date: 2011-01-28 11:57:40 +0100 - - text-handler.py: add a comment about bgo #640812 - -commit 1019848043bf56d23e6e9e63540f5e8eaa283722 -Author: Guillaume Desmottes -Date: 2011-01-28 11:46:05 +0100 - - use TelepathyGLib.ChannelTextMessageType.NORMAL - -commit 187aeea2b19b7b26171dbb51bfc15ab92b5611a7 -Author: Guillaume Desmottes -Date: 2011-01-11 10:17:25 +0100 - - add python/text-handler.py (fdo #32524) - -commit 715348339953d6efbd702496b7d35b79eaffcafb -Author: Guillaume Desmottes -Date: 2011-01-11 10:16:48 +0100 - - add python client example directory - -commit 2170d25419c7ed7119ca06ede93549d68a21f15f -Author: Jonny Lamb -Date: 2011-01-27 17:51:55 +0000 - - NEWS: fix year - - Signed-off-by: Jonny Lamb - -commit 2a9e7b51ae270288d75c0384bc53228215df213e -Author: Jonny Lamb -Date: 2011-01-27 16:51:02 +0000 - - start working on 0.13.12 - - Signed-off-by: Jonny Lamb - -commit 1f41608c4b458c4f3d047d8e2ee38fdf6677af4f -Author: Jonny Lamb -Date: 2011-01-27 16:41:04 +0000 - - version 0.13.11 - - Signed-off-by: Jonny Lamb - -commit 006f37f0f5c9382b914ff83e27d0ab490ee2c1c7 -Author: Jonny Lamb -Date: 2011-01-27 16:22:06 +0000 - - NEWS: updated - - Signed-off-by: Jonny Lamb - -commit 2a7408046fe2e2c9c8e317e65c7e358e119745c3 -Author: Emilio Pozuelo Monfort -Date: 2011-01-26 18:02:29 +0000 - - Introspect contact search classes - -commit f6f44896680c3892df470c2a639fded150e22fe6 -Author: Emilio Pozuelo Monfort -Date: 2011-01-15 21:32:20 +0000 - - Add tp_capabilities_supports_contact_search() - -commit eb63802e2a87dc30e96859fd3bf4f7bb2e6c3ef9 -Author: Emilio Pozuelo Monfort -Date: 2011-01-15 21:20:54 +0000 - - Add a TpContactSearch class - - https://bugs.freedesktop.org/show_bug.cgi?id=32053 - -commit 175244fb67f2f6192a4bf73711ee62870d92d541 -Author: Emilio Pozuelo Monfort -Date: 2011-01-15 21:09:30 +0000 - - Add tests for TpContactSearchResult - -commit 70d305f1019d19b103b54755c46c6e5e83085a6d -Author: Emilio Pozuelo Monfort -Date: 2011-01-15 21:01:31 +0000 - - Add a TpContactSearchResult class - -commit ae993aa15b90853e77b1832e0993c9cdf4deafde -Author: Jonny Lamb -Date: 2011-01-26 14:40:41 +0000 - - protocol: consider AuthenticationTypes when compiling immutable properties - - Signed-off-by: Jonny Lamb - -commit 65b2eea94c80aa7f81a25e8779834ae16a5ed55b -Author: Emilio Pozuelo Monfort -Date: 2011-01-24 17:10:55 +0000 - - tp_proxy_prepare_async: fix example - -commit 415789bc4e9d51fae5b707be121d0527daac67d5 -Author: Guillaume Desmottes -Date: 2011-01-14 15:22:43 +0100 - - tests/README: document how to generate the test coverage report - -commit 432a9df10bd0d8ebbdd5571dbb534262efacef5f -Author: Jonny Lamb -Date: 2011-01-13 17:02:51 +0000 - - with-session-bus.sh: only print debug if VERBOSE_TESTS is set - - Signed-off-by: Jonny Lamb - -commit 6418d8a197b080e116ba209ea8733263e3a4ef24 -Author: Simon McVittie -Date: 2011-01-10 18:54:00 +0000 - - Prefer to use --no-copy-dt-needed-entries, falling back to --no-add-needed - -commit 0e59dc9d63ad7391863c4e81d06bbfe556984890 -Author: Simon McVittie -Date: 2011-01-10 18:06:22 +0000 - - Add TP_ADD_COMPILER_FLAG, analogous to TP_ADD_LINKER_FLAG - -commit 371dfac9776b66cb04c449f4f3e5b5a6ddfa4a5e -Author: Simon McVittie -Date: 2011-01-10 16:43:25 +0000 - - Check for -Wl,--no-add-needed and add it to AM_LDFLAGS everywhere we compile C - -commit 3e1ed6823ff128c73656239dcf2fe0c4589e9f8a -Author: Simon McVittie -Date: 2011-01-10 16:42:57 +0000 - - Add TP_LINKER_FLAG, TP_ADD_LINKER_FLAG - -commit 0b3fd08ed314324ffa5328d0f4b7e68d54f56677 -Author: Simon McVittie -Date: 2011-01-10 16:30:37 +0000 - - abi.am: respect AM_LDFLAGS for main telepathy-glib library - -commit fe8dd650a78d535693aabdd5af7116955f65d431 -Author: Jonny Lamb -Date: 2011-01-10 13:56:45 +0000 - - debug: fix tp_debug_timestamped_log_handler - - This was broken in dd8645d4c2263c40. - - Signed-off-by: Jonny Lamb - -commit c52678881e59344a91eef1b95ab60d69a19b3078 -Author: Jonny Lamb -Date: 2011-01-06 14:38:51 +0000 - - dtmf: fix signal gtk-doc off-by-one error - - Signed-off-by: Jonny Lamb - -commit 82c7eef57a72a2bc5f620827cc95f7a67eca2042 -Author: Guillaume Desmottes -Date: 2010-12-22 11:35:10 +0100 - - automatic proxy factory: add a debug msg if we can't create a TpTextChannel - -commit b65cff3d7e5f385546f1e201aeb2f94fcb9d2f45 -Author: Guillaume Desmottes -Date: 2010-12-20 15:14:06 +0100 - - text-channel: don't define useless variables if debug is disabled - -commit 83979e241e70340a3a34e61e75ec175949ec9e68 -Author: Jonny Lamb -Date: 2010-12-21 16:27:49 +0000 - - base-client: make set_observer_recover set both ways - - Setting the argument recover=TRUE or recover=FALSE should do the - sensible thing according to the documentation of the function, not - just always set it to TRUE regardless. - - Fixes: fd.o#32551 - - Signed-off-by: Jonny Lamb - -commit f5ff1dc58c0aa6f87585ee6bc7fce3f3112b9443 -Author: Will Thompson -Date: 2010-12-20 20:09:08 +0000 - - Start 0.13.11 development. - - Plus, add a missing NEWS entry for the release I just made. - -commit 3797bff4fe9bad91c2ce0311923e688880ece506 -Author: Will Thompson -Date: 2010-12-20 19:42:11 +0000 - - Prepare version 0.13.10 - -commit 4f46941b5de10a50bfba0a76f3f7d7ef790ad7c6 -Author: Will Thompson -Date: 2010-12-20 19:46:44 +0000 - - Remove MinimumPresence from EXTRA_DIST - -commit 0e8c632e445c63ec749234b5b36c4c534eed6eec -Author: Will Thompson -Date: 2010-12-20 19:32:09 +0000 - - BaseContactList: test for ContactsChangedWithID - -commit a4061c482951f1d7f0b90293007f45ff21589224 -Author: Will Thompson -Date: 2010-12-20 19:31:21 +0000 - - BaseContactList: emit ContactsChangedWithID - -commit a59d9e3fcbe6fb8bca8962721c7c40cdda3c5154 -Merge: 0da65da 42a0caa -Author: Will Thompson -Date: 2010-12-20 18:43:01 +0000 - - Merge remote branch 'smcv/better-contact-list' into spec-0.21.8 - -commit 0da65dac9be817a4c74d89477d593b8467a0bd9f -Author: Will Thompson -Date: 2010-12-20 18:27:24 +0000 - - Update to spec 0.21.8 - - The only change to stable API is the addition of a ContactsChangedWithID - signal to Connection.Interface.ContactList. - -commit 62c090ce74b2818a3ac83b9bb9617cb32c91ae44 -Merge: 03f9bc7 cc2c2d8 -Author: Guillaume Desmottes -Date: 2010-12-20 15:44:52 +0100 - - Merge branch 'gir-iface-32465' - -commit 03f9bc7e8a4c4dedda2d5cb5e3894c98f9b79bdd -Author: Sjoerd Simons -Date: 2010-12-18 15:18:40 +0000 - - Test calling HandleChannels with the same channel multiple times - -commit adf5742012cb62e8ff95c74bf50f67c6645ed3ca -Author: Sjoerd Simons -Date: 2010-12-18 15:14:58 +0000 - - Use g_hash_table_replace instead of _insert - - For the channels hash in TpBaseClient the key is owned by the value in the - hash. The replacement behaviour of g_hash_table_insert always keeps the - existing key, which is not be valid anymore if the old value freed. Use - g_hash_table_replace instead to get the expected behaviour. - -commit e333114732f77e3cf6bd2faedf78c7fb71bda543 -Author: Sjoerd Simons -Date: 2010-12-18 14:58:35 +0000 - - Better debug info and don't remove already removed channels - - TpProxy has the bad habit of emitting signals from dispose (Booo!). - TpBaseClient in various cases will be the last holder of a reference and tries - to remove the channel from its hash-table on invalidated.. - - So in case the proxy gets unreferenced because it is removed from the hash - table (because HandleChannels is called again with the same path), the - proxy is disposed, it signals invalidated (Boo!) and during the removal it gets - removed again and thus unreferenced again... - -commit cc2c2d8cea5476cabff9f61cd555778af760ebcd -Author: Guillaume Desmottes -Date: 2010-12-17 15:02:22 +0100 - - Ask to introspect _gen/telepathy-interfaces.h directly - - The gir scanner doesn't scan it if it's included from telepathy-interfaces.h - -commit bc129171d0ca02c3132e675d97914a04db5bc64c -Author: Guillaume Desmottes -Date: 2010-12-17 13:46:27 +0100 - - c-constants-gen.py: add magic gir rune when generating flags enum - -commit fbf1c3bdc2ab91cfd8a39b334115ca4b8f460b8e -Author: Guillaume Desmottes -Date: 2010-12-17 13:46:05 +0100 - - fix annotation of tp_protocol_get_authentication_types - -commit 5df616e8c3bf586eb1bfddc839463a42be26cecd -Author: Guillaume Desmottes -Date: 2010-12-17 13:45:27 +0100 - - fix annotation of tp_client_channel_factory_create_channel - -commit 86b80a0a351ba3d9a79a14a256c22b1191f7f4cc -Author: Guillaume Desmottes -Date: 2010-12-17 13:45:04 +0100 - - introspect client-channel-factory - -commit 1af111368d8aa6cdb593f01c61639d2754d68520 -Author: Guillaume Desmottes -Date: 2010-12-17 13:44:48 +0100 - - account: fix arg name in doc - -commit acfa9e84c635b986917dcf8aaa937f877fa579ed -Author: Guillaume Desmottes -Date: 2010-12-17 13:44:17 +0100 - - fix return type of tp_account_get_avatar_finish - -commit 0d0fe4089f0d7f341ac31f8866bcfb93ea8f8dc5 -Author: Guillaume Desmottes -Date: 2010-12-17 13:04:38 +0100 - - tp_text_channel_ack_messages_async: annotate messages - -commit 3d448d17ef2e3920e51e407f2f8ca02e01dd8e93 -Author: Guillaume Desmottes -Date: 2010-12-17 12:05:12 +0100 - - annotate the return type of tp_text_channel_get_pending_messages() - -commit e8cae5243e2ec02b813c4269293ff76b3a5ef89f -Author: Guillaume Desmottes -Date: 2010-12-17 12:04:42 +0100 - - add all TpMessage classes to introspection.am - -commit 42a0caaac49ebab5aff47ab1ffae00e905ef470e -Author: Simon McVittie -Date: 2010-12-17 10:56:32 +0000 - - Use tp_intset_union_update to simplify TpBaseContactList - -commit 173c5201aad8ca3fe733a992d74fdcff6101f09a -Author: Simon McVittie -Date: 2010-12-07 16:31:40 +0000 - - TpIntset: factor out tp_intset_union_update, tp_intset_difference_update - -commit bf9e9716394c406f754c8a952682ce6eb278ee71 -Author: Simon McVittie -Date: 2010-12-17 10:54:30 +0000 - - Generate the information needed by ContactsChangedWithID - -commit d377afea4a28cfb2103b206111b10720a0afc833 -Merge: b936c72 78f683f -Author: Simon McVittie -Date: 2010-12-16 19:07:15 +0000 - - Merge branch 'telepathy-glib-0.12' - - Conflicts: - NEWS - tests/dbus/dbus.c - -commit 78f683f9817d627b3f2404ad125961274fb5b8ff -Author: Simon McVittie -Date: 2010-12-16 19:02:10 +0000 - - NEWS - -commit 6fd6364e9d0e6cb6dfd9cfa8897905561b39875b -Merge: 8ae5881 13638f7 -Author: Simon McVittie -Date: 2010-12-16 18:57:55 +0000 - - Merge branch '012-noc-fixes' into telepathy-glib-0.12 - - Reviewed-by: Will Thompson - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32391 - -commit 13638f7d1bd48d4e2fde4bab6fa77563d2604ed6 -Author: Simon McVittie -Date: 2010-12-16 18:54:29 +0000 - - fix a typo in the test, and make even more assertions - -commit 95cd35028fec0239cfe05ece3f571d055ff6e501 -Author: Simon McVittie -Date: 2010-12-16 18:42:08 +0000 - - tests/dbus/dbus: cancel_watch_during_dispatch: assert that user_data is freed - -commit 53d392c2d3d0b18228a33fecb002bdeb11ee61ed -Author: Simon McVittie -Date: 2010-12-16 18:41:42 +0000 - - Fix iteration over arrays of name-owner watches - - Also document why we're iterating backwards. - - In tp_dbus_daemon_maybe_free_name_owner_watch, the flawed - reverse-iteration was a bug: we'd skip over the element before a removed - entry, which might mean not freeing it. - - In tp_dbus_daemon_cancel_name_owner_watch, it was done correctly (because - there were no deletions), but it did hurt clarity. - -commit b936c7277db3818012d69d0fa4fd76a23a89e3c0 -Author: Simon McVittie -Date: 2010-12-16 17:19:51 +0000 - - Allow tests to be run without a timeout: export TP_TESTS_NO_TIMEOUT=1 - - Reviewed-by: Will Thompson - -commit b5f91061714d1471fa15a03ea8f1d5179f9693c4 -Author: Will Thompson -Date: 2010-12-14 13:01:30 +0000 - - Add a test case for removing name watches during dispatch - - This test case failed before the previous patch. - -commit e19b12900f0c1c2eab01f1b28ca9752f66852d5a -Author: Simon McVittie -Date: 2010-12-16 17:16:39 +0000 - - Don't remove NameOwnerChanged callbacks while invoking them - -commit 8d7da3442d674e383375e3b7c0092d01a06f4142 -Merge: 1757ae2 19c22f7 -Author: Simon McVittie -Date: 2010-12-16 16:05:04 +0000 - - Merge branch 'leave-the-area' - - Reviewed-by: Guillaume Desmottes - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30617 - -commit 1757ae2c07a6ef6d8699c729a4d74740e3771bd2 -Author: Guillaume Desmottes -Date: 2010-12-16 15:47:35 +0100 - - pending_messages_removed_cb: early return if we didn't fetch pending messages yet - -commit 8375259908c5a997f8a01767cb72bc111cb51330 -Author: Guillaume Desmottes -Date: 2010-12-16 15:45:59 +0100 - - check type of self in getters - -commit 78cf4c971f1eb56df690e8c50478bfa3958ca801 -Author: Guillaume Desmottes -Date: 2010-12-16 15:44:38 +0100 - - fail to prepare if we can't connect signals - -commit fdf36f4291a6c08604fd676ebf205bc7ac5ef26e -Author: Guillaume Desmottes -Date: 2010-12-16 15:42:27 +0100 - - replace retrieving_pending by got_initial_messages - -commit 8e88018c188a2cef571150ef9fb1b484c16979b7 -Author: Guillaume Desmottes -Date: 2010-12-16 15:40:04 +0100 - - default to plain if SupportedContentTypes is missing - -commit 79f33c157e0689b18c0c7af2088a0aeffbfaa3c0 -Author: Guillaume Desmottes -Date: 2010-12-16 15:36:37 +0100 - - make find_msg_by_id clearer - -commit 9444fd8d967aaa28282df6e3c5fc9d62bcc61f1e -Author: Guillaume Desmottes -Date: 2010-12-16 15:31:47 +0100 - - raise a warning if we can't connect to MessageSent - -commit 5f66dfc17b21dc0ee71481944aa200aa2767347d -Author: Guillaume Desmottes -Date: 2010-12-16 15:23:18 +0100 - - tp_text_channel_get_supported_content_types: return a const gchar * const * - -commit 64f4b4ea54824b879878ade739843e099078f327 -Author: Guillaume Desmottes -Date: 2010-12-16 14:54:31 +0100 - - rename TP_TEXT_CHANNEL_FEATURE_PENDING_MESSAGES to TP_TEXT_CHANNEL_FEATURE_INCOMING_MESSAGES - -commit 9eca18317b370759493cdc53d0117f6b5da1cb74 -Author: Guillaume Desmottes -Date: 2010-12-16 14:47:53 +0100 - - remove obsolete TODO - -commit ee4f0a3bd856d58d1e6ab52448d8e0272a821e49 -Author: Guillaume Desmottes -Date: 2010-12-16 14:33:47 +0100 - - make text-handler example more exemplary - -commit d9782472a57473de24f1a0e5de59fb2aaf6e58da -Author: Guillaume Desmottes -Date: 2010-12-16 14:29:22 +0100 - - doc: say to include telepathy-glib.h to use TpTextChannel - -commit 58a806fb1571be0d6ed5d1248870bc2296074f70 -Author: Guillaume Desmottes -Date: 2010-12-16 12:22:29 +0100 - - get_pending_messages_cb: check the value is of the right type - -commit df0e9ea27f780200694a76bf8d06f3a469f013a8 -Author: Guillaume Desmottes -Date: 2010-12-14 12:15:43 +0100 - - not having message-sender is not an error - -commit cc4987f5e83c09f7ef1a4abfd562240b4a233887 -Author: Guillaume Desmottes -Date: 2010-12-14 12:02:13 +0100 - - turn pending_messages to a GQueue - -commit 5cc352873f102b6a43c2a95b71a9a2e5a38526ab -Author: Guillaume Desmottes -Date: 2010-12-14 11:47:36 +0100 - - remove 2 goto - -commit 5a10176b50c287f66c2df2d8337df779a214175c -Author: Guillaume Desmottes -Date: 2010-12-14 11:40:23 +0100 - - free the parts_list using a GDestroyNotify - - That's cleaner and don't leak it if the callback is not called. - -commit 609769e00f913a25a3e4351d782b33974a4b66e0 -Author: Guillaume Desmottes -Date: 2010-12-14 11:26:05 +0100 - - get_pending_messages_cb: add a comment - -commit fb285a84480aa68eb5fa93e0128a1de9b30780f3 -Author: Guillaume Desmottes -Date: 2010-12-14 11:19:23 +0100 - - use ID to get TpContact if message-sender-id is set on ALL messages - -commit b22e3111bc3702001d409f90bff231c19b5a03a4 -Author: Guillaume Desmottes -Date: 2010-12-14 10:59:16 +0100 - - display path of the connection in debug msg - -commit 89045877f7532221c2fcffa27e59e622f73c4a0e -Author: Guillaume Desmottes -Date: 2010-12-14 10:56:24 +0100 - - fix typo - -commit b64c6bd0b45dc64045c7e3a95076da15de7a62de -Author: Guillaume Desmottes -Date: 2010-12-14 09:13:27 +0100 - - send_message_cb: set token to NULL if empty - -commit 0b4b60c4ae0bc4451a40f8cb254434406871ecb3 -Author: Guillaume Desmottes -Date: 2010-12-14 09:04:59 +0100 - - move get_pending_message_id as internal API - -commit e1a2b7ae7db2dfdaf39d898cf08ab5beb87d5d64 -Author: Guillaume Desmottes -Date: 2010-12-14 08:54:06 +0100 - - rename SIG_ macro to fit the actual name of the signal - -commit d1c93bb79fae2231ea96b6e183f6dd3f54f16388 -Author: Guillaume Desmottes -Date: 2010-12-14 08:46:57 +0100 - - improve ack messages doc - -commit 07346be4436536301dfed37498f5a8f346e46832 -Author: Guillaume Desmottes -Date: 2010-12-14 08:39:10 +0100 - - automatic_proxy_factory_dup_channel: the channel arg is now used - -commit fe3a95ccec0452a65ee81782d69f7e62099a3eaf -Author: Guillaume Desmottes -Date: 2010-12-14 08:33:37 +0100 - - automatic-proxy-factory: fix doc - -commit 661a9b2386c2d68d5e7685ab3a17bb168d063444 -Author: Guillaume Desmottes -Date: 2010-12-14 08:21:16 +0100 - - test-text-handler: use tp_message_to_text() - -commit 3a3c5c344b94dadf5fa7040bce2651b4a304feea -Author: Guillaume Desmottes -Date: 2010-12-10 15:56:59 +0100 - - pending_messages_removed_cb: stop iterating over messages once we found the right one - -commit 178f7170c0b95996ae45904a66a1615482260d97 -Author: Guillaume Desmottes -Date: 2010-12-10 15:23:38 +0100 - - get_sender: set contact to NULL if we don't have the sender handle - -commit 9ad02335635de50b6e967a36c1b7194b950b85cc -Author: Guillaume Desmottes -Date: 2010-12-10 14:52:19 +0100 - - set the sender on outgoing messages - -commit c0aa7bafb0a1eb595f0913e7540ccdfbbf6a3607 -Author: Guillaume Desmottes -Date: 2010-12-10 14:47:55 +0100 - - get_pending_messages_cb: don't leak the contact - -commit f04d6411cbac8b8b07d8a403eb6e72495cf59e27 -Author: Guillaume Desmottes -Date: 2010-12-10 14:10:40 +0100 - - get the senders using ID, if possible, when fetching pending messages - -commit d002233b6e5373be0fc2579c8fe725c9575a1522 -Author: Guillaume Desmottes -Date: 2010-12-10 13:39:59 +0100 - - message_received_cb: get the sender using his ID, if possible - -commit 653a9c13cec2555323b90bd07f70faec48dcd1ed -Author: Guillaume Desmottes -Date: 2010-12-10 13:32:06 +0100 - - get_sender: allow to return the sender-id as well - -commit 0f6b655952fba5851ab699b6df724bf64fb09623 -Author: Guillaume Desmottes -Date: 2010-12-10 13:22:31 +0100 - - don't skip pending message without a sender - -commit 8e4fb763f084b8d5dcc60339e59690136fe75074 -Author: Guillaume Desmottes -Date: 2010-12-10 13:19:39 +0100 - - use add_message_received() also when fetching pending messages - -commit c115fb5657c82740bd05c2e8a3b9dbf57549e744 -Author: Guillaume Desmottes -Date: 2010-12-10 12:15:03 +0100 - - Try to get the TpContact right away when fetching pending messages - -commit 8e5bac777a149d08357ff3b30cea8df2c9541c11 -Author: Guillaume Desmottes -Date: 2010-12-10 11:33:19 +0100 - - use tp_connection_dup_contact_if_possible() when receiving a new message - -commit 1d189bb9238015a3448d41f295baebd04d02a746 -Author: Guillaume Desmottes -Date: 2010-11-10 15:15:06 +0100 - - _tp_signalled_message_new now takes the sender - -commit 4cf6b985e0136a0f30a2fef329c6d2dca0f8334d -Author: Guillaume Desmottes -Date: 2010-11-02 09:09:48 +0100 - - set senders of pending messages - -commit b5de797e4b45d4dbf11bd256f73b711c83a25c63 -Author: Guillaume Desmottes -Date: 2010-10-29 16:39:23 +0200 - - set the sender of incoming messages - -commit c262d6327d4ab639911080256202aeaa72b90cae -Author: Guillaume Desmottes -Date: 2010-10-29 15:46:00 +0200 - - factor out add_message_received() - -commit 50f4c6ac7d1758254138ad63ddf137eedc0ddeb4 -Author: Guillaume Desmottes -Date: 2010-10-29 14:57:17 +0200 - - use tp_message_to_text() in tests - -commit e6d929bb06af891133cbd459f2f1510e43399f13 -Author: Guillaume Desmottes -Date: 2010-10-29 13:20:45 +0200 - - add tp_text_channel_set_chat_state_async - -commit b17ebf9bbb78db2461c8e8acd225b48a5aaf1a88 -Author: Guillaume Desmottes -Date: 2010-10-29 12:29:02 +0200 - - test message-sent signal - -commit 023a9fcdc8f046e7d90b6665c420ae7115fe4283 -Author: Guillaume Desmottes -Date: 2010-10-29 12:08:28 +0200 - - add message-sent signal - -commit 27c7a6f6adda494d0bf180a631c262911ea6741b -Author: Guillaume Desmottes -Date: 2010-10-29 11:24:18 +0200 - - tp_text_channel_send_message_finish: return the token - -commit 7369a9bbb0cbd01257957e7a7f672174b4e58f1d -Author: Guillaume Desmottes -Date: 2010-10-28 17:41:14 +0200 - - tp_client_message_text_new has been renamed - -commit 2d6963a9a8335d90d1f5723796da23d76eba4958 -Author: Guillaume Desmottes -Date: 2010-10-26 15:41:23 +0200 - - examples/client/text-handler: use TpTextChannel - -commit abd2e3c233ed19f9d6a71b1a9449af51ecbe36d8 -Author: Guillaume Desmottes -Date: 2010-10-26 15:29:22 +0200 - - automatic-proxy-factory: create TpTextChannel objects when needed - -commit 212237ae87136c789309f3d2624b46652dde4418 -Author: Guillaume Desmottes -Date: 2010-10-26 14:37:31 +0200 - - test pending-message-removed signal - -commit 9ab78ca2a745212ebb3ce3d3d225b2879178dafa -Author: Guillaume Desmottes -Date: 2010-10-26 14:37:24 +0200 - - add pending-message-removed signal - -commit 451dcb09cd44796a7cf3682d2d01047ca83549ef -Author: Guillaume Desmottes -Date: 2010-10-26 13:22:22 +0200 - - test tp_text_channel_ack_message_async() - -commit 9ac3e4e88c297f7d32a5aa8b0846ac0ca07697fd -Author: Guillaume Desmottes -Date: 2010-10-26 13:22:12 +0200 - - add tp_text_channel_ack_message_async - -commit 13ea099b13f5598e3c9e9d4ef23cead1eab817bb -Author: Guillaume Desmottes -Date: 2010-10-26 12:47:24 +0200 - - test tp_text_channel_ack_messages_async() - -commit 2ed1ca5850e4f57879c89d73dcd3a8a0673c1e1f -Author: Guillaume Desmottes -Date: 2010-10-26 12:47:12 +0200 - - remove acked messages from pending - -commit d3ea0b3a968bd674c27edb5420154117140ca854 -Author: Guillaume Desmottes -Date: 2010-10-26 12:46:02 +0200 - - add tp_text_channel_ack_messages_async() - -commit a83dd64380ceedaf8c7b19f2774aab3acaa8be21 -Author: Guillaume Desmottes -Date: 2010-10-26 11:40:20 +0200 - - test message-received signal - -commit fd86f28f39c2a5f81cc34099656b48cbc99036ed -Author: Guillaume Desmottes -Date: 2010-10-26 11:40:02 +0200 - - TpTextChannel: add message-received signal - -commit 80cbfeb035bad542a892cf8eecdcb9b7d9a1f185 -Author: Guillaume Desmottes -Date: 2010-10-26 10:58:17 +0200 - - check content of pending messages - -commit d12ac4e50487dabf371c04e754dd7487c7e8b805 -Author: Guillaume Desmottes -Date: 2010-10-25 17:02:24 +0200 - - get_pending_messages_cb: update pending messages - -commit 8d624499b3cd243ce7a1069c96a372c5a707096c -Author: Guillaume Desmottes -Date: 2010-10-25 13:21:27 +0200 - - test tp_text_channel_send_message_async() - -commit d74d6aed93b77eeafee2551c4bcfeba5d8cf59d1 -Author: Guillaume Desmottes -Date: 2010-10-25 13:06:21 +0200 - - add tp_text_channel_send_message_{async,finish} - -commit e0cdee40ea8b64253fdba4db1909901e83acbd57 -Author: Guillaume Desmottes -Date: 2010-10-22 16:16:52 +0200 - - add TP_TEXT_CHANNEL_FEATURE_PENDING_MESSAGES and tp_text_channel_get_pending_messages() - -commit 02e7318e51895c8d565b8344a492a9ad0e91fa72 -Author: Guillaume Desmottes -Date: 2010-10-13 10:22:55 +0200 - - test properties - -commit f183964c18d0a45a0361723372d75fbaa6455772 -Author: Guillaume Desmottes -Date: 2010-10-13 09:36:43 +0200 - - add test-text-channel - -commit 8c312d3a71da7b45776ec851a1e95854264a7df1 -Author: Guillaume Desmottes -Date: 2010-10-13 09:33:46 +0200 - - simple-conn: unref all our channels when we are disconnected - - This breaks a circular reference if the channels keep a reference on the - connection (which will be the case when using the TpMessageMixin). - -commit 39e0a765badc6e831ccf3d479aa12ebc852c5326 -Author: Guillaume Desmottes -Date: 2010-10-12 14:32:45 +0200 - - add TpTextChannel (fdo #29531) - -commit f86c69c7fd2003eb98b8e9b4ed08703d150945af -Author: Simon McVittie -Date: 2010-12-16 11:20:23 +0000 - - NEWS - -commit 8e82d53f190281d8fe9173a487dfebfeb917663a -Merge: f9bd5f8 d9d6df6 -Author: Simon McVittie -Date: 2010-12-16 11:13:29 +0000 - - Merge branch 'account-features' - - Reviewed-by: Will Thompson - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32423 - -commit f9bd5f8328d02c905f45a2ee8489fd68ee2a8454 -Author: Simon McVittie -Date: 2010-12-15 11:34:13 +0000 - - fd.o #32411: tp_g_signal_connect_object: fail if unsupported flags are used - - If more flags are added and we don't support them, that's likely to cause - silent bugs. We should at least turn them into loud, obvious bugs. - - Reviewed-by: Jonny Lamb - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32411 - -commit d9d6df6d4215fd8e22146960a6b8a6170b5860cc -Author: Simon McVittie -Date: 2010-12-15 19:45:25 +0000 - - Test TP_ACCOUNT_FEATURE_ADDRESSING - -commit ea8b9e1e8c69daa6f04e0fdb08d1e3729bbe1e52 -Author: Simon McVittie -Date: 2010-12-15 19:36:06 +0000 - - TpAccount test: separate out the tests for storage - - Also test preparing the storage feature before and after the core feature - is ready; this caught the bug fixed by the previous commit. - -commit ac8e11b1a32c17da21c45b94ac813a7700869330 -Author: Simon McVittie -Date: 2010-12-15 19:51:50 +0000 - - fd.o #32423: _tp_account_update: when the account becomes ready, try other features - -commit 19d92d41bd371b833c08c3f474456944ee544018 -Author: Xavier Claessens -Date: 2010-12-15 12:45:00 +0100 - - Add high-level service-side APIs in telepathy-glib.h - - Fixes bug #32408 - -commit 99830254d26a7194b5d0f6cf9f0def35714b33f9 -Author: Will Thompson -Date: 2010-12-14 01:10:06 +0000 - - Simplify dispatching NameOwnerChanged signals. - - Previously there was this weird model where TpDBusDaemon had a dict - mapping bus names being watched to a watch struct. The watch struct had - a callback and some user data. When the library user first added a watch - for a name, their callback would be shoved into a new struct that was - put into the dict, and all was bright. But when a second call to - _watch_name_owner() came along … a GArray of "sub watches" would be - created, the old callback copied into it and the new callback added to - it, and then the original struct's callback would be replaced by an - callback that iterates the subwatches. - - I couldn't see any good reason not to always have a list of callbacks, - so deleted that code. Now all watches have a list of callbacks, and it's - a bit clearer. - - Making this change found a nasty bug where, if one callback removes its - own watch, subsequent callbacks may not be called for this signal. Test - case and fix to follow. - -commit 4f00eb1dcdaeb5637aa517d5263c9f6481333fe4 -Author: Will Thompson -Date: 2010-12-14 02:22:19 +0000 - - Make 'dbus' test use GTest. - -commit a83bff2591540aee8a17bee920ed089a4b559009 -Author: Will Thompson -Date: 2010-12-14 02:01:19 +0000 - - Modernize 'dbus' test a bit. - - This excellently named test tests TpDBusDaemon and a bunch of utility - functions which should be in libdbus, but aren't. - - MYASSERT brings me out in a rash. MYASSERT (foo, "") actually causes - boils to sprout fully formed from my neck. - -commit f77d9dd5af7160789f6f7b893e296e3afa9bea8b -Author: Simon McVittie -Date: 2010-12-14 11:02:26 +0000 - - NEWS - -commit c197574dda46912f784397a2f2648e9ac1c87238 -Merge: 933247b ff5a93e -Author: Simon McVittie -Date: 2010-12-14 10:59:27 +0000 - - Merge branch 'misc' - - Reviewed-by: Guillaume Desmottes - -commit ff5a93e70123fda641579479f78f6efe55c5c92b -Author: Simon McVittie -Date: 2010-12-13 18:10:11 +0000 - - Move entirely-obsolete documentation sections to their own chapter - -commit e54ff5e811caece8ac46b98f435502f430b88d26 -Author: Simon McVittie -Date: 2010-12-13 18:02:49 +0000 - - Make the look less stupid - -commit 6a1620b7036903055c35e57aa3b65abd0a63b681 -Author: Simon McVittie -Date: 2010-12-13 17:59:59 +0000 - - Test tp_cm_message_new_text - -commit 72a436b2b953185ca6314fd34de87a2b32605aac -Author: Simon McVittie -Date: 2010-12-13 15:49:36 +0000 - - tp_cm_message_new_text: add - - This is convenient for simple text-only CMs. - -commit 54590e37f68e499aaab25cd0c2d7ebd0d7afeef0 -Author: Simon McVittie -Date: 2010-12-13 18:00:53 +0000 - - Test tp_message_get_message_type - -commit cc240fc026233a2c95a17c12c1e4266cef6aeb69 -Author: Simon McVittie -Date: 2010-12-13 18:12:41 +0000 - - tp_message_get_message_type: add - -commit 2a6b7bdd2baa6028c9f2f1bdf4fa5715c192426e -Author: Simon McVittie -Date: 2010-12-13 18:12:29 +0000 - - Use "Since:" and "Deprecated:" instead of "@since" and "@deprecated" - - The latter don't actually have any special meaning in gtk-doc: they're - a reference to a (presumably nonexistent) parameter or variable called - "since" or "deprecated". - -commit fb5a2dd47f50b687c7ea9dd8bd844a5ba3bb5ce6 -Author: Simon McVittie -Date: 2010-12-13 15:41:13 +0000 - - Add some missing Since annotations - -commit 933247b93af9c3e27c156a427a0cd78e1db35af8 -Author: Will Thompson -Date: 2010-12-13 11:02:29 +0000 - - NEWS for fd.o#32184 fix. - -commit f4533e95a39fce578f1331681b1f899c25aa8cff -Author: Will Thompson -Date: 2010-12-07 16:00:30 +0000 - - BaseConnection: avoid unregistering bus name twice. - - I have a Gabble currently running with four open connections but only - one corresponding bus name. Here's what I think happened: - - • I undocked my laptop. This got rid of the wired connection, but MC - doesn't notice so the connections stayed open. - • I switched to Offline in Empathy. This made MC call Disconnect() on - Gabble. The connection released its bus name (because tp-glib does - this in change_status(Disconnected)), but stayed alive waiting for - some callbacks. - • I switched back to Online. A new connection was made; it claimed the - same bus name. - • Finally the callbacks fired, and thus the old connection was unreffed - and could be disposed. In _dispose(), TpBaseConnection drops its bus - name again. - - This patch ensures that the name is released at most once, which should - fix this issue. I don't have a test case. - - Fixes: - Reviewed-by: Simon McVittie - -commit b3568d858fff7fcad587d0e8371bb390dc087c30 -Merge: 99de95b 8ae5881 -Author: Will Thompson -Date: 2010-12-13 10:58:00 +0000 - - Merge branch 'telepathy-glib-0.12' - -commit 8ae5881117202aa7c1ebccef0f8ab74271dea364 -Author: Will Thompson -Date: 2010-12-13 10:57:14 +0000 - - NEWS for minor fixes from fd.o#32184 - -commit ef2a060342bc3780870eba118261654596cc694c -Merge: 7570666 1841a32 -Author: Will Thompson -Date: 2010-12-13 10:54:49 +0000 - - Merge branch 'fd.o-32184-trivial-fixes' into telepathy-glib-0.12 - - Reviewed-by: Simon McVittie - -commit 1841a32749f2c6979840fe72694feb2547fd99ec -Author: Will Thompson -Date: 2010-12-07 16:14:10 +0000 - - AM.ensure_account(): Don't critical on invalid paths - - Currently, tp_account_manager_ensure_account() g_return_val_if_fail()s - if tp_account_new() returns NULL, but doesn't actually check the path - that the user passes in, so the latter can quite legitimately return - NULL. So, let's return NULL cleanly instead. - -commit 1e4a7475948a7b6d73fcb1654c1eb0d6498cc95a -Author: Will Thompson -Date: 2010-12-07 16:04:01 +0000 - - BaseClient.ObserveChannels: handle broken connection paths - - Previously, if someone passed an invalid connection path to - ObserveChannels, tp-glib wouldn't pass the call up to the application, - but nor would it return an error from the method. - - This manifested itself in the logger failing to return (or indeed log - messages) when I hit - . - -commit 99de95bcf66d0ccae383e7185290e240f6620851 -Author: Simon McVittie -Date: 2010-12-10 18:35:11 +0000 - - Nano version - -commit 26112e5f5b3481bc1f369c15021943a0c84c066b -Author: Simon McVittie -Date: 2010-12-10 17:09:34 +0000 - - Prepare version 0.13.9 - -commit 0e8974c8c464447f2fb6b46132de5eb52157178a -Merge: 21fe8ca 7570666 -Author: Simon McVittie -Date: 2010-12-10 16:57:03 +0000 - - Merge branch 'telepathy-glib-0.12' - - Conflicts: - NEWS - configure.ac - -commit 7570666e34f4f051f36926c8fb3b9a6d998e5d82 -Author: Simon McVittie -Date: 2010-12-10 16:55:02 +0000 - - Nano version - -commit 6e294bf5edaa105f6c59002c4537bd5b90c65c10 -Author: Simon McVittie -Date: 2010-12-10 16:47:53 +0000 - - Prepare version 0.12.6 - -commit 45b91344a6d106d8e305b0fa8b1e60e9200e6be6 -Author: Simon McVittie -Date: 2010-12-10 16:47:18 +0000 - - _is-release-check: fail check if there are changes staged - -commit 21fe8cac5062b0e87c8bb46f6db00675b09a1b1f -Merge: b003bfd 2941695 -Author: Jonny Lamb -Date: 2010-12-10 16:35:57 +0000 - - Merge branch 'protocol' - -commit 2941695e8a656ce92ed217fe3aeb47ce45f234da -Author: Jonny Lamb -Date: 2010-12-10 16:32:35 +0000 - - protocol: deal with AuthenticationTypes not being present - - This way tp_protocol_get_authentication_types will always return an - array, not NULL. - - Signed-off-by: Jonny Lamb - -commit b003bfdfb1a2f30b2d2fe6a5f81ad54a0b36f781 -Author: Simon McVittie -Date: 2010-12-10 16:18:21 +0000 - - Update to spec 0.21.7 - - - Protocol.AuthenticationTypes - - Chan.I.SMS.SMSChannel and its change notification - -commit 9777fd209609b20c6fc671aed77f4d0410ac51d7 -Merge: f9c13a1 52ea20c -Author: Simon McVittie -Date: 2010-12-10 16:17:15 +0000 - - Merge branch 'messages' - - Reviewed-by: Jonny Lamb - -commit 52ea20ca1c204e694deb1e4a82b7771b57d8f459 -Author: Simon McVittie -Date: 2010-12-10 15:40:11 +0000 - - TpMessageMixin: disallow message-sender-id in the same contexts as message-sender - -commit 351bfe6360ba2d1da39c9f9b0e371194b6b55e63 -Author: Simon McVittie -Date: 2010-12-10 15:30:39 +0000 - - Don't put _TP_GNUC_DEPRECATED on TpMessage stuff for now - - Let's reinstate this once we've had a release with the replacements; - otherwise it's really awkward for projects that use -Werror. - -commit 27846a548c84ceebde7b8c6bef2c488b6f456d0c -Author: Simon McVittie -Date: 2010-12-10 15:29:06 +0000 - - Hide tp_message_new, tp_message_set_handle etc. if TP_DISABLE_DEPRECATED - -commit ef3fef4460a5bf32966b63ba4e37ae2e628a3cf5 -Author: Simon McVittie -Date: 2010-12-10 15:23:24 +0000 - - Check that the self-handle is added to sent messages - -commit 0748712748d2a02a13a15141283253e844b6edac -Author: Simon McVittie -Date: 2010-12-10 14:46:38 +0000 - - tp_message_mixin_sent: set the sender - -commit 10cf1d1447dbc116a0ca1312437aceb10f391315 -Author: Simon McVittie -Date: 2010-12-10 14:46:30 +0000 - - tp_message_mixin_sent: improve checks - -commit f6a471ba081b3a95e7bb1aa0ec808d312ad00678 -Author: Simon McVittie -Date: 2010-12-10 14:44:02 +0000 - - TP_HAS_GROUP_MIXIN, TP_HAS_GROUP_MIXIN_CLASS: add - -commit abb731f78fc5dc7004d2b8c7a2730b37be7ff02f -Author: Simon McVittie -Date: 2010-12-10 14:43:41 +0000 - - tp_mixin_(instance|class)_get_offset: return 0 without error if there is no mixin - - There's a critical warning in tp_mixin_offset_cast which will still be - triggered if you use (for instance) TP_GROUP_MIXIN on an unsuitable object, - and having the get_offset functions not error means they can be used to - implement "does this object have the mixin?" - -commit f9c13a13d2adf34a831984960ac9db9e978f5255 -Merge: 6f05e73 eeaac80 -Author: Simon McVittie -Date: 2010-12-10 14:22:53 +0000 - - Merge branch 'telepathy-glib-0.12' - - Conflicts: - NEWS - -commit eeaac803b9a21db4653ff4fea7923c855c208ec6 -Author: Simon McVittie -Date: 2010-12-10 14:21:59 +0000 - - NEWS - -commit c626e112d3b73ba2498a9946b62683c04860f3ee -Author: Xavier Claessens -Date: 2010-12-09 16:24:45 +0100 - - Use WARNING instead of g_warning - -commit 01d05b8c68e926b4b5dac87bded1fbfa7eae4122 -Author: Xavier Claessens -Date: 2010-12-09 16:19:56 +0100 - - Correctly Close() handled channels - -commit 6ce95f308e7152acdab7549a879850da02194ca7 -Author: Xavier Claessens -Date: 2010-12-09 16:14:48 +0100 - - Avoid potential problems if channel is already invalidated - - In that case no extra ref is added on self and handle_request_complete() could make - it dispose. Self is the owner of context, so the tp_handle_channels_context_accept() - call following could break things. - -commit 7f0a0b4114400d5eee19996e0899d293ca55f56a -Author: Xavier Claessens -Date: 2010-12-09 13:57:06 +0100 - - Warning if TpBaseClient is still handling channels at dispose - -commit 60bfdb7e0b613f096f385b95a8f4a3242e92fb7d -Author: Xavier Claessens -Date: 2010-12-09 13:20:45 +0100 - - Document that handlers are responsible to call Close() on handled channels - -commit eda92ce30977d6497e8d020122c2962213d8b6a1 -Author: Xavier Claessens -Date: 2010-12-09 12:37:41 +0100 - - Fix leaked TpChannel objects - -commit 6f05e73ac74b09dd1f7660ee50daf7459010f048 -Author: Simon McVittie -Date: 2010-12-10 13:38:08 +0000 - - NEWS - -commit ddc9f81c38ff13548c1e76d98cce11539569427f -Merge: b942bb8 41806e9 -Author: Simon McVittie -Date: 2010-12-10 13:34:03 +0000 - - Merge branch 'messaging' - - Reviewed-by: Guillaume Desmottes - -commit 41806e97b01c5567164b0f2b8c98100ec994c0f6 -Author: Simon McVittie -Date: 2010-12-10 13:22:12 +0000 - - Test various TpMessage, TpCMMessage accessors - -commit 3bdb33248563b3c8ae5fb34a503d7ef845350c7a -Author: Simon McVittie -Date: 2010-12-10 13:17:10 +0000 - - Add convenience accessors for most of the Message headers - -commit ef740fdfabb772c6278b6857c3809a7cf4f686f8 -Author: Simon McVittie -Date: 2010-12-10 12:47:14 +0000 - - tp_cm_message_get_sender: add - -commit 339a8a663e149d234f736ed09f506ba62da47a62 -Author: Simon McVittie -Date: 2010-12-10 12:46:52 +0000 - - _tp_signalled_message_new: ignore sender in @parts, trust @sender instead - - This is necessary in some pathological cases, for instance if we get a - message-sender and a message-sender-id, do a round-trip to get a TpContact - based on the ID, and discover that their handle does not match the - message-sender we started with (which could happen if the handle went - out of scope, on older CMs). - - Also use tp_message_delete_key instead of NIHing it, remove an unnecessary - cast, and check that if sender is non-NULL, it is valid. - -commit b942bb89bd8a22b219119ed3bfa93e5de8481c89 -Author: Xavier Claessens -Date: 2010-12-09 16:24:45 +0100 - - Use WARNING instead of g_warning - -commit 81603ac4f1584c30e0e0b1bb28cae2bd2c271a4a -Author: Xavier Claessens -Date: 2010-12-09 16:19:56 +0100 - - Correctly Close() handled channels - -commit 1b71313f9d7bd192a96ff9ca96d4b3076082bb06 -Author: Xavier Claessens -Date: 2010-12-09 16:14:48 +0100 - - Avoid potential problems if channel is already invalidated - - In that case no extra ref is added on self and handle_request_complete() could make - it dispose. Self is the owner of context, so the tp_handle_channels_context_accept() - call following could break things. - -commit 411f1eb45798479eaf165bd7345fa6361dca46b1 -Author: Xavier Claessens -Date: 2010-12-09 13:57:06 +0100 - - Warning if TpBaseClient is still handling channels at dispose - -commit a34680042beff9fb5244d3fe5a608c7f6f580ae5 -Author: Xavier Claessens -Date: 2010-12-09 13:20:45 +0100 - - Document that handlers are responsible to call Close() on handled channels - -commit 594a1b08465c1c0966a5af14a5b66dfb9da251bd -Author: Xavier Claessens -Date: 2010-12-09 12:37:41 +0100 - - Fix leaked TpChannel objects - -commit 4395453663f0a53e04328ec5fa95be92f9021a5a -Author: Simon McVittie -Date: 2010-12-09 18:17:23 +0000 - - NEWS - -commit 02656e7bd845d4f027e5bebf864b72f5e184c919 -Author: Simon McVittie -Date: 2010-12-09 18:01:29 +0000 - - Fix unused-if-not-debugging variable - - Reviewed-by: Sjoerd Simons - -commit b3849101053ef40575894e83329f4a3ec7a8a83c -Merge: 57dd9e8 4731112 -Author: Simon McVittie -Date: 2010-12-09 17:49:59 +0000 - - Merge branch 'self-contact' - - Reviewed-by: Guillaume Desmottes - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32234 - -commit 19c22f75378922acf6acaad40f43ef70e375d76f -Author: Simon McVittie -Date: 2010-12-09 17:19:33 +0000 - - tp_channel_close_async: ignore reply to Close() at the D-Bus level if no callback - -commit 11928fcc640d09e55e3f6f8251716efd73187edd -Author: Simon McVittie -Date: 2010-12-09 16:55:18 +0000 - - channel_close_cb: complete in an idle - - tp_cli callbacks don't guarantee not to call the callback re-entrantly: - if the interface is absent, or the proxy has been invalidated, they'll - call the callback before returning. Sad times. - - Also document why channel_remove_self_cb doesn't have to do this: it's - only called after preparing the GROUP feature, which does guarantee to - be idle. - -commit 34d4788bcaa0ebb70157a0556df9456b388ac568 -Author: Simon McVittie -Date: 2010-12-09 16:40:13 +0000 - - If Close() fails but channel has gone, consider that to be success - - This is consistent with what we do for RemoveMembersWithReason. - -commit c2156c6f6b0cd7bba0524aa0258563497dad878e -Author: Simon McVittie -Date: 2010-12-09 16:17:39 +0000 - - channel test: use TpExportableChannel:channel-properties for the Group - -commit a8171b2c2621cbb2828118d83b2928589b1a6811 -Author: Simon McVittie -Date: 2010-12-09 15:43:49 +0000 - - tp_channel_leave_async: don't call Close as a synonym for reason NONE - - If we add proxy mode to Idle (Bug #24273) we'll need to distinguish - between the two actions. - -commit f3e6e1c061fd1d920e5178a085c97571fb19fe8f -Author: Simon McVittie -Date: 2010-12-09 15:38:19 +0000 - - channel test: check that closing a room doesn't secretly leave it instead - -commit 1b88700659566ec535dd66c26e16d92b82de1984 -Author: Simon McVittie -Date: 2010-12-09 15:37:52 +0000 - - tp_channel_close_async: always call Close() - - On second thoughts, we do need to distinguish between closing a channel, - and leaving it. - -commit 473111247b63bf96762169a4413ffa517a708142 -Author: Simon McVittie -Date: 2010-12-09 15:08:33 +0000 - - Test that if GetSelfHandle fails, we invalidate the connection - -commit 57dd9e80adbddaaabc86d40a261b684564592360 -Author: Guillaume Desmottes -Date: 2010-12-09 15:58:06 +0100 - - reorder includes - -commit 38a4b01bd534648b9d5b7a8f21a4c12903f93dfd -Author: Simon McVittie -Date: 2010-12-09 14:57:47 +0000 - - TpTestsSimpleConnection: allow forcing GetSelfHandle() to fail - -commit 9941a7da24f4b237642a9b71d88a33120ecdcbd2 -Author: Guillaume Desmottes -Date: 2010-12-09 15:55:21 +0100 - - move include out of G_BEGIN_DECLS - -commit 32b9b8401074491331a2ddcfabad68652645e932 -Author: Simon McVittie -Date: 2010-12-09 14:52:40 +0000 - - self-handle test: try changing the self-handle between GetSelfHandle and finishing preparation - - This exercises one of the fallback cases in - tp_connection_got_self_contact_cb. - -commit 261c222211910d6425b0bb70826bc9ab937cfa41 -Author: Simon McVittie -Date: 2010-12-09 14:50:09 +0000 - - self-handle test: change the counter callback to use swapped arguments - - This lets us use it to count emissions of any signal. - -commit dd778e90e9f5612bacc72a89a3458a7859cdc5e8 -Author: Simon McVittie -Date: 2010-12-09 14:47:24 +0000 - - TpTestsSimpleConnection: emit a signal when GetSelfHandle is called - -commit 11aa27245aa76196254918058356331b4d852d92 -Author: Guillaume Desmottes -Date: 2010-12-09 15:37:15 +0100 - - fix typo - -commit f897db4c658eccc2896f99d9434265a48df032af -Author: Guillaume Desmottes -Date: 2010-12-09 15:05:52 +0100 - - move TpMessage message-mixin specific variables to TpCMMessage - -commit 304df4ef0feec1ba6c72f6c6111a82653bf7073f -Author: Guillaume Desmottes -Date: 2010-12-09 14:28:54 +0100 - - more use of tp_message_append_part() instead of creating the hash table manually - -commit 00056e2c0efb80d9cdbc7941b74e19936edba211 -Author: Guillaume Desmottes -Date: 2010-12-09 13:55:06 +0100 - - message-mixin: no need to include signalled-message-internal.h - -commit 86a6dc829f509eff2218a5f0ed6153c93d321539 -Author: Guillaume Desmottes -Date: 2010-12-09 13:53:41 +0100 - - remove useless includes - -commit c134362ccbe746e599aa141b69c65daabbb4bee5 -Author: Guillaume Desmottes -Date: 2010-12-09 13:38:00 +0100 - - remove useless tp_client_message_dispose - -commit ae3975549adbcc7573b967f9e73e4c6b3fbc0d11 -Author: Guillaume Desmottes -Date: 2010-12-09 13:36:30 +0100 - - _tp_signalled_message_new: add message-sender-id if needed - -commit 024845be5e1f3d9d92b9900fe714da259aac69e8 -Author: Guillaume Desmottes -Date: 2010-12-09 13:33:57 +0100 - - _tp_signalled_message_new: add some checking and remove the message-sender - -commit f82e1e05103896d2e2fcdd9c69b70c378e4987a8 -Author: Guillaume Desmottes -Date: 2010-12-09 13:15:39 +0100 - - add tp_message_is_mutable() - -commit 681475dd42758dc8c8adf2c75649d3d152f4c62a -Author: Guillaume Desmottes -Date: 2010-12-09 13:10:33 +0100 - - rename _tp_message_immutable and make it actually work - -commit 2d6651e538fdd60f328e44a2e7d5427025f94a10 -Author: Guillaume Desmottes -Date: 2010-12-09 13:05:59 +0100 - - cm-message: stop reffing handles - -commit a81ea4cd688c366c076f859440961465ec5eca4e -Author: Guillaume Desmottes -Date: 2010-12-09 13:01:40 +0100 - - tp_message_ref_handle: no more need to ref the handle - -commit 788f94942809100dfa459e3b375b031d8ef136b7 -Author: Guillaume Desmottes -Date: 2010-12-09 11:52:20 +0100 - - add TpCmMessage tests - -commit 758de99afeaaea61ca6e352a252e01893c958652 -Author: Guillaume Desmottes -Date: 2010-12-09 11:51:58 +0100 - - _tp_cm_message_new_from_parts: get a TpBaseConnection - -commit 1dc956dbf34d6cd85c3919efcd498879618c6bbe -Author: Guillaume Desmottes -Date: 2010-12-09 11:41:16 +0100 - - tp_cm_message_new: remove size_hint arg - -commit d3f614f4569a40bda0b8899d95f7cd33653f833b -Author: Guillaume Desmottes -Date: 2010-12-09 10:47:12 +0100 - - _tp_cm_message_new_from_parts: use tp_cm_message_set_sender() - -commit 41d627fb354cd90e832eba8541098b778688de09 -Author: Guillaume Desmottes -Date: 2010-12-09 10:32:54 +0100 - - tp_client_message_new: document that msg has only its header - -commit afe46c3bf513374475c1d95c01ad4ffd8fb41a59 -Author: Guillaume Desmottes -Date: 2010-12-09 10:31:46 +0100 - - fix typo - -commit 00d89373f4fad064546fafbca959ef0305de8789 -Author: Guillaume Desmottes -Date: 2010-12-09 10:29:43 +0100 - - improve doc of tp_cm_message_set_sender - -commit 2e3503de25ba74f630fe5605f88d959362ddaa57 -Author: Guillaume Desmottes -Date: 2010-11-10 16:18:14 +0100 - - TpMessage: add mutable check - -commit 8d065d48d7cd962d6d35244b8d5eeb7dad6a186e -Author: Guillaume Desmottes -Date: 2010-11-10 15:56:28 +0100 - - tp_client_message_new: fix doc - -commit 58d2f8fa31b2c05a7362d672f6122c719b80562d -Author: Guillaume Desmottes -Date: 2010-11-10 15:45:04 +0100 - - cm-message: properly init TpCMMessagePrivate - - Yeah for very nasty bugs :\ - -commit bb8488db6d0a7a232eda7dc66a97e61194b13bc1 -Author: Guillaume Desmottes -Date: 2010-11-10 15:14:51 +0100 - - TpSignalledMessage: takes the sender during construction - -commit 76f41858f44d7b0b9a8d5e83ac00ef01e7da662e -Author: Guillaume Desmottes -Date: 2010-11-09 15:45:46 +0100 - - remove initial-parts and size-hint properties - -commit afe09643b98c875f0d8379ac2c82a41827229844 -Author: Guillaume Desmottes -Date: 2010-11-09 15:25:45 +0100 - - add G_GNUC_WARN_UNUSED_RESULT on tp_message_to_text - -commit 5acda8ad6a791f212810763ab9163cf6f3ab2774 -Author: Guillaume Desmottes -Date: 2010-11-09 15:22:42 +0100 - - message-mixin: create a CMMessage instead of a Signalled one - -commit 08de02db0ea2e1b5a4cb69611251abc9d69f82fb -Author: Guillaume Desmottes -Date: 2010-11-09 15:22:25 +0100 - - add _tp_cm_message_new_from_parts() - -commit 3a8ab74d203877ac3fa0185f8cc9a6d31817d78a -Author: Guillaume Desmottes -Date: 2010-11-09 15:06:10 +0100 - - improve Tp*Message descriptions - -commit c7d180b150e8413236f9f2afca69f4dc91be6a71 -Author: Guillaume Desmottes -Date: 2010-11-09 15:00:54 +0100 - - tp_cm_message_set_sender: set message-sender-id - -commit 00e91deae6f5684e40dd9105d4e3ad20334bdbda -Author: Guillaume Desmottes -Date: 2010-11-09 14:47:54 +0100 - - rename tp_message_ref_handles to tp_cm_message_ref_handles - -commit a6356c2c770228c29a8eda51e5f3941a653b32e0 -Author: Guillaume Desmottes -Date: 2010-11-09 14:42:49 +0100 - - actually deprecated old API - -commit cf5af1af0b0b3cd5c3d97d002fe4b6692e85027b -Author: Guillaume Desmottes -Date: 2010-11-09 14:42:37 +0100 - - echo-message-parts: stop using deprecated API - -commit 1ea8834a0034a4979ba137b105654b6e71637b6b -Author: Guillaume Desmottes -Date: 2010-11-09 14:42:19 +0100 - - tp_message_new is deprecated - -commit 46acda261a57026e301ae8d8c8f6c9471e72b1f8 -Author: Guillaume Desmottes -Date: 2010-11-09 14:41:57 +0100 - - tp_message_ref_handle has been deprecated - -commit 350371a373a4f42bec1eeab6dbb10bfc1e1f80d9 -Author: Guillaume Desmottes -Date: 2010-11-09 14:41:28 +0100 - - tp_cm_message_set_sender: don't use the deprecated tp_message_set_handle - -commit 1862fba2944dec2a957cf9fa29a3a0f4e2d4c718 -Author: Guillaume Desmottes -Date: 2010-11-09 10:25:08 +0100 - - message-mixin.h: include cm-message.h - -commit 8ea29ea69403753ab46dcd0e3a974ab45b4209c9 -Author: Guillaume Desmottes -Date: 2010-10-29 16:37:07 +0200 - - TpSignalledMessage: add API to get/set the sender - -commit c832e8ed9a988e2b2dec5852824764e85559bb40 -Author: Guillaume Desmottes -Date: 2010-10-29 14:31:54 +0200 - - factor out most of parts_to_text() to tp_message_to_text() - -commit 9e8b2f43d7aa246b57587fd3cb829fdb1c0e7e46 -Author: Guillaume Desmottes -Date: 2010-10-29 14:13:38 +0200 - - parts_to_text: take a TpMessage as first argument - -commit 5d30ee904c21244741e4eea4329855180cb20bd5 -Author: Guillaume Desmottes -Date: 2010-10-25 17:01:26 +0200 - - add _tp_signalled_message_new() - -commit e7a403ddc9097963ff530091fa7403a56ef5779e -Author: Guillaume Desmottes -Date: 2010-10-28 17:31:39 +0200 - - tp_client_message_new: remove initial_parts ar - -commit a8025cbb91cd4175ee36c03d005574c13018d4c6 -Author: Guillaume Desmottes -Date: 2010-10-28 17:19:45 +0200 - - fix typo introduced in Makefile.am comment - -commit 85515b6397d0545e2a6575f2a794c0345ecb659e -Author: Guillaume Desmottes -Date: 2010-10-28 17:17:30 +0200 - - don't include base-connection.h in message.h - -commit db7ddad0c916f0eab092cd3e9b030a9c0323aa29 -Author: Guillaume Desmottes -Date: 2010-10-26 16:54:53 +0200 - - add tp_client_message_text_new() - -commit 736185ad031b5b65aef3742b7b7d0d8facb022e7 -Author: Guillaume Desmottes -Date: 2010-10-25 16:18:16 +0200 - - add TpSignalledMessage - -commit 55ef466731fec0cc286fc5892cc596bd46bc7db4 -Author: Guillaume Desmottes -Date: 2010-10-25 13:05:38 +0200 - - add tp_client_message_new() - -commit 34c223fd00b1b7e304695f49cdcd609271f9d956 -Author: Guillaume Desmottes -Date: 2010-10-25 12:40:31 +0200 - - TpMessage: add initial-parts and size-hint properties - -commit a8d0f9b117f376c8371865b8843c5e2ec86a6702 -Author: Guillaume Desmottes -Date: 2010-10-21 12:31:11 +0200 - - add TpClientMessage - -commit 919d06c79ad9c33262cf916b3feab8030ff313b3 -Author: Guillaume Desmottes -Date: 2010-10-21 11:22:03 +0200 - - Document TpCMMessage - -commit 5d7f582d1b53eaa0a52565e1fe88ab0acd0bff27 -Author: Guillaume Desmottes -Date: 2010-10-21 11:20:19 +0200 - - Deprecate tp_message_set_handle() in favor of tp_cm_message_set_sender() - -commit a64b7a56f4f6c3dd1ff8e33138ac818dc1c2c059 -Author: Guillaume Desmottes -Date: 2010-10-21 11:13:52 +0200 - - add tp_cm_message_set_sender - -commit 67a0eeabff35e5dd903bc58705c7406636bd05ae -Author: Guillaume Desmottes -Date: 2010-10-20 16:45:24 +0200 - - move the connection and handle set to TpCMMessagePrivate - -commit b8adf5cb11e7f6b97cb359555f404ac69ad3320d -Author: Guillaume Desmottes -Date: 2010-10-20 16:12:35 +0200 - - move implementation of some CM specific methods to cm-message - -commit d3e8296336bcee038f83eecb3168effb5bdf096f -Author: Guillaume Desmottes -Date: 2010-10-20 16:09:50 +0200 - - message-internal.h: no need for padding, it's not part of the API - -commit 300372f4f2050a32ba04f69ff3fdab549c81c5b0 -Author: Guillaume Desmottes -Date: 2010-10-20 16:08:55 +0200 - - add TpCMMessage - -commit 7e0518e2d1012d99e128b736d717888f2c2eeecc -Author: Guillaume Desmottes -Date: 2010-10-20 15:30:50 +0200 - - message.h: include tp-glib headers - -commit dbc9ab8f0b079288b9be03cdce054da31d9f3c66 -Author: Guillaume Desmottes -Date: 2010-10-15 10:17:11 +0200 - - tp_message_dispose: use tp_clear_pointer() - -commit c6abe1efacc957778e60ac9df516067adb236a92 -Author: Guillaume Desmottes -Date: 2010-10-14 15:11:45 +0200 - - TpMessage: be a proper GObject - -commit 350d041c697d9ee50631cbe3d595978b8c559bf1 -Author: Guillaume Desmottes -Date: 2010-10-14 14:32:53 +0200 - - make a GObject of TpMessage - - Basically just the boilerplate for now, we still use it as a struct. - -commit 6cbc8e41c6fdf8f54583aca651a1deb4b9eeebd6 -Author: Guillaume Desmottes -Date: 2010-10-14 12:26:12 +0200 - - move TpMessage to its own files - -commit 0ca612ea9a06bae8af0199dbb995344b88d1ede3 -Author: Simon McVittie -Date: 2010-12-09 12:46:23 +0000 - - self-handle test: check what happens when the self-handle changes early on - -commit 7de9ac72626adaff551f9022336977c1e67b0bfb -Author: Simon McVittie -Date: 2010-12-09 12:08:14 +0000 - - self-handle test: port to GTester - -commit 6552ca5be5344f1e59dfb75e75691cc1025f2589 -Author: Simon McVittie -Date: 2010-12-08 16:46:34 +0000 - - Add TpConnection:self-contact, and a convenience "C binding" for it - -commit 25df729cd392e11f16ab57b3229c8eeb7dba2954 -Author: Simon McVittie -Date: 2010-12-08 15:27:44 +0000 - - TpConnection: make a TpContact for the self-handle while preparing CONNECTED - -commit 44e27cf2b991e1380e67d23ed8da6182cc3fa29e -Author: Simon McVittie -Date: 2010-12-08 15:26:43 +0000 - - tp_tests_bug19101_connection_get_contact_attributes: work correctly for the self-handle - - The regression test for Bug #19101 assumes that the connection can be - prepared successfully. This won't be the case after we add a TpContact for - the self-handle, unless we return that handle's attributes. - -commit acae10e53ccfad47542ab274bfcfb4ac2ed979c7 -Author: Simon McVittie -Date: 2010-12-07 18:07:46 +0000 - - test_self_handle: don't assume that SelfHandleChanged is processed instantly - - We'll soon need to make a contact object, perhaps asynchronously. - -commit 240b8ed160bd79eeef72a671fd987e2d79980865 -Author: Simon McVittie -Date: 2010-12-07 18:07:18 +0000 - - tp_connection_get_contacts_by_handle: allow calling early with no features - -commit 1495c492d4bdbbe40f9a29756b793b972222576c -Author: Simon McVittie -Date: 2010-12-07 18:05:12 +0000 - - TpContact infrastructure: don't rely on contact_attribute_interfaces != NULL - - This is necessary to use this infrastructure to make a TpContact for the - self-handle. - -commit e0aa2015be252c49446ad8aab8cbac45eb917732 -Author: Simon McVittie -Date: 2010-12-09 11:17:50 +0000 - - NEWS - -commit 3227c825a0438512f28eabf8ca74c8d4a46c1c3e -Merge: ea72139 1dca258 -Author: Simon McVittie -Date: 2010-12-09 11:15:12 +0000 - - Merge branch 'contact-if-possible' - - Reviewed-by: Guillaume Desmottes - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32023 - -commit ea721395cd69647d72067c53b91812fa899b8300 -Author: Jonny Lamb -Date: 2010-12-09 11:09:13 +0000 - - simple-observer: fix many typos - - Signed-off-by: Jonny Lamb - -commit 1dca258e8d95de84d72e65c991a223ed30c4cac5 -Author: Simon McVittie -Date: 2010-12-08 19:22:02 +0000 - - Add missing Since annotation to tp_connection_dup_contact_if_possible - -commit 48cdd2318ec6b744bb34a030a8570bb7327600bc -Author: Simon McVittie -Date: 2010-12-08 19:02:02 +0000 - - Test tp_connection_dup_contact_if_possible - -commit d8b0d04d0f25d8558cde610c7fd95b2a8f9532d9 -Author: Simon McVittie -Date: 2010-12-08 19:01:31 +0000 - - contacts test: put more in the Fixture, and make clearing the Result idempotent - -commit 015a69165b212d5e617e262ab32e5f18d8fca91e -Author: Simon McVittie -Date: 2010-12-08 18:58:23 +0000 - - contacts-slow-path test: reset_result: be idempotent, and call in teardown - -commit 7053149bdad8e6260849f86ce64919864138dd7b -Author: Simon McVittie -Date: 2010-12-08 18:51:07 +0000 - - contacts-slow-path test: put more stuff in the Fixture - -commit 31d767ce9dfa76feb72798df5ad859778445641b -Author: Simon McVittie -Date: 2010-12-08 18:38:01 +0000 - - TpTestsLegacyContactsConnection: pretend not to have immortal handles - -commit 50f95abd33bc14e051d33dd36ce919177d5ae859 -Author: Simon McVittie -Date: 2010-12-07 14:31:13 +0000 - - tp_connection_dup_contact_if_possible: replace dup_contact_for_immortal_handle - - These semantics seem more useful in practice. - -commit 1765b4d3d3485d03927b8274846c9b6cc04492f3 -Author: Simon McVittie -Date: 2010-12-08 14:41:01 +0000 - - NEWS - -commit 1f1a3ec498545d23100656ecb2adf9f02e36995f -Merge: afa686d d5bf0ff -Author: Guillaume Desmottes -Date: 2010-12-08 15:35:54 +0100 - - Merge branch 'leaks' - -commit afa686dc0df230f2fe53864a109f90223d64ccba -Merge: 132c8ad 5ec5790 -Author: Simon McVittie -Date: 2010-12-08 14:32:39 +0000 - - Merge branch 'telepathy-glib-0.12' - - Conflicts: - NEWS - tests/dbus/contacts-slow-path.c - tests/dbus/contacts.c - -commit 5ec5790b2ee2fdbaf4f90cf97a054a895474f55c -Author: Simon McVittie -Date: 2010-12-08 14:30:56 +0000 - - NEWS - -commit 9540d949db39138fdbaac45ff1efdd940152ecf3 -Merge: 5565f1b 4884464 -Author: Simon McVittie -Date: 2010-12-08 14:27:03 +0000 - - Merge branch '012-contact' into telepathy-glib-0.12 - - Reviewed-by: Guillaume Desmottes - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32191 - -commit 488446450a1cbdbbd276cad964237ae48279e83f -Author: Simon McVittie -Date: 2010-12-08 12:52:08 +0000 - - contacts test: add regression tests for fd.o #25181 and #32191 - -commit 06b25b5d20fcb6da8e7b6e11e184c5ec523bf284 -Author: Simon McVittie -Date: 2010-12-07 19:42:36 +0000 - - Add a regression test for fd.o #32191 where it was first exhibited - -commit e7b122fece11e1c0a21b52baf0df054971dc506b -Author: Simon McVittie -Date: 2010-12-07 19:24:53 +0000 - - fd.o #32191: tp_connection_get_contacts_by_handle: call GetAttributes if necessary - -commit 442ded0c48c788ab1d4f57c9cf7975dcc8bb9d3d -Author: Simon McVittie -Date: 2010-12-07 19:17:00 +0000 - - contacts_held_handles: guard against being called unnecessarily - -commit f8493395eba03e6f169cdf29134cd44a130556dc -Author: Simon McVittie -Date: 2010-12-07 19:16:17 +0000 - - contacts_get_attributes: skip if we're not going to achieve anything - -commit d6fbd8bfaa2db21273514bf01a93db748ee9b8e8 -Author: Simon McVittie -Date: 2010-12-07 19:02:48 +0000 - - Always call contacts_get_attributes via the context->todo queue - -commit e402894d38823bdd1260b162a0e1851079648c57 -Author: Simon McVittie -Date: 2010-12-07 19:01:07 +0000 - - tp_connection_get_contacts_by_handle: if all contacts have a feature, skip it - -commit 5546500bb83d4e1315a958b22c354efec1f22456 -Author: Simon McVittie -Date: 2010-12-07 18:57:20 +0000 - - contacts_get_attributes: don't hold handles if we don't still need to - -commit cbd79049b86bc1361952ec2733ee2ed81358ff36 -Author: Simon McVittie -Date: 2010-12-07 18:39:07 +0000 - - contacts_context_queue_features: don't take an extra parameter - - The context already knows what feature flags it wants. - -commit 1e05494306002b3b7ca3e6287e94fd0483f8c8b4 -Author: Simon McVittie -Date: 2010-12-08 13:06:59 +0000 - - contacts-slow-path: add regression tests for fd.o #25181, #32191 - - The slow path never actually suffered from #32191. - -commit 38a13d0e84d6d3ede38e54b3f6c3535adfe3ccd5 -Author: Simon McVittie -Date: 2010-12-08 13:05:13 +0000 - - contacts test: use GTester - -commit c52981a15aa827036856f4963096d59ab3c91a6b -Author: Simon McVittie -Date: 2010-12-08 12:22:48 +0000 - - contacts test: pass the fixture to all tests - -commit 86769e24fa78e51eef88da35e1ca5de5d563644b -Author: Simon McVittie -Date: 2010-12-08 12:17:40 +0000 - - contacts test: do setup, teardown once per test - -commit 8d9bf2c30fbea499d93b4df8cd8ccf146a00042d -Author: Simon McVittie -Date: 2010-12-08 12:16:41 +0000 - - contacts test: encapsulate setup/teardown using a fixture - -commit 9397d8d0425ef9dc1c18de59d73943d2c703ffb7 -Author: Simon McVittie -Date: 2010-12-08 13:03:25 +0000 - - contacts-slow-path: use GTester - -commit e7b604ad2574466cdd146c9c343643f94afd0c06 -Author: Simon McVittie -Date: 2010-12-08 11:50:25 +0000 - - contacts-slow-path: do setup and teardown individually for each test - -commit 822df279b0df2765d2340bbd60546a537c3afb71 -Author: Simon McVittie -Date: 2010-12-08 11:49:00 +0000 - - contacts-slow-path: make teardown survive missing objects - - Also hold a separate ref for base_connection and legacy_service_conn. - -commit 0dcfc6f45eef06979822399db1f6736b110f0579 -Author: Simon McVittie -Date: 2010-12-08 13:00:31 +0000 - - contacts-slow-path: encapsulate test state in a fixture - -commit d5bf0ff305fb19bb27bb760ab87ff0804e1c8907 -Author: Guillaume Desmottes -Date: 2010-12-08 12:43:42 +0100 - - dynamic_ensure_handle: don't leak normal_id - -commit 895e415b00b7c8345167f0ac8688c4fff31fffe4 -Author: Guillaume Desmottes -Date: 2010-12-08 11:18:07 +0100 - - account: don't leak auto_status, auto_message and normalized_name - -commit 14ee83d34c3056b5e20ab702f468cd1f64908166 -Author: Jonny Lamb -Date: 2010-12-07 16:19:36 +0000 - - base-protocol: add support for the new AuthenticationTypes property - - Signed-off-by: Jonny Lamb - -commit 9c9d77f1870bdfc65000b0bdf3fdf38da79c10b0 -Author: Jonny Lamb -Date: 2010-12-07 15:48:16 +0000 - - protocol: add tp_protocol_get_authentication_types - - Signed-off-by: Jonny Lamb - -commit 132c8ad4ced2a575dbb920d8dffcbf65f03b2f00 -Author: Will Thompson -Date: 2010-12-01 16:52:17 +0000 - - Add tp_account_get_path_suffix(). - - This new function returns the cm/protocol/foo part of a TpAccount's - object path. - -commit fd8458bc014348034ea382c8328a84221605ebe2 -Author: Will Thompson -Date: 2010-12-01 16:35:41 +0000 - - AM: document which TpAccounts will be prepared. - - I don't think this is very good—they all should be. But we should at - least document in which situations this stuff behaves nicely. - -commit 6cea3694c0dd0ccf9376f818c59b8a8d24c4bc3b -Author: Simon McVittie -Date: 2010-12-01 19:23:02 +0000 - - tp_connection_dup_contact_for_immortal_handle: add - - Yes, the name is unwieldy - this method isn't safe to call on all - connections. - - Reviewed-by: Guillaume Desmottes - -commit 3772d0946922b11b3040451e93cfaea799766456 -Author: Simon McVittie -Date: 2010-12-06 16:20:36 +0000 - - NEWS - -commit 52d9ca7fc908bdffdb36e7e37d7ff168f7acb9df -Merge: 129c2d6 5565f1b -Author: Simon McVittie -Date: 2010-12-06 16:18:48 +0000 - - Merge branch 'telepathy-glib-0.12' - -commit 5565f1bede0539e5cb43702a5804fa03b652c6e3 -Author: Simon McVittie -Date: 2010-12-06 16:18:39 +0000 - - NEWS - -commit 1eaf5bf5e2a4c2842fe15849f2d49a881e0c1198 -Merge: 7353074 340a05a -Author: Simon McVittie -Date: 2010-12-06 16:16:11 +0000 - - Merge branches '012-base-cm-shutdown' and '012-leaked-protocol' into telepathy-glib-0.12 - - Reviewed-by: Jonny Lamb - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32116 - -commit 735307470d1aaf2652efca7426182c0446e6ee83 -Author: Simon McVittie -Date: 2010-12-06 12:34:38 +0000 - - TpBaseConnectionManager: ref the CM once per Connection - - Some Salut test failures can apparently cause the Connection to outlive - the CM, causing a crash when it emits no-more-connections. - -commit 340a05af7e32cefff0e796852e0a951f9bdbbac6 -Author: Simon McVittie -Date: 2010-12-06 10:05:56 +0000 - - fd.o #32116: tp_base_connection_manager_register: don't leak protocol refs - -commit 129c2d636c5691bf9fb94d54785582a435e708ed -Author: Guillaume Desmottes -Date: 2010-12-02 16:56:27 +0100 - - rename self pointer in example and callback definitions - - I often copy/paste it in my code and "self" is generally used as the pointer - on my object. - -commit be0f475346d1b591d35d7d8c4284d31e7211403a -Author: Guillaume Desmottes -Date: 2010-12-02 16:51:10 +0100 - - rename "unique" argument to "uniquify" - - I got confused by my own API... "unique" was a poor name beause setting it - actually make the client NOT unique. - - Also fix gtk-doc links. - -commit 59ec4587117c46da12178bbedb6ea32aeb154840 -Author: Jonny Lamb -Date: 2010-12-02 14:48:53 +0000 - - simple-password-manager: don't unref the channel after setting it to NULL - - Signed-off-by: Jonny Lamb - -commit 55d3088c7641a3653ccb6be0993eaa10bf17718d -Author: Jonny Lamb -Date: 2010-12-02 13:41:13 +0000 - - simple-password-manager: clear the simple password channel when it's closed - - Signed-off-by: Jonny Lamb - -commit d9d74e165e560b1622de99a83232d7e343b811df -Author: Simon McVittie -Date: 2010-12-01 21:17:52 +0000 - - Nano version - -commit c714616ffef64c57a34c806c9f776eed189c9091 -Author: Simon McVittie -Date: 2010-12-01 20:43:59 +0000 - - Prepare version 0.13.8 - -commit 0d81948667acb3a9a2562243b7b1681fcc58ce3b -Author: Simon McVittie -Date: 2010-12-01 19:40:11 +0000 - - Update NEWS - -commit bb16e743b55657222eef3313466d9228bf8f78e9 -Merge: fe88b83 10f4652 -Author: Simon McVittie -Date: 2010-12-01 19:36:23 +0000 - - Merge branch 'async-contact-list' - - Reviewed-by: Will Thompson - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=31997 - -commit fe88b8387dd893cc93ee6a4aa4736fcde8955367 -Merge: a183255 3b792ff -Author: Simon McVittie -Date: 2010-12-01 19:34:01 +0000 - - Merge branch 'spec' - - Reviewed-by: Will Thompson - -commit a1832553851799b44ceaa2110b67a93f1e6b14d8 -Merge: 5fae702 2d6f9d8 -Author: Simon McVittie -Date: 2010-12-01 19:29:47 +0000 - - Merge branch 'account-omissions' - - Conflicts: - telepathy-glib/account.c - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=32004 - Reviewed-by: Will Thompson - -commit 3b792ff00571cf828329725ba1a8fc0041736073 -Author: Simon McVittie -Date: 2010-12-01 19:08:57 +0000 - - test tp_connection_has_immortal_handles() - -commit 811333c9cdac39dbb8cf70f8b4514fa12e44a263 -Author: Simon McVittie -Date: 2010-12-01 19:00:22 +0000 - - Add tp_connection_has_immortal_handles() - -commit 4b818d7123de5f0931e3a3a3e1872edfb7d9ee37 -Author: Simon McVittie -Date: 2010-12-01 18:44:47 +0000 - - TpBaseConnection: have the has-immortal-handles property - -commit 411d7319d9ffaa72388f292d9e7b898d7e324a78 -Author: Simon McVittie -Date: 2010-12-01 18:39:59 +0000 - - Update to spec 0.21.6 - - - HasImmortalHandles property - -commit 5fae70266827a31aa3b1a31086bd73b554bd69bb -Merge: c27e436 76562ad -Author: Simon McVittie -Date: 2010-12-01 18:21:27 +0000 - - Merge branch 'immortality' - - Reviewed-by: Will Thompson - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=23155 - -commit 76562ad6ca4e82a72652cc643dc1b67905b2e412 -Author: Simon McVittie -Date: 2010-12-01 15:57:59 +0000 - - TpConnection: don't track references to handles - - There's no need, now that we never release them. - -commit db4f4abaeca9c2230422a611e78aea74d1072965 -Author: Simon McVittie -Date: 2010-12-01 15:44:35 +0000 - - TpContact: never try to unref handles - -commit f1ffaad2c4f0e3a8217a48cd2b9426280fe0c4f8 -Author: Simon McVittie -Date: 2010-12-01 15:34:53 +0000 - - tp_connection_unref_handles: don't do anything - - This gets us a little closer to the "immortal handles" behaviour even for - CMs that have refcounting. - -commit 2c99dbea3a73c1ec9baa65284595a54c49e88fb8 -Author: Simon McVittie -Date: 2010-12-01 16:02:53 +0000 - - TpHandleRepoIface: document when we stopped refcounting handles - -commit eafebadd21a91bd960f6a260f71d34919b4ff668 -Author: Simon McVittie -Date: 2010-11-10 13:20:57 +0000 - - TpDynamicHandleRepo: store handle data in a GArray, not a GHashTable - - Now that we don't deallocate handles, the keys will always be dense, - so we can benefit from having a single blob of memory keyed by simple - array access. - -commit 31398a29cb64fb429634e2c6bd64879eabe5332d -Author: Simon McVittie -Date: 2010-12-01 15:04:05 +0000 - - TpHandleRepoIface: don't reference-count handles - -commit 494fbeb0f30fc35f440a8b0924830bfa10c30030 -Author: Simon McVittie -Date: 2010-04-08 18:39:58 +0100 - - TpBaseConnection: don't bother holding/releasing handles on behalf of clients - - It no longer does anything. - -commit 719ce480abc48e24f5c8528ab4bc5bf119101333 -Author: Simon McVittie -Date: 2010-04-08 18:39:31 +0100 - - TpBaseConnection: add stub has-immortal-handles property - -commit 63bc3c571ebdc3dacb4308d5413d816741d254ad -Author: Simon McVittie -Date: 2010-12-01 15:10:05 +0000 - - TpDynamicHandleRepo: be "grow-only", i.e. once a handle is created, it lasts as long as the repository - -commit 688c21222c3c915c086bd071a3dc5af260716f51 -Author: Simon McVittie -Date: 2010-11-10 13:37:03 +0000 - - tests: don't assert that unreffed handles are freed - - After we fix fd.o#23155, they won't be. - -commit 2d6f9d8be13e19929bc0a8dc13dfc088bf3f1aad -Author: Simon McVittie -Date: 2010-12-01 14:13:01 +0000 - - tp_account_set_automatic_presence_async: streamline implementation - -commit ba708085d1f3b7441bab8c8cbe865d6056d2a784 -Author: Simon McVittie -Date: 2010-12-01 14:12:45 +0000 - - TpAccount: correct a "since" annotation - -commit c27e436b952f5a12040000deca6684d20ee7217e -Merge: ffbef44 0ba4785 -Author: Simon McVittie -Date: 2010-12-01 13:25:59 +0000 - - Merge branch 'account-addressing' - - Reviewed-by: Jonny Lamb - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=31918 - -commit 64dd9e4574cb183759dfb7f17938543105da801c -Author: Simon McVittie -Date: 2010-12-01 13:18:35 +0000 - - Add an async setter for AutomaticPresence - -commit 9d46be3c380f8c66436d16b3f8e118b12dc244ec -Author: Simon McVittie -Date: 2010-12-01 13:02:04 +0000 - - Test TpAccount's GObject properties - -commit 5bf501ba7da80cf94d84b586aef92eef94b2625a -Author: Simon McVittie -Date: 2010-12-01 12:49:07 +0000 - - Test NormalizedName, AutomaticPresence accessors - -commit 596893a3854c369a925cd3dfb3d3419f6c643dd7 -Author: Simon McVittie -Date: 2010-12-01 12:40:40 +0000 - - In Account tests, make our current, requested, auto presences different - - This would catch any confusion between the three in TpAccount. - -commit dae312d5a504bedbda8c17fdd33e88b8b5aec34a -Author: Simon McVittie -Date: 2010-11-30 19:09:31 +0000 - - Improve documentation for RequestedPresence - -commit 37d7513a5f99ad3092a7c5473f6eeed96c4866cc -Author: Simon McVittie -Date: 2010-11-30 19:09:18 +0000 - - Improve documentation for CurrentPresence - -commit d9a319f25bc29e7ddeda1e797103b7e8ef1e7018 -Author: Simon McVittie -Date: 2010-12-01 12:48:46 +0000 - - tp_account_get_normalized_name: add - -commit c9daec649a1b949d4be2735cbef8dbfb3071b0a0 -Author: Simon McVittie -Date: 2010-12-01 12:46:50 +0000 - - tp_account_get_automatic_presence: add - -commit d5e4d935c4095c4c3eb661160ee741111b4a9699 -Author: Simon McVittie -Date: 2010-11-30 19:08:59 +0000 - - Add AutomaticPresence and NormalizedName - -commit d1cc3fefa736ee69665b2f04d91bcd72496414af -Author: Simon McVittie -Date: 2010-11-30 19:08:02 +0000 - - TpAccount: change-notify for RequestedPresence - - We also don't notify for Parameters, but that's not a GObject property. - -commit d608e1f951b55fecf6776720efd21cad8de7ac0f -Author: Simon McVittie -Date: 2010-11-30 19:06:32 +0000 - - TpAccount: rename presence, status and message with a cur_ prefix for clarity - -commit 0ba4785511b8e44d2d706be79fc1981bc39ff7e1 -Author: Simon McVittie -Date: 2010-12-01 12:31:14 +0000 - - TpAccount: don't leak uri_schemes - -commit ffbef44e1c0b7f3144143104faa14c7aae93b68e -Author: Simon McVittie -Date: 2010-12-01 12:18:10 +0000 - - NEWS so far - -commit 949d48078904545f97a6ae9d9abe6084c697f689 -Author: Simon McVittie -Date: 2010-12-01 11:41:49 +0000 - - fd.o #24114: deprecate tp_get_bus(), again - - Reviewed-by: Jonny Lamb - -commit 8400ebbb85d49f8e07f15c71a15e6c41cd816531 -Merge: 2bec9d1 b1c9676 -Author: Jonny Lamb -Date: 2010-11-30 19:12:13 +0000 - - Merge branch 'simple-password-manager' - -commit 10f4652a2a79d69bed2915b04113ba435105160d -Author: Simon McVittie -Date: 2010-11-30 18:39:14 +0000 - - fd.o #31997: in contact list channels, return asynchronously from AddMembers etc. - - This matches the behaviour of Conn.I.ContactList, Conn.I.ContactGroups. - -commit 2bec9d1f689437067c2b92867189c3afce6182ba -Author: Guillaume Desmottes -Date: 2010-11-29 11:22:10 +0100 - - tp_client_channel_factory_dup_channel_features: features arrays are supposed to be 0 terminated - - tp_proxy_prepare_async() gets a zero-terminated array so we should return one - as well. - -commit 6d357e9df19762943acbdbf4d52d2630829b898d -Author: Guillaume Desmottes -Date: 2010-11-29 10:53:46 +0100 - - remove debug g_print - -commit b1c9676f07fa70fd8f6a1f7a3e05ea869f9b0d22 -Author: Jonny Lamb -Date: 2010-11-25 18:18:50 +0000 - - simple-password-channel: add -internal suffix to header - - Signed-off-by: Jonny Lamb - -commit 4d0aea0adb7bcb6a054a52c90bb01984cbf423b2 -Author: Jonny Lamb -Date: 2010-11-25 18:16:52 +0000 - - simple-password-channel: make ::finished return uint,int,string instead of GError* - - Signed-off-by: Jonny Lamb - -commit e75ee0bb96ef82a7246656b12f8be6e186c4935f -Author: Simon McVittie -Date: 2010-11-25 17:23:08 +0000 - - Nano version - -commit 58700848b5e5f536f9bf901f2ec81a538db5ade3 -Author: Simon McVittie -Date: 2010-11-25 17:22:59 +0000 - - Prepare 0.13.7 - -commit f796e7a6cbb2623a9e613b03c98e5540fac4bf4b -Merge: 0d17ae2 b47939d -Author: Simon McVittie -Date: 2010-11-25 16:31:52 +0000 - - Merge branch 'telepathy-glib-0.12' - - Conflicts: - NEWS - configure.ac - -commit b47939d5423ca851bca4a2a41d5a1f481a0bfb27 -Author: Simon McVittie -Date: 2010-11-25 16:29:54 +0000 - - Nano version - -commit 24c9275f386f8f826fbe58ffe0a431302f1cbaa5 -Author: Simon McVittie -Date: 2010-11-25 16:08:39 +0000 - - Prepare version 0.12.5 - -commit 61dcb3249f7920662835d3776eebc01fe8fc87fe -Author: Jonny Lamb -Date: 2010-11-25 15:57:52 +0000 - - simple-password-channel: fix the GTypes for ::finished - - Signed-off-by: Jonny Lamb - -commit 54026302fdd4aab3ea8be346de4c9d165e806c2f -Author: Simon McVittie -Date: 2010-11-25 12:38:04 +0000 - - tp_account_channel_request_get_property: use the right GValue setter - -commit 0d17ae2b61e147ca0100f2440129c553d8c06e9c -Author: Simon McVittie -Date: 2010-11-25 15:56:22 +0000 - - Update NEWS - -commit c16b9b3ea013e10c41c5eb111ed2874513601d5b -Author: Jonny Lamb -Date: 2010-11-25 15:53:05 +0000 - - simple-password-channel: add an underscore prefix to get_type to keep away from ABI - - Signed-off-by: Jonny Lamb - -commit 4aa6e2132455218128ab4b8dfc93729a570fbb90 -Author: Simon McVittie -Date: 2010-11-25 15:18:56 +0000 - - TpAccount: add convenience API for Addressing - -commit dcd61c23908c98d8f44cfed517c7487db20e9fba -Author: Simon McVittie -Date: 2010-11-25 14:11:47 +0000 - - remove duplicate gtk-doc sections entry - -commit fa60dcaf0fd301c2e2ace189fd3e55899d0f6e72 -Author: Simon McVittie -Date: 2010-11-25 14:09:38 +0000 - - Finish documenting TpBaseProtocol Avatars support - - - add a one-line description for the get_avatar_details struct member - - rename recommended_* to rec_* in header file so they're consistent - with the source - - reset "Since" annotation to UNRELEASED - -commit eb6cae1265bf914dd4f813f0925d706793213b01 -Merge: 1dfd1d8 3bbe64d -Author: Simon McVittie -Date: 2010-11-25 14:01:27 +0000 - - Merge remote branch 'eitan/protocol-iface-avatars' - - (Rejected changes to spec/ and re-addition to protocol.xml.) - -commit 1dfd1d87344b8c2600ca3d609e149621182d681f -Merge: a65fed2 b8a95c8 -Author: Simon McVittie -Date: 2010-11-25 13:55:33 +0000 - - Merge branch 'spec' - - Reviewed-by: Jonny Lamb - Reviewed-by: Guillaume Desmottes - -commit b8a95c8f077f33349cfd71fbb149ae99ed97e4ed -Author: Simon McVittie -Date: 2010-11-25 13:43:18 +0000 - - Generate code for ServerAuthentication, SASLAuthentication, Securable - -commit 7b41bdb84a6b0dcff39d01b02e2b1b3d03741a69 -Author: Simon McVittie -Date: 2010-11-25 13:06:12 +0000 - - Generate code for Protocol.I.Avatars - -commit 9842a298e1f5435481451a9d5170edd24845d730 -Author: Simon McVittie -Date: 2010-11-25 12:57:56 +0000 - - Generate code for Account.Interface.Addressing - -commit 1220a993c87ea2d281eaa42de3c26d0054295689 -Author: Simon McVittie -Date: 2010-11-25 12:51:30 +0000 - - Generate code for Conn.I.PowerSaving - -commit 976248229fdb5f755640d9f99fc0c5aafbee1c86 -Author: Simon McVittie -Date: 2010-11-25 12:15:50 +0000 - - TpMessageMixin: add and test support for the MessageTypes property - -commit 31fe67983c655c2ee799478c4e846024eb19999e -Author: Simon McVittie -Date: 2010-11-25 12:09:28 +0000 - - Cross-reference to TP_ERROR_CONFUSED from TP_DBUS_ERROR_INCONSISTENT - -commit a8c3868be6a7c69925927ff03be58ee6c4823e5a -Author: Simon McVittie -Date: 2010-11-25 12:09:15 +0000 - - Update to spec 0.21.5 - - - adjust Call example: InitialTransport is now a uint32 - - add Confused, ServiceConfused errors - - add codegen for Hints and related things - -commit fb79e9ada8bab21e558df009941d2e3959f35364 -Author: Simon McVittie -Date: 2010-11-25 12:18:31 +0000 - - Use G_N_ELEMENTS throughout - -commit 133a010bf6b3c74e564d1453f85feb94f9a43f55 -Author: Simon McVittie -Date: 2010-11-25 12:38:04 +0000 - - tp_account_channel_request_get_property: use the right GValue setter - -commit a125d3d937d2a169430a5e307b7bd0d04bf3ac5e -Author: Jonny Lamb -Date: 2010-11-25 11:07:09 +0000 - - simple-password-manager: improve docs - - Signed-off-by: Jonny Lamb - -commit aba264c422f4f3174580fac0431fd226aadd4114 -Author: Jonny Lamb -Date: 2010-11-25 10:16:05 +0000 - - simple-password-{manager,channel}: added first drafts - - Signed-off-by: Jonny Lamb - -commit 67b3178a9b839d4efe5446b74be3ca6b74fc9bb9 -Author: Jonny Lamb -Date: 2010-11-25 10:11:44 +0000 - - debug-internal: add a sasl debug key - - Signed-off-by: Jonny Lamb - -commit 3bbe64d6d858a2084972dfa52102b031c459ca77 -Author: Eitan Isaacson -Date: 2010-11-18 15:43:31 -0800 - - Abbreviate "recommended" to "rec". - -commit 3b15af978014986c3f44065bb78ff2a28cbee9bb -Author: Eitan Isaacson -Date: 2010-11-18 15:30:56 -0800 - - Use TpBaseProtocolGetAvatarDetailsFunc typedef in class struct. - Preserve ABI compatability in TpBaseProtocolClass struct. - -commit e879ad7fddcce92e143fccd9f0e6a6701b1d5180 -Author: Eitan Isaacson -Date: 2010-11-18 14:29:43 -0800 - - Renamed avatar prop enum prefix to PAP_ - -commit 34b805792857131557acf90075c636313de2801e -Author: Eitan Isaacson -Date: 2010-11-18 14:27:35 -0800 - - Make AvatarSpecs non-dynamically allocated. - -commit e4db32d469dc43f9b56dc40bead539817d7d6f4d -Author: Eitan Isaacson -Date: 2010-11-18 09:46:41 -0800 - - Fixed docstring. - -commit 8dd94a3087ed2178eabecac15456ab79a6e94a89 -Author: Eitan Isaacson -Date: 2010-11-18 09:44:59 -0800 - - Fixed to 0.21.UNRELEASED. - -commit bb588631f2d740f7c0f7921653a6270e10cc0cf9 -Author: Eitan Isaacson -Date: 2010-11-16 22:44:58 -0800 - - Added avatar protocol test. - -commit ddfef10da1a079a244916319b89de5f19dae4c40 -Author: Eitan Isaacson -Date: 2010-11-16 22:44:09 -0800 - - Added Avatar support to TpBaseProtocol. - -commit a65fed2252911b037afd5651ba293740c620b7d8 -Author: Simon McVittie -Date: 2010-11-17 16:46:28 +0000 - - Nano version - -commit 1f8835015021a4d842f74b6a1927873c01d5028e -Author: Simon McVittie -Date: 2010-11-17 16:18:28 +0000 - - Version 0.13.6 - -commit 42b8e444b927255926a1bebbb42031132f627de0 -Merge: cf9705c c57ceef -Author: Simon McVittie -Date: 2010-11-17 15:45:12 +0000 - - Merge branch 'telepathy-glib-0.12' - - Conflicts: - NEWS - configure.ac - -commit c57ceef0a3a3b8dd6a134856fa3abb49ce56ae5f -Author: Simon McVittie -Date: 2010-11-17 15:43:11 +0000 - - Nano version - -commit 312b91cdc67c7b48c00149bd8b338c79626d19ab -Author: Simon McVittie -Date: 2010-11-17 15:42:56 +0000 - - Prepare 0.12.4 - -commit cf9705c065db569ff42867f20a193e48e6aaf855 -Author: Simon McVittie -Date: 2010-11-17 10:18:48 +0000 - - NEWS - -commit cd0be1aa95b41cc66f6a5bf4f95733fa91fa8dc9 -Author: Simon McVittie -Date: 2010-11-16 17:26:24 +0000 - - gobject-foo.py: generate interface boilerplate correctly - - In the test, use the interface-names-are-adjectives pattern, and update - the expected output. - - Reviewed-by: Guillaume Desmottes - -commit 0c5d9348330542359b087b967528dde41da5cac9 -Author: Eitan Isaacson -Date: 2010-11-16 22:43:36 -0800 - - Undraft Proto.I.Avatars, add it to generated sources. - -commit cfba7302281f1fbb39a0c5864bcc038bab2ed55b -Author: Simon McVittie -Date: 2010-11-16 16:38:12 +0000 - - fd.o #31631: fix confusion between TpClientChannelFactory and TpClientChannelFactoryInterface - - The former (which didn't previously have a typedef) is a GObject which - implements TP_TYPE_CLIENT_CHANNEL_FACTORY. The latter is the vtable - struct for that interface (i.e. it's a class-like structure). - - This is an API break (for anyone who was using channel factories, which - are relatively recent), but not an ABI break. - - Reviewed-by: Guillaume Desmottes - -commit 673fb97c61b11e984c88240773b4fa72f9a1466c -Author: Guillaume Desmottes -Date: 2010-11-11 11:57:23 +0100 - - tp_base_client_set_channel_factory: actually set the new factory - -commit b84e3fe4fa3fb2d632a82f4262c68f4de476127f -Author: Simon McVittie -Date: 2010-11-16 11:58:26 +0000 - - NEWS so far - -commit c22e6f398985959c8771971bd4d8d39512148dff -Merge: 0f205a3 947ae2e -Author: Simon McVittie -Date: 2010-11-16 11:56:25 +0000 - - Merge branch 'telepathy-glib-0.12' - -commit 947ae2efccaa543933f0241e3484f31ea9290404 -Author: Simon McVittie -Date: 2010-11-16 11:56:19 +0000 - - NEWS so far - -commit 0f205a31d5ae8b490d2c60e29cdca003bead1ffa -Author: Simon McVittie -Date: 2010-11-15 16:53:50 +0000 - - tests/dbus/stream-tube: fix the check for IPv6 - - Reviewed-by: Jonny Lamb - -commit a2c237d1d809a62ea7fc16fed2c0ae1b3717900a -Merge: e34379c 55dda9f -Author: Jonny Lamb -Date: 2010-11-15 17:01:10 +0000 - - Merge branch 'tp-handle-ref' - -commit 55dda9f16a03bd2cd985408da312467ac97324e9 -Author: Jonny Lamb -Date: 2010-11-15 16:52:37 +0000 - - handle-repo: added a note about how the function changed - - Signed-off-by: Jonny Lamb - -commit 7d15b1d218256edbb79aa5569cd82d7b6921f413 -Author: Jonny Lamb -Date: 2010-11-04 18:32:45 +0000 - - use tp_handle_ref's new return type around source - - Signed-off-by: Jonny Lamb - -commit 445b69e49022b9f42af4a76cf2c84e2e01697512 -Author: Jonny Lamb -Date: 2010-11-04 11:39:15 +0000 - - handle-repo: make tp_handle_ref return the handle - - Signed-off-by: Jonny Lamb - -commit e34379c869576cbcb18922b11ae165ead7268d8c -Merge: d735874 6ae8401 -Author: Simon McVittie -Date: 2010-11-15 14:17:55 +0000 - - Merge branch 'telepathy-glib-0.12' - -commit 6ae840186d60b2cd46e060ab50267eefee6ff4fd -Author: Simon McVittie -Date: 2010-11-15 12:46:20 +0000 - - fd.o #31581: tp_group_mixin_remove_members_with_reason: don't edit a const array - - The compiler didn't pick this up because g_array_index involves a cast to - (TpHandle *), so it returns a non-const lvalue, even for const arrays. - - Reviewed-by: Jonny Lamb - -commit d7358748a726d1e54351b0d4d16ec27a10a4f593 -Merge: eb587d2 1f0dbcd -Author: Travis Reitter -Date: 2010-11-08 10:12:44 -0800 - - Merge branch 'telepathy-glib-0.12' - -commit 1f0dbcdb5d5636817d62ddda85ad0b60ae1305f8 -Author: Travis Reitter -Date: 2010-11-05 11:21:41 -0700 - - Force the namespace "TelepathyGLib" for the g-i bindings. - - Fixes fdo#31473. - -commit 366f2e0db5a0ce27bbfbf1578d49a765d4aaaac7 -Author: Guillaume Desmottes -Date: 2010-11-08 15:35:11 +0100 - - textchan-group: has no handle now - -commit 4d629d87166b2e4af989214a94b3af75e7a0e3f3 -Author: Guillaume Desmottes -Date: 2010-11-08 15:34:37 +0100 - - textchan-group: use TpBaseChannel - -commit 611cc8091f0d1156874273313d8e0dfeede0481b -Author: Guillaume Desmottes -Date: 2010-11-08 14:58:51 +0100 - - use tp_tests_object_new_static_class() - -commit d7b1635b54cca6d3ea61b17054ed10bbac8fe2b4 -Author: Guillaume Desmottes -Date: 2010-11-08 14:57:24 +0100 - - remove typo in comment - -commit 12199b5873cbb598170ebb7975ed8dbdeeaacada -Author: Guillaume Desmottes -Date: 2010-11-08 14:53:48 +0100 - - fix typo in doc - -commit 939b90f56e12614f0ccf9819b363b612d0e5f4e2 -Author: Guillaume Desmottes -Date: 2010-11-08 10:15:07 +0100 - - add tp_channel_close_async() - -commit c5172489648a7f835e975c1c7b2304b605e71581 -Author: Guillaume Desmottes -Date: 2010-11-04 18:47:57 +0100 - - test tp_channel_leave_async() with a group channel - -commit ad667021c058305275ff3ee62f9f0f1663b4b5cc -Author: Guillaume Desmottes -Date: 2010-11-04 18:43:59 +0100 - - TpTestsTextChannelGroup: implment self handle removing - -commit 054da87b9d02320cfce833a89f147e63c9c15456 -Author: Guillaume Desmottes -Date: 2010-11-04 18:23:10 +0100 - - add tp_tests_text_channel_group_join() - -commit fce116a208e77a8552a09093df7dc5d01ab2caf0 -Author: Guillaume Desmottes -Date: 2010-11-04 17:23:13 +0100 - - tp_tests_text_channel_get_props: add Interfaces - -commit 0c70c0d58a4efe3d541fd519c0ed3ebd6e604ba4 -Author: Guillaume Desmottes -Date: 2010-11-04 17:20:03 +0100 - - tp_tests_text_channel_get_props: don't hardcode target handle type - -commit 9c4715c6dd756932bdef8e530be08d491c75c0fb -Author: Guillaume Desmottes -Date: 2010-11-04 14:58:10 +0100 - - test tp_channel_leave_async() with a channel not implementing Group - -commit ce930a934392c573914214da70c9ff20664efe7f -Author: Guillaume Desmottes -Date: 2010-11-04 14:43:23 +0100 - - add tp_channel_leave_async() (fdo #30617) - -commit eb587d2fbdf4f44b7ef85042507153f191ff8200 -Author: Simon McVittie -Date: 2010-11-05 15:00:16 +0000 - - Nano version - -commit cdbf0f3b18b275a658c03f6446b71999ab34ab38 -Author: Simon McVittie -Date: 2010-11-05 13:58:40 +0000 - - Prepare version 0.13.5 - -commit 96f35c9e98d8e3004ee022c039f1ace2135b735c -Author: Simon McVittie -Date: 2010-11-05 13:34:29 +0000 - - Improve TpBaseProtocol documentation slightly - -commit 50af945a7f7547d2dd01e4b53b8381b8966f4b0b -Merge: 3158bb2 2cde97d -Author: Simon McVittie -Date: 2010-11-05 13:31:22 +0000 - - Merge branch 'proto-presence' - - Reviewed-by: Vivek Dasmohapatra - Reviewed-by: Simon McVittie - -commit 3158bb257910576940177b505b73cb514bb83380 -Author: Simon McVittie -Date: 2010-11-05 11:19:40 +0000 - - NEWS so far - -commit 484d46d08909cbb277c66d6116b0a531cad041c7 -Merge: 40397d2 2444ca1 -Author: Simon McVittie -Date: 2010-11-05 11:13:28 +0000 - - Merge branch 'disappear' - - Reviewed-by: Vivek Dasmohapatra - -commit 40397d220bbf378264dc2f0b402301551c7d4ea1 -Merge: fb89793 02c7b0b -Author: Simon McVittie -Date: 2010-11-04 19:06:41 +0000 - - Merge branch 'tests' - - Reviewed-by: Sjoerd Simons - -commit 02c7b0b62dd354ef3f3f608bb15ac3ca409e2fe6 -Author: Simon McVittie -Date: 2010-11-04 18:15:38 +0000 - - fd.o #31377: don't use tp_tests_proxy_run_until_dbus_queue_processed with multiple D-Bus connections - - tp_tests_proxy_run_until_dbus_queue_processed tells us that our message - has got through dbus-glib, to the dbus-daemon and back. However, in the - presence of another parallel D-Bus connection, that doesn't guarantee - that dbus-daemon has polled the other connection's socket; in - particular, it might not have noticed its disconnection and sent us - NameOwnerChanged. - - Now that we have an arbitrary timeout on every test, it's more reasonable to - just spin the main loop until the expected event happens; if it doesn't, - we'll just be killed by the timeout, with a useful stack trace. - -commit fb897932628045eb7bd99ccc223ae5a7535228fc -Author: Jonny Lamb -Date: 2010-11-04 18:34:44 +0000 - - glib-ginterface-gen: be sure to give the object in signal args - - Signed-off-by: Jonny Lamb - -commit 96f5d84afb3ff1ab63fb7c57227e320ef91a1f3e -Author: Simon McVittie -Date: 2010-11-04 17:58:27 +0000 - - contact-lists test: extend timeout from 10 to 60 seconds - - This test is fairly thorough and produces quite a lot of output. It - failed on Debian's armel buildd, probably because it took more than 10 - seconds on that slower CPU. - -commit 13dace228062de9bbcd22eceda0a6072ffb27e6f -Author: Simon McVittie -Date: 2010-11-04 17:47:59 +0000 - - connection-interests test: assert on failure rather than crashing - -commit 04664ce73f846df397e386cb2a22e902af31b99d -Author: Simon McVittie -Date: 2010-11-03 19:06:52 +0000 - - Nano version, add missing release name - -commit 573336f2cf38444b6afd3d429de94d674b77d1b2 -Author: Simon McVittie -Date: 2010-11-03 18:09:36 +0000 - - Prepare version 0.13.4 - -commit 2444ca1eb8a9037599f6977f8bad97139b8fdbd2 -Author: Simon McVittie -Date: 2010-11-03 17:59:15 +0000 - - fd.o #10613: tp_base_connection_unregister: release object path before bus name - - We're effectively using the bus name as a mutex to protect the object - path, because dbus-glib doesn't have failable object path acquisition. - - Now that we (can) explicitly remove the object from the bus, we can do - that properly, fixing a longstanding bug. - -commit 7931c481607e64ee22b4fe155a353f03e5e345ec -Author: Simon McVittie -Date: 2010-11-03 17:14:29 +0000 - - tp_base_connection_change_status: hold a ref across callbacks - -commit a542d3dc0940a0a6a66325ae5e9ac2fa2a723c79 -Author: Simon McVittie -Date: 2010-11-03 16:36:02 +0000 - - tp_base_connection_change_status: unregister object after starting async shutdown - -commit 4078acb4a2376fd3704d974cd6cfc30cfa4afd1f -Author: Simon McVittie -Date: 2010-11-03 16:13:28 +0000 - - tp_base_connection_remove_from_bus: factor out from tp_base_connection_dispose - - Also call tp_dbus_daemon_unregister_object explicitly, rather than letting - dbus-glib's weak-ref hook do the equivalent a moment later. - -commit 5c6c514bc0cc08d831d97bfcbad611c59c5ef89c -Author: Jonny Lamb -Date: 2010-11-02 10:09:43 +0000 - - base-channel: don't unref the target handle in dispose if we didn't ref it - - If you set TpBaseChannelClass->target_handle_type to something other - than NONE, then the target handle is reffed in constructed. This is - really useful. However, the handle is unreffed in dispose regardless - of handle type. So, we should make sure that we have a !NONE target - handle type before trying to unref it in dispose. - - Signed-off-by: Jonny Lamb - -commit 76be682b3581d435bc7a1055721c8930943ba92b -Merge: 0c78933 1346296 -Author: Simon McVittie -Date: 2010-11-03 15:25:41 +0000 - - Merge branch 'telepathy-glib-0.12' - - Conflicts: - NEWS - configure.ac - -commit 1346296e6ec8a891b7ae2df34189441aff2663ed -Author: Simon McVittie -Date: 2010-11-03 15:21:42 +0000 - - Nano version - -commit 4d10b12ca1be06328eebbb336140d95d7f00f5cb -Author: Simon McVittie -Date: 2010-11-03 15:01:06 +0000 - - Prepare version 0.12.3 - -commit 0c78933c3ec0e382bfae2b567579d6413a8cfa31 -Merge: 91bed97 d6b3ec0 -Author: Simon McVittie -Date: 2010-11-03 12:44:38 +0000 - - Merge branch 'spec' - - Reviewed-by: Nicolas Dufresne - -commit 91bed97d07e31091e6113447fe89a747a7ff4116 -Merge: 6bfd0f2 a4a4a57 -Author: Simon McVittie -Date: 2010-11-03 12:43:13 +0000 - - Merge branch 'telepathy-glib-0.12' - -commit 6bfd0f2af9d81916f1b2ef5ae0bf49cd34893de6 -Merge: 83f65b0 626c460 -Author: Guillaume Desmottes -Date: 2010-11-03 13:38:03 +0100 - - Merge branch 'telepathy-glib-0.12' - -commit a4a4a5757bb6420723610b3dedad27c9507d546a -Merge: c82c284 626c460 -Author: Simon McVittie -Date: 2010-11-03 12:30:41 +0000 - - Merge remote branch 'cassidy/account-crash-31321' into telepathy-glib-0.12 - - Reviewed-by: Simon McVittie - -commit 626c460532da312e3ea61a4a9493e615a579b7c6 -Author: Guillaume Desmottes -Date: 2010-11-02 17:52:16 +0100 - - tp_account_manager_ensure_account: ref the manager while preparing the account (#31321) - -commit 83f65b003e5e905fc261064b8916775936cf0d10 -Merge: 5ae6ea8 c82c284 -Author: Simon McVittie -Date: 2010-11-01 11:55:40 +0000 - - Merge branch 'telepathy-glib-0.12' - -commit c82c2846206a5038e349da24f558858796e33e6f -Merge: 71ec900 14c230b -Author: Simon McVittie -Date: 2010-11-01 11:23:47 +0000 - - Merge branch '012-windows' into telepathy-glib-0.12 - - Reviewed-by: Sjoerd Simons - Reviewed-by: Thomas Flueeli - -commit 5ae6ea8438d8ede374d67f156d1bd16c4e463b99 -Author: Evan Nemerson -Date: 2010-11-01 03:19:39 -0700 - - fd.o #31291: add pkg-config and C header information to GIR - -commit d6b3ec06fea3ce58daa5d2689816abf517eff08c -Author: Simon McVittie -Date: 2010-10-29 17:22:19 +0100 - - future Call CM: emit Content.Removed too - -commit eece71434e4472b037be86f79a661b9577f45d2f -Author: Simon McVittie -Date: 2010-10-29 17:20:46 +0100 - - Update to spec 0.21.4 - - * add NewActiveTransportPair - * fix the namespace of MailNotification - -commit 14c230b68dd04213e91964a5d90159d6a244bbf5 -Author: Simon McVittie -Date: 2010-10-29 13:44:11 +0100 - - TpBaseClient: varargs_helper: allocate @features on the stack, not the heap - - Based on a patch from Thomas Flueeli, who points out that this doesn't - work in MSVC 9. - -commit fadb4ecb9854e0c5f86b1e97c70acae3acb85db5 -Author: Simon McVittie -Date: 2010-10-29 13:43:20 +0100 - - Use G_VA_COPY instead of va_copy, which is C99 but not available everywhere - - Thomas Flueeli points out that in particular, MSVC 9 doesn't have it. - -commit fe40ae918dee314862364a8376e6aac0a2195a04 -Author: Guillaume Desmottes -Date: 2010-10-29 10:24:47 +0200 - - echo-message-parts: add Messages immutable properties - -commit 55b87ce76a0ac7a5c1bdfc1da632eaec2e309f22 -Author: Simon McVittie -Date: 2010-10-26 18:56:50 +0100 - - Nano version - -commit 5bc66c761dc3375ee0c0712d644a0d2f7b0d4b50 -Author: Simon McVittie -Date: 2010-10-26 18:04:35 +0100 - - Prepare version 0.13.3 - -commit ba3812de9166717879331b2ca0aa94ec473f7572 -Author: Simon McVittie -Date: 2010-10-26 17:41:53 +0100 - - Use the real telepathy-spec 0.21.3, not a release candidate - -commit ee8afcddffa6bbd35acc6822de4a97b3106bed08 -Merge: 7c81e9c 71ec900 -Author: Simon McVittie -Date: 2010-10-26 17:26:29 +0100 - - Merge branch 'telepathy-glib-0.12' - - Conflicts: - NEWS - configure.ac - -commit 71ec9005303d80f6d42cf70cdc9578bcfe39930d -Author: Simon McVittie -Date: 2010-10-26 16:56:14 +0100 - - Nano version - -commit 17ed3c226163b0c1c4220c53c5f95c82e3e70a05 -Author: Simon McVittie -Date: 2010-10-26 16:43:42 +0100 - - Prepare version 0.12.2 - -commit 2cde97db8804773e0da61774a4b4ee11ea0656dc -Author: Simon McVittie -Date: 2010-10-26 16:16:42 +0100 - - Document tp_base_protocol_get_statuses - -commit ac1e468dbf4ca625bad3b23702de34be6c04afeb -Merge: d726d73 7c81e9c -Author: Simon McVittie -Date: 2010-10-26 15:51:49 +0100 - - Merge branch 'master' into proto-presence - - Conflicts: - spec/Protocol_Interface_Presence.xml - telepathy-glib/base-protocol.c - -commit 7c81e9c6c3cf08bccad085929911ecd393cea65f -Author: Simon McVittie -Date: 2010-10-26 15:47:18 +0100 - - TpTestsStreamTubeChannel: unlink the temporary socket - - Reviewed-by: Guillaume Desmottes - -commit 4a0e4d65b50bb45cf2d67f42f913248c54add7f9 -Author: Simon McVittie -Date: 2010-10-26 14:16:25 +0100 - - link DTMF player test to libtp-glib-tests - -commit 309e62e5e42ab1db7f631e2e0a24323995ad2a0c -Merge: b32eec9 d49a523 -Author: Simon McVittie -Date: 2010-10-26 13:42:11 +0100 - - Merge branch 'client-interests' - - Reviewed-by: Guillaume Desmottes - -commit b32eec982c38460624bab3fe8af7d497376078a3 -Author: Simon McVittie -Date: 2010-10-26 13:40:30 +0100 - - DTMF player test: use tp_tests_abort_after() - -commit d49a5231933cf7ff186b0010ac930dfffec80901 -Author: Simon McVittie -Date: 2010-10-26 13:36:17 +0100 - - Test connection client interests - -commit 50c9fab7b460b3664c89b2b96b708d95df606d51 -Author: Simon McVittie -Date: 2010-05-17 17:57:46 +0100 - - TpContact: make our Connection interested in Location, if we are too - -commit 9943f9a90a96ebc82db884d0321ba8440c7f5da7 -Author: Simon McVittie -Date: 2010-05-17 17:57:05 +0100 - - TpConnection: add a client-side for client interests - -commit 3213e93a0b5f994cf983167ebc5c7563760f14da -Author: Simon McVittie -Date: 2010-10-26 12:58:32 +0100 - - fd.o #27835: implement client interests - - (Rebased version.) - -commit 3b1b64f49dec0468546b475d27247269e9dd0570 -Author: Simon McVittie -Date: 2010-05-03 14:13:01 +0100 - - TpBaseConnectionClass: stop documenting number of spare pointers - -commit fd24210dc6e9583fdd7ef97d59b787def96dff3d -Merge: ce260c5 6587237 -Author: Simon McVittie -Date: 2010-10-26 12:09:56 +0100 - - Merge branch 'dtmf' - - Reviewed-by: Jonny Lamb - -commit ce260c507de26bb4d0e60e761883f3d8623f4539 -Author: Simon McVittie -Date: 2010-10-26 12:08:26 +0100 - - Fix the sense of the check for stdout being a tty - -commit 349a99062844c4d10a23eaf3abd60eeaef44ffae -Author: Simon McVittie -Date: 2010-10-26 12:04:10 +0100 - - Distribute test-wrapper.sh - -commit ee261e67c82815f9d1900774135929c7ad2b0319 -Merge: 168368a fa61816 -Author: Simon McVittie -Date: 2010-10-26 11:53:41 +0100 - - Merge branch 'tests' - - Reviewed-by: Guillaume Desmottes - -commit 168368a773524b3cc4dd4644984f3f77e651b107 -Merge: 31f9670 ed06583 -Author: Simon McVittie -Date: 2010-10-26 11:53:21 +0100 - - Merge branch 'spec' - - Reviewed-by: Jonny Lamb - -commit fa61816de94f7db58037fdba00c29f6d062e824b -Author: Simon McVittie -Date: 2010-10-26 11:46:49 +0100 - - Add a 10 second timeout to all tests that spin the main loop - - ... and probably also some tests that don't, but adding the calls was - easier than checking :-) - -commit 60af646c3e1c1c62742b73e599e7d8a7a1250c7c -Author: Simon McVittie -Date: 2010-10-26 11:33:07 +0100 - - example-no-protocols test: use tp_tests_abort_after instead of our own code - -commit c9c40292bb4f5e8dc3a7ae5717243fcb7e355f26 -Author: Simon McVittie -Date: 2010-10-26 11:32:38 +0100 - - tp_tests_abort_after: add function to abort tests after n seconds - -commit 293a5720869b9c91a4e8b2bfe4c2b519917de9b2 -Author: Simon McVittie -Date: 2010-10-26 11:05:37 +0100 - - fd.o #31129: make tests noisy again when valgrinding - -commit 9802fab3c98a52bf5f86f20dce7a93b081cdd05f -Author: Simon McVittie -Date: 2010-10-26 10:59:54 +0100 - - fd.o #31129: if stdout is not a tty or CHECK_VERBOSE is set, do not delay test output - -commit ed06583bcdff8babc7d28410ca5f583c96663fd5 -Author: Simon McVittie -Date: 2010-10-25 19:45:09 +0100 - - Generate code for newly stable Conn.I.MailNotification - -commit 99a85db342bf808d69545c2d2bc8d1c8eab5c83e -Author: Simon McVittie -Date: 2010-10-25 19:28:53 +0100 - - Generate code for newly stable Protocol.I.Presence - -commit 0c12e099fa79305735a73c379a91f341a6cbdd34 -Author: Simon McVittie -Date: 2010-10-25 19:21:26 +0100 - - Update spec to 0.21.3 - - - add TP_ERROR_PICKED_UP_ELSEWHERE - - and in the Future: - - - replace Members with LocalSendingState and RemoteMembers, and split the - change-notification signals - - delete the Creator property - -commit 658723752882e97c429e142f012914a9758ddea1 -Author: Simon McVittie -Date: 2010-10-25 17:21:40 +0100 - - Add a test for TpDTMFPlayer (re-namespaced from Gabble) - -commit f058a606da1aef0199b603ab18d9c51d541c8904 -Author: Simon McVittie -Date: 2010-10-25 17:21:09 +0100 - - Add type assertions to TpDTMFPlayer's API - -commit 66b61a1f3ad1d424341c0b8061af4168dedb47e0 -Author: Simon McVittie -Date: 2010-10-25 17:16:31 +0100 - - Add TpDTMFPlayer to telepathy-glib.h - -commit 5df9f7295ee9a0aa8b8c706fb646a8957f822169 -Author: Simon McVittie -Date: 2010-10-25 17:16:14 +0100 - - Re-namespace TpDTMFPlayer to fit in telepathy-glib, and document it - -commit 89d51c484f48ec091a9d8df6fdf3f4ae498c454c -Author: Simon McVittie -Date: 2010-10-25 16:40:02 +0100 - - Import GabbleDTMFPlayer from telepathy-gabble - -commit 31f967079a959007820b522b6c45ba4a4c31d5ee -Merge: 12003e2 6967999 -Author: Simon McVittie -Date: 2010-10-25 12:43:45 +0100 - - Merge branch 'telepathy-glib-0.12' - -commit 6967999704d0134ed36964f2c6e70d8d7bb56fd9 -Merge: 6083adb 6a911f4 -Author: Simon McVittie -Date: 2010-10-25 12:43:14 +0100 - - Merge branch '012-build' into telepathy-glib-0.12 - - Reviewed-by: Will Thompson - -commit 6a911f444b8420850ac41cb5892afd105ab740df -Author: Simon McVittie -Date: 2010-10-25 12:26:53 +0100 - - fd.o #30730: order tests' and examples' CFLAGS and LIBS consistently - - - first, things from this source tree, to make sure we don't use an - outdated system-wide-installed copy instead - - then, things lowest in the stack, ..., things highest in the stack - - This is essentially the same as danni's patch for #30791, but applied - more widely. - - Also, correctly use CPPFLAGS instead of CFLAGS for -I, -D etc. which - are common to C, C++ or anything else that invokes the preprocessor. - -commit 552b60cea2478d787f482299b9217b010c57bc4d -Author: Danielle Madeley -Date: 2010-10-14 15:12:45 +1100 - - Swap order of LIBS for building gtk-doc so that uninstalled libtp-glib is used - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=30791 - -commit 12003e2c991865d432de4a5fd873fd0c4fd6cfd5 -Author: Guillaume Desmottes -Date: 2010-10-21 15:24:45 +0200 - - array_contains_feature: fix typo and const @feature - -commit cddac481f008f7ff90154b84992a137106f72ef9 -Author: Guillaume Desmottes -Date: 2010-10-21 15:21:01 +0200 - - rename get_channel_features_ to dup_ - -commit a408205d4caa51b147386ee8e3e9338d755bac7a -Author: Guillaume Desmottes -Date: 2010-10-21 15:17:08 +0200 - - annotate tp_client_channel_factory_create_channel() as transfer full - -commit 7fa9c63c4991465018b1eeeb93ecf7e7a533aceb -Author: Guillaume Desmottes -Date: 2010-10-21 15:16:30 +0200 - - fix typo in doc - -commit 738dc5b405b29286e349036fee26ae41ea23e5e3 -Author: Guillaume Desmottes -Date: 2010-10-21 14:53:39 +0200 - - test tp_client_channel_factory_get_channel_features() - -commit 61a2b8a4c450c0842064c2b76e27bdbdb8b22591 -Author: Guillaume Desmottes -Date: 2010-10-21 14:47:18 +0200 - - automatic-proxy-factory: implement get_channel_features - -commit 54e014c8c96c2a2a6b116bafff43bc444b5be5a2 -Author: Guillaume Desmottes -Date: 2010-10-21 14:30:56 +0200 - - basic-proxy-factory: document that only core is asked to be prepared - -commit c32f37fd829c89f79ebf27039577d85868121341 -Author: Guillaume Desmottes -Date: 2010-10-21 14:18:12 +0200 - - base-client: prepare features of the factory - -commit d153d9db583dba0957f95a911f3b6f961a7f0e86 -Author: Guillaume Desmottes -Date: 2010-10-21 13:12:15 +0200 - - add tp_client_channel_factory_get_channel_features() (fdo #31001) - -commit daeb78325ad021528063d4c848594de91bfdd87b -Merge: 56d88db 6083adb -Author: Guillaume Desmottes -Date: 2010-10-21 15:05:58 +0200 - - Merge branch 'telepathy-glib-0.12' - -commit 6083adb1d18ec1b344c0106eee56e9c5ce998849 -Author: Guillaume Desmottes -Date: 2010-10-21 13:33:40 +0200 - - base-client: don't leak features - -commit 56d88db64d6b9af49323e652223512e5a61576b3 -Merge: a1694e4 3434bbb -Author: Simon McVittie -Date: 2010-10-21 12:11:59 +0100 - - Merge branches 'quiet' and 'no-ansi' - - Reviewed-by: Guillaume Desmottes - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=31027 - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=31028 - -commit a1694e4ab7a081ca6ca020ca4b529ae1905fcb43 -Merge: 542139f 727aaef -Author: Simon McVittie -Date: 2010-10-21 12:10:50 +0100 - - Merge branch 'ipv6' - - Reviewed-by: Guillaume Desmottes - Bug: https://bugs.freedesktop.org/show_bug.cgi?id=30999 - -commit 3434bbbf21533a1da316cf24136cb9b7feb532ff -Author: Simon McVittie -Date: 2010-10-20 17:59:13 +0100 - - debug-ansi: deprecate - -commit 0744cfa5762de5a04d1bd02ebc7a0201d578dde2 -Author: Simon McVittie -Date: 2010-10-20 17:56:49 +0100 - - TpGroupMixin, TpPropertiesMixin: stop putting ANSI colours in output - -commit 97ecde270b70cc61af4ae1b316f27414c4dd40ed -Author: Simon McVittie -Date: 2010-10-21 11:48:18 +0100 - - Mostly silence tests' output, unless they fail or stdout is not a tty - -commit 542139fb7803fd91867b2f6e7da2f920099fd789 -Author: Guillaume Desmottes -Date: 2010-10-21 12:47:44 +0200 - - client proxy factory should be in the client section - -commit dd75733cb43265f8d8c3af6f4a8bba61131add69 -Author: Simon McVittie -Date: 2010-10-20 16:10:01 +0100 - - chmod +x tools/with-session-bus.sh - - This isn't Darcs any more, and we can version-control the x bit. - -commit 727aaefb3fa57ab133668e7a8ecaaeffdc14f559 -Author: Simon McVittie -Date: 2010-10-20 15:54:17 +0100 - - fd.o #30999: skip IPv6 tube tests if they're not going to work - -commit dff6931e76ed603b95642a774b31a65238c909a4 -Author: Simon McVittie -Date: 2010-10-20 15:21:25 +0100 - - TpStreamTubeConnection: fix documentation build by adding - -commit 9b6156e5c6d49bb9984e5e852f1fa090edc1b4dc -Merge: 89c126e 59a4562 -Author: Simon McVittie -Date: 2010-10-18 12:05:07 +0100 - - Merge branch 'telepathy-glib-0.12' - -commit 59a4562c685964c1bd0b9ccf09a70e2643b8eebd -Merge: e20b838 65ea6fe -Author: Simon McVittie -Date: 2010-10-18 12:04:28 +0100 - - Merge branch '012-messages' into telepathy-glib-0.12 - - Reviewed-by: Will Thompson - -commit 65ea6fe997dcf643301a5485fa4a835a7c56d33c -Author: Simon McVittie -Date: 2010-10-18 12:01:59 +0100 - - Messages example: advertise and test a non-trivial delivery reporting support flag - - It's true, too: every time we fail to deliver a message (i.e. never), - we emit a delivery report :-) - -commit cdbaa935506c33f12de1aa4c4250078b1dcaa529 -Author: Simon McVittie -Date: 2010-10-18 11:54:14 +0100 - - fd.o #30949: tp_message_mixin_get_dbus_property: fix DeliveryReportingSupport - - Previously, we'd always say it was 0 due to a typo in the method. - -commit 89c126edf481ff50e9ed4c931d8aca35a0cd0206 -Author: Simon McVittie -Date: 2010-10-15 18:40:11 +0100 - - Nano version - -commit b358bebcfe8fe5e411755cfe5e723938fd041a27 -Author: Simon McVittie -Date: 2010-10-15 17:56:23 +0100 - - Prepare 0.13.2 - -commit aa410b0fbc890d40133bff34cb02f007bb727dd5 -Author: Simon McVittie -Date: 2010-10-15 17:56:06 +0100 - - Don't introspect TpClientChannelFactory until GNOME bug 625026 is fixed - -commit 64f21d8a34a50c45ea243e2c88f5df07520763fd -Author: Simon McVittie -Date: 2010-10-15 17:50:37 +0100 - - NEWS and stuff for 0.13.2 - -commit 8b2feb05b3ab7e3c78dcc00071c48b95f4941bd7 -Author: Simon McVittie -Date: 2010-10-15 17:12:42 +0100 - - Install basic-proxy-factory.h - -commit 538b8aed3b4a148b3d89d8394d1ca7ef34c51511 -Merge: 25ecb5c e20b838 -Author: Simon McVittie -Date: 2010-10-15 17:04:10 +0100 - - Merge branch 'telepathy-glib-0.12' - - Conflicts: - NEWS - configure.ac - -commit e20b8381661dacf153d5dfb0457f30dc918dbea9 -Author: Simon McVittie -Date: 2010-10-15 17:03:08 +0100 - - Nano version - -commit 50b844fa96ba0ea0f24bbc0625391503a3a6971a -Author: Simon McVittie -Date: 2010-10-15 16:21:26 +0100 - - Prepare version 0.12.1 - -commit d7b6d8b61f9e7810d4dcd318d71f47526ac1eb6e -Author: Will Thompson -Date: 2010-10-04 14:37:03 +0100 - - DBusPropertiesMixin: Improve undefined interface message - - I constantly forget to do this, and it takes me ages to figure out what - I'm doing wrong. Typically I faff around checking the codegen stuff, - make clean and rebuild a few times, grep for what's done for other - interfaces, and then finally remember. - - Reviewed-by: Jonny Lamb - -commit a61414adee496564f5aabf27f239cc353288cdf5 -Author: Simon McVittie -Date: 2010-10-04 14:28:41 +0100 - - telepathy.am: fix typo in mailing list name - -commit 5572d9a52789177ba91409cc9fb4930836aa1630 -Author: Simon McVittie -Date: 2010-10-04 14:28:27 +0100 - - telepathy.am: consider *+ to be a non-release, for Mission Control - -commit 40b2e42e09d4778d03c16afbe256b5549fcd8f1f -Author: Simon McVittie -Date: 2010-10-04 14:28:10 +0100 - - .gitignore: ignore release-mail - -commit 47dc07b0518e79fd5ccb5824286dd475a59e09f2 -Author: Will Thompson -Date: 2010-10-01 18:17:13 +0100 - - Automate the release process. - - This was originally 8bf825940c834b44e7c7ceb17b26b30e5ff96aba in Gabble. - - The idea is that you smoke-test the release, then just run - - % make maintainer-make-release - - which generates the tarball, the signature, the signed tag, and the - release mail, uploads the release to telepathy.freedesktop.org, and then - reminds you of the remaining steps (nano version bump, pushing to - upstream, and sending the mail). - - If you want to do all the local bits, but not send anything, just run: - - % make maintainer-prepare-release - - then do whatever you want to do with the tarball etc. If you think it's - ready, run: - - % make maintainer-upload-release - -commit 25ecb5c19f540c2bbf397c9224c074d446cc4c91 -Author: Simon McVittie -Date: 2010-10-15 15:34:37 +0100 - - Update to spec 0.21.2 - - - add TP_ERROR_REJECTED - - add SendNamedTelephonyEvent and SendSoundTelephonyEvent - - do a trivial port of the Call CM to new APIs: - - rename Senders to Members, etc. - - emit added/removed streams as an array of one path - - Reviewed-by: Jonny Lamb - -commit 8e5e5b675aaf67dfdfa64c78213786f3216f9355 -Merge: 134634e 0915476 -Author: Guillaume Desmottes -Date: 2010-10-15 09:51:04 +0200 - - Merge branch 'channel-factory-29973' - -commit 134634e30c7f86e3c28bdddefd256dce32d9b86d -Author: Danielle Madeley -Date: 2010-10-14 15:12:45 +1100 - - Swap order of LIBS for building gtk-doc so that uninstalled libtp-glib is used - - Fixes https://bugs.freedesktop.org/show_bug.cgi?id=30791 - -commit 7d3416cbf0c543b9e621dc10f1381e721077e589 -Author: Simon McVittie -Date: 2010-10-13 15:20:24 +0100 - - Don't scan util-internal.h - - gtk-doc gets confused by the GAsyncResult finish-function macros, and - thinks copy_func is an undocumented function. - - Reviewed-by: Guillaume Desmottes - -commit dfd67822fc3069ff43ea586a6137ac50a37bc32d -Merge: 5b4070c 0e6ac1b -Author: Guillaume Desmottes -Date: 2010-10-13 16:17:46 +0200 - - Merge branch 'telepathy-glib-0.12' - -commit 0e6ac1b857bd67cf69edd326ebec91fa1cfa6e43 -Author: Guillaume Desmottes -Date: 2010-10-13 16:08:52 +0200 - - message-mixin: add DeliveryReportingSupport to the list of props - -commit 52e0563903297a5b9d4b8da1a9c4b42d9574f94b -Merge: 6a14af5 28611b2 -Author: Simon McVittie -Date: 2010-10-13 14:49:38 +0100 - - Merge branch '012-pedantic' into telepathy-glib-0.12 - - Reviewed-by: Guillaume Desmottes - -commit 0915476587fb33d858fb9bbb015789d74687a2b7 -Author: Guillaume Desmottes -Date: 2010-10-11 12:22:08 +0200 - - tp_base_client_constructed: use tp_automatic_proxy_factory_dup() - -commit 6d33df52b3b2c4ec67f2f191180c2800075a8887 -Author: Guillaume Desmottes -Date: 2010-10-11 12:20:40 +0200 - - add tp_automatic_proxy_factory_dup() - -commit a1aab2965eadc7a347cc862d7f533f1dc984365a -Author: Guillaume Desmottes -Date: 2010-10-11 12:15:52 +0200 - - add tp_basic_proxy_factory_dup() - -commit 5b4070cf6985d28933195965fc1245b54b1809c8 -Author: Danielle Madeley -Date: 2010-10-11 20:46:04 +1100 - - Add tmp-introspect* directories to .gitignore - -commit 3fe8b3261dbb4933920485f56219ed8c98f2e4ff -Author: Guillaume Desmottes -Date: 2010-10-11 11:07:39 +0200 - - telepathy-glib.h: sort alphabetically - -commit 973230533bf106bbbd1eb2f54be3fc9e236dc34d -Author: Guillaume Desmottes -Date: 2010-10-11 11:05:45 +0200 - - no need for padding for GInterface - - They are assumed to be variable-size. - -commit 2a34bf57a8c8c246db442b34bd110af79082f4b0 -Author: Guillaume Desmottes -Date: 2010-10-11 11:04:11 +0200 - - improve TpBasicProxyFactory doc - -commit e7e082d431f1b9a8592903bb803be570b3528458 -Author: Guillaume Desmottes -Date: 2010-10-11 10:56:39 +0200 - - improve TpAutomaticProxyFactory doc - -commit 1d2a4421d9310ea0cb9865c470cfdabe4d783bb1 -Author: Danielle Madeley -Date: 2010-10-11 14:45:25 +1100 - - Remove old tmp-introspect directories from the source tree in clean-local - -commit 255677ffe6db5c3245b96fa99236cd62c2acf462 -Merge: 8c36c4e 0122212 -Author: Danielle Madeley -Date: 2010-10-08 08:25:07 +1100 - - Merge branch 'tp-account-storage' - -commit 8c36c4e99718fdad47e7bff5db4aaef88c017baf -Author: Guillaume Desmottes -Date: 2010-10-07 14:07:46 +0200 - - tp_stream_tube_channel_offer_async: fix annotation - -commit 91c642269ef5b5c18d82033af0f03d8b72ae7dc8 -Author: Guillaume Desmottes -Date: 2010-10-07 14:06:34 +0200 - - rename TpAutomaticChannelFactory to TpAutomaticProxyFactory - -commit 4a442527ff81490593f5f81522f2a2fea62a5fcc -Author: Guillaume Desmottes -Date: 2010-10-07 13:51:53 +0200 - - move automatic-channel-factory to automatic-proxy-factory - -commit af89471e3b1573bb55519b37e9b5e9c02c66032d -Author: Guillaume Desmottes -Date: 2010-10-07 11:39:23 +0200 - - offerer.c: TpAccountChannelRequest gives us a TpStreamTubeChannel now - -commit 4b62540ab46e82ba63a6e6fbe875d1b67ef3631e -Author: Guillaume Desmottes -Date: 2010-10-07 11:39:08 +0200 - - accepter.c: TpBaseClient gives us a TpStreamTubeChannel now - -commit 233ae50bfcf4558d204599d949e32f6f37460c16 -Author: Guillaume Desmottes -Date: 2010-10-07 11:22:51 +0200 - - add tp_account_channel_request_set_channel_factory() - -commit ec10bd4104fb3da276c07ad6f21f943519afd719 -Author: Guillaume Desmottes -Date: 2010-10-07 11:10:03 +0200 - - base-client: use TpAutomaticChannelFactory by default - - In practice that what most of the client will use. - -commit d7af76e624c35704fe15261d96dd2ceb621e2923 -Author: Guillaume Desmottes -Date: 2010-10-07 10:37:49 +0200 - - test tp_client_channel_factory_create_channel() - -commit 1e1651b67beb487d4ab92806bf3278432fdc69e1 -Author: Guillaume Desmottes -Date: 2010-10-06 18:09:04 +0200 - - add test-client-channel-factory - -commit 3314c58fafc4ab88bcff4627c63a0113178c7a31 -Author: Guillaume Desmottes -Date: 2010-10-06 17:35:11 +0200 - - automatic-channel-factory: create TpStreamTubeChannel - -commit 0b254a7098ebc2d0b09012fc8d06237b173274a1 -Author: Guillaume Desmottes -Date: 2010-09-21 11:27:36 +0200 - - rename TpBasicChannelFactory to TpBasicProxyFactory - -commit d768d09e6cfdb9236e46f282c31d9ab41e7b8114 -Author: Guillaume Desmottes -Date: 2010-09-03 14:10:09 +0200 - - base-client: use TpClientChannelFactory to create channels - -commit b42c4451d4f791ebb6085b061251264c1e8ce78d -Author: Guillaume Desmottes -Date: 2010-09-03 14:59:10 +0200 - - add automatic-channel-factory - -commit 38da39205f28bde3bbecff1c972d36547ae94f24 -Author: Guillaume Desmottes -Date: 2010-09-03 12:09:32 +0200 - - add basic-channel-factory - - Added as internal API for now as user shouldn't have to use it directly. - -commit b7fe9542c721e1382625af485c35c2489319a7ac -Author: Guillaume Desmottes -Date: 2010-09-03 11:34:34 +0200 - - add client-channel-factory - -commit 0122212a8464faff20bd4247fcce2f0127067a4f -Author: Danielle Madeley -Date: 2010-10-07 11:27:02 +1100 - - Correctly handle the case where we can't retrieve the Storage properties - -commit b889803a833eab6e65d15d3f806c90376932bfba -Merge: 0f2ab68 a9df354 -Author: Guillaume Desmottes -Date: 2010-10-06 17:17:26 +0200 - - Merge branch 'tp-stream-tube-29218' - -commit a9df354fbfd05a9b797033db42523f3177eac107 -Author: Guillaume Desmottes -Date: 2010-10-06 17:03:10 +0200 - - test_offer_race: enable test with Credentials access control - - If we call tp_tests_stream_tube_channel_peer_connected() 2 times first, the 2 - credentials are sent so we can test it without using async API. - -commit a54fdf938a58e59c9909b86888efa4efc7f9f61e -Author: Guillaume Desmottes -Date: 2010-10-06 16:40:23 +0200 - - util-internal.h: include config.h - -commit 8521ac6cb0962f3298dedcbeee55621efd472767 -Author: Guillaume Desmottes -Date: 2010-10-06 16:24:00 +0200 - - don't use G_SOCKET_FAMILY_UNIX if UNIX sockets are not supported - -commit a9505122eed4713c28026d8e002ca92bbf7a6d82 -Author: Guillaume Desmottes -Date: 2010-10-06 16:22:52 +0200 - - remove unused GCancellable - -commit ae40f53225702769f59e37df8fbbf3f734c301eb -Author: Guillaume Desmottes -Date: 2010-10-06 16:21:32 +0200 - - use GHashTableIter instead of g_hash_table_foreach_remove() - -commit 83f928ab081899c1d0eb67ead6994e40335f91a2 -Author: Guillaume Desmottes -Date: 2010-10-06 16:18:32 +0200 - - don't put ';' after G_DEFINE_TYPE - -commit 6c8727bf9e48516a99a2988d5864a35fe062f445 -Author: Guillaume Desmottes -Date: 2010-10-06 16:18:00 +0200 - - include gunixcredentialsmessage.h only if we have Unix socket support - -commit cbc7a640729db35d59658c0372d139c4cdcf693a -Author: Guillaume Desmottes -Date: 2010-10-06 14:51:10 +0200 - - remove tabs - -commit e1bd36baa4d0952040eb9b4cf28107401b751908 -Author: Guillaume Desmottes -Date: 2010-10-06 14:35:12 +0200 - - document TpStreamTubeConnection - -commit 72949e95add358ff28e976d80fb41fcbb75cb78f -Author: Guillaume Desmottes -Date: 2010-10-06 14:34:45 +0200 - - document tp_unix_connection_{send,receive}_credentials_with_byte - -commit bedde98e57444f63d4655483c219b6a996669017 -Author: Guillaume Desmottes -Date: 2010-10-05 17:50:15 +0200 - - document TpStreamTubeChannel - -commit 28611b2595c66242bb92ebfa9eaa4c51bd70eb41 -Author: Simon McVittie -Date: 2010-10-06 12:27:04 +0100 - - TpMessage: don't bitfield a gboolean - - Single-bit bitfields need to be an unsigned type to avoid overflow. In - this case there's no point in using a bitfield at all, though. - -commit 9e216a6264d609733125e95c94eda59bd22111c3 -Author: Simon McVittie -Date: 2010-10-06 12:26:18 +0100 - - Remove redundant trailing semicolons from G_DEFINE_TYPE etc. - - ISO C forbids them, and they're an easy thing to get rid of. - -commit 533c74a6983240e39bf21d31e964074ceba1145c -Author: Simon McVittie -Date: 2010-10-06 12:01:34 +0100 - - fd.o #30644: don't 'return' a void expression from a void function - - This isn't allowed by C99, but gcc accepts it as an extension and doesn't - seem to offer a way to warn about it. - -commit d726d7313b4443345da301d5e4bf8da210a55146 -Author: Vivek Dasmohapatra -Date: 2010-10-05 16:29:55 +0100 - - Be pickier about which status args set the Protocol.I.Presences message flag - -commit c602da0320ba70ea44c01655de3737b80c0822ef -Author: Guillaume Desmottes -Date: 2010-10-05 16:54:13 +0200 - - fix some leaks in tests - -commit 815e34c325072f3811ab4dca6c2423f94054a274 -Author: Guillaume Desmottes -Date: 2010-10-05 15:51:45 +0200 - - sig_match_conn: fix address leak - -commit a4216763a7ac6fe6bfead816476914a1939b217d -Author: Guillaume Desmottes -Date: 2010-10-05 15:45:17 +0200 - - don't leak credentials - -commit d02f5ac938e10c6f9f26fbe8b6064c3d1f2d4c05 -Author: Guillaume Desmottes -Date: 2010-10-05 13:40:35 +0200 - - assert that we don't leak parameters - - As a side effect we don't have to allow user to call offer on an incoming tube - as that would lead to a paramters leak. - -commit b0de2f9d77725b47b495e2418821ebcf2a45cdff -Author: Guillaume Desmottes -Date: 2010-10-05 12:52:59 +0200 - - examples: connect 'closed' signal - -commit 1f1d1a1267b114263c54b575be12b482cf33fdd8 -Author: Guillaume Desmottes -Date: 2010-10-05 12:46:53 +0200 - - examples: let the offerer closes the channel and exit when channel has been invalidated - -commit 3cf7f313d888e220471b8ec62daa7d26dd15ed1e -Author: Guillaume Desmottes -Date: 2010-10-05 11:58:52 +0200 - - stream-tube-chan: check port when using 'Port' access control - -commit a733414b7fbefff3b0ea42f049ed2265d7e0fe8c -Author: Guillaume Desmottes -Date: 2010-10-05 11:58:04 +0200 - - Pass our port to Accept() when using the 'Port' access control - -commit 083f58a4e0805740b22951f20a825d466ab02c02 -Author: Guillaume Desmottes -Date: 2010-10-05 11:41:24 +0200 - - TpStreamTubeChannel: stop using GSocketClient - - It doesn't allow us to bind the client socket before connecting which will be - needed to get the port when using the access control 'Port'. - -commit 02b0aa755c9508a33dc595178ee212b45c47cf93 -Author: Vivek Dasmohapatra -Date: 2010-10-05 14:38:44 +0100 - - Implement Protocol.Interface.Presences (Status prop) helpers in TpBaseProtocol - -commit 3f4b1a6fe1f18efcbb62a74da553285656e945bc -Author: Vivek Dasmohapatra -Date: 2010-10-05 13:53:28 +0100 - - Undraft protocol interface presence and take it off the no-fly list - -commit 0f2ab6850d1b8e9a0808003ee480db2acd2f876b -Author: Simon McVittie -Date: 2010-10-05 12:16:02 +0100 - - TpBaseContactList: implement the ContactListState property - - Reviewed-by: David Laban - -commit ed4864bbaeb56bd9c3fed548a3c91518f3006197 -Author: Danielle Madeley -Date: 2010-10-05 11:03:00 +1100 - - It's not an error if we can't get the Storage properties - - Set StorageProvider to the empty string if NULL. - Use tp_str_empty() where appropriate. - Fix two documentation mistakes. - -commit 80624b1844eb2be99c19d70282cbae953c3f4aa5 -Author: Simon McVittie -Date: 2010-10-04 15:56:31 +0100 - - Nano version - -commit 7a2dd63414359bb3fb431d766624f50557438492 -Merge: b86da5f 4aa5989 -Author: Simon McVittie -Date: 2010-10-04 15:54:18 +0100 - - Merge remote branch 'upstream/master' - -commit 4aa5989dab962ec6680234195850336605d954db -Author: Will Thompson -Date: 2010-10-04 14:37:03 +0100 - - DBusPropertiesMixin: Improve undefined interface message - - I constantly forget to do this, and it takes me ages to figure out what - I'm doing wrong. Typically I faff around checking the codegen stuff, - make clean and rebuild a few times, grep for what's done for other - interfaces, and then finally remember. - - Reviewed-by: Jonny Lamb - -commit 2f333926362070fab5629a0faca497191d232d23 -Author: Guillaume Desmottes -Date: 2010-10-04 15:45:42 +0200 - - link a gio bug in a FIXME - -commit b86da5f3ceaa7748b78e1a3ca4cbcd6dc71e7135 -Author: Simon McVittie -Date: 2010-10-04 14:28:41 +0100 - - telepathy.am: fix typo in mailing list name - -commit 69d8264a387825af8a9197eb5ddc387219ad402d -Author: Simon McVittie -Date: 2010-10-04 14:28:27 +0100 - - telepathy.am: consider *+ to be a non-release, for Mission Control - -commit 5e9ffaad572e392c470be3554c28cbb7a0541888 -Author: Simon McVittie -Date: 2010-10-04 14:28:10 +0100 - - .gitignore: ignore release-mail - -commit 83333c7d59d3e6502820bf6ce4f226abb362413e -Author: Simon McVittie -Date: 2010-10-04 14:26:00 +0100 - - Prepare version 0.13.1 - -commit 9db75a4460d25ef41e97e42c971a5a198b7c360f -Author: Guillaume Desmottes -Date: 2010-10-04 14:44:08 +0200 - - tp-stream-tube: rename "connection" to "socket connection" - - Avoid confusion with TpConnection. - -commit a63cc280a75a26c00e01bdb15f1d928c0e05ad98 -Author: Will Thompson -Date: 2010-10-01 18:17:13 +0100 - - Automate the release process. - - This was originally 8bf825940c834b44e7c7ceb17b26b30e5ff96aba in Gabble. - - The idea is that you smoke-test the release, then just run - - % make maintainer-make-release - - which generates the tarball, the signature, the signed tag, and the - release mail, uploads the release to telepathy.freedesktop.org, and then - reminds you of the remaining steps (nano version bump, pushing to - upstream, and sending the mail). - - If you want to do all the local bits, but not send anything, just run: - - % make maintainer-prepare-release - - then do whatever you want to do with the tarball etc. If you think it's - ready, run: - - % make maintainer-upload-release - -commit 4190cf0e141f6567e9d679d173c6e759fed93db5 -Author: Guillaume Desmottes -Date: 2010-10-04 14:38:41 +0200 - - pass ownership of tubeconn to tp_connection_get_contacts_by_handle() - - This ensures that the conn is unrefed even if the callback is not called - because of the weak ref. - -commit b00ef5371809d573bcff3ab18dc519da20b36639 -Author: Guillaume Desmottes -Date: 2010-10-04 14:23:52 +0200 - - improve debug ouput when tp_connection_get_contacts_by_handle() fails - -commit 461f0d1b28915c1c1b4bd99718ef4c5774134f3d -Author: Guillaume Desmottes -Date: 2010-10-04 14:18:55 +0200 - - no need to annotate signal args - -commit 3e9b5554b843c250477d74d0a0fc252d6eebaa1b -Author: Guillaume Desmottes -Date: 2010-10-04 14:18:25 +0200 - - tp_stream_tube_channel_constructed: chain up - -commit eb131f2c5bda25980eca5523ab9cafebda67011f -Author: Guillaume Desmottes -Date: 2010-10-04 14:14:11 +0200 - - add a wrapper around tp_unix_connection_{send,receive}_credentials_with_byte() - -commit d7768ba706d6522ca85d21dc5ab8ddd66296c708 -Author: Guillaume Desmottes -Date: 2010-10-01 12:39:55 +0200 - - tp_stream_tube_channel_offer_async: store the socket_type - -commit 14fe353ba302c5b7d5c4f78a2785fb2da8276491 -Author: Guillaume Desmottes -Date: 2010-09-30 17:24:07 +0200 - - tp_capabilities_supports_tubes_common: check that the self pointer is actually a TpCapabilities - -commit 70369078bfc145c374f5030c581c91096a1b4863 -Merge: 199835f 6a14af5 -Author: Guillaume Desmottes -Date: 2010-10-01 10:08:04 +0200 - - Merge branch 'telepathy-glib-0.12' - -commit 6a14af51d0c216b058c4da767a7f17eef43b819d -Author: Guillaume Desmottes -Date: 2010-09-30 17:23:53 +0200 - - capabilities: check that the self pointer is actually a TpCapabilities - -commit 199835fe99584ff549f9f1beb6b9d91d3fa83773 -Author: Jonny Lamb -Date: 2010-09-30 17:22:30 +0100 - - contact: add a comment to convince gtk-doc _get_client_types exists - - Signed-off-by: Jonny Lamb - -commit 06f4f121385aaf448ec0f1023749793ef50eedad -Author: Jonny Lamb -Date: 2010-09-30 17:20:46 +0100 - - contact: remove GetClientTypes fallback path for when Contacts is not present - - Contacts is mandatory. - - Signed-off-by: Jonny Lamb - -commit a50867c501550a389f5de7f756de8b46e09c6ad9 -Author: Jonny Lamb -Date: 2010-09-30 17:17:24 +0100 - - contact: fix the blurb for :contact-types - - Signed-off-by: Jonny Lamb - -commit 3e0c00f7d3de37447790cee9e9bd28e19f1caa5c -Author: Jonny Lamb -Date: 2010-09-30 16:10:52 +0100 - - contact: fix the _get_client_types annotation - - Signed-off-by: Jonny Lamb - -commit 7374bd4d1cd288659cb32b19d62d1f153c9372da -Author: Jonny Lamb -Date: 2010-09-30 15:55:39 +0100 - - contact: add client types property and getter and change notification - - Signed-off-by: Jonny Lamb - -commit 12c8c74f0a3909bc6a469e0464bc870200ec8e71 -Author: Danielle Madeley -Date: 2010-09-30 13:01:36 +1000 - - Add test for StorageSpecificInformation - -commit be867503169c822efa9e95535bcb7a0d7d245faa -Author: Danielle Madeley -Date: 2010-09-30 13:01:07 +1000 - - Add async request to TpAccount for StorageSpecificInformation - -commit 3eb39e818a1dac44e3d1769ae5216bfec3305be2 -Author: Danielle Madeley -Date: 2010-09-30 10:58:16 +1000 - - Expand TpAccount tests for TP_ACCOUNT_FEATURE_STORAGE - -commit 6d87271b5f582c9056f6d3c40dee18566364d9dd -Author: Danielle Madeley -Date: 2010-09-30 10:57:25 +1000 - - Add new feature and API to retrieve Acct.I.Storage properties - - The feature is called TP_ACCOUNT_FEATURE_STORAGE. - -commit 2919bd44111db58a721aa4e426d69615dc008ab7 -Merge: 9e248b9 0d9e0be -Author: Simon McVittie -Date: 2010-09-29 16:04:30 +0100 - - Merge branch 'spec' - - Reviewed-by: Jonny Lamb - -commit 0d9e0be3477957dedb584ba94ea14ecbdcc00577 -Author: Simon McVittie -Date: 2010-09-29 15:49:43 +0100 - - Generate code for Conn.I.ClientTypes - -commit a795bb28d03c0d60785a554794351402a08d875a -Author: Simon McVittie -Date: 2010-09-29 15:40:28 +0100 - - Update to spec 0.21.1 - - - add Access_Control, Access_Control_Type - - ClientTypes to follow in a later commit - -commit 9e248b927ffa732f6d8806b84209c3027a760e48 -Author: Simon McVittie -Date: 2010-09-28 14:43:04 +0100 - - Nano version - -commit 9abfa7203cbf7afb093619fc9cb1b8d372e94055 -Author: Guillaume Desmottes -Date: 2010-09-28 13:53:56 +0200 - - stream-tube-connection: keep a ref on the channel - -commit 264c0d57c2ea754e3a9097d0de84d82e746e5796 -Author: Simon McVittie -Date: 2010-09-28 12:08:35 +0100 - - Prepare version 0.13.0 - -commit 5e06c9aff2223302706c3b5ed805d07daa46e23c -Author: Simon McVittie -Date: 2010-09-28 12:06:11 +0100 - - TpBaseContactList: talk about the right spec version that introduced ContactList - -commit 1ef25b7625d7e8c127bbfa965cb9a420f40f303e -Author: Simon McVittie -Date: 2010-09-28 12:05:47 +0100 - - TpBaseContactList: fix a copy/paste error in the docs - -commit 729ff3c10001d01fea7c6fc35556e8e5facea54b -Merge: 6e26845 72252ae -Author: Simon McVittie -Date: 2010-09-28 11:19:20 +0100 - - Merge branch 'telepathy-glib-0.12' - - Conflicts: - NEWS - configure.ac - -commit 6e268453ebc9f95037187d4fb070ed047935f1f1 -Author: Simon McVittie -Date: 2010-09-28 11:11:49 +0100 - - update NEWS - -commit 9de31fd0e5a66f29d50737788a187808ddccec71 -Author: Simon McVittie -Date: 2010-09-27 20:29:47 +0100 - - Remove now-unused stub contacts-mixin-internal.h - -commit 72252ae26ff0c02be896e1ef2cefc89a60f9eaeb -Author: Will Thompson -Date: 2010-09-28 10:44:08 +0100 - - Protocol: Log error message when filters reject parameters - - Reviewed-by: Simon McVittie - -commit b2d23a4a804bc74c890ac8ead661aab03681be6c -Author: Guillaume Desmottes -Date: 2010-09-28 11:34:44 +0200 - - test that the 'closed' signal is fired - -commit fbcb8283332a8795857df393a92b8bbb65a3d85f -Author: Guillaume Desmottes -Date: 2010-09-28 11:34:31 +0200 - - TpTestsStreamTubeChannel: add API to fire the ConnectionClosed signal - -commit 023a12bae59259aa581db60b18f50ea40f5e9d0e -Author: Guillaume Desmottes -Date: 2010-09-28 11:34:10 +0200 - - stream-tube-chan: catch ConnectionClosed signals - -commit 6ff85337ef55c8f0e8a26f77f7177ff349948f87 -Author: Guillaume Desmottes -Date: 2010-09-28 11:33:48 +0200 - - tube-conn: add 'closed' signal - -commit ef2f8ce5e5ebd8c9b84c9e6e07d7672690dea04a -Author: Guillaume Desmottes -Date: 2010-09-27 17:34:43 +0200 - - Store local connections as well - - That's needed to properly report tube connection errors. - -commit 602aa79fd255a1feada507b7ae4489c411ee5617 -Author: Guillaume Desmottes -Date: 2010-09-27 17:32:23 +0200 - - Wait for the NewLocalConnection sig before returing from accept_async - - Not strictly needed but go to do and will allow us to properly get the ID of - the tube connection. - -commit 9e24a9f475939c19ccfffb66063c324d4af01feb -Author: Guillaume Desmottes -Date: 2010-09-27 17:32:06 +0200 - - fire NewLocalConnection D-Bus signal - -commit 0fa239700c6de62e6f185674297c0c1c3e961b3b -Author: Guillaume Desmottes -Date: 2010-09-27 17:23:41 +0200 - - factor out: new_local_connection() - -commit 062e97fbaecbd566a687f45207f6053c3f66d822 -Author: Guillaume Desmottes -Date: 2010-09-27 16:33:24 +0200 - - set the contact on TpStreamTubeConnection when accepting a tube - -commit 7b9569b2a0110134cc81c1a6f6314958fdc365b0 -Author: Guillaume Desmottes -Date: 2010-09-27 16:32:28 +0200 - - remove an old comment - -commit a1b08f4f1ed1892a8bbec9c30f0050c8065ed331 -Author: Guillaume Desmottes -Date: 2010-09-27 16:10:56 +0200 - - stream-tube-chan: use TpStreamTubeConnection instead of GIOStream - -commit c73ce6cbd3ecdd8021e62b0b7ea146489952235c -Author: Guillaume Desmottes -Date: 2010-09-27 13:40:29 +0200 - - add TpStreamTubeConnection - -commit 6f1dcfa8c33beef6dbec1acd8ef99f202256f503 -Author: Guillaume Desmottes -Date: 2010-09-27 13:37:50 +0200 - - add stream-tube-channel to introspection.am - -commit 57e672f4d82416abcbb9bab737e5cf29116068d7 -Author: Guillaume Desmottes -Date: 2010-09-27 13:29:49 +0200 - - Update Since: ... - -commit 7576ec3f9d16633f0a1e74d74acc09e3538bd9c8 -Author: Guillaume Desmottes -Date: 2010-09-24 16:15:52 +0200 - - Adapt the paths of test depending of the context - -commit f579be7f8f91d8b12ab5b60c22c857a508fb3d97 -Author: Guillaume Desmottes -Date: 2010-09-24 16:05:21 +0200 - - run_tube_test: run tests with contact and room tubes - -commit ee9cacf3a68bc06c130819594253657a56effa3b -Author: Guillaume Desmottes -Date: 2010-09-24 15:39:22 +0200 - - don't include a TpContact in the "incoming" signal if we can't properly identify it - -commit b407f2fbbe7d37ea033b09abfe2fc02098ca8b70 -Author: Guillaume Desmottes -Date: 2010-09-24 15:08:52 +0200 - - test that tp-glib rejects connection if NewRemoteConnection has a wrong handle - -commit ac19f1ffde0489e885a4dabea753e35359b62fa4 -Author: Guillaume Desmottes -Date: 2010-09-24 15:08:21 +0200 - - reject the connection if the handle is wrong - -commit 2ed2cc1945a83a0775473d2b3ad97ad4f177a387 -Author: Guillaume Desmottes -Date: 2010-09-24 14:03:39 +0200 - - create_tube_service: add a parameter to choose the type of stream tube created - -commit 4c81be593a18c1faeac0a800d1f5af3f0c896228 -Author: Guillaume Desmottes -Date: 2010-09-24 14:03:15 +0200 - - simple-conn: create a room handles repo - -commit 7366f3476a3ffde1725ba788074a13f4077d5ef6 -Author: Guillaume Desmottes -Date: 2010-09-24 13:35:59 +0200 - - add TpTestsRoomStreamTubeChannel - -commit 54058fd72fefb9cffc778fdd2d4a1cdb6bb8ed7b -Author: Guillaume Desmottes -Date: 2010-09-24 13:27:41 +0200 - - add TpTestsContactStreamTubeChannel - - TpTestsStreamTubeChannel is now the abstract bass class. - -commit a3d3d402032588a5eda9fe7444c84bfd72c75d1e -Author: Guillaume Desmottes -Date: 2010-09-24 13:12:43 +0200 - - wrap long lines - -commit 5f37c8413dcf32b90d980eb8457a2b3efd883e1d -Author: Guillaume Desmottes -Date: 2010-09-23 16:50:20 +0200 - - factor out _tp_create_temp_unix_socket() - -commit 958703156670c679ced48285a5ca3ec56208dc98 -Author: Guillaume Desmottes -Date: 2010-09-23 16:36:50 +0200 - - remove useless g_simple_async_result_set_op_res_gboolean - -commit ce127e1bec20755966b0e37bb9127f9dee64ec2f -Author: Guillaume Desmottes -Date: 2010-09-23 15:57:46 +0200 - - use 'finish' helpers - -commit 86f56f3d4fd1629145af186bbdc97e122b63162f -Author: Guillaume Desmottes -Date: 2010-09-23 15:50:30 +0200 - - util-internal: import 'finish' helper macros from Wocky - -commit 9a7a5d94946cf98ca7e383097bc63cdba45483d5 -Author: Guillaume Desmottes -Date: 2010-09-23 15:33:29 +0200 - - check that the tube has the Service property - -commit 1bb10d45b653767851bcefb9b52ac6a101ce40a1 -Author: Guillaume Desmottes -Date: 2010-09-23 15:28:49 +0200 - - tp_stream_tube_channel_constructed: check that the channel is actually a stream tube - -commit bec68d9c243dd5250a4ebe08ee0bb34219cbbff1 -Author: Guillaume Desmottes -Date: 2010-09-23 15:14:22 +0200 - - rename TpStreamTube to TpStreamTubeChannel - -commit b5ce5d10a8c402ffdf2c69e66d5013731939da26 -Author: Guillaume Desmottes -Date: 2010-09-23 15:06:06 +0200 - - move stream-tube.[ch] to stream-tube-channel.[ch] - -commit 0dfadfcee599c1bf195e9a86ef5d75643b69a270 -Author: Guillaume Desmottes -Date: 2010-09-23 14:52:49 +0200 - - stream-tube: update header one line description - -commit 5714d18dd85ffc70a186bdde434bca325ee9fbf7 -Author: Guillaume Desmottes -Date: 2010-09-13 14:47:51 +0200 - - remove offer existing API - - It's untested an look suspicious to me. I prefer to focus on the "simple" - cases for now and re-add it later. - -commit 5bc06f8324cdb2269de0d8756eec0597b3d03569 -Author: Guillaume Desmottes -Date: 2010-09-13 14:23:33 +0200 - - check that the client sends the right byte with its credentials - -commit 8e8f6d7655ea0402c50e0a03a3d426110e6d7e5d -Author: Guillaume Desmottes -Date: 2010-09-13 14:22:51 +0200 - - TpStreamTube: pass the byte we're going to send with credentials to Accept() - -commit 3dff4770030196d0c46016c9a8cca4a73b2205a2 -Author: Guillaume Desmottes -Date: 2010-09-13 13:41:55 +0200 - - We should use async API to send and receive credentials - - We can't test the race using Credentials because of this but that's blocked by - go #629503. - -commit 60d36c73217b4624e37b898507071e5f2b3aa299 -Author: Guillaume Desmottes -Date: 2010-09-13 13:32:35 +0200 - - TpStreamTube: use the byte sent with the credentials to identify connections - -commit 9715e0548bc89d57158ef71f2836d145b6a38c53 -Author: Guillaume Desmottes -Date: 2010-09-10 16:06:44 +0200 - - stream-tube-chan: generate a random byte when sending credentials - -commit ddbbe5345271012839e8208d68bf6b003af18cc8 -Author: Guillaume Desmottes -Date: 2010-09-13 11:57:13 +0200 - - Read the credentials earlier and store the byte associated with them - - This will be used to properly identify the connection. - -commit b5e5c0d5d6c0abc59772bb851f0d102bbc8ff09b -Author: Guillaume Desmottes -Date: 2010-09-10 16:04:10 +0200 - - gnio-util: add _with_byte variant of gio API to send/receive credentials - - Workaround while https://bugzilla.gnome.org/show_bug.cgi?id=629267 hasn't been - fixed. - -commit fd0063761c547276e19ec262fded256413a5cf80 -Author: Guillaume Desmottes -Date: 2010-09-10 15:45:44 +0200 - - bump glib version TO REMOVE - -commit 58974d1b61c928a5c4a9aae194c3904a954212f3 -Author: Guillaume Desmottes -Date: 2010-09-10 14:48:36 +0200 - - TpStreamTube: use GSocketService - -commit e5ff16cca0108159b1c5b54b4756fc0f78856504 -Author: Guillaume Desmottes -Date: 2010-09-10 13:31:21 +0200 - - stream-tube-chan: use GSocketService instead of GSocketListener - - It's a higher level API more convenient to use. - -commit c16cafe935ca60992f272cfdad3dc1b248903eba -Author: Guillaume Desmottes -Date: 2010-09-10 11:50:36 +0200 - - TpStreamTube: cancel pending operation when disposing - -commit 6febe2a1273e7efba542859a3b7f64e225f83ada -Author: Guillaume Desmottes -Date: 2010-09-10 11:19:53 +0200 - - test-stream-tube: test the socket connection race - -commit b5196f245c15c06a6f2fd52b1603347fbb9147c0 -Author: Guillaume Desmottes -Date: 2010-09-10 11:23:30 +0200 - - TpStreamTube: break race when receiving incoming connections - - When we receive a new incoming connection on an offered socket, we are - supposed to use the NewRemoteConnection signal to properly identify which - contact is using which connection. - The ordering of the TCP connection and the D-Bus signal isn't guaranteed so - this is needed. - -commit 85c960ba9892cc614e0a0979e2829370b7b94376 -Author: Guillaume Desmottes -Date: 2010-09-09 14:02:47 +0200 - - test using (IPv4, Port) - -commit 0092be8e682793886560dfcdb475d9ca0b564217 -Author: Guillaume Desmottes -Date: 2010-09-09 14:02:19 +0200 - - stream-tube: add support for TP_SOCKET_ACCESS_CONTROL_PORT - -commit 23725686348231d511dc728ecb0de3167fdcb5c1 -Author: Guillaume Desmottes -Date: 2010-09-09 13:52:26 +0200 - - stream-tube-chan: check the socket type and access control passed to Accept and Offer - -commit 25944df8d1ff1675c46a91e5ed4fb8a8f11333b8 -Author: Guillaume Desmottes -Date: 2010-09-09 13:44:27 +0200 - - test (Unix, Credentials) - -commit 37e6c0ea516fea79c490fb1520d8f1c7b6d371b4 -Author: Guillaume Desmottes -Date: 2010-09-09 13:43:56 +0200 - - stream-tube-chan: implement credentials support - -commit f639d99ce511a0af96fc62150fac1655af53e851 -Author: Guillaume Desmottes -Date: 2010-09-09 13:18:42 +0200 - - test-stream-tube: drop NUM_SOCKET_PAIR - -commit 08463917aa4a2565cd3333839dea61504bae03ec -Author: Guillaume Desmottes -Date: 2010-09-09 12:49:07 +0200 - - test IPv6 support - -commit 799dc9456d5bd3313f50a59cd574a0e3fa3320e3 -Author: Guillaume Desmottes -Date: 2010-09-09 12:48:51 +0200 - - stream-tube-chan: add IPv6 support - -commit 83d337ee32bc69e2b36ca6f4598a5f91466c3e87 -Author: Guillaume Desmottes -Date: 2010-09-09 12:48:31 +0200 - - TpStreamTube: add IPv6 support - -commit 174a349bba4d64a83f0e78f33a15555e41706dec -Author: Guillaume Desmottes -Date: 2010-09-09 12:18:47 +0200 - - test-stream-tube: test using (IPv4, Localhost) - -commit 8e13469b3e38f581503152c4b1cb6b8fad42e2e6 -Author: Guillaume Desmottes -Date: 2010-09-09 12:18:06 +0200 - - stream-tube-chan: add IPv4 sockets support - -commit 6116b3e32ccb79a2b33b4c3391a1ff12e2fe32fd -Author: Guillaume Desmottes -Date: 2010-09-09 11:22:36 +0200 - - allow to run some tests with different (address_type, access_control) - -commit ba3484dc05de6ee681f0b2dfae5d2809acdc34d2 -Author: Guillaume Desmottes -Date: 2010-09-09 10:58:54 +0200 - - test-stream-tube: specify the socket type and access control to use - -commit 9cb4765e21859fe24df0e753b62fbf3a35b06314 -Author: Guillaume Desmottes -Date: 2010-09-09 10:13:57 +0200 - - stream-tube-chan: store the supported socket types hashtable - - Also allow user to define it at construction. - -commit 248a5400450005e26636486c3bb06f502db79971 -Author: Guillaume Desmottes -Date: 2010-09-08 17:02:05 +0200 - - try accepting/offering a tube in the wrong state - -commit b0f7fa79512a8e53719d3001235e8120bcdda431 -Author: Guillaume Desmottes -Date: 2010-09-08 16:58:44 +0200 - - try calling tp_stream_tube_accept_async() twice - -commit 22e0ac534c77d1d0e05d7e66133462a748f464ee -Author: Guillaume Desmottes -Date: 2010-09-08 16:34:26 +0200 - - test_offer_success: emulate a client connecting to the tube - -commit 2266432800523f6e4089153ed4d778cec75e5f02 -Author: Guillaume Desmottes -Date: 2010-09-08 16:33:38 +0200 - - stream-tube-chan: add API to emulate a client connecting to the tube - -commit b813ff3494b8310c02048f871ec8eec58aeef999 -Author: Guillaume Desmottes -Date: 2010-09-08 15:44:36 +0200 - - test_accept_success: try using the tube - -commit 05922681c10903dc4235e5f37417cdc3a07b9b4d -Author: Guillaume Desmottes -Date: 2010-09-08 15:43:41 +0200 - - stream-tube-chan: fire a signal when we receive an incoming connection - -commit 1f5e80da4f3ba97318ca84228f793c5921550f71 -Author: Guillaume Desmottes -Date: 2010-09-08 14:15:27 +0200 - - test tp_stream_tube_offer_async() - -commit c72f2e7c8dc7385c08994cf666c4849c3b06e717 -Author: Guillaume Desmottes -Date: 2010-09-08 14:15:15 +0200 - - stream-tube-chan: implement Offer() - -commit 5a0fefe8b79e709720495051844e8105bcd90037 -Author: Guillaume Desmottes -Date: 2010-09-08 12:47:40 +0200 - - test tp_stream_tube_accept_async() - -commit d5264f6259af191b18928a9d47f722d54ed62894 -Author: Guillaume Desmottes -Date: 2010-09-08 12:47:26 +0200 - - stream-tube-chan: implement Accept() - -commit c0e486efbf95cce752c59f367535b0c23cc5f4fd -Author: Guillaume Desmottes -Date: 2010-09-08 12:37:03 +0200 - - fix find_best_access_control() - -commit aada0555221cf051009453181760737719b918d7 -Author: Guillaume Desmottes -Date: 2010-09-08 11:39:43 +0200 - - add parameters property - -commit 5a1b5cd557322b4b6d88efffcc4ece21dabf2300 -Author: Guillaume Desmottes -Date: 2010-09-07 16:23:15 +0200 - - add service property - -commit 769ca57d58163af2f0c78bafe48c2b4037bca71a -Author: Guillaume Desmottes -Date: 2010-09-07 16:06:28 +0200 - - add tests of TpStreamTube - -commit d100a173bb85a308055b659c1a51efafc7055446 -Author: Guillaume Desmottes -Date: 2010-09-07 15:53:59 +0200 - - add stub stream tube channel - -commit 55de695d0a89a7b9438116ef5072a8c4032c3329 -Author: Guillaume Desmottes -Date: 2010-09-07 14:33:08 +0200 - - update gitignore - -commit 74695106fbd97f152395529cc98f79f628574aa7 -Author: Guillaume Desmottes -Date: 2010-09-07 14:31:34 +0200 - - offerer: display when tube is invalidated - -commit f349f6a5b36dfc503b5638f13d18544b023f9779 -Author: Guillaume Desmottes -Date: 2010-09-07 14:31:24 +0200 - - accepter: display when tube is invalidated - -commit 4a6034b7f6cb2fcaba7885c0ae9968681da5b55c -Author: Guillaume Desmottes -Date: 2010-09-07 14:21:13 +0200 - - offerer: display error if something went wrong - -commit 98b3f3e63c2ecf10f3b7d7ac5d90d56e58b055df -Author: Guillaume Desmottes -Date: 2010-09-07 14:01:15 +0200 - - Store the remote connections - - That will allow us to report the ConnectionClosed signal. - -commit 71e9b2263ac7e6e41e12be976a89511355bf3cd9 -Author: Guillaume Desmottes -Date: 2010-09-07 13:35:09 +0200 - - factor out accept_incoming_connection - -commit 12cbde358052c0bac0bde48452240a3af5f709bc -Author: Guillaume Desmottes -Date: 2010-09-07 13:15:46 +0200 - - accepter: log message if accepting failed - -commit 2f0219281fa3af5adf1a991451bf93a369d9f7a9 -Author: Guillaume Desmottes -Date: 2010-09-06 16:25:20 +0200 - - Implement credentials access control when offering the tube - -commit ae533d88926539a60a9cb6ebae0813c5cd6e648b -Author: Guillaume Desmottes -Date: 2010-09-06 16:10:13 +0200 - - Implement credentials access control when accepting the tube - -commit ed7962695bca5f7a35fb48fdb699849c3578e058 -Author: Guillaume Desmottes -Date: 2010-09-06 16:04:01 +0200 - - store the GSimpleAsyncResult in priv - -commit 25bd8c7bf4b21a9cde23687454def094f4f356b8 -Author: Guillaume Desmottes -Date: 2010-09-06 15:53:33 +0200 - - factor out complete_accept_operation - -commit cfc0dec5a5e347c923407946490ab00a77414361 -Author: Guillaume Desmottes -Date: 2010-09-06 15:51:27 +0200 - - factor out operation_failed - -commit 84322b5401c981cf2481504ca894c2af83a854fc -Author: Guillaume Desmottes -Date: 2010-09-06 15:41:44 +0200 - - rename tp_stream_tube_finalize to tp_stream_tube_dispose - -commit df7723c4b5cb1a49c1bfec667f1be7ab3f6f6210 -Author: Guillaume Desmottes -Date: 2010-09-06 15:14:26 +0200 - - remember the best access control - -commit 00c9efea3b5e96e7f69a7fdd155c8a4d85717b2b -Author: Guillaume Desmottes -Date: 2010-09-06 14:19:00 +0200 - - remind the socket type - -commit 2a81a179be1dc6ca7c3cdc03eaa9778ba486d783 -Author: Guillaume Desmottes -Date: 2010-09-06 14:05:53 +0200 - - determine_socket_type: raise NotImplemented if there is no supported socket type - -commit 3c0fbd3c0d5c5365949d1d40166a68568fad1ef8 -Author: Guillaume Desmottes -Date: 2010-09-06 13:57:29 +0200 - - tp_stream_tube_offer_existing_async needs its own _finish function - - Also fix the source_tag of async results. - -commit f8c79e1bab8af7795b91b06918e9f3ebf2edf765 -Author: Guillaume Desmottes -Date: 2010-09-06 13:49:26 +0200 - - TpStreamTubeClass: add ABI padding - -commit 7c2b1cc9e3426a87669b3a6701275f959f1b022d -Author: Guillaume Desmottes -Date: 2010-09-06 13:42:10 +0200 - - remove GET_PRIV - -commit df902ada21f115a8064b343174b48fb2678b76c3 -Author: Guillaume Desmottes -Date: 2010-09-06 13:33:05 +0200 - - TpStreamTube now inherit from TpChannel - -commit decd9fd4edff304bf02f6f1c311ec4f4ac740c7e -Author: Guillaume Desmottes -Date: 2010-09-06 13:02:34 +0200 - - offerer: port to TpAccountChannelRequest - -commit 99b697298fc11b5c5bc5d91eee3cc009495fcf41 -Author: Danielle Madeley -Date: 2010-07-26 17:16:01 +0200 - - Allow the passing of params to the offer_async method - -commit fbcb3e1874a9f98b133f104ece684df2a3623f2e -Author: Danielle Madeley -Date: 2010-07-21 16:45:41 +0100 - - TpStreamTube + example - -commit 9e9ebf17e67b093302715e0b12f4d5657ad54bd8 -Author: Simon McVittie -Date: 2010-09-27 20:27:18 +0100 - - Delete _tp_contacts_mixin_get_contact_attributes now we have a better API - -commit 09767f36eed4d2ec8031e476d93d5d5fc56ff0d4 -Author: Simon McVittie -Date: 2010-09-27 20:26:11 +0100 - - Use tp_contacts_mixin_get_contact_attributes for TpBaseContactList - -commit f8cc6c3c93c57261377c4dc8c5658529f64e73d2 -Author: Simon McVittie -Date: 2010-09-27 20:22:16 +0100 - - tp_contacts_mixin_get_contact_attributes: survive NULL strv arguments - -commit 20c611d373fddd647d76bee51710a6e0579c9fc1 -Author: Simon McVittie -Date: 2010-09-27 19:56:45 +0100 - - Document tp_contacts_mixin_get_contact_attributes better - -commit 0a0ebe5bfabbe3304ff0f1dc7a1ac47361a8b2ca -Merge: e6ba83c e10fad6 -Author: Simon McVittie -Date: 2010-09-27 20:20:53 +0100 - - Merge remote branch 'eitan/contacts-iface-tweaks' - - Conflicts: - telepathy-glib/contacts-mixin.c - -commit e6ba83cbbf46890c7b1321c992c8dd5630833a42 -Author: Simon McVittie -Date: 2010-09-27 20:11:45 +0100 - - Distribute internal headers, fixing distcheck - -commit 8fc07ecf185a0fec35475cc9e6595ed0df49dfde -Author: David Laban -Date: 2010-09-22 15:52:00 +0100 - - tp_presence_mixin_remove_status: doc typo - - Reviewed-by: Simon McVittie - -commit 0c909e1711eebb9e0964cbf82c0c98ac005e2f11 -Merge: d7296ab 47f080b -Author: Simon McVittie -Date: 2010-09-27 18:34:06 +0100 - - Merge branch 'i386' - - Reviewed-by: David Laban - -commit 47f080be88fbf4824dc9d26e3a01d8fcb51fec63 -Author: Simon McVittie -Date: 2010-09-27 18:03:51 +0100 - - Correct sense of assertions when counting an unspecified number of groups - - Also add matching assertions in similar contexts; we don't support - contacts with 2**31 or more groups :-) - -commit 35f0c402054946fe1250b81d4a46bd5fbde51e35 -Author: Simon McVittie -Date: 2010-09-27 17:59:53 +0100 - - Use gssize to iterate over arrays whose length is given by a gssize - - On i386, gcc warns, because if the gssize had a negative value it would - be misinterpreted as very large. (In this case the gssize is always - non-negative by that point in the function anyway, but using a matching - type for the iterator is more obviously correct than adding casts.) - -commit d7296ab8baf93461ae5d808af17affcb6ece3bf9 -Merge: 130e3a3 3d66b4c -Author: Simon McVittie -Date: 2010-09-27 17:23:42 +0100 - - Merge branch 'trivia' - - Reviewed-by: Will Thompson - -commit 3d66b4cbac5dbf6dfd2dd663462296bad2883aaa -Author: Simon McVittie -Date: 2010-09-27 12:42:21 +0100 - - dbus: document GDBus equivalents of some of our functions - -commit c7e3c1ef5a03acc52dd09fdad2536dd43e9316c5 -Author: Simon McVittie -Date: 2010-09-24 14:51:11 +0100 - - Require gobject-introspection 0.9.6 if we're using it at all - -commit e5cced55a6a9060626fd3037d40399c283479e5a -Author: Simon McVittie -Date: 2010-09-24 14:49:48 +0100 - - Require automake 1.11 unconditionally - -commit 130e3a3f1188885f103c8ffe17b777c161765ce3 -Merge: bd983b1 ba00acb -Author: Simon McVittie -Date: 2010-09-23 13:02:28 +0100 - - Merge branch 'cl-trivia' - - Reviewed-by: David Laban - -commit ba00acb09beaf405d3311856cdb48549ab4f567d -Author: Simon McVittie -Date: 2010-09-23 12:52:29 +0100 - - tp_handle_set_dump: always produce a single line - -commit 81e9e60c408c4940185ef692d0c6613899901254 -Author: Simon McVittie -Date: 2010-09-22 17:20:38 +0100 - - ExampleContactListManager: rename to ExampleContactList - -commit 9c108d54be3954929db78ec79633d4596f232e3a -Author: Simon McVittie -Date: 2010-09-22 17:05:07 +0100 - - contactlist example: rename contact-list-manager.[ch] to contact-list.[ch] - - The fact that it's a channel manager is no longer very significant. - -commit 0790314cc9f31d2813d8f546f2a4f60fe36a637c -Author: Simon McVittie -Date: 2010-09-22 17:01:46 +0100 - - tp_base_contact_list_one_contact_groups_changed: explain why only the contact is singular - -commit 44db0bfde8d38095504d7f8d8a4de4236b5a8a3d -Author: Simon McVittie -Date: 2010-09-22 16:56:45 +0100 - - ExampleContactListManager: use streamlined API for single contacts - -commit 7c7547fb85f4c49b4cd7a3474007d309932c2dc5 -Author: Simon McVittie -Date: 2010-09-22 16:55:40 +0100 - - TpBaseContactList: add API for when a single contact's state changes - -commit 41d9453245bcdce31660f2b307faaee7fa7a4f99 -Author: Simon McVittie -Date: 2010-09-22 15:36:00 +0100 - - Test new TpHandleSet functionality - -commit 8490da7be65d89ef3e47824d09fdae61c245084e -Author: Simon McVittie -Date: 2010-09-22 15:35:27 +0100 - - tp_handle_set_dump: add - -commit 2e4e452ac9d2fa91e180e0493b01ad2f6444fafc -Author: Simon McVittie -Date: 2010-09-22 15:14:05 +0100 - - Add g-i annotations to TpHandleSet constructors, and (skip) them all for now - -commit 3c5604730daf0c5798c54ed5d5297a0c34ef35a6 -Author: Simon McVittie -Date: 2010-09-22 15:10:56 +0100 - - TpHandleSet: add convenience constructors from TpIntset and TpHandle - -commit 016f1f1cc160efc3297dc33d89dda6fa9f70cf5e -Author: Simon McVittie -Date: 2010-09-22 15:07:01 +0100 - - TpBaseContactList, example contact list: use TpIntset, not TpIntSet - - Consistent with the rest of telepathy-glib, since 0.12. - -commit bd983b1b433b52c5a3ca31c29a4bf76718315788 -Merge: 4397bf3 277e5d4 -Author: Simon McVittie -Date: 2010-09-22 14:47:56 +0100 - - Merge branch 'contact-list' - - Conflicts: - docs/reference/telepathy-glib-sections.txt - examples/cm/contactlist/contact-list-manager.c - spec/Connection_Interface_Contact_Groups.xml - spec/Connection_Interface_Contact_List.xml - spec/errors.xml - telepathy-glib/errors.c - -commit 4397bf3c1e5808b238e941fb69af54474d2ed4b9 -Merge: 48062a4 e7621a2 -Author: Simon McVittie -Date: 2010-09-22 14:44:28 +0100 - - Merge branch 'spec' - - Reviewed-by: David Laban - -commit 277e5d45aeaa0c720a81261e6edc64c351ddb79e -Author: Simon McVittie -Date: 2010-09-22 14:01:09 +0100 - - Adjust wording of a comment as per alsuren's review - -commit e7621a24e7b7159ba50a98334ebb2d21bb84b381 -Author: Simon McVittie -Date: 2010-09-22 14:31:52 +0100 - - Generate code for the ContactList and ContactGroups interfaces - -commit 60ab8be30c2fccfa0ec2bee157fdd33f7a541f99 -Author: Simon McVittie -Date: 2010-09-22 14:02:14 +0100 - - Update spec to 0.21.0 for stable ContactList and ContactGroups - -commit 48062a430f50a9de5d780b0fa5d083a271f0790f -Author: Guillaume Desmottes -Date: 2010-09-15 12:03:13 +0200 - - test tp_capabilities_supports_{stream,dbus}_tube - -commit 9dedf8566b5c2983b098afedc9cd3bd045be1aaf -Author: Guillaume Desmottes -Date: 2010-09-15 11:44:32 +0200 - - add tp_capabilities_supports_{stream,dbus}_tubes (fdo #30204) - -commit e10fad6e76b8add8777823c6af91d364026af66d -Author: Eitan Isaacson -Date: 2010-09-22 00:35:33 -0700 - - Added tp_contacts_mixin_get_contact_attributes to -sections.txt - -commit 92707b9152b11e94705923d9b81b6574e4280f77 -Author: Eitan Isaacson -Date: 2010-09-22 00:35:15 -0700 - - Fixed doecstring for tp_contacts_mixin_get_contact_attributes. - -commit ccab5f418c54d20911d6d5507b90140c08c9dc45 -Author: Eitan Isaacson -Date: 2010-09-22 00:29:31 -0700 - - Add assumed interfaces argument to tp_contacts_mixin_get_contact_attributes. - -commit 72ac0568809d06d6b0e9a8e5575a343a84d44539 -Author: Eitan Isaacson -Date: 2010-09-22 00:28:24 -0700 - - Verify connection is connected when calling tp_contacts_mixin_get_contact_attributes. - -commit ba4d91545c785642e96daabd802e8c529aac268a -Author: Eitan Isaacson -Date: 2010-09-22 00:20:16 -0700 - - Added type checking to tp_contacts_mixin_get_contact_attributes. - I really don't know if I did the mixin check right. - -commit 686122079ec1f1072b0492082d406360e6a2e673 -Author: Eitan Isaacson -Date: 2010-09-21 23:52:33 -0700 - - Made get_contact_attributes instead of get_contacts_attributes - -commit 49bed1c04d79dd9449d1357e52d2a94fafe30a11 -Author: Eitan Isaacson -Date: 2010-09-21 10:25:35 -0700 - - Added docstring to tp_contacts_mixin_get_contacts_attributes. - Suffixed DBus method with _impl. - -commit 6393ea93ac0f33668b265f5c68c01419b688bf42 -Author: Simon McVittie -Date: 2010-09-21 11:13:57 +0100 - - Revert "Direct bug reports to 0.12 version since we're about to branch it" - - This reverts commit 1e48bb468d40f795be9d86ffafeef0263385ca64. - -commit 491383b083bdec3e960df598f3d7f5f25d6d1abd -Author: Simon McVittie -Date: 2010-09-21 11:13:50 +0100 - - Revert "Disable warnings about deprecated functions for stable branch" - - This reverts commit 3c50603e23cc55e715893dd0aa25a8ae5bdf6fcb. - -commit 115e37d745b2cae4be508f05592075fc2073bb2b -Author: Simon McVittie -Date: 2010-09-20 19:24:11 +0100 - - Revert "Upload documentation to the 0.12.x location" - - This reverts commit c2f554003f6fa2f510666aeda7422d1a536e1053. - -commit fa36f2ec703fd7cd456f90a80b573641c68a265c -Author: Simon McVittie -Date: 2010-09-20 19:23:54 +0100 - - Revert "Don't check documentation completeness in this (soon to be) stable branch" - - This reverts commit f285d3e8c40efa2dc60fe121e721cf6884a34cf5. - -commit 47e218928cc9243bfa07ba8317942448299222c0 -Author: Simon McVittie -Date: 2010-09-20 19:23:35 +0100 - - Nano version for development branch - -commit 43845dfca85090fc2caf4af19c4f10f409ec0006 -Author: Simon McVittie -Date: 2010-09-20 19:22:54 +0100 - - Nano version for stable branch - -commit 4dd6552adf2b2db66cb63f142aabfaced158de67 -Author: Eitan Isaacson -Date: 2010-09-19 13:56:23 -0700 - - Make tp_contacts_mixin_get_contacts_attributes public for re-use. - -commit 9780430b2267d2174ea9f4935dd56e1610101abc -Author: Simon McVittie -Date: 2010-08-26 11:33:18 +0100 - - Port the internal contact list channels to TpBaseChannel - - Unfortunately, they still need to override Close(), since contact list - channels are weird (Close() can fail). - -commit fed6b93c2e250c271ae5e9b06fdb68bf7f4ba488 -Author: Simon McVittie -Date: 2010-08-18 16:32:59 +0100 - - TpBaseContactList: fix documentation cross-references - -commit ebfa796603766959dbfd4974f87c7518c1f02ef1 -Merge: 571ef0d deb0cc1 -Author: Simon McVittie -Date: 2010-08-25 17:46:53 +0100 - - Merge branch 'master' into contact-list-the-revenge - -commit 571ef0d0e80c326233f7530f883f21d7db756557 -Merge: 432de9f dd8b926 -Author: Simon McVittie -Date: 2010-08-18 15:31:42 +0100 - - Merge branch 'master' into contact-list-reviewed - - Conflicts: - docs/reference/telepathy-glib-sections.txt - examples/cm/contactlist/conn.c - examples/cm/contactlist/contact-list-manager.c - telepathy-glib/errors.c - telepathy-glib/errors.h - -commit 432de9f0be326b9c28528c6ae0ff8f5bc200fab1 -Author: Simon McVittie -Date: 2010-08-11 15:20:49 +0100 - - Rename group getters to the _dup_ naming convention - -commit 14ce06e147100a7e0c6b83a1c172296b4866ef22 -Author: Simon McVittie -Date: 2010-08-11 15:18:30 +0100 - - TpBaseContactList: explicitly annotate group getters as (transfer full) - - gobject-introspection will guess that they're (transfer full) anyway, but - it's useful to have it appear in the gtk-doc too. - -commit 96d514166ad432474402d4d14f93558e797cbc47 -Author: Simon McVittie -Date: 2010-08-11 15:16:58 +0100 - - tp_base_contact_list_set_list_received: add a sanity check for dup_states - - We don't yet use dup_states with NULL parameters in normal circumstances, - and using it for a handle not on the contact list is likely to be unusual; - it seems valuable to verify that these do work in early implementations, - so we don't have to fix them all later. - -commit 586fa2079748f12a1b7ae057236da3bad651fc01 -Author: Simon McVittie -Date: 2010-08-11 15:04:10 +0100 - - Rename TpBaseContactListGetStatesFunc to TpBaseContactListDupStatesFunc - -commit 9ac7fee1ebe17cf88d3b6b7a1847d358d502bdac -Author: Simon McVittie -Date: 2010-08-11 15:02:28 +0100 - - TpBaseContactListGetStatesFunc: explicitly say that publish_request is dup'd - - Also add (allow-none) to all the out parameters; as per discussion with - jdahlin on IRC yesterday, (out) (allow-none) is the "NULL to ignore" - idiom, as seen in g_file_get_contents' @length parameter. - -commit 9b6ef11d2cb7ca05d82497ee6e5f8ee22dc0c985 -Author: Simon McVittie -Date: 2010-08-11 15:00:06 +0100 - - Rename tp_base_contact_list_get_contacts to dup_contacts - - Also do the same for get_blocked_contacts, which uses the same typedef. - -commit 4fd1fd62354a1abb12143792993ce66bd540e69a -Author: Simon McVittie -Date: 2010-07-29 19:08:09 +0100 - - Streamline TpBaseContactList get_connection checks that don't set an error - - If we're not setting an error, we don't need GError-setting code from - tp_base_contact_list_get_connection and can just check the struct member - directly. - -commit c6cc1f50199e1f2f1d13af8dbc129099bac2303d -Author: Simon McVittie -Date: 2010-07-29 19:05:36 +0100 - - tp_base_contact_list_check_still_usable: remove - - The semantics of tp_base_contact_list_get_connection and - tp_base_contact_list_get_state are clearer and more useful. - -commit 5197d780fb9223c42ef117e122f0748023fa430f -Author: Simon McVittie -Date: 2010-07-29 19:05:01 +0100 - - tp_base_contact_list_set_list_pending: allow calling more than once - -commit d5720ab4ba80bcf4bfce6bf4f1f29ae4d701512a -Author: Simon McVittie -Date: 2010-07-29 19:03:19 +0100 - - tp_base_contact_list_set_list_failed: allow calling twice - -commit 038d87bfbc19b8e6e2637ab0994a0a74c4281638 -Author: Simon McVittie -Date: 2010-07-29 19:02:41 +0100 - - tp_base_contact_list_set_list_received: allow SUCCESS after earlier FAILURE - -commit fe2649b85dae76a6ef0d81d335e5d8d000e6df5a -Author: Simon McVittie -Date: 2010-07-29 19:02:21 +0100 - - tp_base_contact_list_get_group_members, etc.: combine state checks - -commit 592e124546e5bb9c5deab0c5108019ea66a444cc -Author: Simon McVittie -Date: 2010-07-29 19:01:01 +0100 - - GetContactListAttributes: simplify error-checking - - tp_base_contact_list_get_state now has exactly the semantics we want. - -commit d93a55a874889653e9d826ff9600a987ad173d84 -Author: Simon McVittie -Date: 2010-07-29 19:00:29 +0100 - - ContactList properties, attributes: allow retrieval as long as we have a connection - - It's not an error to retrieve properties/attributes while waiting for - the contact list, only after disconnection. - -commit 0ebe7f4fb91429ec05255b34468e2659699ef0be -Author: Simon McVittie -Date: 2010-07-29 18:59:30 +0100 - - ContactList alteration methods: fail if state != SUCCESS - - In particular, raise NotYet if appropriate. - -commit c19b4a2706b58b67e2b6cd4a48dda80a2998003b -Author: Simon McVittie -Date: 2010-07-29 18:58:02 +0100 - - When requesting ContactList channels, only check connection, not FAILURE - - If the contact list download has failed, we might still be able to make - channels after retrying. - -commit f40e264c57f6e0858ef7e3f1e8a08e8ddec9de08 -Author: Simon McVittie -Date: 2010-07-29 18:57:04 +0100 - - tp_base_contact_list_get_state: consider everything except SUCCESS to be an error - - This makes it easy to raise NotYet. - -commit 86fbde6a3cc4d16b40224196fc6523f40bad2945 -Author: Simon McVittie -Date: 2010-07-29 18:55:57 +0100 - - tp_base_contact_list_get_connection: inline the relevant part of tp_base_contact_list_check_still_usable - - tp_base_contact_list_check_still_usable has rather confusing semantics, - now that the spec says FAILURE is recoverable. It's clearer if we do the - check directly here. - -commit 28650730540aa987617c7ffdf3520f24deba8e67 -Author: Simon McVittie -Date: 2010-07-28 13:32:21 +0100 - - example_contact_list_manager_unblock_contacts_async: build set additively - -commit 70b3590a3470248096f9880a68e01557b22830ff -Author: Simon McVittie -Date: 2010-07-28 13:32:08 +0100 - - example_contact_list_manager_block_contacts_async: build set additively - -commit 79014f5dfd9352cedd812bccc3a357af9359fafa -Author: Simon McVittie -Date: 2010-07-28 13:31:41 +0100 - - example_contact_list_manager_unpublish_async: build set additively - - In this function, it's much less confusing to do it this way. - -commit 5bbf14d0fb36753fd7a66cd68a4f645acda248dc -Author: Simon McVittie -Date: 2010-07-28 13:30:54 +0100 - - example_contact_list_manager_unsubscribe_async: build set additively - - This introduces some minor duplication, but is better for clarity. - -commit 7de2c5d589a026ab97f340a53eea1dbcb215a5bf -Author: Simon McVittie -Date: 2010-07-28 13:30:27 +0100 - - example_contact_list_manager_remove_contacts_async: build set additively - - Also, move send_updated_roster() later, so that the debug message (which - is a fake network message) reflects the new contents of - cancelled_publish_requests. - -commit ddfcf9e19ea8b4ff537a3513a56087e974879e4a -Author: Simon McVittie -Date: 2010-07-28 13:29:42 +0100 - - example_contact_list_manager_store_contacts_async: build set additively - -commit 4cb884a4b7960e6381fe8b4478efc92a06141c16 -Author: Simon McVittie -Date: 2010-07-28 13:29:28 +0100 - - example_contact_list_manager_authorize_publication_async: build set additively - - This makes the logic much easier to follow. - -commit 27f71b1de1382167dda1958bfaacaa809ed72b19 -Author: Simon McVittie -Date: 2010-07-28 13:28:58 +0100 - - example_contact_list_manager_request_subscription_async: build set additively - - Also, call send_updated_roster() even if we'd already requested - subscription. This is realistic: we should be re-sending the subscription - request whenever the user tells us to. - -commit 8be709918e513ab1a0d72916d74e3b77141bb369 -Author: Simon McVittie -Date: 2010-07-28 13:27:35 +0100 - - example_contact_list_manager_get_group_members: build set additively - -commit 93c3b760f34e0a7faf3e766cd47438eb0058e1f2 -Author: Simon McVittie -Date: 2010-07-28 13:27:21 +0100 - - example_contact_list_manager_remove_from_group_async: build set additively - -commit 5d48d54d411d2b8bd7bf35d23054a9404e6991d2 -Author: Simon McVittie -Date: 2010-07-28 13:27:08 +0100 - - example_contact_list_manager_add_to_group_async: build sets additively - -commit 32ab5fc1a9c7a55fdaca47308a3dc535577d93f7 -Author: Simon McVittie -Date: 2010-07-28 13:26:54 +0100 - - example_contact_list_manager_set_group_members_async: build sets additively - - Copying the list of requested members, then removing those who weren't - created or added, is more confusing than it's worth. - -commit 8c72061d4f2cabc848bb69ca32cbf38f20895cc9 -Author: Simon McVittie -Date: 2010-07-28 13:07:00 +0100 - - tp_base_contact_list_contacts_changed: replace TpIntSetIter with TpIntSetFastIter - -commit 84ceb63dcda4b4ce7f51b3e46a70c4ca9251909b -Author: Simon McVittie -Date: 2010-07-28 13:05:33 +0100 - - contact-lists test: exercise remotely-cancelled publish requests - -commit da2ffd4a975ff668748f941f761d563e8a8ccf1b -Author: Simon McVittie -Date: 2010-07-28 13:05:05 +0100 - - contactlist example CM: track remotely-cancelled publication requests - - In the latest spec draft, these are state-recoverable too. - -commit 3b05ee1f4f835c56a0df6ccffef783e57115bdca -Author: Simon McVittie -Date: 2010-07-28 11:53:02 +0100 - - contact-lists test: after a subscribe request is rejected, acknowledge it - - telepathy-spec says we can do this, so it seems a good idea to try it. - -commit 095e5d9a07d66b043c274457f5e6bdb5f58c80cc -Author: Simon McVittie -Date: 2010-07-28 11:50:31 +0100 - - tp_base_contact_list_contacts_changed: set an appropriate actor for changes - -commit 85b04b1f40a6da12fb7c926ad9b80254ab1d4cd1 -Author: Simon McVittie -Date: 2010-07-28 11:20:15 +0100 - - Update ContactList draft - -commit bde38532926c32ec2c42f12fa7597f23c5e0aa9b -Author: Simon McVittie -Date: 2010-07-22 15:18:54 +0100 - - tp_base_contact_list_set_list_received: emit ContactListStateChanged last - - This means people can distinguish between the initial state and "real" - change notifications. - -commit d9902722b7794fc35007fc10328cf83b55f0313d -Author: Simon McVittie -Date: 2010-07-22 12:05:39 +0100 - - Document tp_base_contact_list_set_contact_groups_async as auto-creating groups - -commit 932a223c2a41fe76d737be3f2ae3bb833cf1ef26 -Author: Simon McVittie -Date: 2010-07-22 11:59:50 +0100 - - tp_base_contact_list_mixin_get_contact_list_attributes: improve variable naming - -commit 6eb182057f7b9bcc8f99eb65d722d1889cf8937c -Author: Simon McVittie -Date: 2010-07-22 11:59:29 +0100 - - tp_base_contact_list_groups_removed: improve variable naming - -commit 0435dbb66ac4da795461bb62b395d0ceab7fb6e8 -Author: Simon McVittie -Date: 2010-07-22 11:59:12 +0100 - - tp_base_contact_list_groups_created: improve variable naming - -commit cee00fccc615ba9a582c929085aa098fd633f635 -Author: Simon McVittie -Date: 2010-07-22 11:58:52 +0100 - - contact list example: rename temporary variable 'pa' to be more descriptive - -commit 9581be79bd3f4e4fb655211294b746892f0ddfc8 -Author: Simon McVittie -Date: 2010-07-22 11:34:10 +0100 - - Remove tp_base_contact_list_create_groups_async, which is no longer used - -commit 859f3c9a1831fe0b8f0a324ad2db71bc983dd8a5 -Author: Simon McVittie -Date: 2010-07-22 11:33:42 +0100 - - tp_base_contact_list_remove_group_async: correct a precondition - -commit 41621c60affed5cdc37dd9057327e2355e4609f6 -Author: Simon McVittie -Date: 2010-07-22 11:33:22 +0100 - - Implement group channel requests by adding an empty set to the group - - This is meant to work anyway, and will enable the create_groups method - to be removed. - -commit b6828fbceeca9b967831498e0850020d22387451 -Author: Simon McVittie -Date: 2010-07-22 11:29:35 +0100 - - contactlist example: create groups even if adding nobody to them - - SetGroupMembers("empty", []) and AddToGroup("empty", []) - should both create the group "empty" if it doesn't exist. - -commit ed4e4fb958ef7661bd0592c706b0b6762d3ba889 -Author: Simon McVittie -Date: 2010-07-21 17:30:08 +0100 - - Make contact list example more realistic - - In #28200 I said "it would be more realistic to have a separate list of - requests, and have the Telepathy contact list be the union of the - protocol roster and the requests list". This patch implements that. - -commit 5c18a27e9200bf1874cc15d807c3d009050b3f3b -Author: Simon McVittie -Date: 2010-07-20 18:45:32 +0100 - - TpBaseContactList: implement type_foreach_channel_class instead of foreach_channel_class - - This allows the channel classes to show up in TpBaseProtocol's properties. - -commit cc376936ef596e152fbe70d2d901c4a9dfb4ba7d -Merge: d12d287 359d480 -Author: Simon McVittie -Date: 2010-07-20 18:21:23 +0100 - - Merge branch 'master' into contact-list-draft3 - - Conflicts: - docs/reference/telepathy-glib-sections.txt - spec/Connection_Interface_Contact_Groups.xml - spec/Connection_Interface_Contact_List.xml - -commit d12d287503be60563f505d2e99683d23db821bae -Author: Simon McVittie -Date: 2010-07-19 18:34:46 +0100 - - Add tp_base_contact_list_get_state, tp_base_contact_list_get_connection - -commit 529f03d26da79e1e9317604eb889a6b34de6aca2 -Author: Simon McVittie -Date: 2010-07-19 18:31:46 +0100 - - Expose tp_base_contact_list_check_still_usable to subclasses - -commit 384fff1b7b5731758bd627a5f86cbd71b972be48 -Author: Simon McVittie -Date: 2010-07-19 18:15:32 +0100 - - contact-list example: emit ContactListStateChanged(WAITING) - -commit 13e1daece131bad7dc7d2871011a456e823b9010 -Author: Simon McVittie -Date: 2010-07-19 18:13:40 +0100 - - Emit ContactListStateChanged - -commit cc29060dceee0acf7bc3e8cd8ce42cf00d8a2279 -Author: Simon McVittie -Date: 2010-07-19 18:12:27 +0100 - - Add ContactListStateChanged signal - -commit e5db522a071c1fc823ac085895b56e107902cd18 -Author: Simon McVittie -Date: 2010-07-19 16:50:12 +0100 - - Add the ability to mark a TpBaseContactList as failed or pending - -commit d979ef8b54643fecc0717467aa6a75db0c968809 -Author: Simon McVittie -Date: 2010-07-19 15:51:56 +0100 - - tp_base_contact_list_mixin_get_contact_list_attributes: return synchronously - - This matches the draft 3 semantics. - -commit 99347d0f66131329659892137deb866bc235293f -Author: Simon McVittie -Date: 2010-07-19 15:38:12 +0100 - - contact list example: demonstrate the REJECTED subscription state - -commit 903f21bdf647c474bddafab23b1d63dcdc1594f8 -Author: Simon McVittie -Date: 2010-07-19 15:26:25 +0100 - - Track contact list state in terms of a TpContactListState - -commit 041ff9a99272697a58e7a1e5e07a29e57a4dee90 -Author: Simon McVittie -Date: 2010-07-19 15:25:56 +0100 - - Update ContactList spec to draft 3, but for the moment keep draft 2 semantics - -commit 701f4a7d89ecdcbaf258614ab7f3ba64aa72e0bd -Author: Simon McVittie -Date: 2010-07-19 14:57:11 +0100 - - tp_base_contact_list_free_contents: fix shadowing link(2) from unistd.h - - Recent GIO includes unistd.h. - -commit 7ccb874cca302cf41b18cdc7c25a21afc1bb8925 -Author: Simon McVittie -Date: 2010-07-19 14:51:40 +0100 - - TpBaseContactList: add pre-condition checks to match documentation - - Guillaume noticed during review that various methods documented that it - was an error to call the method before the contact list had been - retrieved, but didn't actually check it. - -commit 4305b1465f359d444b469234a02be580d82740f9 -Author: Simon McVittie -Date: 2010-06-28 14:32:09 +0100 - - tp_base_contact_list_emulate_rename_group: don't peek into the group mixin - -commit ae6d88a7791381b2a0b1e421d6968419f0c3a554 -Author: Simon McVittie -Date: 2010-06-28 14:30:05 +0100 - - tp_base_contact_list_group_renamed: don't peek into the group mixin - -commit ef89206816374f831ef2b4c7addbe8dae147cb6f -Author: Simon McVittie -Date: 2010-06-28 14:39:58 +0100 - - example_contact_list_manager_rename_group_async: signal rename before updating our model - - TpBaseContactList now requires this. - -commit d0f702e3a71154085f93ec0c1a39d03c10c4ff55 -Author: Simon McVittie -Date: 2010-06-28 14:29:46 +0100 - - tp_base_contact_list_groups_removed: use get_group_members rather than peeking at the group mixin - - Ideally, TpBaseContactList wouldn't store redundant information at all; - it'd just be a view onto the model provided by its subclass. - -commit deefabeaf3908f2f8c9dc3d94edbf7408065d172 -Author: Simon McVittie -Date: 2010-06-28 14:37:42 +0100 - - example_contact_list_manager_remove_group_async: actually update our model - -commit 7796c5f0e9c3fc11aa62e68391c51f2132494471 -Author: Simon McVittie -Date: 2010-06-28 14:20:46 +0100 - - tp_base_contact_list_groups_removed: don't leak old_members - -commit 70bbeaaf27f44038981c6d360532c843978660f5 -Author: Simon McVittie -Date: 2010-06-25 15:42:24 +0100 - - TpBaseContactList: add a mandatory set_group_members method - -commit 0858e76e8539540391f122ee99e882b71d593fce -Author: Simon McVittie -Date: 2010-06-25 15:36:40 +0100 - - emulate_rename_group_add_cb: don't assume same finish function as request_subscription - -commit 23faec6ab2dceec72e29839552368adf23e4047e -Author: Simon McVittie -Date: 2010-06-25 15:35:06 +0100 - - TpBaseContactList: add a mandatory method to get a group's members - -commit e7eb6aadb438266571cf106e8fe9e44512837605 -Author: Simon McVittie -Date: 2010-06-23 17:55:31 +0100 - - TpBaseContactList: add to/remove from groups in an async way - -commit 1c4987dcfb25607fa2ba6922b84bec202930613a -Author: Simon McVittie -Date: 2010-06-23 17:06:31 +0100 - - tp_base_contact_list_emulate_rename_group: don't assume remove_group returns a GSimpleAsyncResult - -commit 593840cc53d6e00f5795258f5db2f5dd1946a980 -Author: Simon McVittie -Date: 2010-06-23 17:02:13 +0100 - - TpBaseContactList: factor out default implementation of rename_group - -commit c175f36ede225270828483833eb106d8a6b34cdb -Author: Simon McVittie -Date: 2010-06-23 16:56:20 +0100 - - TpBaseContactList: rename groups asynchronously - -commit 92f99ab1015f80037ff4544acb60242f8f33d8b0 -Author: Simon McVittie -Date: 2010-06-23 16:41:16 +0100 - - TpBaseContactList: make remove_group async - -commit 32b009c6bcfb5d15c5ba51bb07d1fa9cf1942381 -Author: Simon McVittie -Date: 2010-06-23 16:02:07 +0100 - - TpBaseContactList: make create_groups async and able to fail - -commit 1f29fe17522688b00fae40ba940258bbd06053cc -Author: Simon McVittie -Date: 2010-06-23 15:49:58 +0100 - - tp_base_contact_list_rename_group: on fallback path, don't call create_groups - - We already rely on add_to_group to create the group if necessary; if we're - going to call create_groups explicitly, we should do that consistently, - later. - -commit 14da3922cbc6de96e482784715f082a0ecada80a -Author: Simon McVittie -Date: 2010-06-21 17:29:56 +0100 - - TpBaseContactList: make set_contact_groups asynchronous - -commit 79a1c677e860c63c493c3b24f6797fd153f0f43f -Author: Simon McVittie -Date: 2010-06-21 11:29:52 +0100 - - TpBaseContactList: use GAsyncResult for TpBaseContactListActOnContactsFunc - - This makes all of the old LIST channels able to report errors - asynchronously. - -commit 3addc46e475e35fba4bfa48c4dbd7830ae60abbb -Author: Simon McVittie -Date: 2010-06-21 11:12:42 +0100 - - request_subscription: adjust variable naming for better assertion message - - "iface != NULL" tells us very little, but "mutable_iface != NULL" is a - bit more useful. - -commit c0377cb78545f8f88d1e8e47ae704fa85096e999 -Author: Simon McVittie -Date: 2010-06-18 15:17:56 +0100 - - example_contact_list_manager_request_subscription_async: use tp_simple_async_report_success_in_idle - -commit eaad87e97515dce1b11ce9d74723c78e12ed81f9 -Author: Simon McVittie -Date: 2010-06-18 13:29:33 +0100 - - TpBaseContactList: make request_subscription async and able to fail - -commit 023b9aef4aa163c94d1873161eb54c6d5c3d3477 -Author: Simon McVittie -Date: 2010-06-17 15:40:36 +0100 - - Update ContactList, ContactGroups spec to tp-spec master - - This renames GetContactListAttributes to RequestContactList; all the other - spec changes were already implemented in this branch. - -commit 692f38ab7c448baa3a2355b8b3765060c819f45f -Merge: 1ea1d02 d95c553 -Author: Simon McVittie -Date: 2010-06-29 11:34:51 +0100 - - Merge branch 'master' into contact-list-reviewed - -commit 1ea1d02a52598ffb3c99c47d753e6ec6b2910c26 -Author: Simon McVittie -Date: 2010-06-16 18:45:56 +0100 - - Don't signal group changes/creations until we've had the initial contact list - - They'll be signalled later anyway, when the initial list arrives. - -commit 8cdd6b3ad5f30fafc0f4bb9f218ff8925c3037c5 -Author: Simon McVittie -Date: 2010-06-16 17:13:14 +0100 - - Emit ChannelClosed for contact list channels whenever they're removed - -commit 8ee0fad56d61aeb390594d40161290cfd58a5d4b -Author: Simon McVittie -Date: 2010-06-16 17:02:37 +0100 - - TpBaseContactList: don't include unannounced channels in foreach() - -commit c7afc6db19b1490f1719e7f2cbbfe891dce13d03 -Author: Simon McVittie -Date: 2010-06-16 17:02:19 +0100 - - Don't announce new channels as a side-effect of creating the object - - When creating a list or group channel because the subclass told us it - was created (or something was renamed to it), announce it explicitly - if appropriate. - - When creating a list or group channel in set_list_received, we don't need - to announce it, because it'll be announced in a moment anyway. - - When creating a list or group channel for a request, we don't want to - announce it. It'll be announced when appropriate - when the group is - actually created (for groups), or when the contact list is received - (for lists). - -commit b62561bd9cc739bec01507184bd8c5a011cd492e -Author: Simon McVittie -Date: 2010-06-16 16:27:29 +0100 - - tp_base_contact_list_set_list_received: announce list and group channels separately - -commit 92715f820e506d984473ad075fbb6993122098b1 -Author: Simon McVittie -Date: 2010-06-16 16:30:43 +0100 - - tp_base_contact_list_set_list_received: emit ContactsChanged and set up deny list before doing anything with groups - -commit d0f7c76578b38b30716980ac93bece21f10698ac -Author: Simon McVittie -Date: 2010-06-16 16:12:43 +0100 - - TpBaseContactList: make it OK to put NULL in the list of channel requests - -commit df28503375694564c091bd651ab60b20481cd237 -Author: Simon McVittie -Date: 2010-06-15 16:50:31 +0100 - - tp_base_contact_list_free_contents: remove unused variable - -commit 8850eb5b7d104605307f56e02b09adc7233a097a -Author: Simon McVittie -Date: 2010-06-10 17:29:01 +0100 - - tp_base_contact_list_constructed: don't demand get_group_storage - - It's not meant to be mandatory to implement. - -commit a7fdd62505d878e2301e27e2f53903ea0f56065d -Merge: 9e32fab 784b4a8 -Author: Simon McVittie -Date: 2010-06-15 13:49:12 +0100 - - Merge branch 'master' into contact-list-reviewed - - Conflicts: - docs/reference/telepathy-glib-sections.txt - -commit 9e32fabb264ae97ba625dd8ceac85c325ec9ba6e -Author: Simon McVittie -Date: 2010-06-07 15:43:57 +0100 - - Correct documentation of tp_connection_request_contact_list_attributes() - - As per Guillaume's review. - -commit e7fdb3f7ce3ef5a2cbc59c1562778c375b9838ed -Author: Simon McVittie -Date: 2010-06-03 19:08:00 +0100 - - Test GroupStorage property - -commit 891e97d5b9222483d6360c8f98e67417da5e4d53 -Author: Simon McVittie -Date: 2010-06-07 15:34:42 +0100 - - If GroupStorage is NONE, don't allow group memberships to be changed - -commit 6f0d4223af050ee5ef5c665ee9f1c3aa3c99c90a -Author: Simon McVittie -Date: 2010-06-07 15:34:23 +0100 - - Implement the GroupStorage property, adding a new, optional virtual method - -commit a5fdf315f1252278769f04f7c87e540b385a3bb8 -Author: Simon McVittie -Date: 2010-06-03 19:00:16 +0100 - - Test SetContactGroups - -commit 081a709f344998050bd1bcfe7814fa041bbf87bf -Author: Simon McVittie -Date: 2010-06-07 15:18:37 +0100 - - Add a set_contact_groups virtual method and implement SetContactGroups - -commit dd4e8161dd2ab432fb9d9ab7fe08f9927421d9a8 -Author: Simon McVittie -Date: 2010-06-07 14:56:06 +0100 - - ExampleContactListManager: have a specific implementation for renaming - - This changes the observable behaviour: the GroupRenamed signal is - emitted, and the two GroupsChanged signals are combined. - -commit 13e3dbf9e5e74b5c57df97933383a302abffbffc -Author: Simon McVittie -Date: 2010-06-03 17:37:10 +0100 - - ExampleContactListManager: allow tags to be created without signalling - - Then, use this to coalesce the result of create_groups() into a single - signal. - -commit b197783c6e322cf34c58fb122862ddfe1ca25c18 -Author: Simon McVittie -Date: 2010-06-07 14:42:29 +0100 - - Allow TpBaseContactList subclasses to supply a rename_group implementation - -commit f9b9262bce3d179659d05383793d174445357cbe -Author: Simon McVittie -Date: 2010-06-03 16:36:07 +0100 - - Test RenameGroup - -commit 9836da7c60317cc46886a082702a0e57006c4161 -Author: Simon McVittie -Date: 2010-06-07 13:44:42 +0100 - - Implement RenameGroup, in terms of adding contacts etc. - -commit 534713284a0fda907cb5561e85ae49a52c31b846 -Author: Simon McVittie -Date: 2010-06-03 16:16:57 +0100 - - Test SetGroupMembers - -commit 0d34a29cf18cd04155e35c6b8fee538b233eca73 -Author: Simon McVittie -Date: 2010-06-07 13:39:22 +0100 - - Implement SetGroupMembers - - Changes since previous review: - * use tp_base_contact_list_check_group_change - * use tp_base_contact_list_add_to_group etc. - * re-indent - -commit 7c07c979da2f07418d7464fb113d996b273b5b2d -Author: Simon McVittie -Date: 2010-06-03 18:02:12 +0100 - - Test the new API for AddToGroup, RemoveFromGroup, RemoveGroup - -commit 0ad4e102e01872d3f8328361d49bbd48dae193f1 -Author: Simon McVittie -Date: 2010-06-07 13:35:09 +0100 - - tp_base_contact_list_check_before_change: split into list and group parts - - In principle, we could have a TP_TYPE_MUTABLE_CONTACT_GROUP_LIST that - isn't a TP_TYPE_MUTABLE_CONTACT_LIST. - -commit ca156864b7b72b17b1c160f51db6a8be49cad530 -Author: Simon McVittie -Date: 2010-06-07 13:30:57 +0100 - - tp_base_contact_list_check_before_change: don't return the class - - It's no longer needed. - -commit f88d7731ea56b1ff6e9d37b461f4a6f719a0c689 -Author: Simon McVittie -Date: 2010-06-07 13:28:43 +0100 - - Implement AddToGroup, RemoveFromGroup, RemoveGroup - - Changes since previous review: - * use TP_IS_MUTABLE_CONTACT_GROUP_LIST to check for mutability - * use tp_base_contact_list_add_to_group etc. to make the changes - -commit 8903924c919b1019bec22b0cc7c86dcac28d9f49 -Author: Simon McVittie -Date: 2010-06-07 13:20:14 +0100 - - contact-lists: test the new APIs for altering the contact list - - Changes since previous review: - * merge tests/dbus/contact-lists.c - -commit e08da21e93093c5089e70d928a3a62b9ce638b90 -Author: Simon McVittie -Date: 2010-06-07 13:16:54 +0100 - - TpBaseContactList: implement methods to modify the contact list - - Changes since previous review: - * use tp_base_contact_list_request_subscription() etc., which no longer - take a GError argument - -commit 5ddb8c255d62d2b7c8b61d1e3eb77fd92083f78a -Author: Simon McVittie -Date: 2010-06-03 14:53:06 +0100 - - Test tp_connection_request_contact_list_attributes - -commit ab402ac69352712dc6609fb3849a9406d1caf145 -Author: Simon McVittie -Date: 2010-06-07 13:05:00 +0100 - - TpBaseContactList: implement GetContactListAttributes - - Changes since previous review: - * call the virtual method via tp_base_contact_list_get_contacts - * remove now-unused variable 'cls' - -commit c3cfebc301c94b8ed74de81a6338930fca65a406 -Author: Simon McVittie -Date: 2010-06-03 13:49:08 +0100 - - "Undocument" ...call_get_contact_list_attributes - -commit d8eb4ec496873cc1d3f3a50ec88fd5f456afa245 -Author: Simon McVittie -Date: 2010-06-03 13:47:59 +0100 - - tp_connection_request_contact_list_attributes: add - - This needs a specific binding for the same reasons as - GetContactAttributes. I've called it _request_ rather than _get_ since - I plan to rename the underlying D-Bus method at some point. - -commit 8d5d7baa7603f0b31456c94d566bf86a8d32b26c -Author: Simon McVittie -Date: 2010-06-07 12:53:42 +0100 - - Test that contacts have the expected contact-list attributes - -commit d4e919f73a443d3e4ec3547526215607a5d1bad5 -Author: Simon McVittie -Date: 2010-06-03 12:30:03 +0100 - - contact-lists test: test the ContactList, ContactGroups properties - -commit 77b4b61b76c5df24362b6b3c2942a8388a336424 -Author: Simon McVittie -Date: 2010-06-03 11:56:36 +0100 - - Implement the List and Groups interfaces in the contactlist example - -commit 570465310a06171e986a92bd6bd49e9d8bf9389f -Author: Simon McVittie -Date: 2010-06-07 12:50:03 +0100 - - TpBaseContactList intro: explain how to use it - -commit 7804cabfea7b4dbb477e3a95df47f0d577f9dab2 -Author: Simon McVittie -Date: 2010-06-07 12:48:15 +0100 - - Only register ContactGroups with TpContactsMixin if TP_TYPE_CONTACT_GROUP_LIST is implemented - -commit 82f04c4909821298ecbea278d239f6ccdf10904c -Author: Simon McVittie -Date: 2010-06-07 12:47:13 +0100 - - Document that tp_base_contact_list_mixin_groups_iface_init requires TP_TYPE_CONTACT_GROUP_LIST - -commit b650f02441d3fdfaf0c67408a768ce2be6be21d5 -Author: Simon McVittie -Date: 2010-06-07 12:45:46 +0100 - - Implement D-Bus properties and contact attributes in the contact list "mixin" - - Changes since earlier review: - * call tp_base_contact_list_get_subscriptions_persist etc. rather than - calling virtual functions directly - * g_return_if_fail (TP_IS_CONTACT_GROUP_LIST)) for group D-Bus properties - and contact attributes - -commit 659e26aa4217e6324922fc903ede5e0e6e1ce798 -Merge: 24bfb17 a0af212 -Author: Simon McVittie -Date: 2010-06-07 12:22:58 +0100 - - Merge branch 'master' into contact-list-merge-master - -commit 24bfb174819693df0da1739697333dc205645885 -Author: Simon McVittie -Date: 2010-06-04 11:38:32 +0100 - - TpBaseContactList: comment svc_contact_list, svc_contact_groups - - As per Guillaume's review. - -commit f7944fc96691c7dc033d5d7196a633d9b58ad195 -Author: Simon McVittie -Date: 2010-06-02 14:37:53 +0100 - - contact-lists test: test ContactGroups change signals - -commit 475fa35d86798ea42fccfd628953395d5246a190 -Author: Simon McVittie -Date: 2010-06-02 14:37:33 +0100 - - ExampleContactListConnection: implement a stub form of ContactGroups - -commit c14cafb8da093d6c48ada8a1a4c0f41f57031600 -Author: Simon McVittie -Date: 2010-06-02 14:13:15 +0100 - - TpBaseContactList: when groups change, emit signals - -commit f3dfedd23153f49db7e6ca2d0017a80b6187294b -Author: Simon McVittie -Date: 2010-06-03 19:16:09 +0100 - - TpBaseContactList: when renaming a group, emit signals - -commit 6eaac0c9c27410bd522551188fd7ed67a3ed5a9f -Author: Simon McVittie -Date: 2010-06-02 14:10:19 +0100 - - TpBaseContactList: emit GroupsRemoved and GroupsChanged when removing a group - - Also emit debug messages when doing so. - -commit 5d1d157d2432a78c4254708e39f346b1cd84c845 -Author: Simon McVittie -Date: 2010-06-02 14:09:23 +0100 - - TpBaseContactList: emit GroupsCreated, and debug about it - -commit 1402e88674e70177de4d2ae5432773bbe2026d4b -Author: Simon McVittie -Date: 2010-06-02 13:38:40 +0100 - - contact-lists test: assert that ContactsChanged is emitted correctly - -commit 70d2d5ee9d596ca938953ebf0209f755d6aa4ef5 -Author: Simon McVittie -Date: 2010-06-02 13:25:15 +0100 - - ExampleContactListConnection: implement a stub version of ContactList - - The methods won't work yet, but the signals can be emitted. - -commit 79059e698bf96bd8c2c50031a7b453fbe8145ba8 -Author: Simon McVittie -Date: 2010-06-02 12:41:12 +0100 - - TpBaseContactList: emit ContactsChanged if possible - -commit 676a5d18a9c2b351649df76dd929336ad9714302 -Author: Simon McVittie -Date: 2010-06-02 12:39:55 +0100 - - TpBaseContactList: remember whether our connection implements the interfaces - -commit 140b2d0c41640c4236dd875fb8bce607a6a46269 -Author: Simon McVittie -Date: 2010-06-02 12:35:51 +0100 - - _tp_base_connection_find_channel_manager: add - - TpBaseContactList's implementations of the ContactList and ContactGroups - interfaces will need this in order to find the actual TpBaseContactList. - -commit ce89046ff714078f7b7f83682761210f9819de09 -Author: Simon McVittie -Date: 2010-06-02 12:17:05 +0100 - - TpContactsMixin: expose _tp_contacts_mixin_get_contact_attributes internally - - The contact list interface will need this in order to implement - GetContactListAttributes. - -commit 056c544da37479372848abc2c3fad7f70dc6f549 -Author: Simon McVittie -Date: 2010-06-02 18:55:35 +0100 - - Enable code generation for ContactList, ContactGroup - -commit 48d494abf22962b96474a0adb066792f21877f03 -Author: Simon McVittie -Date: 2010-05-31 16:40:00 +0100 - - Behave as if ContactList, ContactGroup were stable D-Bus API - -commit d05f4c888c6be0a0d0a1cc2245a555834aa81439 -Author: Simon McVittie -Date: 2010-06-04 16:55:29 +0100 - - example_contact_list_manager_request_subscription: only emit ContactsChanged for contacts who actually changed - -commit fdd4f24eede73f7ab9b5302ad2b04c66c50f0685 -Author: Simon McVittie -Date: 2010-06-04 16:14:01 +0100 - - test_add_to_publish_invalid: rename to test_add_to_publish_pre_approve and test pre-approval - -commit 48ccc97dfe138138392795e1d7452a76601334df -Author: Simon McVittie -Date: 2010-06-04 16:57:39 +0100 - - example_contact_list_manager_authorize_publication: implement "pre-approve" semantics - -commit 6d0a4ba8dcef17a3abdf52e10316999c5fcf20d5 -Author: Simon McVittie -Date: 2010-06-04 16:00:00 +0100 - - Move contact group alterations to TpMutableContactGroupListInterface - - This clarifies the situation regarding partial implementations: you're - meant to implement all of them. - -commit 232752fa44039cfe2fe69e5b93410df00a138936 -Author: Simon McVittie -Date: 2010-06-04 15:34:18 +0100 - - tp_base_contact_list_request_helper: allow requesting group channels if we support groups at all - -commit 61945688667a3579100bf34632e12db96fb4b3f0 -Author: Simon McVittie -Date: 2010-06-04 15:33:52 +0100 - - TpBaseContactList: move basic group methods to TpContactGroupListInterface - -commit ea561549e90c251a951f0200387de57c22c2ebc8 -Author: Simon McVittie -Date: 2010-06-04 14:28:31 +0100 - - TpBaseContactList: move blocking to TpBlockableContactListInterface - - Also remove the get_contact_blocked virtual method, which is redundant - with tp_base_contact_list_get_blocked_contacts. - -commit 29d64267eb9494792f57d12e6624d20a9cff35a6 -Author: Simon McVittie -Date: 2010-06-04 13:59:20 +0100 - - TpBaseContactList: put the modify accessors on a GInterface - - This should make it possible to implement them in bindings, and we can - safely add additional function pointers to a GInterface. - - Also, change the signature of TpBaseContactListActOnContactsFunc to - return void. - -commit 067eed0b504a7b4d21009a0a45965b28946e426a -Author: Simon McVittie -Date: 2010-06-04 12:40:31 +0100 - - TpBaseContactList: make the read-only list accessors normal virtual methods - - This makes it more conventional GObject code, and easier to implement - in language bindings. - -commit 9912266df5b75071a2272cf5843a0022134cf346 -Author: Simon McVittie -Date: 2010-06-03 19:12:41 +0100 - - tp_base_contact_list_group_renamed: get the new and old names the right way round - -commit a1d12acec0ba830904c9a53b690f12d6bfb0d29a -Author: Simon McVittie -Date: 2010-06-03 18:00:26 +0100 - - Correct the name of test_remove_group_empty() - - It actually removes an empty group; test_remove_group is a non-empty group. - -commit e1610e7cf923fe442e4cc346517bcc8f0502ae15 -Author: Simon McVittie -Date: 2010-06-03 12:33:26 +0100 - - TpBaseContactList: fill in a default implementation for disjoint_groups() - -commit fc1438db9f37d08f510a050830929d31beb6920f -Author: Simon McVittie -Date: 2010-06-03 17:57:10 +0100 - - tp_base_contact_list_group_renamed: fix thinko when creating new channels - - There's no point in redoing the hash table lookup until after we've - (hopefully) created the channel. - -commit 8c44286eb53389a0d7f43f3fb6f02f7519f40ef4 -Author: Simon McVittie -Date: 2010-06-03 17:56:25 +0100 - - tp_base_contact_list_group_renamed: don't assume the old handle remains valid - - Before removing the old channel, we need to hold a reference to its - handle, so we can use its identifier in the GroupsChanged signal. - -commit f607d36745b62979e4bc449f397b63859b250f00 -Author: Simon McVittie -Date: 2010-06-02 18:11:53 +0100 - - ExampleContactListManager: use tp_clear_object, etc. - -commit af91f9fc72f430fee817c16b3ad7919cb261ebe5 -Author: Simon McVittie -Date: 2010-06-02 18:11:34 +0100 - - TpBaseContactList: use tp_clear_object, etc. - -commit aa1867f5af447a659df995530bf91693ba61f70e -Author: Simon McVittie -Date: 2010-06-02 16:26:07 +0100 - - ExampleContactListManager: add a group-creation callback - -commit e1203ae1417ebb3acdefbc197c19323d3ca8486d -Author: Simon McVittie -Date: 2010-06-02 16:25:48 +0100 - - TpBaseContactList: call a subclass-provided function to create groups - - Previously, we'd just declare that the group existed, which is unhelpful - for protocols where creating a group is an explicit action. - -commit 54c2435372f6a4985748ed82162581ea9b50bf53 -Author: Simon McVittie -Date: 2010-06-02 13:24:47 +0100 - - example contact list CM: clear publish requests correctly - - Previously, we kept the publish request even when clearing the - publish_requested flag. - -commit cd046595f56da15b710fc041f029149432a3dd96 -Author: Simon McVittie -Date: 2010-06-02 12:38:44 +0100 - - TpBaseContactList: rename queued_requests to channel_requests - - When implementing the new D-Bus API, we'll also need a queue of structs - representing GetContactListAttribute calls, so we should be specific about - which requests are queued here. - -commit 3c481f2903a032dc27cc7ffb0f5d01b31fddc3a7 -Author: Simon McVittie -Date: 2010-05-31 16:20:58 +0100 - - Rename TpBaseContactList implementation files to match its new name - -commit 69d6748612716941168d697b8137f88acda80e53 -Author: Simon McVittie -Date: 2010-05-31 16:16:20 +0100 - - Rename TpContactListManager to TpBaseContactList - -commit 0673b400fcb8f5d33149a5a9f766ce7f17cc8c2c -Merge: 389aae1 dc4bb11 -Author: Simon McVittie -Date: 2010-06-02 18:57:40 +0100 - - Merge branch 'master' into contact-list-merge-master - -commit 389aae1bad531d805d28fb958eb2145ee1f51548 -Author: Simon McVittie -Date: 2010-05-31 15:41:02 +0100 - - Consistently use TpIntSetFastIter in the contact list manager - -commit a00765c90fd788386ec29df8aa42c489a2d786cf -Author: Simon McVittie -Date: 2010-05-31 15:31:35 +0100 - - TpContactListManager: allow strv arguments to be array+length - - (array,length), where length is signed and -1 means NULL-terminated, seems - the best of both worlds: it's convenient for a GPtrArray-like argument, - and for bindings, but also for a NULL-terminated argument in C. - This avoids having to construct temporary strvs of length 1 in the common - case where there's one contact. - - (g_variant_new_strv has a similar calling convention.) - -commit 24598d339a2fc3921f44f4fd40dd2337c99b79b3 -Author: Simon McVittie -Date: 2010-05-31 14:38:10 +0100 - - Clarify comments in ExampleContactListManager a little - -commit 8803fa36af4c7bea22acdbe9bf6bf3ab009ef126 -Author: Simon McVittie -Date: 2010-05-31 14:36:33 +0100 - - remove excess whitespace - -commit 516fdf6cc01b77692646eb40c9368854d2420924 -Author: Simon McVittie -Date: 2010-05-31 14:34:53 +0100 - - tp_contact_list_manager_init: don't use g_direct_hash explicitly - - Using NULL has the same effect but is a little more efficient. - - Also, don't use g_hash_table_new_full where g_hash_table_new would do - - queued_requests doesn't need key or value destructors. - -commit da49eff7a0e9e7ca9fdca61d9f25254869909e68 -Author: Simon McVittie -Date: 2010-05-31 14:33:43 +0100 - - TpContactListManager: comment what's going on with the normalization data - -commit 18890bbfe34d5d8494d8ba3037013a65aa71ed43 -Author: Simon McVittie -Date: 2010-05-31 14:24:37 +0100 - - TpBaseContactListChannel: turn borrowed refs into real refs - - These refs persist until the channel is closed by the channel manager. - -commit ac0e1b424f3a505bcde0ef4f66be7089512925f6 -Author: Simon McVittie -Date: 2010-05-25 14:14:40 +0100 - - contactlist example CM: use TpContactListManager for contact groups - -commit d64a9f9e55455bfdd2e3baa8efb81824fc583529 -Author: Simon McVittie -Date: 2010-05-25 14:13:51 +0100 - - TpContactListManager: add support for contact group channels - -commit 68118a86b10735bf501d0870147f5c899e0ba906 -Author: Simon McVittie -Date: 2010-05-25 13:34:08 +0100 - - contact-lists test: test the deny list - -commit c1667d5ccd15a58184a31095984885a28d1f92ef -Author: Simon McVittie -Date: 2010-05-25 13:33:26 +0100 - - contactlist example: add support for the deny list - -commit cab0a37ad1f21ee4091377d0da9362ee42f23fdf -Author: Simon McVittie -Date: 2010-05-25 13:33:05 +0100 - - TpContactListManager: add support for the 'deny' list - -commit b3bd1cbe24907b2462c8b4fd89170ffe2a319f77 -Author: Simon McVittie -Date: 2010-05-24 16:55:55 +0100 - - Contact List example: be a TpContactListManager, for LIST channels - - This changes the behaviour of test_add_to_publish_invalid: previously, - AddMembers() would fail, but now it succeeds (and does nothing, in our - example). - - For the moment, this example still implements GROUP handles and channels - itself. - -commit f56db201f69bc10768fc365128025a21157acf04 -Author: Simon McVittie -Date: 2010-05-25 11:56:59 +0100 - - TpContactListManager: implement TP_HANDLE_TYPE_LIST channels - - "deny" is currently a stub. - -commit 02608193ffe263663f2a3d3131aadfad485640be -Author: Simon McVittie -Date: 2010-05-14 15:32:06 +0100 - - TpContactListManager: make handle repositories - -commit b08570640f6a453154926aa24291b3164d43ec56 -Author: Simon McVittie -Date: 2010-05-10 21:21:01 +0100 - - Add a set of stub classes for contact lists and groups - -commit 8937722fb43f855c59b5f68a60c5fccc9fb85496 -Author: Simon McVittie -Date: 2010-05-10 20:10:56 +0100 - - TpContactListManager: add a stub implementation - -commit c728b978e9fa1ef965d26990369f983b3dc47699 -Author: Simon McVittie -Date: 2010-05-18 18:35:08 +0100 - - _tp_dynamic_handle_repo_get_normalization_data: add - -commit 568f5152e5fa13698c9ca19a71a755477d45dc94 -Author: Simon McVittie -Date: 2010-05-14 15:29:00 +0100 - - TpBaseConnection: add API for TpContactListManager to add handle repositories - - In the Connection.Interface.ContactList future, the existence of the - LIST and GROUP handle types should become a backwards-compatible - implementation detail - CM implementors shouldn't be required to - remember to make handle repositories for them, and when we stop supporting - ContactList channels they should just go away. diff -Nru telepathy-glib-0.17.7/config.guess telepathy-glib-0.18.0/config.guess --- telepathy-glib-0.17.7/config.guess 2012-01-31 20:22:34.000000000 +0000 +++ telepathy-glib-0.18.0/config.guess 2012-04-02 20:31:38.000000000 +0000 @@ -2,9 +2,9 @@ # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2011-05-11' +timestamp='2012-02-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -17,9 +17,7 @@ # General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -57,8 +55,8 @@ Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -145,7 +143,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward @@ -792,13 +790,12 @@ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) - case ${UNAME_MACHINE} in - pc98) - echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + UNAME_PROCESSOR=`/usr/bin/uname -p` + case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) - echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; + echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) @@ -807,6 +804,9 @@ *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; + i*:MSYS*:*) + echo ${UNAME_MACHINE}-pc-msys + exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 @@ -861,6 +861,13 @@ i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + aarch64:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; @@ -895,13 +902,16 @@ echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) - echo cris-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; crisv32:Linux:*:*) - echo crisv32-axis-linux-gnu + echo ${UNAME_MACHINE}-axis-linux-gnu exit ;; frv:Linux:*:*) - echo frv-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit ;; + hexagon:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu @@ -943,7 +953,7 @@ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) - echo or32-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu @@ -978,13 +988,13 @@ echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; tile*:Linux:*:*) - echo ${UNAME_MACHINE}-tilera-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) - echo x86_64-unknown-linux-gnu + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -1315,6 +1325,9 @@ i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; + x86_64:VMkernel:*:*) + echo ${UNAME_MACHINE}-unknown-esx + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 diff -Nru telepathy-glib-0.17.7/config.sub telepathy-glib-0.18.0/config.sub --- telepathy-glib-0.17.7/config.sub 2012-01-31 20:22:34.000000000 +0000 +++ telepathy-glib-0.18.0/config.sub 2012-04-02 20:31:38.000000000 +0000 @@ -2,9 +2,9 @@ # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, -# 2011 Free Software Foundation, Inc. +# 2011, 2012 Free Software Foundation, Inc. -timestamp='2011-03-23' +timestamp='2012-02-10' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -21,9 +21,7 @@ # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA -# 02110-1301, USA. +# along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -76,8 +74,8 @@ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, -2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free -Software Foundation, Inc. +2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 +Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -132,6 +130,10 @@ os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; + android-linux) + os=-linux-android + basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown + ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] @@ -247,17 +249,22 @@ # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ + | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ + | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ + | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ + | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ @@ -291,7 +298,7 @@ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ - | rx \ + | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -300,7 +307,7 @@ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ - | v850 | v850e \ + | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) @@ -315,8 +322,7 @@ c6x) basic_machine=tic6x-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12 | picochip) - # Motorola 68HC11/12. + m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; @@ -329,7 +335,10 @@ strongarm | thumb | xscale) basic_machine=arm-unknown ;; - + xgate) + basic_machine=$basic_machine-unknown + os=-none + ;; xscaleeb) basic_machine=armeb-unknown ;; @@ -352,11 +361,13 @@ # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ + | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ + | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ @@ -365,8 +376,10 @@ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ + | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ @@ -400,7 +413,7 @@ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ - | romp-* | rs6000-* | rx-* \ + | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ @@ -408,10 +421,11 @@ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile-* | tilegx-* \ + | tile*-* \ | tron-* \ | ubicom32-* \ - | v850-* | v850e-* | vax-* \ + | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ + | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ @@ -711,7 +725,6 @@ i370-ibm* | ibm*) basic_machine=i370-ibm ;; -# I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 @@ -808,10 +821,18 @@ ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; + msys) + basic_machine=i386-pc + os=-msys + ;; mvs) basic_machine=i370-ibm os=-mvs ;; + nacl) + basic_machine=le32-unknown + os=-nacl + ;; ncr3000) basic_machine=i486-ncr os=-sysv4 @@ -1120,13 +1141,8 @@ basic_machine=t90-cray os=-unicos ;; - # This must be matched before tile*. - tilegx*) - basic_machine=tilegx-unknown - os=-linux-gnu - ;; tile*) - basic_machine=tile-unknown + basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) @@ -1336,7 +1352,7 @@ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ + | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ @@ -1548,9 +1564,6 @@ ;; m68000-sun) os=-sunos3 - # This also exists in the configure program, but was not the - # default. - # os=-sunos4 ;; m68*-cisco) os=-aout diff -Nru telepathy-glib-0.17.7/configure telepathy-glib-0.18.0/configure --- telepathy-glib-0.17.7/configure 2012-03-22 21:35:37.000000000 +0000 +++ telepathy-glib-0.18.0/configure 2012-04-02 20:31:37.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for Telepathy-GLib 0.17.7. +# Generated by GNU Autoconf 2.68 for Telepathy-GLib 0.18.0. # # Report bugs to . # @@ -631,8 +631,8 @@ # Identity of this package. PACKAGE_NAME='Telepathy-GLib' PACKAGE_TARNAME='telepathy-glib' -PACKAGE_VERSION='0.17.7' -PACKAGE_STRING='Telepathy-GLib 0.17.7' +PACKAGE_VERSION='0.18.0' +PACKAGE_STRING='Telepathy-GLib 0.18.0' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=Telepathy&component=tp-glib' PACKAGE_URL='' @@ -1469,7 +1469,7 @@ # 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-GLib 0.17.7 to adapt to many kinds of systems. +\`configure' configures Telepathy-GLib 0.18.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1539,7 +1539,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Telepathy-GLib 0.17.7:";; + short | recursive ) echo "Configuration of Telepathy-GLib 0.18.0:";; esac cat <<\_ACEOF @@ -1692,7 +1692,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Telepathy-GLib configure 0.17.7 +Telepathy-GLib configure 0.18.0 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. @@ -2182,7 +2182,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Telepathy-GLib $as_me 0.17.7, which was +It was created by Telepathy-GLib $as_me 0.18.0, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ @@ -3000,7 +3000,7 @@ # Define the identity of the package. PACKAGE='telepathy-glib' - VERSION='0.17.7' + VERSION='0.18.0' cat >>confdefs.h <<_ACEOF @@ -12501,9 +12501,9 @@ -LT_CURRENT=69 +LT_CURRENT=70 LT_REVISION=0 -LT_AGE=69 +LT_AGE=70 @@ -17551,7 +17551,7 @@ fi -ac_config_files="$ac_config_files Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml examples/Makefile examples/client/Makefile examples/client/js/Makefile examples/client/python/Makefile examples/client/stream-tubes/Makefile examples/cm/Makefile examples/cm/call/Makefile examples/cm/channelspecific/Makefile examples/cm/contactlist/Makefile examples/cm/echo-message-parts/Makefile examples/cm/extended/Makefile examples/cm/no-protocols/Makefile examples/extensions/Makefile spec/Makefile telepathy-glib/Makefile telepathy-glib/telepathy-glib.pc telepathy-glib/telepathy-glib-uninstalled.pc tests/Makefile tests/lib/Makefile tests/dbus/Makefile tests/tools/Makefile tools/Makefile m4/Makefile vala/Makefile" +ac_config_files="$ac_config_files Makefile docs/Makefile docs/reference/Makefile docs/reference/version.xml examples/Makefile examples/client/Makefile examples/client/js/Makefile examples/client/python/Makefile examples/client/stream-tubes/Makefile examples/client/dbus-tubes/Makefile examples/cm/Makefile examples/cm/call/Makefile examples/cm/channelspecific/Makefile examples/cm/contactlist/Makefile examples/cm/echo-message-parts/Makefile examples/cm/extended/Makefile examples/cm/no-protocols/Makefile examples/extensions/Makefile spec/Makefile telepathy-glib/Makefile telepathy-glib/telepathy-glib.pc telepathy-glib/telepathy-glib-uninstalled.pc tests/Makefile tests/lib/Makefile tests/dbus/Makefile tests/tools/Makefile tools/Makefile m4/Makefile vala/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -18147,7 +18147,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Telepathy-GLib $as_me 0.17.7, which was +This file was extended by Telepathy-GLib $as_me 0.18.0, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -18213,7 +18213,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Telepathy-GLib config.status 0.17.7 +Telepathy-GLib config.status 0.18.0 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" @@ -18729,6 +18729,7 @@ "examples/client/js/Makefile") CONFIG_FILES="$CONFIG_FILES examples/client/js/Makefile" ;; "examples/client/python/Makefile") CONFIG_FILES="$CONFIG_FILES examples/client/python/Makefile" ;; "examples/client/stream-tubes/Makefile") CONFIG_FILES="$CONFIG_FILES examples/client/stream-tubes/Makefile" ;; + "examples/client/dbus-tubes/Makefile") CONFIG_FILES="$CONFIG_FILES examples/client/dbus-tubes/Makefile" ;; "examples/cm/Makefile") CONFIG_FILES="$CONFIG_FILES examples/cm/Makefile" ;; "examples/cm/call/Makefile") CONFIG_FILES="$CONFIG_FILES examples/cm/call/Makefile" ;; "examples/cm/channelspecific/Makefile") CONFIG_FILES="$CONFIG_FILES examples/cm/channelspecific/Makefile" ;; diff -Nru telepathy-glib-0.17.7/configure.ac telepathy-glib-0.18.0/configure.ac --- telepathy-glib-0.17.7/configure.ac 2012-03-22 21:34:23.000000000 +0000 +++ telepathy-glib-0.18.0/configure.ac 2012-04-02 20:25:10.000000000 +0000 @@ -10,8 +10,8 @@ # set nano_version to 1 m4_define([tp_glib_major_version], [0]) -m4_define([tp_glib_minor_version], [17]) -m4_define([tp_glib_micro_version], [7]) +m4_define([tp_glib_minor_version], [18]) +m4_define([tp_glib_micro_version], [0]) m4_define([tp_glib_nano_version], [0]) # If library source has changed since last release, increment revision @@ -26,9 +26,9 @@ # (we don't guarantee that we won't add ABI then remove it again, if it was # never seen in a release). -m4_define([tp_glib_lt_current], [69]) +m4_define([tp_glib_lt_current], [70]) m4_define([tp_glib_lt_revision], [0]) -m4_define([tp_glib_lt_age], [69]) +m4_define([tp_glib_lt_age], [70]) # Some magic m4_define([tp_glib_base_version], @@ -318,6 +318,7 @@ examples/client/js/Makefile \ examples/client/python/Makefile \ examples/client/stream-tubes/Makefile \ + examples/client/dbus-tubes/Makefile \ examples/cm/Makefile \ examples/cm/call/Makefile \ examples/cm/channelspecific/Makefile \ diff -Nru telepathy-glib-0.17.7/debian/changelog telepathy-glib-0.18.0/debian/changelog --- telepathy-glib-0.17.7/debian/changelog 2012-03-28 20:19:11.000000000 +0000 +++ telepathy-glib-0.18.0/debian/changelog 2012-04-03 15:51:53.000000000 +0000 @@ -1,3 +1,18 @@ +telepathy-glib (0.18.0-1ubuntu1) precise; urgency=low + + * Merge with Debian experimental. Remaining Ubuntu changes: + - ludicrous-timeout-for-lp-buildd.patch: Cope with launchpad-buildd's + slightly sad output buffering/handling. + + -- Ken VanDine Tue, 03 Apr 2012 10:16:49 -0400 + +telepathy-glib (0.18.0-1) experimental; urgency=low + + * New upstream release. + * debian/libtelepathy-glib0.symbols: Updated. + + -- Jonny Lamb Mon, 02 Apr 2012 17:18:11 -0400 + telepathy-glib (0.17.7-1ubuntu1) precise-proposed; urgency=low * Merge with Debian experimental. Remaining Ubuntu changes: diff -Nru telepathy-glib-0.17.7/debian/libtelepathy-glib0.symbols telepathy-glib-0.18.0/debian/libtelepathy-glib0.symbols --- telepathy-glib-0.17.7/debian/libtelepathy-glib0.symbols 2012-03-28 18:43:04.000000000 +0000 +++ telepathy-glib-0.18.0/debian/libtelepathy-glib0.symbols 2012-04-03 14:15:59.000000000 +0000 @@ -48,6 +48,7 @@ TELEPATHY_GLIB_0.17.5@TELEPATHY_GLIB_0.17.5 0.17.5 TELEPATHY_GLIB_0.17.6@TELEPATHY_GLIB_0.17.6 0.17.6 TELEPATHY_GLIB_0.17.7@TELEPATHY_GLIB_0.17.7 0.17.7 + TELEPATHY_GLIB_0.18.0@TELEPATHY_GLIB_0.18.0 0.18.0 TELEPATHY_GLIB_0.7.0@TELEPATHY_GLIB_0.7.0 0.7.1 TELEPATHY_GLIB_0.7.10@TELEPATHY_GLIB_0.7.10 0.7.10 TELEPATHY_GLIB_0.7.12@TELEPATHY_GLIB_0.7.12 0.7.12 @@ -360,6 +361,8 @@ tp_base_contact_list_can_change_contact_list@TELEPATHY_GLIB_0.13.0 0.13.0 tp_base_contact_list_contact_blocking_changed@TELEPATHY_GLIB_0.13.0 0.13.0 tp_base_contact_list_contacts_changed@TELEPATHY_GLIB_0.13.0 0.13.0 + tp_base_contact_list_download_async@TELEPATHY_GLIB_0.18.0 0.18.0 + tp_base_contact_list_download_finish@TELEPATHY_GLIB_0.18.0 0.18.0 tp_base_contact_list_dup_blocked_contacts@TELEPATHY_GLIB_0.13.0 0.13.0 tp_base_contact_list_dup_contact_groups@TELEPATHY_GLIB_0.13.0 0.13.0 tp_base_contact_list_dup_contacts@TELEPATHY_GLIB_0.13.0 0.13.0 @@ -369,6 +372,7 @@ tp_base_contact_list_false_func@TELEPATHY_GLIB_0.13.0 0.13.0 tp_base_contact_list_get_connection@TELEPATHY_GLIB_0.13.0 0.13.0 tp_base_contact_list_get_contact_list_persists@TELEPATHY_GLIB_0.13.0 0.13.0 + tp_base_contact_list_get_download_at_connection@TELEPATHY_GLIB_0.18.0 0.18.0 tp_base_contact_list_get_group_storage@TELEPATHY_GLIB_0.13.0 0.13.0 tp_base_contact_list_get_request_uses_message@TELEPATHY_GLIB_0.13.0 0.13.0 tp_base_contact_list_get_state@TELEPATHY_GLIB_0.13.0 0.13.0 @@ -1476,9 +1480,14 @@ tp_dbus_properties_mixin_set@TELEPATHY_GLIB_0.15.8 0.15.8 tp_dbus_properties_mixin_setter_gobject_properties@TELEPATHY_GLIB_0.7.3 0.7.3 tp_dbus_specialized_value_slice_new@TELEPATHY_GLIB_0.7.0 0.7.1 + tp_dbus_tube_channel_accept_async@TELEPATHY_GLIB_0.18.0 0.18.0 + tp_dbus_tube_channel_accept_finish@TELEPATHY_GLIB_0.18.0 0.18.0 + tp_dbus_tube_channel_feature_quark_core@TELEPATHY_GLIB_0.18.0 0.18.0 tp_dbus_tube_channel_get_parameters@TELEPATHY_GLIB_0.15.6 0.15.6 tp_dbus_tube_channel_get_service_name@TELEPATHY_GLIB_0.15.6 0.15.6 tp_dbus_tube_channel_get_type@TELEPATHY_GLIB_0.15.6 0.15.6 + tp_dbus_tube_channel_offer_async@TELEPATHY_GLIB_0.18.0 0.18.0 + tp_dbus_tube_channel_offer_finish@TELEPATHY_GLIB_0.18.0 0.18.0 tp_debug_divert_messages@TELEPATHY_GLIB_0.7.1 0.7.1 tp_debug_sender_add_message@TELEPATHY_GLIB_0.7.36 0.7.36 tp_debug_sender_add_message_printf@TELEPATHY_GLIB_0.13.13 0.13.13 diff -Nru telepathy-glib-0.17.7/depcomp telepathy-glib-0.18.0/depcomp --- telepathy-glib-0.17.7/depcomp 2012-01-31 20:22:35.000000000 +0000 +++ telepathy-glib-0.18.0/depcomp 2012-04-02 20:31:40.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2009-04-28.21; # UTC +scriptversion=2011-12-04.11; # UTC -# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free -# Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010, +# 2011 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -44,7 +44,7 @@ object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. - tmpdepfile Temporary file to use when outputing dependencies. + tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . @@ -90,10 +90,18 @@ # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 - cygpath_u="sed s,\\\\\\\\,/,g" + cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi +if test "$depmode" = msvc7msys; then + # This is just like msvc7 but w/o cygpath translation. + # Just convert the backslash-escaped backslashes to single forward + # slashes to satisfy depend.m4 + cygpath_u='sed s,\\\\,/,g' + depmode=msvc7 +fi + case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what @@ -158,10 +166,12 @@ ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as -## well. +## well. hp depmode also adds that space, but also prefixes the VPATH +## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. - sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" + sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ + | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; @@ -405,6 +415,52 @@ rm -f "$tmpdepfile" ;; +msvc7) + if test "$libtool" = yes; then + showIncludes=-Wc,-showIncludes + else + showIncludes=-showIncludes + fi + "$@" $showIncludes > "$tmpdepfile" + stat=$? + grep -v '^Note: including file: ' "$tmpdepfile" + if test "$stat" = 0; then : + else + rm -f "$tmpdepfile" + exit $stat + fi + rm -f "$depfile" + echo "$object : \\" > "$depfile" + # The first sed program below extracts the file names and escapes + # backslashes for cygpath. The second sed program outputs the file + # name when reading, but also accumulates all include files in the + # hold buffer in order to output them again at the end. This only + # works with sed implementations that can handle large buffers. + sed < "$tmpdepfile" -n ' +/^Note: including file: *\(.*\)/ { + s//\1/ + s/\\/\\\\/g + p +}' | $cygpath_u | sort -u | sed -n ' +s/ /\\ /g +s/\(.*\)/ \1 \\/p +s/.\(.*\) \\/\1:/ +H +$ { + s/.*/ / + G + p +}' >> "$depfile" + rm -f "$tmpdepfile" + ;; + +msvc7msys) + # This case exists only to let depend.m4 do its work. It works by + # looking at the text of this script. This case will never be run, + # since it is checked for above. + exit 1 + ;; + #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. @@ -503,7 +559,9 @@ touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" + # makedepend may prepend the VPATH from the source file name to the object. + # No need to regex-escape $object, excess matching of '.' is harmless. + sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation diff -Nru telepathy-glib-0.17.7/docs/reference/html/ch-client.html telepathy-glib-0.18.0/docs/reference/html/ch-client.html --- telepathy-glib-0.17.7/docs/reference/html/ch-client.html 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/ch-client.html 2012-04-02 20:35:24.000000000 +0000 @@ -181,7 +181,7 @@ TpStreamTubeConnection — a connection on a Stream Tube
-TpDBusTubeChannel — proxy object for a dbus tube channel +TpDBusTubeChannel — proxy object for D-Bus tube channels
TpClientChannelFactoryInterface — an interface for client channel factories diff -Nru telepathy-glib-0.17.7/docs/reference/html/index.html telepathy-glib-0.18.0/docs/reference/html/index.html --- telepathy-glib-0.17.7/docs/reference/html/index.html 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/index.html 2012-04-02 20:35:24.000000000 +0000 @@ -15,7 +15,7 @@

- This manual documents telepathy-glib version 0.17.7 + This manual documents telepathy-glib version 0.18.0 . The latest development version of this documentation can be found here: online copy of the telepathy-glib API Reference Manual. @@ -236,7 +236,7 @@ TpStreamTubeConnection — a connection on a Stream Tube

-TpDBusTubeChannel — proxy object for a dbus tube channel +TpDBusTubeChannel — proxy object for D-Bus tube channels
TpClientChannelFactoryInterface — an interface for client channel factories diff -Nru telepathy-glib-0.17.7/docs/reference/html/index.sgml telepathy-glib-0.18.0/docs/reference/html/index.sgml --- telepathy-glib-0.17.7/docs/reference/html/index.sgml 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/index.sgml 2012-04-02 20:35:23.000000000 +0000 @@ -3458,8 +3458,13 @@ + + + + + @@ -5423,7 +5428,11 @@ + + + + @@ -5491,6 +5500,7 @@ + diff -Nru telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-automatic-client-factory.html telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-automatic-client-factory.html --- telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-automatic-client-factory.html 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-automatic-client-factory.html 2012-04-02 20:35:24.000000000 +0000 @@ -104,6 +104,8 @@ for TpFileTransferChannel

  • TP_CALL_CHANNEL_FEATURE_CORE for TpCallChannel

  • +
  • TP_DBUS_TUBE_CHANNEL_FEATURE_CORE + for TpDBusTubeChannel

  • diff -Nru telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-base-contact-list.html telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-base-contact-list.html --- telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-base-contact-list.html 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-base-contact-list.html 2012-04-02 20:35:24.000000000 +0000 @@ -99,9 +99,21 @@ TpSubscriptionState *publish, gchar **publish_request); guint (*TpBaseContactListUIntFunc) (TpBaseContactList *self); +void (*TpBaseContactListAsyncFunc) (TpBaseContactList *self, + GAsyncReadyCallback callback, + gpointer user_data); gboolean (*TpBaseContactListAsyncFinishFunc) (TpBaseContactList *self, GAsyncResult *result, GError **error); +void tp_base_contact_list_download_async (TpBaseContactList *self, + GAsyncReadyCallback callback, + gpointer user_data); +gboolean tp_base_contact_list_download_finish + (TpBaseContactList *self, + GAsyncResult *result, + GError **error); +gboolean tp_base_contact_list_get_download_at_connection + (TpBaseContactList *self); #define TP_TYPE_MUTABLE_CONTACT_LIST struct TpMutableContactListInterface; @@ -370,6 +382,7 @@

    Properties

       "connection"               TpBaseConnection*     : Read / Write / Construct Only
    +  "download-at-connection"   gboolean              : Read / Write / Construct
     
    @@ -506,6 +519,9 @@ TpBaseContactListDupContactsFunc dup_contacts; TpBaseContactListDupStatesFunc dup_states; TpBaseContactListBooleanFunc get_contact_list_persists; + + TpBaseContactListAsyncFunc download_async; + TpBaseContactListAsyncFinishFunc download_finish; };

    @@ -545,6 +561,18 @@ implement this itself, the default implementation always returns TRUE, which is correct for most protocols + +

    TpBaseContactListAsyncFunc download_async;

    +the implementation of +tp_base_contact_list_download_async(); if a subclass does not implement +this itself, the default implementation will raise +TP_ERROR_NOT_IMPLEMENTED asynchronously. Since: 0.18.0 + + +

    TpBaseContactListAsyncFinishFunc download_finish;

    +the implementation of +tp_base_contact_list_download_finish(). Since: 0.18.0 +

    Since 0.13.0

    @@ -1220,6 +1248,34 @@
    +

    TpBaseContactListAsyncFunc ()

    +
    void                (*TpBaseContactListAsyncFunc)       (TpBaseContactList *self,
    +                                                         GAsyncReadyCallback callback,
    +                                                         gpointer user_data);
    +

    +Signature of a virtual method that needs no additional information. +

    +
    ++ + + + + + + + + + + + + + +

    self :

    the contact list manager

    callback :

    a callback to call on success, failure or disconnection

    user_data :

    user data for the callback
    +

    Since 0.18.0

    +
    +
    +

    TpBaseContactListAsyncFinishFunc ()

    gboolean            (*TpBaseContactListAsyncFinishFunc) (TpBaseContactList *self,
                                                              GAsyncResult *result,
    @@ -1253,6 +1309,107 @@
     

    +

    tp_base_contact_list_download_async ()

    +
    void                tp_base_contact_list_download_async (TpBaseContactList *self,
    +                                                         GAsyncReadyCallback callback,
    +                                                         gpointer user_data);
    +

    +Download the contact list when it is not done automatically at +connection. +

    +

    +If the TpBaseContactList subclass does not override +download_async, the default implementation will raise +TP_ERROR_NOT_IMPLEMENTED asynchronously. +

    +
    ++ + + + + + + + + + + + + + +

    self :

    a contact list manager

    callback :

    a callback to call when the operation succeeds or fails

    user_data :

    optional data to pass to callback +
    +

    Since 0.18.0

    +
    +
    +
    +

    tp_base_contact_list_download_finish ()

    +
    gboolean            tp_base_contact_list_download_finish
    +                                                        (TpBaseContactList *self,
    +                                                         GAsyncResult *result,
    +                                                         GError **error);
    +

    +Interpret the result of an asynchronous call to +tp_base_contact_list_download_async(). +

    +

    +This is a virtual method which may be implemented using +TpContactListClass.download_finish. If the result +will be a GSimpleAsyncResult, the default implementation may be used. +

    +
    ++ + + + + + + + + + + + + + + + + + +

    self :

    a contact list manager

    result :

    the result passed to callback by an implementation of +tp_base_contact_list_download_async() +

    error :

    used to raise an error if FALSE is returned

    Returns :

    +TRUE on success or FALSE on error
    +

    Since 0.18.0

    +
    +
    +
    +

    tp_base_contact_list_get_download_at_connection ()

    +
    gboolean            tp_base_contact_list_get_download_at_connection
    +                                                        (TpBaseContactList *self);
    +

    +This function returns the +"download-at-connection" property. +

    +
    ++ + + + + + + + + + +

    self :

    a contact list manager

    Returns :

    the "download-at-connection" property
    +

    Since 0.18.0

    +
    +
    +

    TP_TYPE_MUTABLE_CONTACT_LIST

    #define             TP_TYPE_MUTABLE_CONTACT_LIST

    @@ -4267,6 +4424,21 @@

    Since 0.13.0

    +
    +
    +

    The "download-at-connection" property

    +
      "download-at-connection"   gboolean              : Read / Write / Construct
    +

    +Whether the roster should be automatically downloaded at connection. +

    +

    +This property doesn't change anything in TpBaseContactsList's behaviour. +Implementations should check this property when they become connected +and in their Download method, and behave accordingly. +

    +

    Default value: TRUE

    +

    Since 0.18.0

    +
    @@ -78,8 +92,78 @@

    Description

    -TpDBusTubeChannel is a sub-class of TpChannel providing convenient API -to offer and accept a dbus tube. +TpDBusTubeChannel provides API for working with D-Bus tube channels, which +allow applications to open D-Bus connections to a contact or chat room. +

    +

    +To create a new outgoing D-Bus tube channel, do something like: +

    +

    +

    +
    + + + + + + + +
    1
    +2
    +3
    +4
    +5
    +6
    +7
    +8
    +9
    +10
    +11
    +12
    +13
    +14
    +15
    +16
    +17
    +18
    +19
    +20
    +21
    +22
    +23
    +24
    +25
    GHashTable *request_properties = tp_asv_new (
    +    TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, TP_IFACE_CHANNEL_TYPE_DBUS_TUBE,
    +    TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT, TP_HANDLE_TYPE_CONTACT,
    +    TP_PROP_CHANNEL_TARGET_ID, G_TYPE_STRING, tp_contact_get_identifier (contact),
    +    TP_PROP_CHANNEL_TYPE_DBUS_TUBE_SERVICE_NAME, G_TYPE_STRING, "com.example.walrus",
    +    NULL);
    +TpAccountChannelRequest *req = tp_account_channel_request_new (account,
    +    request_properties, TP_USER_ACTION_TIME_NOT_USER_ACTION);
    +tp_account_channel_request_create_and_handle_channel_async (req, NULL, callback, NULL);
    +
    +// ...
    +
    +static void
    +callback (
    +    GObject *source,
    +    GAsyncResult *result,
    +    gpointer user_data)
    +{
    +  TpAccountChannelRequest *req = TP_ACCOUNT_CHANNEL_REQUEST (source);
    +  TpChannel *channel;
    +  GError *error = NULL;
    +
    +  channel = tp_account_channel_request_create_and_handle_channel_finish (req, result, &error);
    +  tp_dbus_tube_channel_offer_async (TP_DBUS_TUBE_CHANNEL (channel), NULL, offer_callback, NULL);
    +}
    +
    + +

    +

    +

    +You can find a fuller example in the examples/client/dbus-tubes +directory.

    @@ -105,6 +189,20 @@

    +

    TP_DBUS_TUBE_CHANNEL_FEATURE_CORE

    +
    #define             TP_DBUS_TUBE_CHANNEL_FEATURE_CORE
    +

    +Expands to a call to a function that returns a quark representing the +core feature of a TpDBusTubeChannel. +

    +

    +One can ask for a feature to be prepared using the +tp_proxy_prepare_async() function, and waiting for it to callback. +

    +

    Since 0.18.0

    +
    +
    +

    tp_dbus_tube_channel_get_parameters ()

    GHashTable *        tp_dbus_tube_channel_get_parameters (TpDBusTubeChannel *self);

    @@ -152,6 +250,152 @@

    Since 0.15.6

    +
    +
    +

    tp_dbus_tube_channel_offer_async ()

    +
    void                tp_dbus_tube_channel_offer_async    (TpDBusTubeChannel *self,
    +                                                         GHashTable *params,
    +                                                         GAsyncReadyCallback callback,
    +                                                         gpointer user_data);
    +

    +Offer an outgoing D-Bus tube. When the tube has been offered and accepted +callback will be called. You can then call +tp_dbus_tube_channel_offer_finish() to get the GDBusConnection that will +be used to communicate through the tube. +

    +
    ++ + + + + + + + + + + + + + + + + + +

    self :

    an outgoing TpDBusTubeChannel +

    params :

    parameters of the tube, or NULL. [allow-none][transfer none] +

    callback :

    a callback to call when the tube has been offered

    user_data :

    data to pass to callback +
    +

    Since 0.18.0

    +
    +
    +
    +

    tp_dbus_tube_channel_offer_finish ()

    +
    GDBusConnection *   tp_dbus_tube_channel_offer_finish   (TpDBusTubeChannel *self,
    +                                                         GAsyncResult *result,
    +                                                         GError **error);
    +

    +Finishes offering an outgoing D-Bus tube. The returned GDBusConnection +is ready to be used to exchange data through the tube. +

    +
    ++ + + + + + + + + + + + + + + + + + +

    self :

    a TpDBusTubeChannel +

    result :

    a GAsyncResult +

    error :

    a GError to fill

    Returns :

    a reference on a GDBusConnection if the tube +has been successfully offered and opened; NULL otherwise. [transfer full] +
    +

    Since 0.18.0

    +
    +
    +
    +

    tp_dbus_tube_channel_accept_async ()

    +
    void                tp_dbus_tube_channel_accept_async   (TpDBusTubeChannel *self,
    +                                                         GAsyncReadyCallback callback,
    +                                                         gpointer user_data);
    +

    +Accept an incoming D-Bus tube. When the tube has been accepted +callback will be called. You can then call +tp_dbus_tube_channel_accept_finish() to get the GDBusConnection that will +be used to communicate through the tube. +

    +
    ++ + + + + + + + + + + + + + +

    self :

    an incoming TpDBusTubeChannel +

    callback :

    a callback to call when the tube has been offered

    user_data :

    data to pass to callback +
    +

    Since 0.18.0

    +
    +
    +
    +

    tp_dbus_tube_channel_accept_finish ()

    +
    GDBusConnection *   tp_dbus_tube_channel_accept_finish  (TpDBusTubeChannel *self,
    +                                                         GAsyncResult *result,
    +                                                         GError **error);
    +

    +Finishes to accept an incoming D-Bus tube. The returned GDBusConnection +is ready to be used to exchange data through the tube. +

    +
    ++ + + + + + + + + + + + + + + + + + +

    self :

    a TpDBusTubeChannel +

    result :

    a GAsyncResult +

    error :

    a GError to fill

    Returns :

    a reference on a GDBusConnection if the tube +has been successfully accepted and opened; NULL otherwise. [transfer full] +
    +

    Since 0.18.0

    +

    Property Details

    diff -Nru telepathy-glib-0.17.7/docs/reference/html/telepathy-glib.devhelp2 telepathy-glib-0.18.0/docs/reference/html/telepathy-glib.devhelp2 --- telepathy-glib-0.17.7/docs/reference/html/telepathy-glib.devhelp2 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/telepathy-glib.devhelp2 2012-04-02 20:35:23.000000000 +0000 @@ -2774,8 +2774,13 @@ + + + + + @@ -4265,7 +4270,11 @@ + + + + @@ -4332,6 +4341,7 @@ + diff -Nru telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-file-transfer-channel.html telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-file-transfer-channel.html --- telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-file-transfer-channel.html 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-file-transfer-channel.html 2012-04-02 20:35:23.000000000 +0000 @@ -915,7 +915,7 @@
      "size"                     guint64               : Read

    The size of the file to be transferred, -or G_MAXUINT64 if not known. +or G_MAXUINT64 if not known.

    Since 0.15.5 diff -Nru telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-stream-tube-channel.html telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-stream-tube-channel.html --- telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-stream-tube-channel.html 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-stream-tube-channel.html 2012-04-02 20:35:24.000000000 +0000 @@ -169,7 +169,7 @@ GAsyncResult *result, GError **error);

    -Finishes to accept an incoming stream tube. The returned +Finishes accepting an incoming stream tube. The returned TpStreamTubeConnection can then be used to exchange data through the tube.

    @@ -255,7 +255,10 @@ const GHashTable *immutable_properties, GError **error);

    -Convenient function to create a new TpStreamTubeChannel +Creates a new TpStreamTubeChannel proxy object from the provided path and +properties. Most developers will not need to use this function; use +TpAutomaticProxyFactory to automatically create TpStreamTubeChannel proxy +objects.

    @@ -284,7 +287,7 @@ - @@ -341,7 +344,7 @@ GAsyncResult *result, GError **error);

    -Finishes to offer an outgoing stream tube. +Finishes offering an outgoing stream tube.

    Returns :

    a newly created TpStreamTubeChannel. [transfer full] +a newly-created TpStreamTubeChannel proxy. [transfer full]
    diff -Nru telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-text-channel.html telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-text-channel.html --- telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-text-channel.html 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-text-channel.html 2012-04-02 20:35:24.000000000 +0000 @@ -432,12 +432,13 @@ gchar **token, GError **error);

    -Finishes to send a message. +Completes a call to tp_text_channel_send_message_async().

    token can be used to match any incoming delivery or failure reports -against the sent message. If the returned token is NULL the -message is not readily identifiable. +against the sent message. If this function returns true but the returned +token is NULL, the message was sent successfully but the protocol does not +provide a way to identify it later.

    @@ -449,7 +450,7 @@ - @@ -527,7 +528,7 @@ GAsyncResult *result, GError **error);

    -Finishes to ack a list of messages. +Finishes acknowledging a list of messages.

    result :

    a GAsyncResult +a GAsyncResult passed to the callback for tp_text_channel_send_message_async()
    @@ -539,7 +540,7 @@ - @@ -613,7 +614,7 @@ GAsyncResult *result, GError **error);

    -Finishes to ack a message. +Finishes acknowledging a message.

    result :

    a GAsyncResult +a GAsyncResult passed to the callback for tp_text_channel_ack_messages_async()
    @@ -625,7 +626,7 @@ - @@ -765,7 +766,7 @@ GAsyncResult *result, GError **error);

    -Finishes to set chat state. +Completes a call to tp_text_channel_set_chat_state_async().

    result :

    a GAsyncResult +a GAsyncResult passed to the callback for tp_text_channel_ack_message_async()
    @@ -777,7 +778,7 @@ - @@ -972,7 +973,7 @@ the number of further characters that can be fit in the final chunk. A negative value indicates that the message will be truncated by abs(remaining_characters). -The value G_MININT32 indicates the message will be truncated by +The value G_MININT32 indicates the message will be truncated by an unknown amount. [out] diff -Nru telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-TpPresenceMixin.html telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-TpPresenceMixin.html --- telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-TpPresenceMixin.html 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-TpPresenceMixin.html 2012-04-02 20:35:24.000000000 +0000 @@ -108,7 +108,7 @@

    -Implementing SimplePresence

    +Implementing SimplePresence

    Since 0.7.13 this mixin supports the entire SimplePresence interface. You can implement TpSvcConnectionInterfaceSimplePresence as follows: @@ -160,7 +160,7 @@

    -Implementing old-style Presence

    +Implementing old-style Presence

    This mixin also supports a large subset of the deprecated Presence interface. It does not support protocols where it is possible to set diff -Nru telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-util.html telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-util.html --- telepathy-glib-0.17.7/docs/reference/html/telepathy-glib-util.html 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/telepathy-glib-util.html 2012-04-02 20:35:24.000000000 +0000 @@ -1122,7 +1122,7 @@

    -

    Example 3.  using tp_value_array_build

    +

    Example 3.  using tp_value_array_build

    result :

    a GAsyncResult +a GAsyncResult passed to the callback for tp_text_channel_set_chat_state_async()
    @@ -1183,7 +1183,7 @@

    -

    Example 4. using tp_value_array_unpack

    +

    Example 4. using tp_value_array_unpack

    diff -Nru telepathy-glib-0.17.7/docs/reference/html/TpCallContentMediaDescription.html telepathy-glib-0.18.0/docs/reference/html/TpCallContentMediaDescription.html --- telepathy-glib-0.17.7/docs/reference/html/TpCallContentMediaDescription.html 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/html/TpCallContentMediaDescription.html 2012-04-02 20:35:24.000000000 +0000 @@ -297,27 +297,29 @@ - + - + - + - + - + - +

    identifier :

    if you use this API, you know what it is aboutNumeric identifier for the codec. This will be used as the PT +in the SDP or content description.

    name :

    if you use this API, you know what it is aboutThe name of the codec.

    clock_rate :

    if you use this API, you know what it is aboutThe clock rate of the codec.

    channels :

    if you use this API, you know what it is aboutNumber of channels of the codec if applicable, otherwise 0.

    updated :

    if you use this API, you know what it is about +TRUE if this codec was updated since the last Media Description

    parameters :

    if you use this API, you know what it is abouta GHashTable of string->string containing optional parameters
    @@ -331,7 +333,9 @@ TpHandle contact, guint ssrc);

    -if you use this API, you know what it is about +Add an SSRC to the list of SSRCs that a contact will send from. A SSRC +is a synchronization source in RTP, it is the identifier for a continuous +stream of packets following the same timeline.

    @@ -343,11 +347,11 @@ - + - +

    contact :

    if you use this API, you know what it is aboutThe TpHandle of a contact that is part of the call

    ssrc :

    if you use this API, you know what it is aboutA SSRC that this contact may send from
    diff -Nru telepathy-glib-0.17.7/docs/reference/telepathy-glib-sections.txt telepathy-glib-0.18.0/docs/reference/telepathy-glib-sections.txt --- telepathy-glib-0.17.7/docs/reference/telepathy-glib-sections.txt 2012-03-22 22:27:15.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/telepathy-glib-sections.txt 2012-04-02 20:35:23.000000000 +0000 @@ -6073,7 +6073,11 @@ TpBaseContactListDupStatesFunc tp_base_contact_list_dup_states TpBaseContactListUIntFunc +TpBaseContactListAsyncFunc TpBaseContactListAsyncFinishFunc +tp_base_contact_list_download_async +tp_base_contact_list_download_finish +tp_base_contact_list_get_download_at_connection TP_TYPE_MUTABLE_CONTACT_LIST TpMutableContactListInterface @@ -6220,8 +6224,13 @@ TpDBusTubeChannel TpDBusTubeChannelClass +TP_DBUS_TUBE_CHANNEL_FEATURE_CORE tp_dbus_tube_channel_get_parameters tp_dbus_tube_channel_get_service_name +tp_dbus_tube_channel_offer_async +tp_dbus_tube_channel_offer_finish +tp_dbus_tube_channel_accept_async +tp_dbus_tube_channel_accept_finish TP_IS_DBUS_TUBE_CHANNEL TP_IS_DBUS_TUBE_CHANNEL_CLASS @@ -6231,6 +6240,7 @@ TP_TYPE_DBUS_TUBE_CHANNEL tp_dbus_tube_channel_get_type TpDBusTubeChannelPrivate +tp_dbus_tube_channel_feature_quark_core
    diff -Nru telepathy-glib-0.17.7/docs/reference/version.xml telepathy-glib-0.18.0/docs/reference/version.xml --- telepathy-glib-0.17.7/docs/reference/version.xml 2012-03-22 21:43:26.000000000 +0000 +++ telepathy-glib-0.18.0/docs/reference/version.xml 2012-04-02 20:31:49.000000000 +0000 @@ -1 +1 @@ -0.17.7 +0.18.0 diff -Nru telepathy-glib-0.17.7/examples/client/approver.c telepathy-glib-0.18.0/examples/client/approver.c --- telepathy-glib-0.17.7/examples/client/approver.c 2012-03-22 21:06:44.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/approver.c 2012-04-02 19:51:47.000000000 +0000 @@ -163,7 +163,7 @@ /* call */ tp_base_client_take_approver_filter (approver, tp_asv_new ( TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, - TP_IFACE_CHANNEL_TYPE_STREAMED_MEDIA, + TP_IFACE_CHANNEL_TYPE_CALL, TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT, TP_HANDLE_TYPE_CONTACT, NULL)); diff -Nru telepathy-glib-0.17.7/examples/client/dbus-tubes/accepter.c telepathy-glib-0.18.0/examples/client/dbus-tubes/accepter.c --- telepathy-glib-0.17.7/examples/client/dbus-tubes/accepter.c 1970-01-01 00:00:00.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/dbus-tubes/accepter.c 2012-04-02 19:51:47.000000000 +0000 @@ -0,0 +1,220 @@ +#include +#include "constants.h" + +static GMainLoop *loop = NULL; + +static void +dbus_connection_closed_cb ( + GDBusConnection *connection, + gboolean remote_peer_vanished, + GError *error, + gpointer user_data) +{ + if (remote_peer_vanished) + g_debug ("remote peer disconnected: %s", error->message); + else if (error != NULL) + g_debug ("remote peer sent broken data: %s", error->message); + else + g_debug ("supposedly we closed the connection locally?!"); + + g_object_unref (connection); +} + +static void +lucky_number_cb ( + GDBusConnection *connection, + const gchar *sender_name, + const gchar *object_path, + const gchar *interface_name, + const gchar *signal_name, + GVariant *parameters, + gpointer user_data) +{ + if (g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(u)"))) + { + guint32 x; + + g_variant_get (parameters, "(u)", &x); + g_debug ("My lucky number is: %u", x); + } + else + { + g_warning ("LuckyNumber's arguments were %s, not (u)", + g_variant_get_type_string (parameters)); + } +} + +static void +add_cb ( + GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + GDBusConnection *conn = G_DBUS_CONNECTION (source); + GVariant *ret; + GError *error = NULL; + + ret = g_dbus_connection_call_finish (conn, result, &error); + + if (ret != NULL) + { + gint32 value; + + g_variant_get (ret, "(i)", &value); + g_debug ("Adding my numbers together gave: %i", value); + g_variant_unref (ret); + } + else + { + g_warning ("Add() failed: %s", error->message); + g_clear_error (&error); + } +} + +static void +tube_accepted (GObject *tube, + GAsyncResult *res, + gpointer user_data) +{ + GDBusConnection *conn; + GError *error = NULL; + + conn = tp_dbus_tube_channel_accept_finish ( + TP_DBUS_TUBE_CHANNEL (tube), res, &error); + if (conn == NULL) + { + g_debug ("Failed to accept tube: %s", error->message); + g_error_free (error); + tp_channel_close_async (TP_CHANNEL (tube), NULL, NULL); + return; + } + + g_debug ("tube accepted"); + g_signal_connect (conn, "closed", + G_CALLBACK (dbus_connection_closed_cb), NULL); + + g_dbus_connection_signal_subscribe (conn, + /* since we only deal with 1-1 connections, no need to match sender */ + NULL, + EXAMPLE_INTERFACE, + "LuckyNumber", + EXAMPLE_PATH, + NULL, + G_DBUS_SIGNAL_FLAGS_NONE, + lucky_number_cb, + NULL, NULL); + g_dbus_connection_call (conn, + NULL, + EXAMPLE_PATH, + EXAMPLE_INTERFACE, + "Add", + g_variant_new ("(ii)", 45, 54), + G_VARIANT_TYPE ("(i)"), + G_DBUS_CALL_FLAGS_NONE, + -1, + NULL, + add_cb, + NULL); +} + +static void +tube_invalidated_cb (TpStreamTubeChannel *tube, + guint domain, + gint code, + gchar *message, + gpointer user_data) +{ + g_debug ("Tube has been invalidated: %s", message); + g_main_loop_quit (loop); + g_object_unref (tube); +} + +static void +handle_channels (TpSimpleHandler *handler, + TpAccount *account, + TpConnection *conn, + GList *channels, + GList *requests, + gint64 action_time, + TpHandleChannelsContext *context, + gpointer user_data) +{ + TpDBusTubeChannel *tube; + GList *l; + GError error = { TP_ERRORS, TP_ERROR_NOT_AVAILABLE, + "No channel to be handled" }; + + g_debug ("Handling channels"); + + for (l = channels; l != NULL; l = l->next) + { + TpDBusTubeChannel *channel = l->data; + + if (!TP_IS_DBUS_TUBE_CHANNEL (channel)) + continue; + + if (tp_strdiff (tp_dbus_tube_channel_get_service_name (channel), + EXAMPLE_SERVICE_NAME)) + continue; + + g_debug ("Accepting tube"); + + tube = g_object_ref (channel); + + g_signal_connect (tube, "invalidated", + G_CALLBACK (tube_invalidated_cb), NULL); + + tp_dbus_tube_channel_accept_async (tube, tube_accepted, context); + + tp_handle_channels_context_accept (context); + return; + } + + g_debug ("Rejecting channels"); + tp_handle_channels_context_fail (context, &error); +} + + +int +main (int argc, + const char **argv) +{ + TpAccountManager *manager; + TpBaseClient *handler; + GError *error = NULL; + + g_type_init (); + + manager = tp_account_manager_dup (); + handler = tp_simple_handler_new_with_am (manager, FALSE, FALSE, + "ExampleServiceHandler", FALSE, handle_channels, NULL, NULL); + + tp_base_client_take_handler_filter (handler, tp_asv_new ( + TP_PROP_CHANNEL_CHANNEL_TYPE, + G_TYPE_STRING, + TP_IFACE_CHANNEL_TYPE_DBUS_TUBE, + + TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, + G_TYPE_UINT, + TP_HANDLE_TYPE_CONTACT, + + TP_PROP_CHANNEL_TYPE_DBUS_TUBE_SERVICE_NAME, + G_TYPE_STRING, + EXAMPLE_SERVICE_NAME, + + NULL)); + + tp_base_client_register (handler, &error); + g_assert_no_error (error); + + g_debug ("Waiting for tube offer"); + + loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (loop); + + g_main_loop_unref (loop); + g_object_unref (handler); + g_object_unref (manager); + + return 0; +} diff -Nru telepathy-glib-0.17.7/examples/client/dbus-tubes/constants.h telepathy-glib-0.18.0/examples/client/dbus-tubes/constants.h --- telepathy-glib-0.17.7/examples/client/dbus-tubes/constants.h 1970-01-01 00:00:00.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/dbus-tubes/constants.h 2012-04-02 19:51:47.000000000 +0000 @@ -0,0 +1,9 @@ +#ifndef DBUS_TUBE_EXAMPLE_CONSTANTS_H +#define DBUS_TUBE_EXAMPLE_CONSTANTS_H + +#define EXAMPLE_SERVICE_NAME "uk.co.example.calculator" + +#define EXAMPLE_INTERFACE "org.example.terriblecalculator" +#define EXAMPLE_PATH "/org/example/calculator" + +#endif diff -Nru telepathy-glib-0.17.7/examples/client/dbus-tubes/Makefile.am telepathy-glib-0.18.0/examples/client/dbus-tubes/Makefile.am --- telepathy-glib-0.17.7/examples/client/dbus-tubes/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/dbus-tubes/Makefile.am 2012-04-02 19:51:47.000000000 +0000 @@ -0,0 +1,23 @@ +noinst_PROGRAMS = \ + offerer \ + accepter \ + $(NULL) + +offerer_SOURCES = offerer.c constants.h +accepter_SOURCES = accepter.c constants.h + +# In an external project you'd use $(TP_GLIB_LIBS) (obtained from +# pkg-config via autoconf) instead of the .la path +LDADD = \ + $(top_builddir)/telepathy-glib/libtelepathy-glib.la \ + @DBUS_LIBS@ \ + @GLIB_LIBS@ + +AM_CFLAGS = \ + $(ERROR_CFLAGS) \ + @DBUS_CFLAGS@ \ + @GLIB_CFLAGS@ \ + @TP_GLIB_CFLAGS@ +AM_LDFLAGS = \ + $(ERROR_LDFLAGS) \ + $(NULL) diff -Nru telepathy-glib-0.17.7/examples/client/dbus-tubes/Makefile.in telepathy-glib-0.18.0/examples/client/dbus-tubes/Makefile.in --- telepathy-glib-0.17.7/examples/client/dbus-tubes/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/dbus-tubes/Makefile.in 2012-04-02 20:31:38.000000000 +0000 @@ -0,0 +1,579 @@ +# Makefile.in generated by automake 1.11.3 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software +# Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +noinst_PROGRAMS = offerer$(EXEEXT) accepter$(EXEEXT) +subdir = examples/client/dbus-tubes +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/compiler.m4 \ + $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/introspection.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/linker.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ + $(top_srcdir)/m4/tp-compiler-flag.m4 \ + $(top_srcdir)/m4/tp-compiler-warnings.m4 \ + $(top_srcdir)/m4/tp-linker-flag.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +PROGRAMS = $(noinst_PROGRAMS) +am_accepter_OBJECTS = accepter.$(OBJEXT) +accepter_OBJECTS = $(am_accepter_OBJECTS) +accepter_LDADD = $(LDADD) +accepter_DEPENDENCIES = \ + $(top_builddir)/telepathy-glib/libtelepathy-glib.la +AM_V_lt = $(am__v_lt_@AM_V@) +am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) +am__v_lt_0 = --silent +am_offerer_OBJECTS = offerer.$(OBJEXT) +offerer_OBJECTS = $(am_offerer_OBJECTS) +offerer_LDADD = $(LDADD) +offerer_DEPENDENCIES = \ + $(top_builddir)/telepathy-glib/libtelepathy-glib.la +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/depcomp +am__depfiles_maybe = depfiles +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +SOURCES = $(accepter_SOURCES) $(offerer_SOURCES) +DIST_SOURCES = $(accepter_SOURCES) $(offerer_SOURCES) +ETAGS = etags +CTAGS = ctags +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COVERAGE_CFLAGS = @COVERAGE_CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DBUS_CFLAGS = @DBUS_CFLAGS@ +DBUS_LIBS = @DBUS_LIBS@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ENABLE_CODING_STYLE_CHECKS = @ENABLE_CODING_STYLE_CHECKS@ +ENABLE_DOC_CHECKS = @ENABLE_DOC_CHECKS@ +ERROR_CFLAGS = @ERROR_CFLAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@ +GIO_UNIX_LIBS = @GIO_UNIX_LIBS@ +GLIB_CFLAGS = @GLIB_CFLAGS@ +GLIB_GENMARSHAL = @GLIB_GENMARSHAL@ +GLIB_LIBS = @GLIB_LIBS@ +GLIB_MKENUMS = @GLIB_MKENUMS@ +GREP = @GREP@ +GTKDOC_CHECK = @GTKDOC_CHECK@ +GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ +GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ +GTKDOC_MKPDF = @GTKDOC_MKPDF@ +GTKDOC_REBASE = @GTKDOC_REBASE@ +HAVE_VALA = @HAVE_VALA@ +HTML_DIR = @HTML_DIR@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@ +INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@ +INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@ +INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@ +INTROSPECTION_LIBS = @INTROSPECTION_LIBS@ +INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@ +INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@ +INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +LT_AGE = @LT_AGE@ +LT_CURRENT = @LT_CURRENT@ +LT_REVISION = @LT_REVISION@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ +PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PYTHON = @PYTHON@ +PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@ +PYTHON_PLATFORM = @PYTHON_PLATFORM@ +PYTHON_PREFIX = @PYTHON_PREFIX@ +PYTHON_VERSION = @PYTHON_VERSION@ +RANLIB = @RANLIB@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TP_GLIB_CFLAGS = @TP_GLIB_CFLAGS@ +VALAC = @VALAC@ +VALAFLAGS = @VALAFLAGS@ +VAPIGEN = @VAPIGEN@ +VERSION = @VERSION@ +VERSION_SCRIPT_ARG = @VERSION_SCRIPT_ARG@ +XSLTPROC = @XSLTPROC@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +pkgpyexecdir = @pkgpyexecdir@ +pkgpythondir = @pkgpythondir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +pyexecdir = @pyexecdir@ +pythondir = @pythondir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +tpglibtestsdir = @tpglibtestsdir@ +offerer_SOURCES = offerer.c constants.h +accepter_SOURCES = accepter.c constants.h + +# In an external project you'd use $(TP_GLIB_LIBS) (obtained from +# pkg-config via autoconf) instead of the .la path +LDADD = \ + $(top_builddir)/telepathy-glib/libtelepathy-glib.la \ + @DBUS_LIBS@ \ + @GLIB_LIBS@ + +AM_CFLAGS = \ + $(ERROR_CFLAGS) \ + @DBUS_CFLAGS@ \ + @GLIB_CFLAGS@ \ + @TP_GLIB_CFLAGS@ + +AM_LDFLAGS = \ + $(ERROR_LDFLAGS) \ + $(NULL) + +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .lo .o .obj +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu examples/client/dbus-tubes/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu examples/client/dbus-tubes/Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +clean-noinstPROGRAMS: + @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ + echo " rm -f" $$list; \ + rm -f $$list || exit $$?; \ + test -n "$(EXEEXT)" || exit 0; \ + list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ + echo " rm -f" $$list; \ + rm -f $$list +accepter$(EXEEXT): $(accepter_OBJECTS) $(accepter_DEPENDENCIES) $(EXTRA_accepter_DEPENDENCIES) + @rm -f accepter$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(accepter_OBJECTS) $(accepter_LDADD) $(LIBS) +offerer$(EXEEXT): $(offerer_OBJECTS) $(offerer_DEPENDENCIES) $(EXTRA_offerer_DEPENDENCIES) + @rm -f offerer$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(offerer_OBJECTS) $(offerer_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accepter.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/offerer.Po@am__quote@ + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + set x; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: CTAGS +CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in files) print i; }; }'`; \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ + mostlyclean-am + +distclean: distclean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -rf ./$(DEPDIR) + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic \ + mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ + clean-libtool clean-noinstPROGRAMS ctags distclean \ + distclean-compile distclean-generic distclean-libtool \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ + pdf pdf-am ps ps-am tags uninstall uninstall-am + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru telepathy-glib-0.17.7/examples/client/dbus-tubes/offerer.c telepathy-glib-0.18.0/examples/client/dbus-tubes/offerer.c --- telepathy-glib-0.17.7/examples/client/dbus-tubes/offerer.c 1970-01-01 00:00:00.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/dbus-tubes/offerer.c 2012-04-02 19:51:47.000000000 +0000 @@ -0,0 +1,238 @@ +#include +#include "constants.h" + +static GMainLoop *loop = NULL; + +static void +connection_closed_cb ( + GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + GDBusConnection *connection = G_DBUS_CONNECTION (source); + GError *error = NULL; + + if (!g_dbus_connection_close_finish (connection, result, &error)) + { + g_warning ("Couldn't close connection: %s", error->message); + g_clear_error (&error); + } + else + { + g_debug ("Connection closed."); + } + + tp_channel_close_async (TP_CHANNEL (user_data), NULL, NULL); + g_object_unref (connection); +} + +static void +handle_method_call ( + GDBusConnection *connection, + const gchar *sender, + const gchar *object_path, + const gchar *interface_name, + const gchar *method_name, + GVariant *parameters, + GDBusMethodInvocation *invocation, + gpointer user_data) +{ + if (tp_strdiff (method_name, "Add")) + { + g_dbus_method_invocation_return_error (invocation, + G_DBUS_ERROR, G_DBUS_ERROR_UNKNOWN_METHOD, + "Unknown method '%s' on interface " EXAMPLE_INTERFACE, + method_name); + } + else if (!g_variant_is_of_type (parameters, G_VARIANT_TYPE ("(ii)"))) + { + g_dbus_method_invocation_return_error (invocation, + G_DBUS_ERROR, G_DBUS_ERROR_INVALID_ARGS, + "Add takes two int32 parameters, not %s", + g_variant_get_type_string (parameters)); + } + else /* hooray! */ + { + guint x, y; + gboolean ret; + + g_variant_get (parameters, "(ii)", &x, &y); + + g_dbus_method_invocation_return_value (invocation, + g_variant_new ("(i)", x + y)); + + ret = g_dbus_connection_emit_signal (connection, + NULL, object_path, interface_name, "LuckyNumber", + g_variant_new ("(u)", g_random_int ()), + NULL); + /* "This can only fail if 'parameters' is not compatible with the D-Bus + * protocol." + */ + g_return_if_fail (ret); + + g_dbus_connection_flush_sync (connection, NULL, NULL); + g_dbus_connection_close (connection, NULL, connection_closed_cb, user_data); + } +} + +static void +register_object (GDBusConnection *connection, + TpDBusTubeChannel *channel) +{ + GDBusNodeInfo *introspection_data; + guint registration_id; + static const GDBusInterfaceVTable interface_vtable = + { + handle_method_call, + NULL, + NULL, + }; + static const gchar introspection_xml[] = + "" + " " + " " + " " + " " + " " + " " + " " + " " + " " + " " + ""; + + introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL); + g_assert (introspection_data != NULL); + + registration_id = g_dbus_connection_register_object (connection, + EXAMPLE_PATH, introspection_data->interfaces[0], + &interface_vtable, g_object_ref (channel), g_object_unref, NULL); + g_assert (registration_id > 0); + + g_dbus_node_info_unref (introspection_data); +} + +static void +tube_offered (GObject *tube, + GAsyncResult *res, + gpointer user_data) +{ + GError *error = NULL; + GDBusConnection *conn; + + conn = tp_dbus_tube_channel_offer_finish (TP_DBUS_TUBE_CHANNEL (tube), res, + &error); + if (conn == NULL) + { + g_debug ("Failed to offer tube: %s", error->message); + g_error_free (error); + tp_channel_close_async (TP_CHANNEL (tube), NULL, NULL); + return; + } + + g_debug ("Tube opened"); + register_object (conn, TP_DBUS_TUBE_CHANNEL (tube)); +} + +static void +tube_invalidated_cb (TpStreamTubeChannel *tube, + guint domain, + gint code, + gchar *message, + gpointer user_data) +{ + g_debug ("Tube has been invalidated: %s", message); + g_main_loop_quit (loop); + g_object_unref (tube); +} + +static void +channel_created (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + TpChannel *channel; + GError *error = NULL; + TpDBusTubeChannel *tube; + + channel = tp_account_channel_request_create_and_handle_channel_finish ( + TP_ACCOUNT_CHANNEL_REQUEST (source), result, NULL, &error); + if (channel == NULL) + { + g_debug ("Failed to create channel: %s", error->message); + g_error_free (error); + g_main_loop_quit (loop); + return; + } + + g_debug ("Channel created: %s", tp_proxy_get_object_path (channel)); + + tube = TP_DBUS_TUBE_CHANNEL (channel); + + g_signal_connect (tube, "invalidated", + G_CALLBACK (tube_invalidated_cb), NULL); + + tp_dbus_tube_channel_offer_async (tube, NULL, tube_offered, NULL); +} + +int +main (int argc, + const char **argv) +{ + TpDBusDaemon *dbus; + TpAccount *account; + char *account_path; + GError *error = NULL; + TpAccountChannelRequest *req; + GHashTable *request; + + g_type_init (); + + if (argc != 3) + g_error ("Usage: offerer gabble/jabber/ladygaga t-pain@example.com"); + + dbus = tp_dbus_daemon_dup (&error); + g_assert_no_error (error); + + account_path = g_strconcat (TP_ACCOUNT_OBJECT_PATH_BASE, argv[1], NULL); + account = tp_account_new (dbus, account_path, &error); + g_assert_no_error (error); + g_free (account_path); + + request = tp_asv_new ( + TP_PROP_CHANNEL_CHANNEL_TYPE, + G_TYPE_STRING, + TP_IFACE_CHANNEL_TYPE_DBUS_TUBE, + + TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, + G_TYPE_UINT, + TP_HANDLE_TYPE_CONTACT, + + TP_PROP_CHANNEL_TARGET_ID, + G_TYPE_STRING, + argv[2], + + TP_PROP_CHANNEL_TYPE_DBUS_TUBE_SERVICE_NAME, + G_TYPE_STRING, + EXAMPLE_SERVICE_NAME, + + NULL); + + g_debug ("Offer channel to %s", argv[2]); + + req = tp_account_channel_request_new (account, request, + TP_USER_ACTION_TIME_CURRENT_TIME); + + tp_account_channel_request_create_and_handle_channel_async (req, NULL, + channel_created, NULL); + + loop = g_main_loop_new (NULL, FALSE); + g_main_loop_run (loop); + + g_object_unref (account); + g_object_unref (req); + g_hash_table_unref (request); + g_main_loop_unref (loop); + + return 0; +} diff -Nru telepathy-glib-0.17.7/examples/client/Makefile.am telepathy-glib-0.18.0/examples/client/Makefile.am --- telepathy-glib-0.17.7/examples/client/Makefile.am 2011-12-13 11:42:10.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/Makefile.am 2012-04-02 19:51:47.000000000 +0000 @@ -1,4 +1,4 @@ -SUBDIRS = stream-tubes python js +SUBDIRS = stream-tubes dbus-tubes python js EXAMPLES = diff -Nru telepathy-glib-0.17.7/examples/client/Makefile.in telepathy-glib-0.18.0/examples/client/Makefile.in --- telepathy-glib-0.17.7/examples/client/Makefile.in 2012-03-22 21:35:35.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/Makefile.in 2012-04-02 20:31:38.000000000 +0000 @@ -412,7 +412,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ tpglibtestsdir = @tpglibtestsdir@ -SUBDIRS = stream-tubes python js +SUBDIRS = stream-tubes dbus-tubes python js EXAMPLES = telepathy-example-inspect-channel \ telepathy-example-inspect-connection \ telepathy-example-inspect-contact telepathy-example-inspect-cm \ diff -Nru telepathy-glib-0.17.7/examples/client/media-observer.c telepathy-glib-0.18.0/examples/client/media-observer.c --- telepathy-glib-0.17.7/examples/client/media-observer.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/media-observer.c 2012-04-02 19:51:47.000000000 +0000 @@ -24,12 +24,8 @@ gpointer user_data) { TpChannel *channel = TP_CHANNEL (proxy); - GHashTable *props; - props = tp_channel_borrow_immutable_properties (channel); - - g_print ("Call with %s terminated\n", - tp_asv_get_string (props, TP_PROP_CHANNEL_TARGET_ID)); + g_print ("Call with %s terminated\n", tp_channel_get_identifier (channel)); g_object_unref (channel); } @@ -52,21 +48,19 @@ for (l = channels; l != NULL; l = g_list_next (l)) { TpChannel *channel = l->data; - GHashTable *props; gboolean requested; if (tp_strdiff (tp_channel_get_channel_type (channel), - TP_IFACE_CHANNEL_TYPE_STREAMED_MEDIA)) + TP_IFACE_CHANNEL_TYPE_CALL)) continue; - props = tp_channel_borrow_immutable_properties (channel); - requested = tp_asv_get_boolean (props, TP_PROP_CHANNEL_REQUESTED, NULL); + requested = tp_channel_get_requested (channel); g_print ("Observing %s %s call %s %s\n", recovering? "existing": "new", requested? "outgoing": "incoming", requested? "to": "from", - tp_asv_get_string (props, TP_PROP_CHANNEL_TARGET_ID)); + tp_channel_get_identifier (channel)); g_signal_connect (g_object_ref (channel), "invalidated", G_CALLBACK (chan_invalidated_cb), NULL); @@ -93,7 +87,7 @@ tp_base_client_take_observer_filter (observer, tp_asv_new ( TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, - TP_IFACE_CHANNEL_TYPE_STREAMED_MEDIA, + TP_IFACE_CHANNEL_TYPE_CALL, TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT, TP_HANDLE_TYPE_CONTACT, NULL)); diff -Nru telepathy-glib-0.17.7/examples/client/python/file-transfer.py telepathy-glib-0.18.0/examples/client/python/file-transfer.py --- telepathy-glib-0.17.7/examples/client/python/file-transfer.py 2011-12-13 11:42:10.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/python/file-transfer.py 2012-04-02 19:51:47.000000000 +0000 @@ -31,9 +31,13 @@ channel.provide_file_async(file, provide_file_cb, None) def create_channel_cb(request, result, data): - (chan, context) = request.create_and_handle_channel_finish(result) + try: + (chan, context) = request.create_and_handle_channel_finish(result) - chan.connect('notify::state', state_changed_cb, data) + chan.connect('notify::state', state_changed_cb, data) + except GObject.GError, e: + print "Failed to create channel: %s" % e + sys.exit(1) if __name__ == '__main__': #TelepathyGLib.debug_set_flags("all") diff -Nru telepathy-glib-0.17.7/examples/client/stream-tubes/Makefile.am telepathy-glib-0.18.0/examples/client/stream-tubes/Makefile.am --- telepathy-glib-0.17.7/examples/client/stream-tubes/Makefile.am 2011-12-13 11:42:10.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/stream-tubes/Makefile.am 2012-04-02 19:51:47.000000000 +0000 @@ -9,9 +9,9 @@ # In an external project you'd use $(TP_GLIB_LIBS) (obtained from # pkg-config via autoconf) instead of the .la path LDADD = \ + $(top_builddir)/telepathy-glib/libtelepathy-glib.la \ @DBUS_LIBS@ \ - @GLIB_LIBS@ \ - $(top_builddir)/telepathy-glib/libtelepathy-glib.la + @GLIB_LIBS@ AM_CFLAGS = \ $(ERROR_CFLAGS) \ diff -Nru telepathy-glib-0.17.7/examples/client/stream-tubes/Makefile.in telepathy-glib-0.18.0/examples/client/stream-tubes/Makefile.in --- telepathy-glib-0.17.7/examples/client/stream-tubes/Makefile.in 2012-03-22 21:35:35.000000000 +0000 +++ telepathy-glib-0.18.0/examples/client/stream-tubes/Makefile.in 2012-04-02 20:31:38.000000000 +0000 @@ -271,9 +271,9 @@ # In an external project you'd use $(TP_GLIB_LIBS) (obtained from # pkg-config via autoconf) instead of the .la path LDADD = \ + $(top_builddir)/telepathy-glib/libtelepathy-glib.la \ @DBUS_LIBS@ \ - @GLIB_LIBS@ \ - $(top_builddir)/telepathy-glib/libtelepathy-glib.la + @GLIB_LIBS@ AM_CFLAGS = \ $(ERROR_CFLAGS) \ diff -Nru telepathy-glib-0.17.7/INSTALL telepathy-glib-0.18.0/INSTALL --- telepathy-glib-0.17.7/INSTALL 2012-01-31 20:22:35.000000000 +0000 +++ telepathy-glib-0.18.0/INSTALL 2012-04-02 20:31:40.000000000 +0000 @@ -1,8 +1,8 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009 Free Software Foundation, Inc. +Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation, +Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright @@ -226,6 +226,11 @@ and if that doesn't work, install pre-built binaries of GCC for HP-UX. + HP-UX `make' updates targets which have the same time stamps as +their prerequisites, which makes it generally unusable when shipped +generated files such as `configure' are involved. Use GNU `make' +instead. + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended diff -Nru telepathy-glib-0.17.7/install-sh telepathy-glib-0.18.0/install-sh --- telepathy-glib-0.17.7/install-sh 2012-01-31 20:22:34.000000000 +0000 +++ telepathy-glib-0.18.0/install-sh 2012-04-02 20:31:38.000000000 +0000 @@ -1,7 +1,7 @@ #!/bin/sh # install - install a program, script, or datafile -scriptversion=2009-04-28.21; # UTC +scriptversion=2011-01-19.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the @@ -156,6 +156,10 @@ -s) stripcmd=$stripprog;; -t) dst_arg=$2 + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac shift;; -T) no_target_directory=true;; @@ -186,6 +190,10 @@ fi shift # arg dst_arg=$arg + # Protect names problematic for `test' and other utilities. + case $dst_arg in + -* | [=\(\)!]) dst_arg=./$dst_arg;; + esac done fi @@ -200,7 +208,11 @@ fi if test -z "$dir_arg"; then - trap '(exit $?); exit' 1 2 13 15 + do_exit='(exit $ret); exit $ret' + trap "ret=129; $do_exit" 1 + trap "ret=130; $do_exit" 2 + trap "ret=141; $do_exit" 13 + trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. @@ -228,9 +240,9 @@ for src do - # Protect names starting with `-'. + # Protect names problematic for `test' and other utilities. case $src in - -*) src=./$src;; + -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then @@ -252,12 +264,7 @@ echo "$0: no destination specified." >&2 exit 1 fi - dst=$dst_arg - # Protect names starting with `-'. - case $dst in - -*) dst=./$dst;; - esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. @@ -385,7 +392,7 @@ case $dstdir in /*) prefix='/';; - -*) prefix='./';; + [-=\(\)!]*) prefix='./';; *) prefix='';; esac @@ -403,7 +410,7 @@ for d do - test -z "$d" && continue + test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then diff -Nru telepathy-glib-0.17.7/Makefile.am telepathy-glib-0.18.0/Makefile.am --- telepathy-glib-0.17.7/Makefile.am 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/Makefile.am 2012-04-02 20:21:58.000000000 +0000 @@ -48,7 +48,7 @@ include tools/lcov.am -CHANGELOG_RANGE = telepathy-glib-0.12.0.. +CHANGELOG_RANGE = telepathy-glib-0.14.0.. CHECK_FOR_UNRELEASED = $(srcdir)/NEWS $(wildcard $(srcdir)/telepathy-glib/*.[ch]) include tools/telepathy.am diff -Nru telepathy-glib-0.17.7/Makefile.in telepathy-glib-0.18.0/Makefile.in --- telepathy-glib-0.17.7/Makefile.in 2012-03-22 21:35:37.000000000 +0000 +++ telepathy-glib-0.18.0/Makefile.in 2012-04-02 20:31:40.000000000 +0000 @@ -299,7 +299,7 @@ CLEANFILES = FIXME.out BRANCH = $(shell sh tools/git-which-branch.sh misc | tr -d '\n' | tr -C "[:alnum:]" _) UPLOAD_BRANCH_TO = people.freedesktop.org:public_html/telepathy-glib -CHANGELOG_RANGE = telepathy-glib-0.12.0.. +CHANGELOG_RANGE = telepathy-glib-0.14.0.. CHECK_FOR_UNRELEASED = $(srcdir)/NEWS $(wildcard $(srcdir)/telepathy-glib/*.[ch]) all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive diff -Nru telepathy-glib-0.17.7/missing telepathy-glib-0.18.0/missing --- telepathy-glib-0.17.7/missing 2012-01-31 20:22:34.000000000 +0000 +++ telepathy-glib-0.18.0/missing 2012-04-02 20:31:38.000000000 +0000 @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-01-06.13; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. +# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -84,7 +84,6 @@ help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and @@ -122,15 +121,6 @@ # Not GNU programs, they don't have --version. ;; - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. @@ -226,7 +216,7 @@ \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` @@ -256,7 +246,7 @@ \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` @@ -318,41 +308,6 @@ touch $file ;; - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. diff -Nru telepathy-glib-0.17.7/NEWS telepathy-glib-0.18.0/NEWS --- telepathy-glib-0.17.7/NEWS 2012-03-22 21:29:36.000000000 +0000 +++ telepathy-glib-0.18.0/NEWS 2012-04-02 20:24:08.000000000 +0000 @@ -1,3 +1,30 @@ +telepathy-glib 0.18.0 (2012-04-02) +================================== + +This is the start of a new stable branch. We encourage those shipping +GNOME 3.4 to track this stable branch. + +Changes since 0.17.7: + +• Support the DownloadAtConnection property in TpBaseContactList. (Alban) + +• Add high-level API for TpDBusTubeChannel classes. (fd.o#29271, + Guillaume and Will) + +• Various improvements to the ContactList test suite. (Xavier) + +Summary of particularly noteworthy changes since 0.16.x: + +• GLib ≥ 2.30, dbus-glib ≥ 0.90, gobject-introspection ≥ 1.30, and + valac ≥ 0.14 are now required. + +• TpCallChannel, TpBaseCallChannel, and other Call-related high-level + API has been added. + +• High-level API to accept and provide file transfers has been added. + +• Building on Android using 'androgenizer' is now supported. + telepathy-glib 0.17.7 (2012-03-22) ================================== diff -Nru telepathy-glib-0.17.7/telepathy-glib/abi.am telepathy-glib-0.18.0/telepathy-glib/abi.am --- telepathy-glib-0.17.7/telepathy-glib/abi.am 2012-03-22 21:30:29.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/abi.am 2012-04-02 20:30:53.000000000 +0000 @@ -84,6 +84,7 @@ versions/0.17.5.abi \ versions/0.17.6.abi \ versions/0.17.7.abi \ + versions/0.18.0.abi \ $(NULL) # The quoting here is unnecessary but harmless, and has the useful side-effect diff -Nru telepathy-glib-0.17.7/telepathy-glib/automatic-client-factory.c telepathy-glib-0.18.0/telepathy-glib/automatic-client-factory.c --- telepathy-glib-0.17.7/telepathy-glib/automatic-client-factory.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/automatic-client-factory.c 2012-04-02 19:51:47.000000000 +0000 @@ -81,6 +81,10 @@ * %TP_CALL_CHANNEL_FEATURE_CORE * for #TpCallChannel * + * + * %TP_DBUS_TUBE_CHANNEL_FEATURE_CORE + * for #TpDBusTubeChannel + * * * * Since: 0.15.5 @@ -120,6 +124,94 @@ #define chainup ((TpSimpleClientFactoryClass *) \ tp_automatic_client_factory_parent_class) +typedef gboolean (*CheckPropertiesFunc) ( + const gchar *object_path, + const GHashTable *properties); + +typedef TpChannel *(*NewFunc) ( + TpSimpleClientFactory *client, + TpConnection *conn, + const gchar *object_path, + const GHashTable *properties, + GError **error); + +typedef struct { + const gchar *channel_type; + GType gtype; + CheckPropertiesFunc check_properties; + NewFunc new_func; + /* 0-terminated. All of a sudden, 3 is not such a scary number. */ + GQuark features[3]; +} ChannelTypeMapping; + +static ChannelTypeMapping *channel_type_mapping = NULL; + +static gboolean +check_for_messages ( + const gchar *object_path, + const GHashTable *properties) +{ + /* Create a TpTextChannel only if the channel supports Messages */ + const gchar * const * interfaces; + + interfaces = tp_asv_get_strv (properties, TP_PROP_CHANNEL_INTERFACES); + + if (!tp_strv_contains (interfaces, TP_IFACE_CHANNEL_INTERFACE_MESSAGES)) + { + DEBUG ("channel %s doesn't implement Messages so we can't create " + "a TpTextChannel", object_path); + return FALSE; + } + + return TRUE; +} +static void +build_channel_type_mapping (void) +{ + ChannelTypeMapping i_hate_c[] = { + { TP_IFACE_CHANNEL_TYPE_STREAM_TUBE, + TP_TYPE_STREAM_TUBE_CHANNEL, + NULL, + (NewFunc) _tp_stream_tube_channel_new_with_factory, + { 0 }, + }, + { TP_IFACE_CHANNEL_TYPE_DBUS_TUBE, + TP_TYPE_DBUS_TUBE_CHANNEL, + NULL, + (NewFunc) _tp_dbus_tube_channel_new_with_factory, + { TP_DBUS_TUBE_CHANNEL_FEATURE_CORE, + 0 }, + }, + { TP_IFACE_CHANNEL_TYPE_TEXT, + TP_TYPE_TEXT_CHANNEL, + check_for_messages, + (NewFunc) _tp_text_channel_new_with_factory, + { TP_TEXT_CHANNEL_FEATURE_INCOMING_MESSAGES, + TP_TEXT_CHANNEL_FEATURE_SMS, + 0 }, + }, + { TP_IFACE_CHANNEL_TYPE_FILE_TRANSFER, + TP_TYPE_FILE_TRANSFER_CHANNEL, + NULL, + (NewFunc) _tp_file_transfer_channel_new_with_factory, + { TP_FILE_TRANSFER_CHANNEL_FEATURE_CORE, + 0 }, + }, + { TP_IFACE_CHANNEL_TYPE_CALL, + TP_TYPE_CALL_CHANNEL, + NULL, + (NewFunc) _tp_call_channel_new_with_factory, + { TP_CALL_CHANNEL_FEATURE_CORE, + 0 }, + }, + { NULL } + }; + + g_return_if_fail (channel_type_mapping == NULL); + + channel_type_mapping = g_memdup (i_hate_c, sizeof i_hate_c); +} + static TpChannel * create_channel_impl (TpSimpleClientFactory *self, TpConnection *conn, @@ -128,44 +220,20 @@ GError **error) { const gchar *chan_type; + ChannelTypeMapping *m; chan_type = tp_asv_get_string (properties, TP_PROP_CHANNEL_CHANNEL_TYPE); - if (!tp_strdiff (chan_type, TP_IFACE_CHANNEL_TYPE_STREAM_TUBE)) - { - return (TpChannel *) _tp_stream_tube_channel_new_with_factory (self, conn, - object_path, properties, error); - } - else if (!tp_strdiff (chan_type, TP_IFACE_CHANNEL_TYPE_DBUS_TUBE)) + for (m = channel_type_mapping; m->channel_type != NULL; m++) { - return (TpChannel *) _tp_dbus_tube_channel_new_with_factory (self, conn, - object_path, properties, error); - } - else if (!tp_strdiff (chan_type, TP_IFACE_CHANNEL_TYPE_TEXT)) - { - const gchar * const * interfaces; - - interfaces = tp_asv_get_strv (properties, TP_PROP_CHANNEL_INTERFACES); + if (tp_strdiff (chan_type, m->channel_type)) + continue; - /* Create a TpTextChannel only if the channel supports Messages */ - if (tp_strv_contains (interfaces, TP_IFACE_CHANNEL_INTERFACE_MESSAGES)) - { - return (TpChannel *) _tp_text_channel_new_with_factory (self, conn, - object_path, properties, error); - } + if (m->check_properties != NULL && + !m->check_properties (object_path, properties)) + break; - DEBUG ("channel %s doesn't implement Messages so we can't create " - "a TpTextChannel", object_path); - } - else if (!tp_strdiff (chan_type, TP_IFACE_CHANNEL_TYPE_FILE_TRANSFER)) - { - return (TpChannel *) _tp_file_transfer_channel_new_with_factory (self, - conn, object_path, properties, error); - } - else if (!tp_strdiff (chan_type, TP_IFACE_CHANNEL_TYPE_CALL)) - { - return (TpChannel *) _tp_call_channel_new_with_factory (self, - conn, object_path, properties, error); + return m->new_func (self, conn, object_path, properties, error); } /* Chainup on parent implementation as fallback */ @@ -177,34 +245,26 @@ TpChannel *channel) { GArray *features; - GQuark feature; + GQuark standard_features[] = { + TP_CHANNEL_FEATURE_GROUP, + TP_CHANNEL_FEATURE_PASSWORD, + }; + ChannelTypeMapping *m; /* Chainup to get desired features for all channel types */ features = chainup->dup_channel_features (self, channel); - feature = TP_CHANNEL_FEATURE_GROUP; - g_array_append_val (features, feature); - - feature = TP_CHANNEL_FEATURE_PASSWORD; - g_array_append_val (features, feature); + g_array_append_vals (features, standard_features, G_N_ELEMENTS (standard_features)); - if (TP_IS_TEXT_CHANNEL (channel)) - { - feature = TP_TEXT_CHANNEL_FEATURE_INCOMING_MESSAGES; - g_array_append_val (features, feature); - - feature = TP_TEXT_CHANNEL_FEATURE_SMS; - g_array_append_val (features, feature); - } - else if (TP_IS_FILE_TRANSFER_CHANNEL (channel)) + for (m = channel_type_mapping; m->channel_type != NULL; m++) { - feature = TP_FILE_TRANSFER_CHANNEL_FEATURE_CORE; - g_array_append_val (features, feature); - } - else if (TP_IS_CALL_CHANNEL (channel)) - { - feature = TP_CALL_CHANNEL_FEATURE_CORE; - g_array_append_val (features, feature); + if (G_TYPE_CHECK_INSTANCE_TYPE (channel, m->gtype)) + { + guint j; + for (j = 0; m->features[j] != 0; j++) + g_array_append_val (features, m->features[j]); + break; + } } return features; @@ -222,6 +282,8 @@ simple_class->create_channel = create_channel_impl; simple_class->dup_channel_features = dup_channel_features_impl; + + build_channel_type_mapping (); } /** diff -Nru telepathy-glib-0.17.7/telepathy-glib/base-contact-list.c telepathy-glib-0.18.0/telepathy-glib/base-contact-list.c --- telepathy-glib-0.17.7/telepathy-glib/base-contact-list.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/base-contact-list.c 2012-04-02 20:23:16.000000000 +0000 @@ -140,6 +140,12 @@ * tp_base_contact_list_get_contact_list_persists(); if a subclass does not * implement this itself, the default implementation always returns %TRUE, * which is correct for most protocols + * @download_async: the implementation of + * tp_base_contact_list_download_async(); if a subclass does not implement + * this itself, the default implementation will raise + * TP_ERROR_NOT_IMPLEMENTED asynchronously. Since: 0.18.0 + * @download_finish: the implementation of + * tp_base_contact_list_download_finish(). Since: 0.18.0 * * The class of a #TpBaseContactList. * @@ -191,6 +197,17 @@ */ /** + * TpBaseContactListAsyncFunc: + * @self: the contact list manager + * @callback: a callback to call on success, failure or disconnection + * @user_data: user data for the callback + * + * Signature of a virtual method that needs no additional information. + * + * Since: 0.18.0 + */ + +/** * TpBaseContactListActOnContactsFunc: * @self: the contact list manager * @contacts: the contacts on which to act @@ -286,6 +303,10 @@ gboolean svc_contact_list; gboolean svc_contact_groups; gboolean svc_contact_blocking; + + /* TRUE if the contact list must be downloaded at connection. Default is + * TRUE. */ + gboolean download_at_connection; }; struct _TpBaseContactListClassPrivate @@ -500,6 +521,7 @@ enum { PROP_CONNECTION = 1, + PROP_DOWNLOAD_AT_CONNECTION, N_PROPS }; @@ -641,6 +663,10 @@ g_value_set_object (value, self->priv->conn); break; + case PROP_DOWNLOAD_AT_CONNECTION: + g_value_set_boolean (value, self->priv->download_at_connection); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -662,6 +688,10 @@ self->priv->conn = g_value_dup_object (value); break; + case PROP_DOWNLOAD_AT_CONNECTION: + self->priv->download_at_connection = g_value_get_boolean (value); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -734,6 +764,7 @@ g_return_if_fail (cls->dup_contacts != NULL); g_return_if_fail (cls->dup_states != NULL); g_return_if_fail (cls->get_contact_list_persists != NULL); + g_return_if_fail (cls->download_async != NULL); self->priv->svc_contact_list = TP_IS_SVC_CONNECTION_INTERFACE_CONTACT_LIST (self->priv->conn); @@ -847,6 +878,16 @@ } static void +tp_base_contact_list_download_async_default (TpBaseContactList *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + g_simple_async_report_error_in_idle (G_OBJECT (self), callback, + user_data, TP_ERRORS, TP_ERROR_NOT_IMPLEMENTED, + "This CM does not implement Download"); +} + +static void tp_mutable_contact_list_default_init (TpMutableContactListInterface *iface) { iface->request_subscription_finish = tp_base_contact_list_simple_finish; @@ -907,6 +948,8 @@ /* defaults */ cls->get_contact_list_persists = tp_base_contact_list_true_func; + cls->download_async = tp_base_contact_list_download_async_default; + cls->download_finish = tp_base_contact_list_simple_finish; object_class->get_property = tp_base_contact_list_get_property; object_class->set_property = tp_base_contact_list_set_property; @@ -926,6 +969,23 @@ "The connection that owns this channel manager", TP_TYPE_BASE_CONNECTION, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS)); + + /** + * TpBaseContactList:download-at-connection: + * + * Whether the roster should be automatically downloaded at connection. + * + * This property doesn't change anything in TpBaseContactsList's behaviour. + * Implementations should check this property when they become connected + * and in their Download method, and behave accordingly. + * + * Since: 0.18.0 + */ + g_object_class_install_property (object_class, PROP_DOWNLOAD_AT_CONNECTION, + g_param_spec_boolean ("download-at-connection", "Download at connection", + "Whether the roster should be automatically downloaded at connection", + TRUE, + G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); } static void @@ -1979,8 +2039,8 @@ self->priv->conn, self->priv->state); } -static char -presence_state_to_letter (TpSubscriptionState ps) +char +_tp_base_contact_list_presence_state_to_letter (TpSubscriptionState ps) { switch (ps) { @@ -2097,8 +2157,9 @@ DEBUG ("Contact %s: subscribe=%c publish=%c '%s'", tp_handle_inspect (self->priv->contact_repo, contact), - presence_state_to_letter (subscribe), - presence_state_to_letter (publish), publish_request); + _tp_base_contact_list_presence_state_to_letter (subscribe), + _tp_base_contact_list_presence_state_to_letter (publish), + publish_request); switch (publish) { @@ -3095,6 +3156,82 @@ } /** + * tp_base_contact_list_get_download_at_connection: + * @self: a contact list manager + * + * This function returns the + * #TpBaseContactList:download-at-connection property. + * + * Returns: the #TpBaseContactList:download-at-connection property + * + * Since: 0.18.0 + */ +gboolean +tp_base_contact_list_get_download_at_connection (TpBaseContactList *self) +{ + return self->priv->download_at_connection; +} + +/** + * tp_base_contact_list_download_async: + * @self: a contact list manager + * @callback: a callback to call when the operation succeeds or fails + * @user_data: optional data to pass to @callback + * + * Download the contact list when it is not done automatically at + * connection. + * + * If the #TpBaseContactList subclass does not override + * download_async, the default implementation will raise + * TP_ERROR_NOT_IMPLEMENTED asynchronously. + * + * Since: 0.18.0 + */ +void +tp_base_contact_list_download_async (TpBaseContactList *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + TpBaseContactListClass *cls = TP_BASE_CONTACT_LIST_GET_CLASS (self); + + g_return_if_fail (cls != NULL); + g_return_if_fail (cls->download_async != NULL); + + return cls->download_async (self, callback, user_data); +} + +/** + * tp_base_contact_list_download_finish: + * @self: a contact list manager + * @result: the result passed to @callback by an implementation of + * tp_base_contact_list_download_async() + * @error: used to raise an error if %FALSE is returned + * + * Interpret the result of an asynchronous call to + * tp_base_contact_list_download_async(). + * + * This is a virtual method which may be implemented using + * #TpContactListClass.download_finish. If the @result + * will be a #GSimpleAsyncResult, the default implementation may be used. + * + * Returns: %TRUE on success or %FALSE on error + * + * Since: 0.18.0 + */ +gboolean +tp_base_contact_list_download_finish (TpBaseContactList *self, + GAsyncResult *result, + GError **error) +{ + TpBaseContactListClass *cls = TP_BASE_CONTACT_LIST_GET_CLASS (self); + + g_return_val_if_fail (cls != NULL, FALSE); + g_return_val_if_fail (cls->download_finish != NULL, FALSE); + + return cls->download_finish (self, result, error); +} + +/** * tp_base_contact_list_get_request_uses_message: * @self: a contact list manager * @@ -5187,6 +5324,7 @@ LP_CONTACT_LIST_PERSISTS, LP_CAN_CHANGE_CONTACT_LIST, LP_REQUEST_USES_MESSAGE, + LP_DOWNLOAD_AT_CONNECTION, NUM_LIST_PROPERTIES } ListProp; @@ -5195,6 +5333,7 @@ { "ContactListPersists", GINT_TO_POINTER (LP_CONTACT_LIST_PERSISTS), }, { "CanChangeContactList", GINT_TO_POINTER (LP_CAN_CHANGE_CONTACT_LIST) }, { "RequestUsesMessage", GINT_TO_POINTER (LP_REQUEST_USES_MESSAGE) }, + { "DownloadAtConnection", GINT_TO_POINTER (LP_DOWNLOAD_AT_CONNECTION) }, { NULL } }; @@ -5237,6 +5376,11 @@ tp_base_contact_list_get_request_uses_message (self)); break; + case LP_DOWNLOAD_AT_CONNECTION: + g_return_if_fail (G_VALUE_HOLDS_BOOLEAN (value)); + g_value_set_boolean (value, self->priv->download_at_connection); + break; + default: g_return_if_reached (); } @@ -5292,6 +5436,31 @@ } } +static void +tp_base_contact_list_mixin_download_cb (GObject *source, + GAsyncResult *result, + gpointer context) +{ + TpBaseContactList *self = TP_BASE_CONTACT_LIST (source); + GError *error = NULL; + + tp_base_contact_list_download_finish (self, result, &error); + tp_base_contact_list_mixin_return_void (context, error); + g_clear_error (&error); +} + +static void +tp_base_contact_list_mixin_download ( + TpSvcConnectionInterfaceContactList *svc, + DBusGMethodInvocation *context) +{ + TpBaseContactList *self = _tp_base_connection_find_channel_manager ( + (TpBaseConnection *) svc, TP_TYPE_BASE_CONTACT_LIST); + + tp_base_contact_list_download_async (self, + tp_base_contact_list_mixin_download_cb, context); +} + /** * tp_base_contact_list_mixin_list_iface_init: * @klass: the service-side D-Bus interface @@ -5316,6 +5485,7 @@ IMPLEMENT (remove_contacts); IMPLEMENT (unsubscribe); IMPLEMENT (unpublish); + IMPLEMENT (download); #undef IMPLEMENT } diff -Nru telepathy-glib-0.17.7/telepathy-glib/base-contact-list.h telepathy-glib-0.18.0/telepathy-glib/base-contact-list.h --- telepathy-glib-0.17.7/telepathy-glib/base-contact-list.h 2012-03-05 22:32:58.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/base-contact-list.h 2012-04-02 19:51:47.000000000 +0000 @@ -64,6 +64,8 @@ GError **error); TpBaseConnection *tp_base_contact_list_get_connection ( TpBaseContactList *self, GError **error); +gboolean tp_base_contact_list_get_download_at_connection ( + TpBaseContactList *self); /* ---- Called by subclasses for ContactList (or both) ---- */ @@ -112,6 +114,23 @@ TpSubscriptionState *publish, gchar **publish_request); +typedef void (*TpBaseContactListAsyncFunc) ( + TpBaseContactList *self, + GAsyncReadyCallback callback, + gpointer user_data); + +void tp_base_contact_list_download_async (TpBaseContactList *self, + GAsyncReadyCallback callback, + gpointer user_data); + +gboolean tp_base_contact_list_download_finish (TpBaseContactList *self, + GAsyncResult *result, + GError **error); + +typedef gboolean (*TpBaseContactListAsyncFinishFunc) (TpBaseContactList *self, + GAsyncResult *result, + GError **error); + struct _TpBaseContactListClass { GObjectClass parent_class; @@ -119,8 +138,11 @@ TpBaseContactListDupStatesFunc dup_states; TpBaseContactListBooleanFunc get_contact_list_persists; + TpBaseContactListAsyncFunc download_async; + TpBaseContactListAsyncFinishFunc download_finish; + /**/ - GCallback _padding[7]; + GCallback _padding[5]; TpBaseContactListClassPrivate *priv; }; @@ -152,10 +174,6 @@ GAsyncReadyCallback callback, gpointer user_data); -typedef gboolean (*TpBaseContactListAsyncFinishFunc) (TpBaseContactList *self, - GAsyncResult *result, - GError **error); - struct _TpMutableContactListInterface { GTypeInterface parent; diff -Nru telepathy-glib-0.17.7/telepathy-glib/base-contact-list-internal.h telepathy-glib-0.18.0/telepathy-glib/base-contact-list-internal.h --- telepathy-glib-0.17.7/telepathy-glib/base-contact-list-internal.h 2012-03-05 22:32:58.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/base-contact-list-internal.h 2012-04-02 19:51:47.000000000 +0000 @@ -76,6 +76,8 @@ TpHandle group, GError **error); +char _tp_base_contact_list_presence_state_to_letter (TpSubscriptionState ps); + G_END_DECLS #endif diff -Nru telepathy-glib-0.17.7/telepathy-glib/call-channel.c telepathy-glib-0.18.0/telepathy-glib/call-channel.c --- telepathy-glib-0.17.7/telepathy-glib/call-channel.c 2012-03-22 21:06:44.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/call-channel.c 2012-04-02 19:51:47.000000000 +0000 @@ -361,6 +361,29 @@ DEBUG ("Content '%s' removed but not found", object_path); } +static const gchar * +call_state_to_string (TpCallState state) +{ + switch (state) + { + case TP_CALL_STATE_UNKNOWN: + return "unknown"; + case TP_CALL_STATE_PENDING_INITIATOR: + return "pending-initiator"; + case TP_CALL_STATE_INITIALISING: + return "initialising"; + case TP_CALL_STATE_INITIALISED: + return "initialised"; + case TP_CALL_STATE_ACCEPTED: + return "accepted"; + case TP_CALL_STATE_ACTIVE: + return "active"; + case TP_CALL_STATE_ENDED: + return "ended"; + } + return "invalid"; +} + static void call_state_changed_cb (TpChannel *channel, guint state, @@ -375,7 +398,8 @@ if (!self->priv->properties_retrieved) return; - DEBUG ("Call state changed to %u (flags: %u)", state, flags); + DEBUG ("Call state changed to %s (flags: %u)", call_state_to_string (state), + flags); tp_clear_pointer (&self->priv->state_reason, _tp_call_state_reason_unref); tp_clear_pointer (&self->priv->state_details, g_hash_table_unref); diff -Nru telepathy-glib-0.17.7/telepathy-glib/call-content-media-description.c telepathy-glib-0.18.0/telepathy-glib/call-content-media-description.c --- telepathy-glib-0.17.7/telepathy-glib/call-content-media-description.c 2012-03-20 19:54:53.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/call-content-media-description.c 2012-04-02 19:51:47.000000000 +0000 @@ -724,10 +724,12 @@ /** * tp_call_content_media_description_add_ssrc: * @self: a #TpCallContentMediaDescription - * @contact: if you use this API, you know what it is about - * @ssrc: if you use this API, you know what it is about + * @contact: The #TpHandle of a contact that is part of the call + * @ssrc: A SSRC that this contact may send from * - * if you use this API, you know what it is about + * Add an SSRC to the list of SSRCs that a contact will send from. A SSRC + * is a synchronization source in RTP, it is the identifier for a continuous + * stream of packets following the same timeline. * * Since: 0.17.5 */ @@ -763,12 +765,13 @@ /** * tp_call_content_media_description_append_codec: * @self: a #TpCallContentMediaDescription - * @identifier: if you use this API, you know what it is about - * @name: if you use this API, you know what it is about - * @clock_rate: if you use this API, you know what it is about - * @channels: if you use this API, you know what it is about - * @updated: if you use this API, you know what it is about - * @parameters: if you use this API, you know what it is about + * @identifier: Numeric identifier for the codec. This will be used as the PT + * in the SDP or content description. + * @name: The name of the codec. + * @clock_rate: The clock rate of the codec. + * @channels: Number of channels of the codec if applicable, otherwise 0. + * @updated: %TRUE if this codec was updated since the last Media Description + * @parameters: a #GHashTable of string->string containing optional parameters * * Add description for a supported codec. * diff -Nru telepathy-glib-0.17.7/telepathy-glib/channel.c telepathy-glib-0.18.0/telepathy-glib/channel.c --- telepathy-glib-0.17.7/telepathy-glib/channel.c 2012-03-20 19:54:53.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/channel.c 2012-04-02 19:51:47.000000000 +0000 @@ -2451,12 +2451,12 @@ /** * tp_channel_join_finish: * @self: a #TpChannel - * @result: a #GAsyncResult + * @result: a #GAsyncResult passed to the callback for tp_channel_join_async(). * @error: a #GError to fill * - * Finishes to join a channel. + * Completes a call to tp_channel_join_async(). * - * Returns: %TRUE if the channel has been joined; %FALSE otherwise + * Returns: %TRUE if the channel was successfully joined; %FALSE otherwise * * Since: 0.15.5 */ @@ -2659,10 +2659,10 @@ /** * tp_channel_leave_finish: * @self: a #TpChannel - * @result: a #GAsyncResult + * @result: a #GAsyncResult passed to the callback for tp_channel_leave_async(). * @error: a #GError to fill * - * Finishes to leave a channel. + * Completes a call to tp_channel_leave_async(). * * Returns: %TRUE if the channel has been left; %FALSE otherwise * @@ -2716,10 +2716,10 @@ /** * tp_channel_close_finish: * @self: a #TpChannel - * @result: a #GAsyncResult + * @result: a #GAsyncResult passed to the callback for tp_channel_close_async(). * @error: a #GError to fill * - * Finishes to close a channel. + * Finishes a call to tp_channel_leave_async(). * * Returns: %TRUE if the channel has been closed; %FALSE otherwise * @@ -2801,10 +2801,10 @@ /** * tp_channel_destroy_finish: * @self: a #TpChannel - * @result: a #GAsyncResult + * @result: a #GAsyncResult passed to the callback for tp_channel_destroy_async(). * @error: a #GError to fill * - * Finishes to leave a channel. + * Completes a call to tp_channel_destroy_async(). * * Returns: %TRUE if the channel has been destroyed or closed; %FALSE otherwise * @@ -2917,10 +2917,12 @@ /** * tp_channel_provide_password_finish: * @self: a #TpChannel - * @result: a #GAsyncResult + * @result: a #GAsyncResult passed to the callback for + * tp_channel_provide_password_async(). * @error: a #GError to fill * - * Finishes to provide a password. If the password was rejected, the operation + * Completes a call to tp_channel_provide_password_async(). + * If the password was rejected, the operation * fails with #TP_ERROR_AUTHENTICATION_FAILED. * * Returns: %TRUE if the password has been provided and accepted, diff -Nru telepathy-glib-0.17.7/telepathy-glib/contact.c telepathy-glib-0.18.0/telepathy-glib/contact.c --- telepathy-glib-0.17.7/telepathy-glib/contact.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/contact.c 2012-04-02 19:51:47.000000000 +0000 @@ -32,6 +32,7 @@ #include #define DEBUG_FLAG TP_DEBUG_CONTACTS +#include "telepathy-glib/base-contact-list-internal.h" #include "telepathy-glib/connection-contact-list.h" #include "telepathy-glib/connection-internal.h" #include "telepathy-glib/contact-internal.h" @@ -3296,10 +3297,11 @@ if (publish_request == NULL) publish_request = ""; - DEBUG ("contact#%u state changed:", self->priv->handle); - DEBUG (" subscribe: %d", subscribe); - DEBUG (" publish: %d", publish); - DEBUG (" publish request: %s", publish_request); + DEBUG ("contact#%u state changed: subscribe=%c publish=%c '%s'", + self->priv->handle, + _tp_base_contact_list_presence_state_to_letter (subscribe), + _tp_base_contact_list_presence_state_to_letter (publish), + publish_request); self->priv->has_features |= CONTACT_FEATURE_FLAG_STATES; diff -Nru telepathy-glib-0.17.7/telepathy-glib/dbus-tube-channel.c telepathy-glib-0.18.0/telepathy-glib/dbus-tube-channel.c --- telepathy-glib-0.17.7/telepathy-glib/dbus-tube-channel.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/dbus-tube-channel.c 2012-04-02 20:23:32.000000000 +0000 @@ -21,10 +21,44 @@ /** * SECTION:dbus-tube-channel * @title: TpDBusTubeChannel - * @short_description: proxy object for a dbus tube channel + * @short_description: proxy object for D-Bus tube channels * - * #TpDBusTubeChannel is a sub-class of #TpChannel providing convenient API - * to offer and accept a dbus tube. + * #TpDBusTubeChannel provides API for working with D-Bus tube channels, which + * allow applications to open D-Bus connections to a contact or chat room. + * + * To create a new outgoing D-Bus tube channel, do something like: + * + * |[ + * GHashTable *request_properties = tp_asv_new ( + * TP_PROP_CHANNEL_CHANNEL_TYPE, G_TYPE_STRING, TP_IFACE_CHANNEL_TYPE_DBUS_TUBE, + * TP_PROP_CHANNEL_TARGET_HANDLE_TYPE, G_TYPE_UINT, TP_HANDLE_TYPE_CONTACT, + * TP_PROP_CHANNEL_TARGET_ID, G_TYPE_STRING, tp_contact_get_identifier (contact), + * TP_PROP_CHANNEL_TYPE_DBUS_TUBE_SERVICE_NAME, G_TYPE_STRING, "com.example.walrus", + * NULL); + * TpAccountChannelRequest *req = tp_account_channel_request_new (account, + * request_properties, TP_USER_ACTION_TIME_NOT_USER_ACTION); + * tp_account_channel_request_create_and_handle_channel_async (req, NULL, callback, NULL); + * + * // ... + * + * static void + * callback ( + * GObject *source, + * GAsyncResult *result, + * gpointer user_data) + * { + * TpAccountChannelRequest *req = TP_ACCOUNT_CHANNEL_REQUEST (source); + * TpChannel *channel; + * GError *error = NULL; + * + * channel = tp_account_channel_request_create_and_handle_channel_finish (req, result, &error); + * tp_dbus_tube_channel_offer_async (TP_DBUS_TUBE_CHANNEL (channel), NULL, offer_callback, NULL); + * } + * ]| + * + * You can find a fuller example in the examples/client/dbus-tubes + * directory. * * Since: 0.15.6 */ @@ -71,6 +105,10 @@ struct _TpDBusTubeChannelPrivate { GHashTable *parameters; + TpTubeChannelState state; + + GSimpleAsyncResult *result; + gchar *address; }; enum @@ -85,6 +123,9 @@ TpDBusTubeChannel *self = (TpDBusTubeChannel *) obj; tp_clear_pointer (&self->priv->parameters, g_hash_table_unref); + /* If priv->result isn't NULL, it owns a ref to self. */ + g_warn_if_fail (self->priv->result == NULL); + tp_clear_pointer (&self->priv->address, g_free); G_OBJECT_CLASS (tp_dbus_tube_channel_parent_class)->dispose (obj); } @@ -115,6 +156,102 @@ } static void +complete_operation (TpDBusTubeChannel *self) +{ + TpDBusTubeChannelPrivate *priv = self->priv; + GSimpleAsyncResult *result = priv->result; + + /* This dance is to ensure that we don't accidentally manipulate priv->result + * while calling out to user code. For instance, someone might call + * tp_proxy_invalidate() on us, which winds up landing us in here via our + * handler for that signal. + */ + g_assert (priv->result != NULL); + result = priv->result; + priv->result = NULL; + g_simple_async_result_complete (result); + g_object_unref (result); +} + +static void +dbus_connection_new_cb (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + TpDBusTubeChannel *self = user_data; + GDBusConnection *conn; + GError *error = NULL; + + conn = g_dbus_connection_new_for_address_finish (result, &error); + if (conn == NULL) + { + DEBUG ("Failed to create GDBusConnection: %s", error->message); + g_simple_async_result_take_error (self->priv->result, error); + } + else + { + g_simple_async_result_set_op_res_gpointer (self->priv->result, + conn, g_object_unref); + } + + complete_operation (self); +} + +static void +check_tube_open (TpDBusTubeChannel *self) +{ + if (self->priv->result == NULL) + return; + + if (self->priv->address == NULL) + return; + + if (self->priv->state != TP_TUBE_CHANNEL_STATE_OPEN) + return; + + DEBUG ("Tube %s opened: %s", tp_proxy_get_object_path (self), + self->priv->address); + + g_dbus_connection_new_for_address (self->priv->address, + G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT, NULL, + NULL, dbus_connection_new_cb, self); +} + +static void +dbus_tube_invalidated_cb ( + TpProxy *proxy, + guint domain, + gint code, + gchar *message, + gpointer user_data) +{ + TpDBusTubeChannel *self = TP_DBUS_TUBE_CHANNEL (proxy); + TpDBusTubeChannelPrivate *priv = self->priv; + GError error = { domain, code, message }; + + if (priv->result != NULL) + { + DEBUG ("Tube invalidated: '%s'; failing pending offer/accept method call", + message); + g_simple_async_result_set_from_error (priv->result, &error); + complete_operation (self); + } +} + +static void +tube_state_changed_cb (TpChannel *channel, + TpTubeChannelState state, + gpointer user_data, + GObject *weak_object) +{ + TpDBusTubeChannel *self = (TpDBusTubeChannel *) channel; + + self->priv->state = state; + + check_tube_open (self); +} + +static void tp_dbus_tube_channel_constructed (GObject *obj) { TpDBusTubeChannel *self = (TpDBusTubeChannel *) obj; @@ -175,6 +312,85 @@ TP_HASH_TYPE_STRING_VARIANT_MAP, params); } } + + g_signal_connect (self, "invalidated", + G_CALLBACK (dbus_tube_invalidated_cb), NULL); +} + +static void +get_state_cb (TpProxy *proxy, + const GValue *value, + const GError *error, + gpointer user_data, + GObject *weak_object) +{ + TpDBusTubeChannel *self = (TpDBusTubeChannel *) proxy; + GSimpleAsyncResult *result = user_data; + + if (error != NULL) + { + DEBUG ("Failed to get Tube.State property: %s", error->message); + + g_simple_async_result_set_error (result, error->domain, error->code, + "Failed to get Tube.State property: %s", error->message); + } + else + { + self->priv->state = g_value_get_uint (value); + } + + g_simple_async_result_complete (result); +} + +static void +tp_dbus_tube_channel_prepare_core_feature_async (TpProxy *proxy, + const TpProxyFeature *feature, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GSimpleAsyncResult *result; + GError *error = NULL; + TpChannel *chan = (TpChannel *) proxy; + + result = g_simple_async_result_new ((GObject *) proxy, callback, user_data, + tp_dbus_tube_channel_prepare_core_feature_async); + + if (tp_cli_channel_interface_tube_connect_to_tube_channel_state_changed (chan, + tube_state_changed_cb, proxy, NULL, NULL, &error) == NULL) + { + WARNING ("Failed to connect to TubeChannelStateChanged on %s: %s", + tp_proxy_get_object_path (proxy), error->message); + g_error_free (error); + } + + tp_cli_dbus_properties_call_get (proxy, -1, + TP_IFACE_CHANNEL_INTERFACE_TUBE, "State", + get_state_cb, result, g_object_unref, G_OBJECT (proxy)); +} + +enum { + FEAT_CORE, + N_FEAT +}; + +static const TpProxyFeature * +tp_dbus_tube_channel_list_features (TpProxyClass *cls G_GNUC_UNUSED) +{ + static TpProxyFeature features[N_FEAT + 1] = { { 0 } }; + + if (G_LIKELY (features[0].name != 0)) + return features; + + features[FEAT_CORE].name = + TP_DBUS_TUBE_CHANNEL_FEATURE_CORE; + features[FEAT_CORE].prepare_async = + tp_dbus_tube_channel_prepare_core_feature_async; + features[FEAT_CORE].core = TRUE; + + /* assert that the terminator at the end is there */ + g_assert (features[N_FEAT].name == 0); + + return features; } static void @@ -182,11 +398,14 @@ { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GParamSpec *param_spec; + TpProxyClass *proxy_class = (TpProxyClass *) klass; gobject_class->constructed = tp_dbus_tube_channel_constructed; gobject_class->get_property = tp_dbus_tube_channel_get_property; gobject_class->dispose = tp_dbus_tube_channel_dispose; + proxy_class->list_features = tp_dbus_tube_channel_list_features; + /** * TpDBusTubeChannel:service-name: * @@ -290,3 +509,256 @@ { return self->priv->parameters; } + +/** + * TP_DBUS_TUBE_CHANNEL_FEATURE_CORE: + * + * Expands to a call to a function that returns a quark representing the + * core feature of a #TpDBusTubeChannel. + * + * One can ask for a feature to be prepared using the + * tp_proxy_prepare_async() function, and waiting for it to callback. + * + * Since: 0.18.0 + */ +GQuark +tp_dbus_tube_channel_feature_quark_core (void) +{ + return g_quark_from_static_string ("tp-dbus-tube-channel-feature-core"); +} + +static void +dbus_tube_offer_cb (TpChannel *channel, + const gchar *address, + const GError *error, + gpointer user_data, + GObject *weak_object) +{ + TpDBusTubeChannel *self = (TpDBusTubeChannel *) channel; + + if (error != NULL) + { + DEBUG ("Offer() failed: %s", error->message); + + g_simple_async_result_set_from_error (self->priv->result, error); + complete_operation (self); + return; + } + + self->priv->address = g_strdup (address); + + /* We have to wait that the tube is opened before being allowed to use it */ + check_tube_open (self); +} + +static void +proxy_prepare_offer_cb (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + TpDBusTubeChannel *self = (TpDBusTubeChannel *) source; + GHashTable *params = user_data; + GError *error = NULL; + + if (!tp_proxy_prepare_finish (source, result, &error)) + { + g_simple_async_result_take_error (self->priv->result, error); + complete_operation (self); + goto out; + } + + if (self->priv->state != TP_TUBE_CHANNEL_STATE_NOT_OFFERED) + { + g_simple_async_result_set_error (self->priv->result, TP_ERRORS, + TP_ERROR_INVALID_ARGUMENT, "Tube is not in the NotOffered state"); + complete_operation (self); + goto out; + } + + g_assert (self->priv->parameters == NULL); + if (params != NULL) + self->priv->parameters = g_hash_table_ref (params); + else + self->priv->parameters = tp_asv_new (NULL, NULL); + + g_object_notify (G_OBJECT (self), "parameters"); + + /* TODO: provide a way to use TP_SOCKET_ACCESS_CONTROL_LOCALHOST if you're in + * an environment where you need to disable authentication. tp-glib can't + * guess this for you. + */ + tp_cli_channel_type_dbus_tube_call_offer (TP_CHANNEL (self), -1, + self->priv->parameters, TP_SOCKET_ACCESS_CONTROL_CREDENTIALS, + dbus_tube_offer_cb, NULL, NULL, G_OBJECT (self)); + +out: + tp_clear_pointer (¶ms, g_hash_table_unref); +} + +/** + * tp_dbus_tube_channel_offer_async + * @self: an outgoing #TpDBusTubeChannel + * @params: (allow-none) (transfer none): parameters of the tube, or %NULL + * @callback: a callback to call when the tube has been offered + * @user_data: data to pass to @callback + * + * Offer an outgoing D-Bus tube. When the tube has been offered and accepted + * @callback will be called. You can then call + * tp_dbus_tube_channel_offer_finish() to get the #GDBusConnection that will + * be used to communicate through the tube. + * + * Since: 0.18.0 + */ +void +tp_dbus_tube_channel_offer_async (TpDBusTubeChannel *self, + GHashTable *params, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GQuark features[] = { TP_DBUS_TUBE_CHANNEL_FEATURE_CORE, 0 }; + + g_return_if_fail (TP_IS_DBUS_TUBE_CHANNEL (self)); + g_return_if_fail (self->priv->result == NULL); + g_return_if_fail (tp_channel_get_requested (TP_CHANNEL (self))); + g_return_if_fail (self->priv->parameters == NULL); + + self->priv->result = g_simple_async_result_new (G_OBJECT (self), callback, + user_data, tp_dbus_tube_channel_offer_async); + + /* We need CORE to be prepared as we rely on State changes */ + tp_proxy_prepare_async (self, features, proxy_prepare_offer_cb, + params != NULL ? g_hash_table_ref (params) : params); +} + +/** + * tp_dbus_tube_channel_offer_finish: + * @self: a #TpDBusTubeChannel + * @result: a #GAsyncResult + * @error: a #GError to fill + * + * Finishes offering an outgoing D-Bus tube. The returned #GDBusConnection + * is ready to be used to exchange data through the tube. + * + * Returns: (transfer full): a reference on a #GDBusConnection if the tube + * has been successfully offered and opened; %NULL otherwise. + * + * Since: 0.18.0 + */ +GDBusConnection * +tp_dbus_tube_channel_offer_finish (TpDBusTubeChannel *self, + GAsyncResult *result, + GError **error) +{ + _tp_implement_finish_return_copy_pointer (self, + tp_dbus_tube_channel_offer_async, g_object_ref) +} + +static void +dbus_tube_accept_cb (TpChannel *channel, + const gchar *address, + const GError *error, + gpointer user_data, + GObject *weak_object) +{ + TpDBusTubeChannel *self = (TpDBusTubeChannel *) channel; + + if (error != NULL) + { + DEBUG ("Accept() failed: %s", error->message); + + g_simple_async_result_set_from_error (self->priv->result, error); + complete_operation (self); + return; + } + + self->priv->address = g_strdup (address); + + /* We have to wait that the tube is opened before being allowed to use it */ + check_tube_open (self); +} + +static void +proxy_prepare_accept_cb (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + TpDBusTubeChannel *self = (TpDBusTubeChannel *) source; + GError *error = NULL; + + if (!tp_proxy_prepare_finish (source, result, &error)) + { + g_simple_async_result_take_error (self->priv->result, error); + complete_operation (self); + return; + } + + if (self->priv->state != TP_TUBE_CHANNEL_STATE_LOCAL_PENDING) + { + g_simple_async_result_set_error (self->priv->result, TP_ERRORS, + TP_ERROR_INVALID_ARGUMENT, "Tube is not in the LocalPending state"); + complete_operation (self); + return; + } + + /* TODO: provide a way to use TP_SOCKET_ACCESS_CONTROL_LOCALHOST if you're in + * an environment where you need to disable authentication. tp-glib can't + * guess this for you. + */ + tp_cli_channel_type_dbus_tube_call_accept (TP_CHANNEL (self), -1, + TP_SOCKET_ACCESS_CONTROL_CREDENTIALS, dbus_tube_accept_cb, + NULL, NULL, G_OBJECT (self)); +} + +/** + * tp_dbus_tube_channel_accept_async + * @self: an incoming #TpDBusTubeChannel + * @callback: a callback to call when the tube has been offered + * @user_data: data to pass to @callback + * + * Accept an incoming D-Bus tube. When the tube has been accepted + * @callback will be called. You can then call + * tp_dbus_tube_channel_accept_finish() to get the #GDBusConnection that will + * be used to communicate through the tube. + * + * Since: 0.18.0 + */ +void +tp_dbus_tube_channel_accept_async (TpDBusTubeChannel *self, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GQuark features[] = { TP_DBUS_TUBE_CHANNEL_FEATURE_CORE, 0 }; + + g_return_if_fail (TP_IS_DBUS_TUBE_CHANNEL (self)); + g_return_if_fail (self->priv->result == NULL); + g_return_if_fail (!tp_channel_get_requested (TP_CHANNEL (self))); + + self->priv->result = g_simple_async_result_new (G_OBJECT (self), callback, + user_data, tp_dbus_tube_channel_accept_async); + + /* We need CORE to be prepared as we rely on State changes */ + tp_proxy_prepare_async (self, features, proxy_prepare_accept_cb, NULL); +} + +/** + * tp_dbus_tube_channel_accept_finish: + * @self: a #TpDBusTubeChannel + * @result: a #GAsyncResult + * @error: a #GError to fill + * + * Finishes to accept an incoming D-Bus tube. The returned #GDBusConnection + * is ready to be used to exchange data through the tube. + * + * Returns: (transfer full): a reference on a #GDBusConnection if the tube + * has been successfully accepted and opened; %NULL otherwise. + * + * Since: 0.18.0 + */ +GDBusConnection * +tp_dbus_tube_channel_accept_finish (TpDBusTubeChannel *self, + GAsyncResult *result, + GError **error) +{ + _tp_implement_finish_return_copy_pointer (self, + tp_dbus_tube_channel_accept_async, g_object_ref) +} diff -Nru telepathy-glib-0.17.7/telepathy-glib/dbus-tube-channel.h telepathy-glib-0.18.0/telepathy-glib/dbus-tube-channel.h --- telepathy-glib-0.17.7/telepathy-glib/dbus-tube-channel.h 2011-12-13 11:42:10.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/dbus-tube-channel.h 2012-04-02 19:51:47.000000000 +0000 @@ -50,12 +50,37 @@ GCallback _padding[7]; }; +#define TP_DBUS_TUBE_CHANNEL_FEATURE_CORE \ + tp_dbus_tube_channel_feature_quark_core () +GQuark tp_dbus_tube_channel_feature_quark_core (void) G_GNUC_CONST; + GType tp_dbus_tube_channel_get_type (void); const gchar * tp_dbus_tube_channel_get_service_name (TpDBusTubeChannel *self); GHashTable * tp_dbus_tube_channel_get_parameters (TpDBusTubeChannel *self); +/* Outgoing tube methods */ + +void tp_dbus_tube_channel_offer_async (TpDBusTubeChannel *self, + GHashTable *params, + GAsyncReadyCallback callback, + gpointer user_data); + +GDBusConnection * tp_dbus_tube_channel_offer_finish (TpDBusTubeChannel *self, + GAsyncResult *result, + GError **error) G_GNUC_WARN_UNUSED_RESULT; + +/* Incoming tube methods */ + +void tp_dbus_tube_channel_accept_async (TpDBusTubeChannel *self, + GAsyncReadyCallback callback, + gpointer user_data); + +GDBusConnection * tp_dbus_tube_channel_accept_finish (TpDBusTubeChannel *self, + GAsyncResult *result, + GError **error) G_GNUC_WARN_UNUSED_RESULT; + G_END_DECLS #endif diff -Nru telepathy-glib-0.17.7/telepathy-glib/introspection.am telepathy-glib-0.18.0/telepathy-glib/introspection.am --- telepathy-glib-0.17.7/telepathy-glib/introspection.am 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/introspection.am 2012-04-02 19:51:47.000000000 +0000 @@ -76,6 +76,12 @@ _gen/telepathy-interfaces.h \ $(NULL) +if OFFICIAL_RELEASE +SCANNER_WARN_ERROR = +else +SCANNER_WARN_ERROR = --warn-error +endif + TelepathyGLib_0_12_gir_NAMESPACE = TelepathyGLib TelepathyGLib_0_12_gir_VERSION = 0.12 TelepathyGLib_0_12_gir_LIBS = libtelepathy-glib.la @@ -87,6 +93,7 @@ -I$(top_srcdir) \ --c-include="telepathy-glib/telepathy-glib.h" \ --warn-all \ + $(SCANNER_WARN_ERROR) \ $(NULL) TelepathyGLib_0_12_gir_INCLUDES = \ diff -Nru telepathy-glib-0.17.7/telepathy-glib/Makefile.am telepathy-glib-0.18.0/telepathy-glib/Makefile.am --- telepathy-glib-0.17.7/telepathy-glib/Makefile.am 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/Makefile.am 2012-04-02 19:51:47.000000000 +0000 @@ -308,7 +308,7 @@ include codegen.am include introspection.am -Android.mk: Makefile.am +Android.mk: Makefile.am $(codegen_sources) androgenizer -:PROJECT telepathy-glib -:SHARED libtelepathy-glib -:TAGS eng debug \ -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \ -:SOURCES $(libtelepathy_glib_internal_la_SOURCES) \ diff -Nru telepathy-glib-0.17.7/telepathy-glib/Makefile.in telepathy-glib-0.18.0/telepathy-glib/Makefile.in --- telepathy-glib-0.17.7/telepathy-glib/Makefile.in 2012-03-22 21:35:36.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/Makefile.in 2012-04-02 20:31:39.000000000 +0000 @@ -747,6 +747,7 @@ versions/0.17.5.abi \ versions/0.17.6.abi \ versions/0.17.7.abi \ + versions/0.18.0.abi \ $(NULL) @@ -966,6 +967,8 @@ @HAVE_INTROSPECTION_TRUE@ _gen/telepathy-interfaces.h \ @HAVE_INTROSPECTION_TRUE@ $(NULL) +@HAVE_INTROSPECTION_TRUE@@OFFICIAL_RELEASE_FALSE@SCANNER_WARN_ERROR = --warn-error +@HAVE_INTROSPECTION_TRUE@@OFFICIAL_RELEASE_TRUE@SCANNER_WARN_ERROR = @HAVE_INTROSPECTION_TRUE@TelepathyGLib_0_12_gir_NAMESPACE = TelepathyGLib @HAVE_INTROSPECTION_TRUE@TelepathyGLib_0_12_gir_VERSION = 0.12 @HAVE_INTROSPECTION_TRUE@TelepathyGLib_0_12_gir_LIBS = libtelepathy-glib.la @@ -976,6 +979,7 @@ @HAVE_INTROSPECTION_TRUE@ -I$(top_srcdir) \ @HAVE_INTROSPECTION_TRUE@ --c-include="telepathy-glib/telepathy-glib.h" \ @HAVE_INTROSPECTION_TRUE@ --warn-all \ +@HAVE_INTROSPECTION_TRUE@ $(SCANNER_WARN_ERROR) \ @HAVE_INTROSPECTION_TRUE@ $(NULL) @HAVE_INTROSPECTION_TRUE@TelepathyGLib_0_12_gir_INCLUDES = \ @@ -1924,7 +1928,7 @@ # vim:set ft=automake: -Android.mk: Makefile.am +Android.mk: Makefile.am $(codegen_sources) androgenizer -:PROJECT telepathy-glib -:SHARED libtelepathy-glib -:TAGS eng debug \ -:REL_TOP $(top_srcdir) -:ABS_TOP $(abs_top_srcdir) \ -:SOURCES $(libtelepathy_glib_internal_la_SOURCES) \ diff -Nru telepathy-glib-0.17.7/telepathy-glib/proxy.c telepathy-glib-0.18.0/telepathy-glib/proxy.c --- telepathy-glib-0.17.7/telepathy-glib/proxy.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/proxy.c 2012-04-02 19:51:47.000000000 +0000 @@ -567,7 +567,7 @@ static gboolean tp_proxy_emit_invalidated (gpointer p) { - TpProxy *self = p; + TpProxy *self = TP_PROXY (p); g_signal_emit (self, signals[SIGNAL_INVALIDATED], 0, self->invalidated->domain, self->invalidated->code, @@ -1417,7 +1417,7 @@ _tp_proxy_ensure_factory (gpointer proxy, TpSimpleClientFactory *factory) { - TpProxy *self = proxy; + TpProxy *self = TP_PROXY (proxy); if (self->priv->factory != NULL) return; @@ -1823,7 +1823,7 @@ GAsyncResult *result, gpointer user_data) { - TpProxy *self = (TpProxy *) source; + TpProxy *self = TP_PROXY (source); tp_proxy_poll_features (self, NULL); } @@ -2013,7 +2013,7 @@ GAsyncResult *result, gpointer user_data) { - TpProxy *self = (TpProxy *) source; + TpProxy *self = TP_PROXY (source); TpProxyFeature *feature = user_data; GError *error = NULL; gboolean prepared = TRUE; @@ -2304,7 +2304,7 @@ GAsyncResult *result, gpointer user_data) { - TpProxy *self = user_data; + TpProxy *self = TP_PROXY (user_data); /* We don't care if the call succeeded or not as it was already prepared */ self->priv->pending_will_announce_calls--; diff -Nru telepathy-glib-0.17.7/telepathy-glib/stream-tube-channel.c telepathy-glib-0.18.0/telepathy-glib/stream-tube-channel.c --- telepathy-glib-0.17.7/telepathy-glib/stream-tube-channel.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/stream-tube-channel.c 2012-04-02 19:51:47.000000000 +0000 @@ -480,9 +480,12 @@ * strings (D-Bus interface name + "." + property name) to #GValue instances * @error: used to indicate the error if %NULL is returned * - * Convenient function to create a new #TpStreamTubeChannel + * Creates a new #TpStreamTubeChannel proxy object from the provided path and + * properties. Most developers will not need to use this function; use + * #TpAutomaticProxyFactory to automatically create #TpStreamTubeChannel proxy + * objects. * - * Returns: (transfer full): a newly created #TpStreamTubeChannel + * Returns: (transfer full): a newly-created #TpStreamTubeChannel proxy * * Since: 0.13.2 */ @@ -919,7 +922,7 @@ * @result: a #GAsyncResult * @error: a #GError to fill * - * Finishes to accept an incoming stream tube. The returned + * Finishes accepting an incoming stream tube. The returned * #TpStreamTubeConnection can then be used to exchange data through the tube. * * Returns: (transfer full): a newly created #TpStreamTubeConnection @@ -1493,7 +1496,7 @@ * @result: a #GAsyncResult * @error: a #GError to fill * - * Finishes to offer an outgoing stream tube. + * Finishes offering an outgoing stream tube. * * Returns: %TRUE when a Tube has been successfully offered; %FALSE otherwise * diff -Nru telepathy-glib-0.17.7/telepathy-glib/TelepathyGLib-0.12.gir telepathy-glib-0.18.0/telepathy-glib/TelepathyGLib-0.12.gir --- telepathy-glib-0.17.7/telepathy-glib/TelepathyGLib-0.12.gir 2012-03-22 21:44:51.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/TelepathyGLib-0.12.gir 2012-04-02 20:33:08.000000000 +0000 @@ -7718,14 +7718,14 @@ c:identifier="tp_channel_close_finish" version="0.13.10" throws="1"> - Finishes to close a channel. + Finishes a call to tp_channel_leave_async(). %TRUE if the channel has been closed; %FALSE otherwise - a #GAsyncResult + a #GAsyncResult passed to the callback for tp_channel_close_async(). @@ -7762,14 +7762,14 @@ c:identifier="tp_channel_destroy_finish" version="0.15.2" throws="1"> - Finishes to leave a channel. + Completes a call to tp_channel_destroy_async(). %TRUE if the channel has been destroyed or closed; %FALSE otherwise - a #GAsyncResult + a #GAsyncResult passed to the callback for tp_channel_destroy_async(). @@ -8306,14 +8306,14 @@ c:identifier="tp_channel_join_finish" version="0.15.5" throws="1"> - Finishes to join a channel. + Completes a call to tp_channel_join_async(). - %TRUE if the channel has been joined; %FALSE otherwise + %TRUE if the channel was successfully joined; %FALSE otherwise - a #GAsyncResult + a #GAsyncResult passed to the callback for tp_channel_join_async(). @@ -8363,14 +8363,14 @@ c:identifier="tp_channel_leave_finish" version="0.13.10" throws="1"> - Finishes to leave a channel. + Completes a call to tp_channel_leave_async(). %TRUE if the channel has been left; %FALSE otherwise - a #GAsyncResult + a #GAsyncResult passed to the callback for tp_channel_leave_async(). @@ -8421,7 +8421,8 @@ c:identifier="tp_channel_provide_password_finish" version="0.15.2" throws="1"> - Finishes to provide a password. If the password was rejected, the operation + Completes a call to tp_channel_provide_password_async(). +If the password was rejected, the operation fails with #TP_ERROR_AUTHENTICATION_FAILED. %FALSE otherwise. @@ -8431,7 +8432,7 @@ - a #GAsyncResult + a #GAsyncResult passed to the callback for tp_channel_provide_password_async(). @@ -16672,6 +16673,56 @@ glib:get-type="tp_dbus_tube_channel_get_type" glib:type-struct="DBusTubeChannelClass"> Data structure representing a #TpDBusTubeChannel. + + + + + + + Accept an incoming D-Bus tube. When the tube has been accepted +@callback will be called. You can then call +tp_dbus_tube_channel_accept_finish() to get the #GDBusConnection that will +be used to communicate through the tube. + + + + + + a callback to call when the tube has been offered + + + + data to pass to @callback + + + + + + Finishes to accept an incoming D-Bus tube. The returned #GDBusConnection +is ready to be used to exchange data through the tube. + +has been successfully accepted and opened; %NULL otherwise. + + a reference on a #GDBusConnection if the tube + + + + + a #GAsyncResult + + + + + + Offer an outgoing D-Bus tube. When the tube has been offered and accepted +@callback will be called. You can then call +tp_dbus_tube_channel_offer_finish() to get the #GDBusConnection that will +be used to communicate through the tube. + + + + + + parameters of the tube, or %NULL + + + + + + + a callback to call when the tube has been offered + + + + data to pass to @callback + + + + + + Finishes offering an outgoing D-Bus tube. The returned #GDBusConnection +is ready to be used to exchange data through the tube. + +has been successfully offered and opened; %NULL otherwise. + + a reference on a #GDBusConnection if the tube + + + + + a #GAsyncResult + + + + - Convenient function to create a new #TpStreamTubeChannel + Creates a new #TpStreamTubeChannel proxy object from the provided path and +properties. Most developers will not need to use this function; use +#TpAutomaticProxyFactory to automatically create #TpStreamTubeChannel proxy +objects. - a newly created #TpStreamTubeChannel + a newly-created #TpStreamTubeChannel proxy @@ -25469,7 +25574,7 @@ c:identifier="tp_stream_tube_channel_accept_finish" version="0.13.2" throws="1"> - Finishes to accept an incoming stream tube. The returned + Finishes accepting an incoming stream tube. The returned #TpStreamTubeConnection can then be used to exchange data through the tube. a newly created #TpStreamTubeConnection @@ -25545,7 +25650,7 @@ c:identifier="tp_stream_tube_channel_offer_finish" version="0.13.2" throws="1"> - Finishes to offer an outgoing stream tube. + Finishes offering an outgoing stream tube. %TRUE when a Tube has been successfully offered; %FALSE otherwise @@ -26032,14 +26137,14 @@ c:identifier="tp_text_channel_ack_message_finish" version="0.13.10" throws="1"> - Finishes to ack a message. + Finishes acknowledging a message. %TRUE if the message has been acked, %FALSE otherwise. - a #GAsyncResult + a #GAsyncResult passed to the callback for tp_text_channel_ack_message_async() @@ -26085,14 +26190,14 @@ c:identifier="tp_text_channel_ack_messages_finish" version="0.13.10" throws="1"> - Finishes to ack a list of messages. + Finishes acknowledging a list of messages. %TRUE if the messages have been acked, %FALSE otherwise. - a #GAsyncResult + a #GAsyncResult passed to the callback for tp_text_channel_ack_messages_async() @@ -26288,11 +26393,12 @@ c:identifier="tp_text_channel_send_message_finish" version="0.13.10" throws="1"> - Finishes to send a message. + Completes a call to tp_text_channel_send_message_async(). @token can be used to match any incoming delivery or failure reports -against the sent message. If the returned token is %NULL the -message is not readily identifiable. +against the sent message. If this function returns true but the returned +token is %NULL, the message was sent successfully but the protocol does not +provide a way to identify it later. otherwise. @@ -26301,7 +26407,7 @@ - a #GAsyncResult + a #GAsyncResult passed to the callback for tp_text_channel_send_message_async() - Finishes to set chat state. + Completes a call to tp_text_channel_set_chat_state_async(). %TRUE if the chat state has been changed, %FALSE otherwise. - a #GAsyncResult + a #GAsyncResult passed to the callback for tp_text_channel_set_chat_state_async() diff -Nru telepathy-glib-0.17.7/telepathy-glib/text-channel.c telepathy-glib-0.18.0/telepathy-glib/text-channel.c --- telepathy-glib-0.17.7/telepathy-glib/text-channel.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/text-channel.c 2012-04-02 19:51:47.000000000 +0000 @@ -1254,16 +1254,17 @@ /** * tp_text_channel_send_message_finish: * @self: a #TpTextChannel - * @result: a #GAsyncResult + * @result: a #GAsyncResult passed to the callback for tp_text_channel_send_message_async() * @token: (out) (transfer full): if not %NULL, used to return the * token of the sent message * @error: a #GError to fill * - * Finishes to send a message. + * Completes a call to tp_text_channel_send_message_async(). * * @token can be used to match any incoming delivery or failure reports - * against the sent message. If the returned token is %NULL the - * message is not readily identifiable. + * against the sent message. If this function returns true but the returned + * token is %NULL, the message was sent successfully but the protocol does not + * provide a way to identify it later. * * Returns: %TRUE if the message has been submitted to the server, %FALSE * otherwise. @@ -1395,10 +1396,10 @@ /** * tp_text_channel_ack_messages_finish: * @self: a #TpTextChannel - * @result: a #GAsyncResult + * @result: a #GAsyncResult passed to the callback for tp_text_channel_ack_messages_async() * @error: a #GError to fill * - * Finishes to ack a list of messages. + * Finishes acknowledging a list of messages. * * Returns: %TRUE if the messages have been acked, %FALSE otherwise. * @@ -1476,10 +1477,10 @@ /** * tp_text_channel_ack_message_finish: * @self: a #TpTextChannel - * @result: a #GAsyncResult + * @result: a #GAsyncResult passed to the callback for tp_text_channel_ack_message_async() * @error: a #GError to fill * - * Finishes to ack a message. + * Finishes acknowledging a message. * * Returns: %TRUE if the message has been acked, %FALSE otherwise. * @@ -1544,10 +1545,10 @@ /** * tp_text_channel_set_chat_state_finish: * @self: a #TpTextChannel - * @result: a #GAsyncResult + * @result: a #GAsyncResult passed to the callback for tp_text_channel_set_chat_state_async() * @error: a #GError to fill * - * Finishes to set chat state. + * Completes a call to tp_text_channel_set_chat_state_async(). * * Returns: %TRUE if the chat state has been changed, %FALSE otherwise. * diff -Nru telepathy-glib-0.17.7/telepathy-glib/versions/0.18.0.abi telepathy-glib-0.18.0/telepathy-glib/versions/0.18.0.abi --- telepathy-glib-0.17.7/telepathy-glib/versions/0.18.0.abi 1970-01-01 00:00:00.000000000 +0000 +++ telepathy-glib-0.18.0/telepathy-glib/versions/0.18.0.abi 2012-04-02 20:30:25.000000000 +0000 @@ -0,0 +1,12 @@ +Version: TELEPATHY_GLIB_0.18.0 +Extends: TELEPATHY_GLIB_0.17.7 +Release: 0.18.0 + +tp_dbus_tube_channel_accept_async +tp_dbus_tube_channel_accept_finish +tp_dbus_tube_channel_offer_async +tp_dbus_tube_channel_offer_finish +tp_dbus_tube_channel_feature_quark_core +tp_base_contact_list_get_download_at_connection +tp_base_contact_list_download_async +tp_base_contact_list_download_finish \ No newline at end of file diff -Nru telepathy-glib-0.17.7/tests/dbus/account-manager.c telepathy-glib-0.18.0/tests/dbus/account-manager.c --- telepathy-glib-0.17.7/tests/dbus/account-manager.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/dbus/account-manager.c 2012-04-02 19:51:47.000000000 +0000 @@ -574,18 +574,13 @@ gconstpointer data, guint nb_accounts) { - GPtrArray *accounts; - - accounts = g_ptr_array_new_with_free_func (g_free); - if (nb_accounts >= 1) - g_ptr_array_add (accounts, g_strdup (ACCOUNT1_PATH)); + tp_tests_simple_account_manager_add_account (test->service, ACCOUNT1_PATH, + TRUE); if (nb_accounts >= 2) - g_ptr_array_add (accounts, g_strdup (ACCOUNT2_PATH)); - - tp_tests_simple_account_manager_set_valid_accounts (test->service, accounts); - g_ptr_array_unref (accounts); + tp_tests_simple_account_manager_add_account (test->service, ACCOUNT2_PATH, + TRUE); test_prepare (test, data); script_append_action (test, manager_new_action, NULL); diff -Nru telepathy-glib-0.17.7/tests/dbus/contact-lists.c telepathy-glib-0.18.0/tests/dbus/contact-lists.c --- telepathy-glib-0.17.7/tests/dbus/contact-lists.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/dbus/contact-lists.c 2012-04-02 19:51:47.000000000 +0000 @@ -2655,6 +2655,25 @@ unblock_contacts_no_op (test, call_unblock_contacts); } +static void +download_contacts_cb ( + TpConnection *conn, + const GError *error, gpointer user_data, + GObject *weak_object) +{ + g_assert_error (error, TP_ERRORS, TP_ERROR_NOT_IMPLEMENTED); +} + +static void +test_download_contacts (Test *test, + gconstpointer nil G_GNUC_UNUSED) +{ + tp_cli_connection_interface_contact_list_call_download ( + test->conn, -1, download_contacts_cb, test, test_quit_loop, NULL); + + g_main_loop_run (test->main_loop); +} + int main (int argc, char **argv) @@ -2822,5 +2841,8 @@ g_test_add ("/contact-lists/unblock-contacts/no-op", Test, NULL, setup, test_unblock_contacts_no_op, teardown); + g_test_add ("/contact-lists/download", + Test, NULL, setup, test_download_contacts, teardown); + return g_test_run (); } diff -Nru telepathy-glib-0.17.7/tests/dbus/contacts.c telepathy-glib-0.18.0/tests/dbus/contacts.c --- telepathy-glib-0.17.7/tests/dbus/contacts.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/dbus/contacts.c 2012-04-02 19:51:47.000000000 +0000 @@ -216,24 +216,41 @@ if (tp_proxy_prepare_finish (connection, res, &result->error)) { TpContactInfoFlags flags; - GList *specs; - TpContactInfoFieldSpec *spec; + GList *specs, *l; flags = tp_connection_get_contact_info_flags (connection); g_assert_cmpint (flags, ==, TP_CONTACT_INFO_FLAG_PUSH | TP_CONTACT_INFO_FLAG_CAN_SET); specs = tp_connection_get_contact_info_supported_fields (connection); - g_assert (specs != NULL); - g_assert (specs->data != NULL); - g_assert (specs->next == NULL); - - spec = specs->data; - g_assert_cmpstr (spec->name, ==, "n"); - g_assert (spec->parameters != NULL); - g_assert (spec->parameters[0] == NULL); - g_assert_cmpint (spec->flags, ==, 0); - g_assert_cmpint (spec->max, ==, 0); + g_assert_cmpuint (g_list_length (specs), ==, 5); + + for (l = specs; l != NULL; l = l->next) + { + TpContactInfoFieldSpec *spec = l->data; + + if (!tp_strdiff (spec->name, "bday") || + !tp_strdiff (spec->name, "fn")) + { + g_assert (spec->parameters != NULL); + g_assert (spec->parameters[0] == NULL); + g_assert_cmpint (spec->flags, ==, 0); + g_assert_cmpint (spec->max, ==, 1); + } + else if (!tp_strdiff (spec->name, "email") || + !tp_strdiff (spec->name, "tel") || + !tp_strdiff (spec->name, "url")) + { + g_assert (spec->parameters != NULL); + g_assert (spec->parameters[0] == NULL); + g_assert_cmpint (spec->flags, ==, 0); + g_assert_cmpint (spec->max, ==, G_MAXUINT32); + } + else + { + g_assert_not_reached (); + } + } g_list_free (specs); } @@ -643,10 +660,7 @@ { TpTestsContactsConnection *service_conn = f->service_conn; TpConnection *client_conn = f->client_conn; - static const gchar letters[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - gchar rand_str[RAND_STR_LEN + 1]; gchar *dir; - guint i; gboolean avatar_retrieved_called; GError *error = NULL; GFile *file1, *file2; @@ -655,14 +669,9 @@ g_message (G_STRFUNC); /* Make sure g_get_user_cache_dir() returns a tmp directory, to not mess up - * user's cache dir. - * FIXME: Replace this with g_mkdtemp once it gets added to GLib. - * See GNOME bug #118563 */ - for (i = 0; i < RAND_STR_LEN; i++) - rand_str[i] = letters[g_random_int_range (0, strlen (letters))]; - rand_str[RAND_STR_LEN] = '\0'; - dir = g_build_filename (g_get_tmp_dir (), rand_str, NULL); - g_assert (g_mkdir (dir, 0700) == 0); + * user's cache dir. */ + dir = g_dir_make_tmp ("tp-glib-tests-XXXXXX", &error); + g_assert_no_error (error); g_setenv ("XDG_CACHE_HOME", dir, TRUE); g_assert_cmpstr (g_get_user_cache_dir (), ==, dir); @@ -2205,7 +2214,7 @@ { TpHandle alice_handle; TpContact *alice; - TestContactListManager *manager; + TpTestsContactListManager *manager; TpContactFeature features[] = { TP_CONTACT_FEATURE_SUBSCRIPTION_STATES }; SubscriptionStates states = { TP_SUBSCRIPTION_STATE_NO, TP_SUBSCRIPTION_STATE_NO, "", f->result.loop }; @@ -2238,13 +2247,13 @@ G_CALLBACK (subscription_states_changed_cb), &states); /* Request subscription */ - test_contact_list_manager_request_subscription (manager, 1, &alice_handle, ""); + tp_tests_contact_list_manager_request_subscription (manager, 1, &alice_handle, ""); states.subscribe = TP_SUBSCRIPTION_STATE_ASK; g_main_loop_run (states.loop); /* Request again must re-emit the signal. Saying please this time will make * the request accepted and will ask for publish. */ - test_contact_list_manager_request_subscription (manager, 1, &alice_handle, "please"); + tp_tests_contact_list_manager_request_subscription (manager, 1, &alice_handle, "please"); g_main_loop_run (states.loop); states.subscribe = TP_SUBSCRIPTION_STATE_YES; states.publish = TP_SUBSCRIPTION_STATE_ASK; @@ -2252,7 +2261,7 @@ g_main_loop_run (states.loop); /* Remove the contact */ - test_contact_list_manager_remove (manager, 1, &alice_handle); + tp_tests_contact_list_manager_remove (manager, 1, &alice_handle); states.subscribe = TP_SUBSCRIPTION_STATE_NO; states.publish = TP_SUBSCRIPTION_STATE_NO; states.publish_request = ""; @@ -2297,7 +2306,7 @@ { TpHandle alice_handle; TpContact *alice; - TestContactListManager *manager; + TpTestsContactListManager *manager; TpContactFeature features[] = { TP_CONTACT_FEATURE_CONTACT_GROUPS }; ContactGroups data; @@ -2332,15 +2341,15 @@ G_CALLBACK (contact_groups_changed_cb), &data); g_ptr_array_add (data.groups, "group1"); - test_contact_list_manager_add_to_group (manager, "group1", alice_handle); + tp_tests_contact_list_manager_add_to_group (manager, "group1", alice_handle); g_main_loop_run (data.loop); g_ptr_array_add (data.groups, "group2"); - test_contact_list_manager_add_to_group (manager, "group2", alice_handle); + tp_tests_contact_list_manager_add_to_group (manager, "group2", alice_handle); g_main_loop_run (data.loop); g_ptr_array_remove_index_fast (data.groups, 0); - test_contact_list_manager_remove_from_group (manager, "group1", alice_handle); + tp_tests_contact_list_manager_remove_from_group (manager, "group1", alice_handle); g_main_loop_run (data.loop); g_ptr_array_set_size (data.groups, 0); @@ -2611,7 +2620,7 @@ { const GQuark conn_features[] = { TP_CONNECTION_FEATURE_CONTACT_LIST, 0 }; Result result = { g_main_loop_new (NULL, FALSE), NULL, NULL, NULL }; - TestContactListManager *manager; + TpTestsContactListManager *manager; TpSimpleClientFactory *factory; const gchar *id = "contact-list-id"; const gchar *alias = "Contact List Alias"; @@ -2629,14 +2638,14 @@ g_assert_cmpint (tp_connection_get_contact_list_state (f->client_conn), ==, TP_CONTACT_LIST_STATE_NONE); g_assert (tp_connection_get_contact_list_persists (f->client_conn)); - g_assert (!tp_connection_get_can_change_contact_list (f->client_conn)); - g_assert (!tp_connection_get_request_uses_message (f->client_conn)); + g_assert (tp_connection_get_can_change_contact_list (f->client_conn)); + g_assert (tp_connection_get_request_uses_message (f->client_conn)); /* Add a remote-pending contact in our roster CM-side */ handle = tp_handle_ensure (f->service_repo, id, NULL, NULL); tp_tests_contacts_connection_change_aliases (f->service_conn, 1, &handle, &alias); - test_contact_list_manager_request_subscription (manager, 1, &handle, message); + tp_tests_contact_list_manager_request_subscription (manager, 1, &handle, message); /* Tell connection's factory contact features we want */ factory = tp_proxy_get_factory (f->client_conn); @@ -2767,7 +2776,7 @@ gconstpointer unused G_GNUC_UNUSED) { const GQuark conn_features[] = { TP_CONNECTION_FEATURE_CONTACT_LIST, 0 }; - TestContactListManager *manager; + TpTestsContactListManager *manager; MembersChangedClosure closure; DBusConnection *dbus_connection; TpHandle alice; @@ -2802,11 +2811,11 @@ /* Add contacts in our initial roster CM-side */ alice = tp_handle_ensure (f->service_repo, alice_id, NULL, NULL); - test_contact_list_manager_add_initial_contacts (manager, 1, &alice); + tp_tests_contact_list_manager_add_initial_contacts (manager, 1, &alice); bob_carol[0] = tp_handle_ensure (f->service_repo, bob_id, NULL, NULL); bob_carol[1] = tp_handle_ensure (f->service_repo, carol_id, NULL, NULL); - test_contact_list_manager_add_initial_contacts (manager, 2, bob_carol); + tp_tests_contact_list_manager_add_initial_contacts (manager, 2, bob_carol); /* Now put it online and wait for the contact list state to move to * success */ diff -Nru telepathy-glib-0.17.7/tests/dbus/dbus-tube.c telepathy-glib-0.18.0/tests/dbus/dbus-tube.c --- telepathy-glib-0.17.7/tests/dbus/dbus-tube.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/dbus/dbus-tube.c 2012-04-02 19:51:47.000000000 +0000 @@ -34,6 +34,10 @@ TpConnection *connection; TpDBusTubeChannel *tube; + GDBusConnection *tube_conn; + GDBusConnection *cm_conn; + GVariant *call_result; + GError *error /* initialized where needed */; gint wait; } Test; @@ -68,6 +72,10 @@ tp_tests_connection_assert_disconnect_succeeds (test->connection); g_object_unref (test->connection); g_object_unref (test->base_connection); + + g_clear_object (&test->tube_conn); + g_clear_object (&test->cm_conn); + tp_clear_pointer (&test->call_result, g_variant_unref); } static void @@ -206,6 +214,249 @@ g_hash_table_unref (parameters); } +static void +tube_offer_cb (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + Test *test = user_data; + + g_clear_object (&test->tube_conn); + + test->tube_conn = tp_dbus_tube_channel_offer_finish ( + TP_DBUS_TUBE_CHANNEL (source), result, &test->error); + + test->wait--; + if (test->wait <= 0) + g_main_loop_quit (test->mainloop); +} + +static gboolean +new_connection_cb (TpTestsDBusTubeChannel *chan, + GDBusConnection *connection, + Test *test) +{ + g_clear_object (&test->cm_conn); + test->cm_conn = g_object_ref (connection); + + test->wait--; + if (test->wait <= 0) + g_main_loop_quit (test->mainloop); + + return TRUE; +} + +static void +handle_double_call (GDBusConnection *connection, + const gchar *sender, + const gchar *object_path, + const gchar *interface_name, + const gchar *method_name, + GVariant *parameters, + GDBusMethodInvocation *invocation, + gpointer user_data) +{ + if (!tp_strdiff (method_name, "Double")) + { + guint value; + + g_variant_get (parameters, "(i)", &value); + + g_dbus_method_invocation_return_value (invocation, + g_variant_new ("(i)", value * 2)); + } +} + +static void +register_object (GDBusConnection *connection) +{ + GDBusNodeInfo *introspection_data; + guint registration_id; + static const GDBusInterfaceVTable interface_vtable = + { + handle_double_call, + NULL, + NULL, + }; + static const gchar introspection_xml[] = + "" + " " + " " + " " + " " + " " + " " + ""; + + introspection_data = g_dbus_node_info_new_for_xml (introspection_xml, NULL); + g_assert (introspection_data != NULL); + + registration_id = g_dbus_connection_register_object (connection, + "/org/Example/TestObject", introspection_data->interfaces[0], + &interface_vtable, NULL, NULL, NULL); + g_assert (registration_id > 0); + + g_dbus_node_info_unref (introspection_data); +} + +static void +double_call_cb (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + Test *test = user_data; + + tp_clear_pointer (&test->call_result, g_variant_unref); + + test->call_result = g_dbus_connection_call_finish (G_DBUS_CONNECTION (source), + result, &test->error); + + test->wait--; + if (test->wait <= 0) + g_main_loop_quit (test->mainloop); +} + +static void +use_tube (Test *test, + GDBusConnection *server_conn, + GDBusConnection *client_conn) +{ + gint result; + + /* Server publishes an object on the tube */ + register_object (server_conn); + + /* Client calls a remote method */ + g_dbus_connection_call (client_conn, NULL, "/org/Example/TestObject", + "org.Example.TestInterface", "Double", + g_variant_new ("(i)", 42), + G_VARIANT_TYPE ("(i)"), G_DBUS_CALL_FLAGS_NONE, -1, + NULL, double_call_cb, test); + + test->wait = 1; + g_main_loop_run (test->mainloop); + g_assert_no_error (test->error); + + g_variant_get (test->call_result, "(i)", &result); + g_assert_cmpuint (result, ==, 42 * 2); +} + +static void +test_offer (Test *test, + gconstpointer data) +{ + const TpTestsDBusTubeChannelOpenMode open_mode = GPOINTER_TO_UINT (data); + GHashTable *params; + + /* Outgoing tube */ + create_tube_service (test, TRUE, TRUE); + tp_tests_dbus_tube_channel_set_open_mode (test->tube_chan_service, open_mode); + + params = tp_asv_new ("badger", G_TYPE_UINT, 42, NULL); + + g_signal_connect (test->tube_chan_service, "new-connection", + G_CALLBACK (new_connection_cb), test); + + tp_dbus_tube_channel_offer_async (test->tube, params, tube_offer_cb, test); + + test->wait = 2; + g_main_loop_run (test->mainloop); + g_assert_no_error (test->error); + + check_parameters (tp_dbus_tube_channel_get_parameters (test->tube)); + + g_assert (G_IS_DBUS_CONNECTION (test->tube_conn)); + g_assert (G_IS_DBUS_CONNECTION (test->cm_conn)); + + use_tube (test, test->tube_conn, test->cm_conn); +} + +static void +test_offer_invalidated_before_open (Test *test, + gconstpointer data G_GNUC_UNUSED) +{ + /* Outgoing tube */ + create_tube_service (test, TRUE, TRUE); + tp_tests_dbus_tube_channel_set_open_mode (test->tube_chan_service, + TP_TESTS_DBUS_TUBE_CHANNEL_NEVER_OPEN); + + tp_dbus_tube_channel_offer_async (test->tube, NULL, tube_offer_cb, test); + + test->wait = 1; + g_main_loop_run (test->mainloop); + /* FIXME: this isn't a particularly good error… it's just what comes out when + * the channel gets closed from under us, and there isn't really API on + * DBusTube to give a better error. + * + * https://bugs.freedesktop.org/show_bug.cgi?id=48196 + */ + g_assert_error (test->error, TP_DBUS_ERRORS, TP_DBUS_ERROR_OBJECT_REMOVED); +} + +static void +tube_accept_cb (GObject *source, + GAsyncResult *result, + gpointer user_data) +{ + Test *test = user_data; + + g_clear_object (&test->tube_conn); + + test->tube_conn = tp_dbus_tube_channel_accept_finish ( + TP_DBUS_TUBE_CHANNEL (source), result, &test->error); + + test->wait--; + if (test->wait <= 0) + g_main_loop_quit (test->mainloop); +} + +static void +test_accept (Test *test, + gconstpointer data) +{ + const TpTestsDBusTubeChannelOpenMode open_mode = GPOINTER_TO_UINT (data); + + /* Incoming tube */ + create_tube_service (test, FALSE, TRUE); + tp_tests_dbus_tube_channel_set_open_mode (test->tube_chan_service, open_mode); + + g_signal_connect (test->tube_chan_service, "new-connection", + G_CALLBACK (new_connection_cb), test); + + tp_dbus_tube_channel_accept_async (test->tube, tube_accept_cb, test); + + test->wait = 2; + g_main_loop_run (test->mainloop); + g_assert_no_error (test->error); + + g_assert (G_IS_DBUS_CONNECTION (test->tube_conn)); + g_assert (G_IS_DBUS_CONNECTION (test->cm_conn)); + + use_tube (test, test->cm_conn, test->tube_conn); +} + +static void +test_accept_invalidated_before_open (Test *test, + gconstpointer data G_GNUC_UNUSED) +{ + /* Incoming tube */ + create_tube_service (test, FALSE, TRUE); + tp_tests_dbus_tube_channel_set_open_mode (test->tube_chan_service, + TP_TESTS_DBUS_TUBE_CHANNEL_NEVER_OPEN); + + tp_dbus_tube_channel_accept_async (test->tube, tube_accept_cb, test); + + test->wait = 1; + g_main_loop_run (test->mainloop); + /* FIXME: this isn't a particularly good error… it's just what comes out when + * the channel gets closed from under us, and there isn't really API on + * DBusTube to give a better error. + * + * https://bugs.freedesktop.org/show_bug.cgi?id=48196 + */ + g_assert_error (test->error, TP_DBUS_ERRORS, TP_DBUS_ERROR_OBJECT_REMOVED); +} + int main (int argc, char **argv) @@ -217,6 +468,23 @@ teardown); g_test_add ("/dbus-tube/properties", Test, NULL, setup, test_properties, teardown); + /* Han shot first. */ + g_test_add ("/dbus-tube/offer-open-first", Test, + GUINT_TO_POINTER (TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_FIRST), + setup, test_offer, teardown); + g_test_add ("/dbus-tube/offer-open-second", Test, + GUINT_TO_POINTER (TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_SECOND), + setup, test_offer, teardown); + g_test_add ("/dbus-tube/offer-invalidated-before-open", Test, NULL, + setup, test_offer_invalidated_before_open, teardown); + g_test_add ("/dbus-tube/accept-open-first", Test, + GUINT_TO_POINTER (TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_FIRST), + setup, test_accept, teardown); + g_test_add ("/dbus-tube/accept-open-second", Test, + GUINT_TO_POINTER (TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_SECOND), + setup, test_accept, teardown); + g_test_add ("/dbus-tube/accept-invalidated-before-open", Test, NULL, + setup, test_accept_invalidated_before_open, teardown); return g_test_run (); } diff -Nru telepathy-glib-0.17.7/tests/lib/contact-list-manager.c telepathy-glib-0.18.0/tests/lib/contact-list-manager.c --- telepathy-glib-0.17.7/tests/lib/contact-list-manager.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/lib/contact-list-manager.c 2012-04-02 19:51:47.000000000 +0000 @@ -16,7 +16,7 @@ #include #include -struct _TestContactListManagerPrivate +struct _TpTestsContactListManagerPrivate { TpBaseConnection *conn; @@ -33,13 +33,17 @@ static void contact_groups_iface_init (TpContactGroupListInterface *iface); static void mutable_contact_groups_iface_init ( TpMutableContactGroupListInterface *iface); +static void mutable_iface_init ( + TpMutableContactListInterface *iface); -G_DEFINE_TYPE_WITH_CODE (TestContactListManager, test_contact_list_manager, +G_DEFINE_TYPE_WITH_CODE (TpTestsContactListManager, tp_tests_contact_list_manager, TP_TYPE_BASE_CONTACT_LIST, G_IMPLEMENT_INTERFACE (TP_TYPE_CONTACT_GROUP_LIST, contact_groups_iface_init); G_IMPLEMENT_INTERFACE (TP_TYPE_MUTABLE_CONTACT_GROUP_LIST, - mutable_contact_groups_iface_init)) + mutable_contact_groups_iface_init) + G_IMPLEMENT_INTERFACE (TP_TYPE_MUTABLE_CONTACT_LIST, + mutable_iface_init)) typedef struct { TpSubscriptionState subscribe; @@ -64,7 +68,7 @@ } static ContactDetails * -lookup_contact (TestContactListManager *self, +lookup_contact (TpTestsContactListManager *self, TpHandle handle) { return g_hash_table_lookup (self->priv->contact_details, @@ -72,7 +76,7 @@ } static ContactDetails * -ensure_contact (TestContactListManager *self, +ensure_contact (TpTestsContactListManager *self, TpHandle handle) { ContactDetails *d = lookup_contact (self, handle); @@ -96,17 +100,17 @@ } static void -test_contact_list_manager_init (TestContactListManager *self) +tp_tests_contact_list_manager_init (TpTestsContactListManager *self) { self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, - TEST_TYPE_CONTACT_LIST_MANAGER, TestContactListManagerPrivate); + TP_TESTS_TYPE_CONTACT_LIST_MANAGER, TpTestsContactListManagerPrivate); self->priv->contact_details = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, contact_detail_destroy); } static void -close_all (TestContactListManager *self) +close_all (TpTestsContactListManager *self) { if (self->priv->status_changed_id != 0) { @@ -121,18 +125,18 @@ static void dispose (GObject *object) { - TestContactListManager *self = TEST_CONTACT_LIST_MANAGER (object); + TpTestsContactListManager *self = TP_TESTS_CONTACT_LIST_MANAGER (object); close_all (self); - ((GObjectClass *) test_contact_list_manager_parent_class)->dispose ( + ((GObjectClass *) tp_tests_contact_list_manager_parent_class)->dispose ( object); } static TpHandleSet * contact_list_dup_contacts (TpBaseContactList *base) { - TestContactListManager *self = TEST_CONTACT_LIST_MANAGER (base); + TpTestsContactListManager *self = TP_TESTS_CONTACT_LIST_MANAGER (base); TpHandleSet *set; GHashTableIter iter; gpointer k, v; @@ -160,7 +164,7 @@ TpSubscriptionState *publish, gchar **publish_request) { - TestContactListManager *self = TEST_CONTACT_LIST_MANAGER (base); + TpTestsContactListManager *self = TP_TESTS_CONTACT_LIST_MANAGER (base); ContactDetails *d = lookup_contact (self, contact); if (d == NULL) @@ -190,7 +194,7 @@ static GStrv contact_list_dup_groups (TpBaseContactList *base) { - TestContactListManager *self = TEST_CONTACT_LIST_MANAGER (base); + TpTestsContactListManager *self = TP_TESTS_CONTACT_LIST_MANAGER (base); GPtrArray *ret; if (self->priv->groups != NULL) @@ -221,7 +225,7 @@ contact_list_dup_contact_groups (TpBaseContactList *base, TpHandle contact) { - TestContactListManager *self = TEST_CONTACT_LIST_MANAGER (base); + TpTestsContactListManager *self = TP_TESTS_CONTACT_LIST_MANAGER (base); ContactDetails *d = lookup_contact (self, contact); GPtrArray *ret; @@ -253,7 +257,7 @@ contact_list_dup_group_members (TpBaseContactList *base, const gchar *group) { - TestContactListManager *self = TEST_CONTACT_LIST_MANAGER (base); + TpTestsContactListManager *self = TP_TESTS_CONTACT_LIST_MANAGER (base); TpHandleSet *set; TpHandle group_handle; GHashTableIter iter; @@ -288,21 +292,35 @@ GAsyncReadyCallback callback, gpointer user_data) { - TestContactListManager *self = TEST_CONTACT_LIST_MANAGER (base); + TpTestsContactListManager *self = TP_TESTS_CONTACT_LIST_MANAGER (base); ContactDetails *d; TpIntset *set, *added_set, *removed_set; GPtrArray *added_names, *removed_names; + GPtrArray *new_groups; TpIntSetFastIter iter; TpHandle group_handle; guint i; d = ensure_contact (self, contact); + new_groups = g_ptr_array_new (); set = tp_intset_new (); for (i = 0; i < n; i++) { group_handle = tp_handle_ensure (self->priv->group_repo, names[i], NULL, NULL); tp_intset_add (set, group_handle); + + if (!tp_handle_set_is_member (self->priv->groups, group_handle)) + { + tp_handle_set_add (self->priv->groups, group_handle); + g_ptr_array_add (new_groups, (gchar *) names[i]); + } + } + + if (new_groups->len > 0) + { + tp_base_contact_list_groups_created ((TpBaseContactList *) self, + (const gchar * const *) new_groups->pdata, new_groups->len); } added_set = tp_intset_difference (set, tp_handle_set_peek (d->groups)); @@ -329,15 +347,19 @@ d->groups = tp_handle_set_new_from_intset (self->priv->group_repo, set); tp_intset_destroy (set); - tp_base_contact_list_one_contact_groups_changed (base, contact, - (const gchar * const *) added_names->pdata, added_names->len, - (const gchar * const *) removed_names->pdata, removed_names->len); + if (added_names->len > 0 || removed_names->len > 0) + { + tp_base_contact_list_one_contact_groups_changed (base, contact, + (const gchar * const *) added_names->pdata, added_names->len, + (const gchar * const *) removed_names->pdata, removed_names->len); + } tp_simple_async_report_success_in_idle ((GObject *) self, callback, user_data, contact_list_set_contact_groups_async); g_ptr_array_unref (added_names); g_ptr_array_unref (removed_names); + g_ptr_array_unref (new_groups); } static void @@ -400,10 +422,101 @@ } static void +contact_list_request_subscription_async (TpBaseContactList *self, + TpHandleSet *contacts, + const gchar *message, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GArray *handles; + + handles = tp_handle_set_to_array (contacts); + tp_tests_contact_list_manager_request_subscription ( + (TpTestsContactListManager *) self, + handles->len, (TpHandle *) handles->data, message); + g_array_unref (handles); + + tp_simple_async_report_success_in_idle ((GObject *) self, callback, + user_data, contact_list_request_subscription_async); +} + +static void +contact_list_authorize_publication_async (TpBaseContactList *self, + TpHandleSet *contacts, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GArray *handles; + + handles = tp_handle_set_to_array (contacts); + tp_tests_contact_list_manager_authorize_publication ( + (TpTestsContactListManager *) self, + handles->len, (TpHandle *) handles->data); + g_array_unref (handles); + + tp_simple_async_report_success_in_idle ((GObject *) self, callback, + user_data, contact_list_authorize_publication_async); +} + +static void +contact_list_remove_contacts_async (TpBaseContactList *self, + TpHandleSet *contacts, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GArray *handles; + + handles = tp_handle_set_to_array (contacts); + tp_tests_contact_list_manager_remove ( + (TpTestsContactListManager *) self, + handles->len, (TpHandle *) handles->data); + g_array_unref (handles); + + tp_simple_async_report_success_in_idle ((GObject *) self, callback, + user_data, contact_list_remove_contacts_async); +} + +static void +contact_list_unsubscribe_async (TpBaseContactList *self, + TpHandleSet *contacts, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GArray *handles; + + handles = tp_handle_set_to_array (contacts); + tp_tests_contact_list_manager_unsubscribe ( + (TpTestsContactListManager *) self, + handles->len, (TpHandle *) handles->data); + g_array_unref (handles); + + tp_simple_async_report_success_in_idle ((GObject *) self, callback, + user_data, contact_list_unsubscribe_async); +} + +static void +contact_list_unpublish_async (TpBaseContactList *self, + TpHandleSet *contacts, + GAsyncReadyCallback callback, + gpointer user_data) +{ + GArray *handles; + + handles = tp_handle_set_to_array (contacts); + tp_tests_contact_list_manager_unpublish ( + (TpTestsContactListManager *) self, + handles->len, (TpHandle *) handles->data); + g_array_unref (handles); + + tp_simple_async_report_success_in_idle ((GObject *) self, callback, + user_data, contact_list_unpublish_async); +} + +static void status_changed_cb (TpBaseConnection *conn, guint status, guint reason, - TestContactListManager *self) + TpTestsContactListManager *self) { switch (status) { @@ -424,9 +537,9 @@ static void constructed (GObject *object) { - TestContactListManager *self = TEST_CONTACT_LIST_MANAGER (object); + TpTestsContactListManager *self = TP_TESTS_CONTACT_LIST_MANAGER (object); void (*chain_up) (GObject *) = - ((GObjectClass *) test_contact_list_manager_parent_class)->constructed; + ((GObjectClass *) tp_tests_contact_list_manager_parent_class)->constructed; if (chain_up != NULL) { @@ -465,12 +578,22 @@ } static void -test_contact_list_manager_class_init (TestContactListManagerClass *klass) +mutable_iface_init (TpMutableContactListInterface *iface) +{ + iface->request_subscription_async = contact_list_request_subscription_async; + iface->authorize_publication_async = contact_list_authorize_publication_async; + iface->remove_contacts_async = contact_list_remove_contacts_async; + iface->unsubscribe_async = contact_list_unsubscribe_async; + iface->unpublish_async = contact_list_unpublish_async; +} + +static void +tp_tests_contact_list_manager_class_init (TpTestsContactListManagerClass *klass) { GObjectClass *object_class = (GObjectClass *) klass; TpBaseContactListClass *base_class =(TpBaseContactListClass *) klass; - g_type_class_add_private (klass, sizeof (TestContactListManagerPrivate)); + g_type_class_add_private (klass, sizeof (TpTestsContactListManagerPrivate)); object_class->constructed = constructed; object_class->dispose = dispose; @@ -480,14 +603,22 @@ } void -test_contact_list_manager_add_to_group (TestContactListManager *self, +tp_tests_contact_list_manager_add_to_group (TpTestsContactListManager *self, const gchar *group_name, TpHandle member) { TpBaseContactList *base = TP_BASE_CONTACT_LIST (self); ContactDetails *d = ensure_contact (self, member); TpHandle group_handle; - group_handle = tp_handle_ensure (self->priv->group_repo, group_name, NULL, NULL); + group_handle = tp_handle_ensure (self->priv->group_repo, + group_name, NULL, NULL); + + if (!tp_handle_set_is_member (self->priv->groups, group_handle)) + { + tp_handle_set_add (self->priv->groups, group_handle); + tp_base_contact_list_groups_created ((TpBaseContactList *) self, + &group_name, 1); + } tp_handle_set_add (d->groups, group_handle); tp_base_contact_list_one_contact_groups_changed (base, member, @@ -495,7 +626,7 @@ } void -test_contact_list_manager_remove_from_group (TestContactListManager *self, +tp_tests_contact_list_manager_remove_from_group (TpTestsContactListManager *self, const gchar *group_name, TpHandle member) { TpBaseContactList *base = TP_BASE_CONTACT_LIST (self); @@ -513,12 +644,12 @@ } typedef struct { - TestContactListManager *self; + TpTestsContactListManager *self; TpHandleSet *handles; } SelfAndContact; static SelfAndContact * -self_and_contact_new (TestContactListManager *self, +self_and_contact_new (TpTestsContactListManager *self, TpHandleSet *handles) { SelfAndContact *ret = g_slice_new0 (SelfAndContact); @@ -600,7 +731,7 @@ } void -test_contact_list_manager_request_subscription (TestContactListManager *self, +tp_tests_contact_list_manager_request_subscription (TpTestsContactListManager *self, guint n_members, TpHandle *members, const gchar *message) { TpHandleSet *handles; @@ -643,7 +774,7 @@ } void -test_contact_list_manager_unsubscribe (TestContactListManager *self, +tp_tests_contact_list_manager_unsubscribe (TpTestsContactListManager *self, guint n_members, TpHandle *members) { TpHandleSet *handles; @@ -668,7 +799,7 @@ } void -test_contact_list_manager_authorize_publication (TestContactListManager *self, +tp_tests_contact_list_manager_authorize_publication (TpTestsContactListManager *self, guint n_members, TpHandle *members) { TpHandleSet *handles; @@ -694,7 +825,7 @@ } void -test_contact_list_manager_unpublish (TestContactListManager *self, +tp_tests_contact_list_manager_unpublish (TpTestsContactListManager *self, guint n_members, TpHandle *members) { TpHandleSet *handles; @@ -720,7 +851,7 @@ } void -test_contact_list_manager_remove (TestContactListManager *self, +tp_tests_contact_list_manager_remove (TpTestsContactListManager *self, guint n_members, TpHandle *members) { TpHandleSet *handles; @@ -746,7 +877,7 @@ } void -test_contact_list_manager_add_initial_contacts (TestContactListManager *self, +tp_tests_contact_list_manager_add_initial_contacts (TpTestsContactListManager *self, guint n_members, TpHandle *members) { TpHandleSet *handles; diff -Nru telepathy-glib-0.17.7/tests/lib/contact-list-manager.h telepathy-glib-0.18.0/tests/lib/contact-list-manager.h --- telepathy-glib-0.17.7/tests/lib/contact-list-manager.h 2011-12-13 11:42:10.000000000 +0000 +++ telepathy-glib-0.18.0/tests/lib/contact-list-manager.h 2012-04-02 19:51:47.000000000 +0000 @@ -9,61 +9,61 @@ * notice and this notice are preserved. */ -#ifndef __TEST_CONTACT_LIST_MANAGER_H__ -#define __TEST_CONTACT_LIST_MANAGER_H__ +#ifndef __TP_TESTS_CONTACT_LIST_MANAGER_H__ +#define __TP_TESTS_CONTACT_LIST_MANAGER_H__ #include G_BEGIN_DECLS -#define TEST_TYPE_CONTACT_LIST_MANAGER \ - (test_contact_list_manager_get_type ()) -#define TEST_CONTACT_LIST_MANAGER(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), TEST_TYPE_CONTACT_LIST_MANAGER, \ - TestContactListManager)) -#define TEST_CONTACT_LIST_MANAGER_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_CAST((klass), TEST_TYPE_CONTACT_LIST_MANAGER, \ - TestContactListManagerClass)) -#define TEST_IS_CONTACT_LIST_MANAGER(obj) \ - (G_TYPE_CHECK_INSTANCE_TYPE((obj), TEST_TYPE_CONTACT_LIST_MANAGER)) -#define TEST_IS_CONTACT_LIST_MANAGER_CLASS(klass) \ - (G_TYPE_CHECK_CLASS_TYPE((klass), TEST_TYPE_CONTACT_LIST_MANAGER)) -#define TEST_CONTACT_LIST_MANAGER_GET_CLASS(obj) \ - (G_TYPE_INSTANCE_GET_CLASS ((obj), TEST_TYPE_CONTACT_LIST_MANAGER, \ - TestContactListManagerClass)) - -typedef struct _TestContactListManager TestContactListManager; -typedef struct _TestContactListManagerClass TestContactListManagerClass; -typedef struct _TestContactListManagerPrivate TestContactListManagerPrivate; +#define TP_TESTS_TYPE_CONTACT_LIST_MANAGER \ + (tp_tests_contact_list_manager_get_type ()) +#define TP_TESTS_CONTACT_LIST_MANAGER(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST((obj), TP_TESTS_TYPE_CONTACT_LIST_MANAGER, \ + TpTestsContactListManager)) +#define TP_TESTS_CONTACT_LIST_MANAGER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST((klass), TP_TESTS_TYPE_CONTACT_LIST_MANAGER, \ + TpTestsContactListManagerClass)) +#define TP_TESTS_IS_CONTACT_LIST_MANAGER(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE((obj), TP_TESTS_TYPE_CONTACT_LIST_MANAGER)) +#define TP_TESTS_IS_CONTACT_LIST_MANAGER_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE((klass), TP_TESTS_TYPE_CONTACT_LIST_MANAGER)) +#define TP_TESTS_CONTACT_LIST_MANAGER_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), TP_TESTS_TYPE_CONTACT_LIST_MANAGER, \ + TpTestsContactListManagerClass)) + +typedef struct _TpTestsContactListManager TpTestsContactListManager; +typedef struct _TpTestsContactListManagerClass TpTestsContactListManagerClass; +typedef struct _TpTestsContactListManagerPrivate TpTestsContactListManagerPrivate; -struct _TestContactListManagerClass { +struct _TpTestsContactListManagerClass { TpBaseContactListClass parent_class; }; -struct _TestContactListManager { +struct _TpTestsContactListManager { TpBaseContactList parent; - TestContactListManagerPrivate *priv; + TpTestsContactListManagerPrivate *priv; }; -GType test_contact_list_manager_get_type (void); +GType tp_tests_contact_list_manager_get_type (void); -void test_contact_list_manager_add_to_group (TestContactListManager *self, +void tp_tests_contact_list_manager_add_to_group (TpTestsContactListManager *self, const gchar *group_name, TpHandle member); -void test_contact_list_manager_remove_from_group (TestContactListManager *self, +void tp_tests_contact_list_manager_remove_from_group (TpTestsContactListManager *self, const gchar *group_name, TpHandle member); -void test_contact_list_manager_request_subscription (TestContactListManager *self, +void tp_tests_contact_list_manager_request_subscription (TpTestsContactListManager *self, guint n_members, TpHandle *members, const gchar *message); -void test_contact_list_manager_unsubscribe (TestContactListManager *self, +void tp_tests_contact_list_manager_unsubscribe (TpTestsContactListManager *self, guint n_members, TpHandle *members); -void test_contact_list_manager_authorize_publication (TestContactListManager *self, +void tp_tests_contact_list_manager_authorize_publication (TpTestsContactListManager *self, guint n_members, TpHandle *members); -void test_contact_list_manager_unpublish (TestContactListManager *self, +void tp_tests_contact_list_manager_unpublish (TpTestsContactListManager *self, guint n_members, TpHandle *members); -void test_contact_list_manager_remove (TestContactListManager *self, +void tp_tests_contact_list_manager_remove (TpTestsContactListManager *self, guint n_members, TpHandle *members); -void test_contact_list_manager_add_initial_contacts (TestContactListManager *self, +void tp_tests_contact_list_manager_add_initial_contacts (TpTestsContactListManager *self, guint n_members, TpHandle *members); G_END_DECLS diff -Nru telepathy-glib-0.17.7/tests/lib/contacts-conn.c telepathy-glib-0.18.0/tests/lib/contacts-conn.c --- telepathy-glib-0.17.7/tests/lib/contacts-conn.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/lib/contacts-conn.c 2012-04-02 19:51:47.000000000 +0000 @@ -99,7 +99,7 @@ GHashTable *contact_info; GPtrArray *default_contact_info; - TestContactListManager *list_manager; + TpTestsContactListManager *list_manager; }; typedef struct @@ -330,11 +330,40 @@ if (supported_fields == NULL) { supported_fields = g_ptr_array_new (); + + g_ptr_array_add (supported_fields, tp_value_array_build (4, + G_TYPE_STRING, "bday", + G_TYPE_STRV, NULL, + G_TYPE_UINT, 0, + G_TYPE_UINT, 1, + G_TYPE_INVALID)); + + g_ptr_array_add (supported_fields, tp_value_array_build (4, + G_TYPE_STRING, "email", + G_TYPE_STRV, NULL, + G_TYPE_UINT, 0, + G_TYPE_UINT, G_MAXUINT32, + G_TYPE_INVALID)); + + g_ptr_array_add (supported_fields, tp_value_array_build (4, + G_TYPE_STRING, "fn", + G_TYPE_STRV, NULL, + G_TYPE_UINT, 0, + G_TYPE_UINT, 1, + G_TYPE_INVALID)); + g_ptr_array_add (supported_fields, tp_value_array_build (4, - G_TYPE_STRING, "n", + G_TYPE_STRING, "tel", G_TYPE_STRV, NULL, G_TYPE_UINT, 0, + G_TYPE_UINT, G_MAXUINT32, + G_TYPE_INVALID)); + + g_ptr_array_add (supported_fields, tp_value_array_build (4, + G_TYPE_STRING, "url", + G_TYPE_STRV, NULL, G_TYPE_UINT, 0, + G_TYPE_UINT, G_MAXUINT32, G_TYPE_INVALID)); } g_value_set_boxed (value, supported_fields); @@ -504,7 +533,7 @@ TpTestsContactsConnection *self = TP_TESTS_CONTACTS_CONNECTION (conn); GPtrArray *ret = g_ptr_array_sized_new (1); - self->priv->list_manager = g_object_new (TEST_TYPE_CONTACT_LIST_MANAGER, + self->priv->list_manager = g_object_new (TP_TESTS_TYPE_CONTACT_LIST_MANAGER, "connection", conn, NULL); g_ptr_array_add (ret, self->priv->list_manager); @@ -574,7 +603,7 @@ tp_base_contact_list_mixin_class_init (base_class); } -TestContactListManager * +TpTestsContactListManager * tp_tests_contacts_connection_get_contact_list_manager ( TpTestsContactsConnection *self) { @@ -1244,8 +1273,8 @@ g_ptr_array_add (copy, g_value_array_copy (g_ptr_array_index (info, i))); self_handle = tp_base_connection_get_self_handle (base); - g_hash_table_insert (self->priv->contact_info, GUINT_TO_POINTER (self_handle), - copy); + tp_tests_contacts_connection_change_contact_info (self, self_handle, copy); + g_ptr_array_unref (copy); tp_svc_connection_interface_contact_info_return_from_set_contact_info ( context); diff -Nru telepathy-glib-0.17.7/tests/lib/contacts-conn.h telepathy-glib-0.18.0/tests/lib/contacts-conn.h --- telepathy-glib-0.17.7/tests/lib/contacts-conn.h 2012-03-05 22:32:58.000000000 +0000 +++ telepathy-glib-0.18.0/tests/lib/contacts-conn.h 2012-04-02 19:51:47.000000000 +0000 @@ -74,7 +74,7 @@ (G_TYPE_INSTANCE_GET_CLASS ((obj), TP_TESTS_TYPE_CONTACTS_CONNECTION, \ TpTestsContactsConnectionClass)) -TestContactListManager *tp_tests_contacts_connection_get_contact_list_manager ( +TpTestsContactListManager *tp_tests_contacts_connection_get_contact_list_manager ( TpTestsContactsConnection *self); void tp_tests_contacts_connection_change_aliases ( diff -Nru telepathy-glib-0.17.7/tests/lib/dbus-tube-chan.c telepathy-glib-0.18.0/tests/lib/dbus-tube-chan.c --- telepathy-glib-0.17.7/tests/lib/dbus-tube-chan.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/lib/dbus-tube-chan.c 2012-04-02 19:51:47.000000000 +0000 @@ -27,11 +27,25 @@ PROP_STATE, }; +enum +{ + SIG_NEW_CONNECTION, + LAST_SIGNAL +}; + +static guint _signals[LAST_SIGNAL] = { 0, }; + struct _TpTestsDBusTubeChannelPrivate { + /* Controls whether the channel should become open before returning from + * Open/Accept, after returning, or never. + */ + TpTestsDBusTubeChannelOpenMode open_mode; TpTubeChannelState state; /* TpHandle -> gchar * */ GHashTable *dbus_names; + + GDBusServer *dbus_server; }; static void @@ -108,6 +122,7 @@ self->priv = G_TYPE_INSTANCE_GET_PRIVATE ((self), TP_TESTS_TYPE_DBUS_TUBE_CHANNEL, TpTestsDBusTubeChannelPrivate); + self->priv->open_mode = TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_FIRST; self->priv->dbus_names = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_free); } @@ -139,6 +154,20 @@ tp_clear_pointer (&self->priv->dbus_names, g_hash_table_unref); + if (self->priv->dbus_server != NULL) + { + /* FIXME: this is pretty stupid but apparently unless you start and then + * stop the server before freeing it, it doesn't stop listening. Calling + * _start() twice is a no-op. + * + * https://bugzilla.gnome.org/show_bug.cgi?id=673372 + */ + g_dbus_server_start (self->priv->dbus_server); + + g_dbus_server_stop (self->priv->dbus_server); + g_clear_object (&self->priv->dbus_server); + } + ((GObjectClass *) tp_tests_dbus_tube_channel_parent_class)->dispose ( object); } @@ -242,6 +271,15 @@ g_object_class_install_property (object_class, PROP_STATE, param_spec); + _signals[SIG_NEW_CONNECTION] = g_signal_new ("new-connection", + G_OBJECT_CLASS_TYPE (klass), + G_SIGNAL_RUN_LAST, + 0, + g_signal_accumulator_true_handled, NULL, + NULL, + G_TYPE_BOOLEAN, + 1, G_TYPE_DBUS_CONNECTION); + tp_dbus_properties_mixin_implement_interface (object_class, TP_IFACE_QUARK_CHANNEL_TYPE_DBUS_TUBE, tp_dbus_properties_mixin_getter_gobject_properties, NULL, @@ -256,7 +294,6 @@ sizeof (TpTestsDBusTubeChannelPrivate)); } -#if 0 static void change_state (TpTestsDBusTubeChannel *self, TpTubeChannelState state) @@ -265,19 +302,107 @@ tp_svc_channel_interface_tube_emit_tube_channel_state_changed (self, state); } -#endif + +static gboolean +dbus_new_connection_cb (GDBusServer *server, + GDBusConnection *connection, + gpointer user_data) +{ + TpTestsDBusTubeChannel *self = user_data; + gboolean ret = FALSE; + + g_signal_emit (self, _signals[SIG_NEW_CONNECTION], 0, connection, &ret); + return ret; +} + +static void +open_tube (TpTestsDBusTubeChannel *self) +{ + GError *error = NULL; + gchar *guid; + + guid = g_dbus_generate_guid (); + + self->priv->dbus_server = g_dbus_server_new_sync ( + "unix:abstract=dbus-tube-test", + G_DBUS_SERVER_FLAGS_NONE, guid, NULL, NULL, &error); + g_assert_no_error (error); + + g_free (guid); + + g_signal_connect (self->priv->dbus_server, "new-connection", + G_CALLBACK (dbus_new_connection_cb), self); +} + +static void +really_open_tube (TpTestsDBusTubeChannel *self) +{ + g_dbus_server_start (self->priv->dbus_server); + + change_state (self, TP_TUBE_CHANNEL_STATE_OPEN); +} + +static void +dbus_tube_offer (TpSvcChannelTypeDBusTube *chan, + GHashTable *parameters, + guint access_control, + DBusGMethodInvocation *context) +{ + TpTestsDBusTubeChannel *self = (TpTestsDBusTubeChannel *) chan; + + open_tube (self); + + if (self->priv->open_mode == TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_FIRST) + really_open_tube (self); + + tp_svc_channel_type_dbus_tube_return_from_offer (context, + g_dbus_server_get_client_address (self->priv->dbus_server)); + + if (self->priv->open_mode == TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_SECOND) + really_open_tube (self); + else if (self->priv->open_mode == TP_TESTS_DBUS_TUBE_CHANNEL_NEVER_OPEN) + tp_base_channel_close (TP_BASE_CHANNEL (self)); +} + +static void +dbus_tube_accept (TpSvcChannelTypeDBusTube *chan, + guint access_control, + DBusGMethodInvocation *context) +{ + TpTestsDBusTubeChannel *self = (TpTestsDBusTubeChannel *) chan; + + open_tube (self); + + if (self->priv->open_mode == TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_FIRST) + really_open_tube (self); + + tp_svc_channel_type_dbus_tube_return_from_accept (context, + g_dbus_server_get_client_address (self->priv->dbus_server)); + + if (self->priv->open_mode == TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_SECOND) + really_open_tube (self); + else if (self->priv->open_mode == TP_TESTS_DBUS_TUBE_CHANNEL_NEVER_OPEN) + tp_base_channel_close (TP_BASE_CHANNEL (self)); +} + +void +tp_tests_dbus_tube_channel_set_open_mode ( + TpTestsDBusTubeChannel *self, + TpTestsDBusTubeChannelOpenMode open_mode) +{ + self->priv->open_mode = open_mode; +} static void dbus_tube_iface_init (gpointer iface, gpointer data) { -#if 0 - /* TODO: implement methods */ TpSvcChannelTypeDBusTubeClass *klass = iface; #define IMPLEMENT(x) tp_svc_channel_type_dbus_tube_implement_##x (klass, dbus_tube_##x) + IMPLEMENT (offer); + IMPLEMENT (accept); #undef IMPLEMENT -#endif } /* Contact DBus Tube */ diff -Nru telepathy-glib-0.17.7/tests/lib/dbus-tube-chan.h telepathy-glib-0.18.0/tests/lib/dbus-tube-chan.h --- telepathy-glib-0.17.7/tests/lib/dbus-tube-chan.h 2012-03-05 22:32:58.000000000 +0000 +++ telepathy-glib-0.18.0/tests/lib/dbus-tube-chan.h 2012-04-02 19:51:47.000000000 +0000 @@ -54,6 +54,16 @@ TpTestsDBusTubeChannelPrivate *priv; }; +typedef enum { + TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_FIRST, + TP_TESTS_DBUS_TUBE_CHANNEL_OPEN_SECOND, + TP_TESTS_DBUS_TUBE_CHANNEL_NEVER_OPEN +} TpTestsDBusTubeChannelOpenMode; + +void tp_tests_dbus_tube_channel_set_open_mode ( + TpTestsDBusTubeChannel *self, + TpTestsDBusTubeChannelOpenMode open_mode); + /* Contact DBus Tube */ typedef struct _TpTestsContactDBusTubeChannel TpTestsContactDBusTubeChannel; diff -Nru telepathy-glib-0.17.7/tests/lib/simple-account.c telepathy-glib-0.18.0/tests/lib/simple-account.c --- telepathy-glib-0.17.7/tests/lib/simple-account.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/lib/simple-account.c 2012-04-02 19:51:47.000000000 +0000 @@ -78,6 +78,8 @@ TpConnectionPresenceType presence; gchar *presence_status; gchar *presence_msg; + gchar *connection_path; + gboolean enabled; }; static void @@ -130,6 +132,8 @@ self->priv->presence = TP_CONNECTION_PRESENCE_TYPE_AWAY; self->priv->presence_status = g_strdup ("currently-away"); self->priv->presence_msg = g_strdup ("this is my CurrentPresence"); + self->priv->connection_path = g_strdup ("/"); + self->priv->enabled = TRUE; } /* you may have noticed this is not entirely realistic */ @@ -161,7 +165,7 @@ g_value_set_boolean (value, TRUE); break; case PROP_ENABLED: - g_value_set_boolean (value, TRUE); + g_value_set_boolean (value, self->priv->enabled); break; case PROP_NICKNAME: g_value_set_string (value, "badger"); @@ -180,7 +184,7 @@ g_value_set_boolean (value, FALSE); break; case PROP_CONNECTION: - g_value_set_boxed (value, "/"); + g_value_set_boxed (value, self->priv->connection_path); break; case PROP_CONNECTION_STATUS: g_value_set_uint (value, TP_CONNECTION_STATUS_CONNECTED); @@ -535,3 +539,41 @@ g_boxed_free (TP_STRUCT_TYPE_SIMPLE_PRESENCE, v); } + +void +tp_tests_simple_account_set_connection (TpTestsSimpleAccount *self, + const gchar *object_path) +{ + GHashTable *change; + + if (object_path == NULL) + object_path = "/"; + + g_free (self->priv->connection_path); + self->priv->connection_path = g_strdup (object_path); + + change = tp_asv_new (NULL, NULL); + tp_asv_set_string (change, "Connection", object_path); + tp_svc_account_emit_account_property_changed (self, change); + g_hash_table_unref (change); +} + +void +tp_tests_simple_account_removed (TpTestsSimpleAccount *self) +{ + tp_svc_account_emit_removed (self); +} + +void +tp_tests_simple_account_set_enabled (TpTestsSimpleAccount *self, + gboolean enabled) +{ + GHashTable *change; + + self->priv->enabled = enabled; + + change = tp_asv_new (NULL, NULL); + tp_asv_set_boolean (change, "Enabled", enabled); + tp_svc_account_emit_account_property_changed (self, change); + g_hash_table_unref (change); +} diff -Nru telepathy-glib-0.17.7/tests/lib/simple-account.h telepathy-glib-0.18.0/tests/lib/simple-account.h --- telepathy-glib-0.17.7/tests/lib/simple-account.h 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/lib/simple-account.h 2012-04-02 19:51:47.000000000 +0000 @@ -1,7 +1,7 @@ /* * simple-account.h - header for a simple account service. * - * Copyright (C) 2010 Collabora Ltd. + * Copyright (C) 2010-2012 Collabora Ltd. * * Copying and distribution of this file, with or without modification, * are permitted in any medium without royalty provided the copyright @@ -57,6 +57,13 @@ const gchar *status, const gchar *message); +void tp_tests_simple_account_set_connection (TpTestsSimpleAccount *self, + const gchar *object_path); + +void tp_tests_simple_account_removed (TpTestsSimpleAccount *self); +void tp_tests_simple_account_set_enabled (TpTestsSimpleAccount *self, + gboolean enabled); + G_END_DECLS #endif /* #ifndef __TP_TESTS_SIMPLE_ACCOUNT_H__ */ diff -Nru telepathy-glib-0.17.7/tests/lib/simple-account-manager.c telepathy-glib-0.18.0/tests/lib/simple-account-manager.c --- telepathy-glib-0.17.7/tests/lib/simple-account-manager.c 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/lib/simple-account-manager.c 2012-04-02 19:51:47.000000000 +0000 @@ -1,7 +1,7 @@ /* * simple-account-manager.c - a simple account manager service. * - * Copyright (C) 2007-2009 Collabora Ltd. + * Copyright (C) 2007-2012 Collabora Ltd. * Copyright (C) 2007-2008 Nokia Corporation * * Copying and distribution of this file, with or without modification, @@ -34,14 +34,6 @@ /* TP_IFACE_ACCOUNT_MANAGER is implied */ static const char *ACCOUNT_MANAGER_INTERFACES[] = { NULL }; -static gchar *VALID_ACCOUNTS[] = { - "/org/freedesktop/Telepathy/Account/fakecm/fakeproto/validaccount", - NULL }; - -static gchar *INVALID_ACCOUNTS[] = { - "/org/freedesktop/Telepathy/Account/fakecm/fakeproto/invalidaccount", - NULL }; - enum { PROP_0, @@ -53,6 +45,7 @@ struct _TpTestsSimpleAccountManagerPrivate { GPtrArray *valid_accounts; + GPtrArray *invalid_accounts; }; static void @@ -83,15 +76,11 @@ static void tp_tests_simple_account_manager_init (TpTestsSimpleAccountManager *self) { - guint i; - self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, TP_TESTS_TYPE_SIMPLE_ACCOUNT_MANAGER, TpTestsSimpleAccountManagerPrivate); self->priv->valid_accounts = g_ptr_array_new_with_free_func (g_free); - - for (i = 0; VALID_ACCOUNTS[i] != NULL; i++) - g_ptr_array_add (self->priv->valid_accounts, g_strdup (VALID_ACCOUNTS[i])); + self->priv->invalid_accounts = g_ptr_array_new_with_free_func (g_free); } static void @@ -101,8 +90,6 @@ GParamSpec *spec) { TpTestsSimpleAccountManager *self = SIMPLE_ACCOUNT_MANAGER (object); - GPtrArray *accounts; - guint i = 0; switch (property_id) { case PROP_INTERFACES: @@ -114,12 +101,7 @@ break; case PROP_INVALID_ACCOUNTS: - accounts = g_ptr_array_new (); - - for (i=0; INVALID_ACCOUNTS[i] != NULL; i++) - g_ptr_array_add (accounts, g_strdup (VALID_ACCOUNTS[i])); - - g_value_take_boxed (value, accounts); + g_value_set_boxed (value, self->priv->invalid_accounts); break; default: @@ -129,13 +111,14 @@ } static void -tp_tests_simple_account_manager_dispose (GObject *object) +tp_tests_simple_account_manager_finalize (GObject *object) { TpTestsSimpleAccountManager *self = SIMPLE_ACCOUNT_MANAGER (object); - tp_clear_pointer (&self->priv->valid_accounts, g_ptr_array_unref); + g_ptr_array_unref (self->priv->valid_accounts); + g_ptr_array_unref (self->priv->invalid_accounts); - G_OBJECT_CLASS (tp_tests_simple_account_manager_parent_class)->dispose ( + G_OBJECT_CLASS (tp_tests_simple_account_manager_parent_class)->finalize ( object); } @@ -173,8 +156,8 @@ }; g_type_class_add_private (klass, sizeof (TpTestsSimpleAccountManagerPrivate)); + object_class->finalize = tp_tests_simple_account_manager_finalize; object_class->get_property = tp_tests_simple_account_manager_get_property; - object_class->dispose = tp_tests_simple_account_manager_dispose; param_spec = g_param_spec_boxed ("interfaces", "Extra D-Bus interfaces", "In this case we only implement AccountManager, so none.", @@ -197,12 +180,43 @@ G_STRUCT_OFFSET (TpTestsSimpleAccountManagerClass, dbus_props_class)); } +static void +remove_from_array (GPtrArray *array, const gchar *str) +{ + guint i; + + for (i = 0; i < array->len; i++) + if (!tp_strdiff (str, g_ptr_array_index (array, i))) + { + g_ptr_array_remove_index_fast (array, i); + return; + } +} + +void +tp_tests_simple_account_manager_add_account ( + TpTestsSimpleAccountManager *self, + const gchar *object_path, + gboolean valid) +{ + remove_from_array (self->priv->valid_accounts, object_path); + remove_from_array (self->priv->valid_accounts, object_path); + + if (valid) + g_ptr_array_add (self->priv->valid_accounts, g_strdup (object_path)); + else + g_ptr_array_add (self->priv->invalid_accounts, g_strdup (object_path)); + + tp_svc_account_manager_emit_account_validity_changed (self, object_path, valid); +} + void -tp_tests_simple_account_manager_set_valid_accounts ( +tp_tests_simple_account_manager_remove_account ( TpTestsSimpleAccountManager *self, - GPtrArray *accounts) + const gchar *object_path) { - tp_clear_pointer (&self->priv->valid_accounts, g_ptr_array_unref); + remove_from_array (self->priv->valid_accounts, object_path); + remove_from_array (self->priv->valid_accounts, object_path); - self->priv->valid_accounts = g_ptr_array_ref (accounts); + tp_svc_account_manager_emit_account_removed (self, object_path); } diff -Nru telepathy-glib-0.17.7/tests/lib/simple-account-manager.h telepathy-glib-0.18.0/tests/lib/simple-account-manager.h --- telepathy-glib-0.17.7/tests/lib/simple-account-manager.h 2012-03-05 22:33:02.000000000 +0000 +++ telepathy-glib-0.18.0/tests/lib/simple-account-manager.h 2012-04-02 19:51:47.000000000 +0000 @@ -1,7 +1,7 @@ /* * simple-account-manager.h - header for a simple account manager service. * - * Copyright (C) 2007-2009 Collabora Ltd. + * Copyright (C) 2007-2012 Collabora Ltd. * Copyright (C) 2007-2008 Nokia Corporation * * Copying and distribution of this file, with or without modification, @@ -52,9 +52,14 @@ (G_TYPE_INSTANCE_GET_CLASS ((obj), TP_TESTS_TYPE_SIMPLE_ACCOUNT_MANAGER, \ TpTestsSimpleAccountManagerClass)) -void tp_tests_simple_account_manager_set_valid_accounts ( +void tp_tests_simple_account_manager_add_account ( TpTestsSimpleAccountManager *self, - GPtrArray *accounts); + const gchar *object_path, + gboolean valid); + +void tp_tests_simple_account_manager_remove_account ( + TpTestsSimpleAccountManager *self, + const gchar *object_path); G_END_DECLS