Platform API TODO
From KDevelop
- compile libkdevelop.la with -DQT_NO_CAST_FROM_ASCII
- move stuff from the public API to private/internal headers
- remove booleans from the API (we should use enums) and Q_DECLARE_FLAGS stuff
- try to use interfaces (== Q_INTERFACE, Q_DECLARE_INTERFACEm and so on..)
- qobject_cast no dynamic_cast
- singleton using Q_GLOBAL_STATIC
- we should avoid the use of QList<Blah*> in the public API
- it's very difficult using QVariable/QMetaType to wrap such methods
- instead of exposing QList<> we should use something like: int documentCount() const; Document *documentAt(int index) const;
- we should try to remove things like setFoo()
- we should make our interface state-less
- the point is one plug-in can change the state of the encoding and another plug-in expectes/requires a different state == a mess (more or less what we have in kdev3)
- no assumption about having a project local, have support for remote projects