summaryrefslogtreecommitdiff
path: root/tools
AgeCommit message (Collapse)AuthorFilesLines
2014-04-07make-version-script: output symbols in sorted order for easier diffingSimon McVittie1-5/+5
2014-04-03Move TpSvc* registration code to the -dbus librarySimon McVittie1-1/+1
TpSvcInterfaceInfo encodes the assumption "we emit dbus-glib-style signals" which we don't want to keep forever. If we confine them to the -dbus library, it'll be easier to break its ABI. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=76855 Reviewed-by: Xavier Claessens
2014-04-03Rename core-util.c to value-array.c and put it in the -dbus librarySimon McVittie1-0/+2
This is basically only useful for the dbus-glib type system. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=76855 Reviewed-by: Xavier Claessens
2014-03-26Also remove unused move_into_gvalueSimon McVittie1-22/+0
2014-03-26Remove unused code from codegenXavier Claessens4-139/+1
2014-03-26TpProxy: rewrite signal listeningSimon McVittie1-154/+17
As with async calls, we now use GVariant, don't take ownership of the arguments in the wrapper function, do more work in hand-written code and less work in generated code, and don't need to mess about with DBusGProxy or idles because GDBus is just better. I've moved monitoring the TpProxy's lifetime from "signal connection listens for invalidated signal" to "TpProxy explicitly drops signal connections" in order to avoid depending on dispose emitting invalidated, which was always a design flaw really. That also gives us the opportunity to move the invocation of "drop all signal connections" into an idle, which is necessary so that other listeners to the same signal that invalidated the object (e.g. StatusChanged) will still be notified.
2014-03-26TpProxy: rewrite async and reentrant callsSimon McVittie1-214/+100
An outline of the significant differences: * the old code used DBusGProxy, but the new code does not need a proxy object of any sort, simplifying life-cycles * the new code does not need to jump through hoops to push the reply into an idle unless it is responding with an immediate error, because GDBus always replies in an idle anyway * old GValueArray replaced by new GVariant * TpProxyInvokeFunc freed its GError or GValueArray argument, TpProxyWrapperFunc does not * the old codegen had to do the actual dbus-glib call itself because dbus-glib's API was varargs, whereas the new codegen can rely on tp_proxy_pending_call_v1_new() to do that on its behalf (reducing API surface area, taking responsibility away from generated code, and giving that responsibility to hand-written code) * the old codegen had to generate a callback for dbus-glib to call back into, whereas the new code can share one callback between all possible calls * the deprecated reentrant calls in the old codegen were open-coded, whereas the new codegen produces a simple wrapper around the async version
2014-03-26remove assorted dbus-glib-specific valgrind suppressionsSimon McVittie1-49/+0
2014-03-26glib-ginterface-gen: register a TpSvcInterfaceInfo, not dbus-glib glueSimon McVittie1-162/+173
This allows these interfaces to be exported via GDBus.
2014-03-26tp_dbus_daemon_watch_name_owner: rewrite in terms of ↵Simon McVittie1-8/+0
g_bus_watch_name_on_connection There's more debug here than I'd normally use, because this is a large, non-bisectable rewrite. We can delete the bits that are excessively noisy after we know it all works :-)
2014-03-26Do domain-specific errors via GDBus, not dbus-glibSimon McVittie1-8/+0
We can get rid of TP_DBUS_ERROR_UNKNOWN_REMOTE_ERROR, because G_IO_ERROR_DBUS_ERROR doesn't have the same weird abuse of GError semantics that DBUS_GERROR_REMOTE_EXCEPTION did. I moved TP_DBUS_ERROR_INCONSISTENT from last to 0'th TP_DBUS_ERROR, to avoid having to renumber all of them. We can probably get rid of a lot of these errors in favour of G_IO_ERROR or G_DBUS_ERROR members, but for now, let's keep them.
2014-03-26Remove TpProxy::interface-added, and dbus-glib marshaller registrationSimon McVittie1-7/+0
In the glorious GDBus future, we won't need marshaller and signal registration. This also means we can get rid of the init_known_interfaces() family of functions, which were only there to support interface-added. This commit is the first of many that will break bisection. That's somewhat unavoidable if you want to go from libdbus to GDBus without having a single mega-commit :-)
2014-03-26libglibcodegen: add code to generate GDBusInterfaceInfo from the Tp specSimon McVittie1-0/+203
I'm not using gdbus-codegen, at least not yet, because our CMs are pretty heavily dependent on the TpSvc* interfaces, and I would like the minimum viable port to GDBus to take a finite time.
2014-03-25Add ABI management for telepathy-loggerSimon McVittie1-9/+66
This requires some enhancements to make-version-script.py so it can support a separate ABI-version for private symbols, like those used by the telepathy-logger daemon. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=76462 Reviewed-by: Xavier Claessens
2014-03-18Don't leak method call results (regression in 0.23.1)Simon McVittie2-2/+23
Commit 7ffbde3f used common code for two blocks that were not actually the same. dbus-glib method calls give the caller a new reference to the results, whereas dbus-glib signals do not. As a result, the method-call case needs to either free the results, or get them freed by giving ownership to the GValueArray. I chose to give ownership. Reviewed-by: Guillaume Desmottes
2014-03-18logger tests: rely on GTestDBus instead of with-session-bus.shSimon McVittie2-108/+0
Reviewed-by: Guillaume Desmottes
2014-03-13glib-client-gen: factor out value_getterSimon McVittie2-44/+28
2014-03-13codegen: move get_emits_changed() to libtpcodegenSimon McVittie2-11/+11
2014-03-13Ignore allocations in gobject_init_ctorSimon McVittie1-0/+7
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=76000 Reviewed-by: Guillaume Desmottes
2014-02-27Merge remote-tracking branch 'origin/master' into next-mergeGuillaume Desmottes1-1/+1
Conflicts: NEWS configure.ac docs/reference/telepathy-glib-sections.txt telepathy-glib/abi.am telepathy-glib/account-channel-request.c telepathy-glib/base-connection.c telepathy-glib/base-connection.h telepathy-glib/presence-mixin.c telepathy-glib/presence-mixin.h telepathy-glib/protocol.c telepathy-glib/protocol.h tests/dbus/account-channel-request.c
2014-02-04maintainer-prepare-release: do "git tag" in srcdirSimon McVittie1-1/+1
2014-01-07Merge branch 'master' into nextSimon McVittie1-1/+0
[Also remove g_type_init() from the Logger, matching telepathy-glib. -smcv] Conflicts: examples/client/js/contact-list.js examples/client/js/debug-client.js examples/client/python/contact-list.py examples/client/python/dialler.py examples/client/python/ensure-channel.py examples/client/python/file-transfer.py examples/client/python/ft-handler.py examples/client/python/inspect-cm.py examples/client/python/stream-tube-accepter.py examples/client/python/stream-tube-offerer.py examples/client/python/text-handler.py examples/client/stream-tubes/offerer.c telepathy-glib/file-transfer-channel.c tests/dbus/connection-balance.c tests/dbus/connection-bug-18845.c tests/dbus/connection-getinterfaces-failure.c tests/dbus/connection-handles.c tests/dbus/connection-inject-bug16307.c tests/dbus/params-cm.c tests/dbus/text-mixin.c tests/enums.c
2014-01-07Stop calling g_type_init()Simon McVittie1-1/+0
It was deprecated in GLib 2.36, and we already have a hard dependency on that version. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=71048 Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2013-11-11Replace im.telepathy1 with im.telepathy.v1Simon McVittie1-2/+2
This also fixes a few uses of im.telepathy1 in object paths in Logger code, which was presumably a misuse of sed. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=71262 Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
2013-11-04Merge branch 'master' into nextSimon McVittie2-63/+29
Conflicts: tools/glib-client-gen.py
2013-10-31Bring back with-session-bus.shSimon McVittie2-0/+108
telepathy-logger's installed tests still need it.
2013-10-29codegen: factor out copy_into_gvalueSimon McVittie2-62/+29
I needed this for TpExportable (which is still work in progress), but it's already a small code reduction. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=59024 Reviewed-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
2013-10-25Don't strip ABI versions from generated codeSimon McVittie3-22/+13
2013-09-26Merge branch 'master' into nextSimon McVittie3-108/+12
Conflicts: NEWS configure.ac docs/reference/telepathy-glib-sections.txt examples/cm/contactlist/conn.c telepathy-glib/account.c telepathy-glib/base-connection-manager.c telepathy-glib/base-connection.c telepathy-glib/group-mixin.c telepathy-glib/message-mixin.c telepathy-glib/presence-mixin.c telepathy-glib/text-mixin.c tests/dbus/channel-dispatch-operation.c tests/dbus/client-channel-factory.c tests/dbus/contacts-slow-path.c tests/dbus/contacts.c tests/dbus/dbus-uninstalled/services/spurious.service tests/dbus/params-cm.c tests/lib/broken-client-types-conn.c tests/lib/contacts-conn.c tools/glib-client-gen.py
2013-09-26glib-client-gen.py: ignore GValueArray deprecation warningsSimon McVittie1-0/+10
Yes we know we have GValueArrays. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=69849 Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
2013-09-26Port unit tests to g_test_dbus_up/downXavier Claessens2-108/+0
https://bugs.freedesktop.org/show_bug.cgi?id=55761
2013-09-12Merge tag 'telepathy-glib-0.21.1' into nextSimon McVittie1-1/+1
telepathy-glib-0.21.1 Conflicts: configure.ac telepathy-glib/message.c
2013-09-12with-session-bus.sh: clear DBUS_STARTER_*Simon McVittie1-0/+6
telepathy-glib prefers to use DBUS_BUS_STARTER, for the benefit of Telepathy components that are (or might be) service-activatable. The actual terminal part of gnome-terminal 3.8 is an activatable service, so when run from there, we pick up the real session bus' address via DBUS_STARTER_ADDRESS. We don't want that. (Yes, it's DBUS_STARTER_ADDRESS, not DBUS_STARTER_BUS_ADDRESS. The reference implementation and the D-Bus Specification both say so.) Bug: https://bugs.freedesktop.org/show_bug.cgi?id=63119 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk> (cherry picked from commit c768a891d6cd9012c3072b1a8307146e3d41be35)
2013-06-11Use AC_PROG_MKDIR_P instead of deprecated AM_PROG_MKDIR_PSimon McVittie1-1/+1
This means we define MKDIR_P instead of mkdir_p - adjust. Strictly speaking this requires Autoconf 2.59d, but 2.60 is hardly a new innovation (it was released in 2006). Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=65517
2013-04-04Merge branch 'telepathy-glib-0.20' and update NEWSSimon McVittie1-0/+6
Conflicts: NEWS configure.ac
2013-04-04with-session-bus.sh: clear DBUS_STARTER_*Simon McVittie1-0/+6
telepathy-glib prefers to use DBUS_BUS_STARTER, for the benefit of Telepathy components that are (or might be) service-activatable. The actual terminal part of gnome-terminal 3.8 is an activatable service, so when run from there, we pick up the real session bus' address via DBUS_STARTER_ADDRESS. We don't want that. (Yes, it's DBUS_STARTER_ADDRESS, not DBUS_STARTER_BUS_ADDRESS. The reference implementation and the D-Bus Specification both say so.) Bug: https://bugs.freedesktop.org/show_bug.cgi?id=63119 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
2013-01-03Merge branch 'master' into nextSimon McVittie13-126/+131
Conflicts: configure.ac telepathy-glib/client-channel-factory.c tests/dbus/contact-lists.c tools/glib-client-gen.py
2013-01-03Make the code generation tools work under either Python 2 or 3Simon McVittie13-120/+129
They have been verified to produce identical output in _gen. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=56758 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Xavier Claessens <xavier.claessens@collabora.co.uk>
2012-12-26Remove reference to tp_proxy_borrow_interface_by_id()Xavier Claessens1-1/+1
This function was already removed and replaced by _get_interface_by_id()
2012-09-10Do not include single headers in codegenXavier Claessens1-5/+3
Headers to use is caller's choice, like that tp-glib internal can use single headers while extensions can use global header. This also move command line headers to generated .h instead of .c
2012-09-07Merge branch 'master' into nextXavier Claessens1-2/+2
Conflicts: configure.ac docs/reference/telepathy-glib-sections.txt examples/client/contact-list.c telepathy-glib/abi.am telepathy-glib/account-manager.c telepathy-glib/account-manager.h telepathy-glib/call-channel.c telepathy-glib/channel.c telepathy-glib/protocol.h telepathy-glib/proxy.c telepathy-glib/stream-tube-channel.c telepathy-glib/text-channel.c tools/glib-client-gen.py
2012-09-05TpProxy: Deprecate _borrow_ functions and replace them by _get_Xavier Claessens1-0/+4
New transfer and naming policy has been discussed in https://bugs.freedesktop.org/show_bug.cgi?id=39189 and is documented there: http://telepathy.freedesktop.org/wiki/Style/TelepathyGLib
2012-08-31Merge branch 'master' into nextJonny Lamb1-0/+1
Conflicts: configure.ac telepathy-glib/abi.am telepathy-glib/base-client.c telepathy-glib/base-connection.c telepathy-glib/codegen.am telepathy-glib/contact.c Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
2012-08-30lcov: add a holding page for lcov reportsJonny Lamb1-0/+1
When lcov fails on the buildbot let's upload /something/. Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
2012-07-10Merge branch 'master' into nextXavier Claessens1-3/+12
Conflicts: configure.ac telepathy-glib/abi.am telepathy-glib/account.h telepathy-glib/automatic-proxy-factory.c telepathy-glib/base-channel.h telepathy-glib/base-client.c telepathy-glib/base-connection-manager.c telepathy-glib/base-connection-manager.h telepathy-glib/base-connection.c telepathy-glib/client-channel-factory.c telepathy-glib/connection.h tests/dbus/connection-balance.c tests/dbus/protocol-objects.c tests/lib/bug16307-conn.c tests/lib/contacts-conn.c tests/lib/echo-cm.c tests/lib/echo-conn.c
2012-07-05Make sure "make -j3 maintainer-foo" workstelepathy-glib-0.19.3Xavier Claessens1-3/+12
2012-06-26Make sure to not use single includes in generated codeXavier Claessens1-6/+18
If an extension iface has properties, its header will include dbus-properties-mixin.h, which is not allowed outside tp-glib itself. Since the generated header does not expose the mixin, move the include to .c file, and use the meta header if single includes are not allowed.
2012-05-09Merge branch 'master' into nextXavier Claessens1-7/+0
Conflicts: configure.ac docs/reference/telepathy-glib-sections.txt examples/client/extended-client.c examples/client/inspect-contact.c examples/cm/echo-message-parts/chan.c spec/Protocol_Interface_Presence1.xml spec/all.xml telepathy-glib/Makefile.am telepathy-glib/abi.am telepathy-glib/base-connection.c telepathy-glib/base-connection.h telepathy-glib/connection-contact-list.c telepathy-glib/contacts-mixin.c telepathy-glib/intset.c telepathy-glib/message-mixin.c telepathy-glib/message-mixin.h telepathy-glib/stream-tube-channel.c telepathy-glib/text-channel.c tests/lib/util.c
2012-05-09check-c-style: don't check if GError are initializedGuillaume Desmottes1-7/+0
It just leads us to writing insanity like: GError *error /* badger */;
2012-05-07Merge branch 'master' into nextSimon McVittie1-1/+12
Conflicts: docs/reference/telepathy-glib-sections.txt examples/client/approver.c examples/cm/call/call-manager.c examples/cm/call/conn.c examples/cm/channelspecific/conn.c examples/cm/channelspecific/room.c examples/cm/contactlist/conn.c examples/cm/echo-message-parts/chan.c examples/cm/echo-message-parts/conn.c examples/cm/extended/conn.c telepathy-glib/Makefile.am telepathy-glib/base-contact-list-internal.h telepathy-glib/contact.h telepathy-glib/dbus-properties-mixin-internal.h telepathy-glib/telepathy-glib-dbus.h telepathy-glib/telepathy-glib.h tools/glib-client-gen.py