You have to excuse me but I haven't used your plugin (qt programming doesn't interest me
. Obviously I am missing something.
The first two are native, the third is an "Extended" attribute.
The <Extensions> node in the project file provides a way for plugins to store per-project attributes that
are only of interest to the specific plugin.
From what I have understood, you want your plugin to know that a specific project should be "treated" by it. This is a property of your plugin and it shouldn't matter (at runtime) whether it is written inside the <Extensions> node or not. This xml node is useful only when loading a project so your plugin can see that it should "handle" this project in a special way (or whatever it is your plugin is doing).
As I said, I might have not understood the problem completely so feel free to explain more
.
Anyway, if you prove that reading/writing the <Extensions> node at runtime (i.e. outside project loading/saving scope) is needed/useful, it should be pretty easy to expose such functionality. For a few revisions now this node is being kept in memory throughout the project's lifetime so all it would take is expose it through the SDK API.