| Important for 1.2 | |
| === | |
| - System bus activation | |
| - Windows port | |
| Important for 1.0 GLib Bindings | |
| === | |
| - Test point-to-point mode | |
| - Add support for getting sender | |
| - format_version in the object info doesn't look like it's handled correctly. The creator | |
| of the object info should specify some fixed number per struct version; the library | |
| should handle only specific numbers it knows about. There's no assumption that all | |
| numbers >= the given one are compatible. The idea is that new versions of the lib | |
| can offer totally different object info structs, but old versions | |
| keep working. | |
| Important for 1.0 Python bindings | |
| === | |
| - Hammer down API | |
| - Fix removing of signals from the match tree | |
| - Fix refcounting and userdata lifecycles | |
| - Write a generic mainloop | |
| Might as Well for 1.0 | |
| === | |
| - protocol version in each message is pretty silly | |
| Can Be Post 1.0 | |
| === | |
| - revamp dbus-launch a bit, | |
| see http://lists.freedesktop.org/archives/dbus/2006-October/005906.html | |
| for some thoughts. | |
| - clean up the creds issue on *BSD's in dbus/dbus-sysdeps-unix.c. | |
| They should work as is but we need to rearange it to make it | |
| clearer which method is being used. configure.in should | |
| be fixed up to make that decition. | |
| - _dbus_connection_unref_unlocked() is essentially always broken because | |
| the connection finalizer calls non-unlocked functions. One fix is to make | |
| the finalizer run with the lock held, but since it calls out to the app that may | |
| be pretty broken. More likely all the uses of unref_unlocked are just wrong. | |
| - if the GUID is obtained only during authentication, not in the address, | |
| we could still share the connection | |
| - Allow a dbus_g_proxy_to_string()/g_object_to_string() that | |
| would convert the proxy to an "IOR" and dbus_g_proxy_from_string() | |
| that would decode; using these, dbus-glib users could avoid | |
| DBusConnection entirely. Of course the same applies to other kinds | |
| of binding. This would use dbus_connection_open()'s connection-sharing | |
| feature to avoid massive proliferation of connections. | |
| - DBusWatchList/TimeoutList duplicate a lot of code, as do | |
| protected_change_watch/protected_change_timeout in dbus-connection.c | |
| and dbus-server.c. This could all be mopped up, cut-and-paste | |
| fixed, code size reduced. | |
| - change .service files to allow Names=list in addition to Name=string | |
| - The message bus internal code still says "service" for | |
| "name", "base service" for "unique name", "activate" for | |
| "start"; would be nice to clean up. | |
| - Property list feature on message bus (list of properties associated | |
| with a connection). May also include message matching rules | |
| that involve the properties of the source or destination | |
| connection. | |
| - Disconnecting the remote end on invalid UTF-8 is probably not a good | |
| idea. The definition of "valid" is slightly fuzzy. I think it might | |
| be better to just silently "fix" the UTF-8, or perhaps return an error. | |
| - build and install the Doxygen manual in Makefile when --enable-docs | |
| - if you send the same message to multiple connections, the serial number | |
| will only be right for one of them. Probably need to just write() the serial | |
| number, rather than putting it in the DBusMessage, or something. | |
| - perhaps the bus driver should have properties that reflect attributes | |
| of the session, such as hostname, architecture, operating system, | |
| etc. Could be useful for code that wants to special-case behavior | |
| for a particular host or class of hosts, for example. | |
| - currently the security policy stuff for messages to/from | |
| the bus driver is kind of strange; basically it's hardcoded that | |
| you can always talk to the driver, but the default config file | |
| has rules for it anyway, or something. it's conceptually | |
| screwy at the moment. | |
| - when making a method call, if the call serial were globally unique, | |
| we could forward the call serial along with any method calls made | |
| as a result of the first method call, and allow reentrancy that was | |
| strictly part of the call stack of said method call. But I don't | |
| really see how to do this without making the user pass around the | |
| call serial to all method calls all the time, or disallowing | |
| async calls. | |
| If done post 1.0 will probably be an optional/ugly-API type | |
| of thing. | |
| - I don't want to introduce DBusObject, but refcounting and object | |
| data could still be factored out into an internal "base class" | |
| perhaps. | |
| - Keep convenience wrappers in sync with bus methods | |
| - document the auth protocol as a set of states and transitions, and | |
| then reimplement it in those terms | |
| - recursive dispatch, see dbus_connection_dispatch() | |
| - do we need per-display activation; if so I'd like to do this by setting a | |
| "display ID" property on screen 0, with a GUID, and keying activation by | |
| said GUID. Otherwise you get all kinds of unrobust | |
| string/hostname-based mess. per-screen is then done by appending screen number | |
| to the display. If displays have a deterministic ID like this, you can | |
| do per-display by simply including GUID in the service name. | |
| - optimization and profiling! | |
| - Match rules aren't in the spec (probably a lot of methods on the bus | |
| are not) | |
| - the "break loader" and valid/invalid message tests are all disabled; | |
| they need to be fixed and re-enabled with the new message args stuff. | |
| I think I want to drop the .message files thing and just have code | |
| that generates messages, more like the tests for | |
| dbus-marshal-recursive.c (this is mostly done now, just needs some | |
| cleanup) | |
| - just before 1.0, try a HAVE_INT64=0 build and be sure it runs | |
| - Windows port needs recursive mutexes | |
| Should Be Post 1.0 | |
| === | |
| - look into supporting the concept of a "connection" generically | |
| (what does this TODO item mean?) | |
| - test/name-test should be named test/with-bus or something like that | |