Finalized tests
[profile/ivi/common-api-dbus-runtime.git] / TODO
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.
9
10 * Performance:
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.
14
15 * Implementation of Variants.
16
17 * Dedicated Test of multiple connect/disconnect cycles
18
19 * Life Cycle of connections: Disconnect/Destroy with ProxyFactory, how to do this otherwise?
20
21 * DBusProxyHelper.h:
22   // TODO: Must implement available checks on method calls, and wait for valid avalable status in sync case
23   /*
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
27    * classes.
28    *
29    * Since DBus*Attribute use the DBusProxyHelper, we have to use the
30    * DBusProxy class as a template typename.
31    */
32
33 * DBusMultiEvent.h:
34   /*
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
38    * classes.
39    *
40    * Since DBus*Attribute use the DBusProxyHelper, we have to use the
41    * DBusProxy class as a template typename.
42    */
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;
46
47 * DBusAttribute.h:
48   /*
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
52    * classes.
53    */
54
55 * DBusServiceRegistry.h:
56   isServiceInstanceAlive: //TODO Fallback for services not in dbus object manager
57
58 * DBus Generator: implizite Array-Deklaration via "[]" (z.B. UInt32[] in Methoden-Aufruf) unterstützen!
59
60
61
62
63 Future development (2.1):
64
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
70         if required.
71
72 * Check static/dynamic loading of libraries, make it work. 
73
74 * Doxygen in CommonAPI source code.
75
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
81
82 - Handling of D-Bus properties!! Sollte auf Franca attributes gemapped sein (Grund: Interoperabilität)
83
84 * getValue on attributes is inconsisten with other methods, CallStatus should be in signature not return