1 * Move Version checking to the ServiceRegistry:
2 Currently, ensuring the interface-version based compatibility of the local proxy and
3 a given remote service would be done asynchronously within the proxy right after its creation.
4 The check should be moved to the service registry, so that a proxy only needs to ask
5 for the locally cached version information of the remote service.
6 According to the current CommonAPI Spec, it is required that a proxy remains "unavailable" when
7 it's counterpart has an incompatible interface version.
8 Feasibility of and alternatives to this approach remain to be determined.
11 Check especially message dispatching! Is it possible to do the dispatching without copying
12 the interface name and object path strings?
13 Check (de)serialization, improve where possible.
15 * Implementation of Variants.
17 * Dedicated Test of multiple connect/disconnect cycles
19 * Life Cycle of connections: Disconnect/Destroy with ProxyFactory, how to do this otherwise?
22 // TODO: Must implement available checks on method calls, and wait for valid avalable status in sync case
24 * XXX DBusProxy declares a private DBusReadonlyAttribute variable, which
25 * cuases a circular dependency. As a workaround the DBusProxy must be
26 * forward declared and set as default parameter to the template attribute
29 * Since DBus*Attribute use the DBusProxyHelper, we have to use the
30 * DBusProxy class as a template typename.
35 * XXX DBusProxy declares a private DBusReadonlyAttribute variable, which
36 * cuases a circular dependency. As a workaround the DBusProxy must be
37 * forward declared and set as default parameter to the template attribute
40 * Since DBus*Attribute use the DBusProxyHelper, we have to use the
41 * DBusProxy class as a template typename.
43 //TODO: if rehashing occurs, then all iterators are invalidated.
44 //TODO: rework with pointers, since this is D-Bus only
45 typedef typename ListenersMap::iterator Subscription;
49 * XXX DBusProxy declares a private DBusReadonlyAttribute variable, which
50 * causes a circular dependency. As a workaround the DBusProxy must be
51 * forward declared and set as default parameter to the template attribute
55 * DBusServiceRegistry.h:
56 isServiceInstanceAlive: //TODO Fallback for services not in dbus object manager
58 * DBus Generator: implizite Array-Deklaration via "[]" (z.B. UInt32[] in Methoden-Aufruf) unterstützen!
63 Future development (2.1):
65 * Request Name for DBusStubAdapter:
66 The D-Bus specification states that a single D-Bus connection might own multiple names.
67 We have to make sure that when a register request comes from the CommonAPI StubAdapter
68 Factory that we make sure that the name is already owned by our DBusConnection.
69 Probably we'll have to keep a list of all owned names and request a new one on registration
72 * Check static/dynamic loading of libraries, make it work.
74 * Doxygen in CommonAPI source code.
76 * Main Loop Integration
77 - Per Factory or on Runtime level?
78 - Which functions are needed?
79 - Example with Glib on CommonAPI base (not D-Bus specific)
80 - Christian Linke has some ideas
82 - Handling of D-Bus properties!! Sollte auf Franca attributes gemapped sein (Grund: Interoperabilität)
84 * getValue on attributes is inconsisten with other methods, CallStatus should be in signature not return