This was causing scary error message in RsGxsChannels with autodoanload
enabled, when all messages where already processed none matched the
filter so all messages where returned,
making p3GxsChannels::handleUnprocessedPost furious
more details into this forum post
retroshare://forum?name=Scary%20message%2C%20but%20which%20doesn%27t%20seem%20to%20be%20the%20source%20of%20the%20problems%20Was%3A%20More%20GXS%20strange%20messages&id=8fd22bd8f99754461e7ba1ca8a727995&msgid=04f10ff97f761c6840c33f1610cb050f0f73da8d
Deprecated old method which exposed interna async mechanism to the API
users, making their and out life difficult
Things that really need to be async like turtle search/requests now accept
callbacks, so the caller can be notified everytime some result is got
back
Implement RsThread::async commodity wrapper to execute blocking API
calls without blocking the caller, this could be optimized
trasparently using a thread pool if necessary
Added hints into some retroshare-gui files on how to use RsThread::async
thoghether with QMetaObject::invokeMethod and blocking RetroShare API
to simplyfy interaction between GUI and libretroshare
Now the possible id of the cannel/post is returned and channel/post is
indexed on creation without having to wait for gxsutil scan to happen
Note that the id is correct in normal usage, but if one try to overload
the API per eventually get the id of another channel/post with same data
but created by a different call, it is not dangerous so one trying to
overload the API is just getting a possibly wrong but equivalent
channel/post id returned.
Avoid problems to serialization on different platforms, without breaking
nested STL containers serialization.
The conversion have been made with sed, and checked with grep, plus
kdiff3 visual ispection, plus rutime tests, so it should be fine.
Avoid the need of dirty patching to set the version at build time
In case RS version is not passed as argument attempt to determine it
using git describe, if unavailable use hardcoded default