Levels and Prefixes

If you use multiple user levels, or you use a prefix (more about that in a moment), you can use the pong_xml_set_level and pong_xml_set_prefix methods, which both take the PongXML object as first argument and the level or the prefix string as the second argument.

A user level is a string that has certain keys associated with it and a specific GConf path prefix (base path). This is usually different from the standard one, for example a "Novice" user level might contain only the simple setting widgets, and would have it's own GConf prefix, for example "/apps/example/NoviceSettings"

The prefixes are a bit more complex. Do not confuse this with the GConf "Configuration prefix". It is more of a "middlefix" rather then a "prefix", since it's prefixed in front of keys, but then things are prefixed with the GConf configuration prefix. This is to facilitate something like applets. Suppose your GConf prefix you set up in the .pong file is /apps/application-foo. And you can support an arbitrary number of independent applets, that all have independent settings. Each applet would have a unique id, say "applet-45". You could then run pong_xml_set_prefix (xml, "applet-45"), and this would make all the keys prefixed with "/apps/application-foo/applet-45".