[ CCode ( has_construct_function = false ) ]
[ Version ( since = "2.32" ) ]
public Settings.full (SettingsSchema schema, SettingsBackend? backend, string? path)

Creates a new Settings object with a given schema, backend and path.

It should be extremely rare that you ever want to use this function. It is made available for advanced use-cases (such as plugin systems that want to provide access to schemas loaded from custom locations, etc).

At the most basic level, a Settings object is a pure composition of 4 things: a SettingsSchema, a SettingsBackend, a path within that backend, and a MainContext to which signals are dispatched.

This constructor therefore gives you full control over constructing Settings instances. The first 3 parameters are given directly as schema, backend and path, and the main context is taken from the thread-default (as per Settings).

If backend is null then the default backend is used.

If path is null then the path from the schema is used. It is an error if path is null and the schema has no path of its own or if path is non-null and not equal to the path that the schema does have.



a SettingsSchema


a SettingsBackend


the path to use


a new Settings object