Q:

How to get the "available software sites" in eclipse programmatically

I want to check in which "available software sites" is installed in my eclipse. (for example- check is CDT installed on my eclipse) through C++ via QT.
I know how to do that from eclipse (Help -> install new software -> available software sites link - http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Freference%2Fref-p2-siteprefs.htm).
But I don't know how to do that from c++ code...
Any idea please?

A:

It looks like the data for this is in a subdirectory of the p2 directory in the Eclipse installation. 
The subdirectory org.eclipse.equinox.p2.engine/profileRegistry/xxx.profile/.data/.settings contains the files org.eclipse.equinox.p2.artifact.repository.prefs and org.eclipse.equinox.p2.metadata.repository.prefs both of which seem to have available update site information.
The xxx.prefs files are Java 'properties' files and will have to be read by something that understands that format, including the special character escaping and Unicode encoding.

