One of the reason libretroshare dependend on Qt on Android
and in particular in networking module is the lack of
`getifaddrs` with API level < 24, we included Android
Gingerbread internal implementation so this dependency can be avoided
at compile time.
The code depending on Qt has been placed under `#if` and can be enabled
at compile time by appending `DEFINES+=LIBRETROSHARE_ANDROID_IFADDRS_QT`
to `qmake` command line.
Avoid compiler warning due to virtual method being called in destructor
at this point the empty default version would be called without damage
but making the compiler concernig about the semantic being different
from the one the programmer meant.
Delete old superseeded function and do not depend on it on RsThread.
mGroupFlags & GXS_SERV::FLAG_PRIVACY_PUBLIC is always true for forums
even if they are circle restricted, use circle flags to check if it
is really public
Single shared files are a bit special and contain the full path in the
name because they are not shared as part of a directory, epurate the
path component from matching process and from search result
Add capability to libretroshare to share single files without sharing
the whole folder containing it, this is expecially useful in Android
where files are organized in a peculiar way that render classic way of
sharing folder almost unusable. Using extra files which was already
implemented doesn't solve this use case as extra files are limited in
time and dosn't support search and sharing permissions.
RetroShare GUI works fine if a single file is added as shared dir via
JSON API, but probably would need tweaking some flags in file picker
to give the ability to the user.
The field is actually a raw memory chunk even if declared as an
std::string as result the produced JSON is broken and JSON API clients
cannot parse the output of methods like rsIdentity/getIdentitiesInfo
A proper fix would be refactoring the whole code to use a proper raw
memory buffer for that field but given there is no usage for a raw PGP
signature on a client app as RetroShare library already verify it internally
workaround the issue by just ignoring that field in JSON serial operations.