[]Struct gio::SettingsSchemaSource

pub struct SettingsSchemaSource(_);

This is an opaque structure type. You may not access it directly.

Methods

impl SettingsSchemaSource[src]

pub fn new_from_directory<P: AsRef<Path>>(
    directory: P,
    parent: Option<&SettingsSchemaSource>,
    trusted: bool
) -> Result<SettingsSchemaSource, Error>
[src]

Attempts to create a new schema source corresponding to the contents of the given directory.

This function is not required for normal uses of Settings but it may be useful to authors of plugin management systems.

The directory should contain a file called gschemas.compiled as produced by the [glib-compile-schemas][glib-compile-schemas] tool.

If trusted is true then gschemas.compiled is trusted not to be corrupted. This assumption has a performance advantage, but can result in crashes or inconsistent behaviour in the case of a corrupted file. Generally, you should set trusted to true for files installed by the system and to false for files in the home directory.

In either case, an empty file or some types of corruption in the file will result in glib::FileError::Inval being returned.

If parent is non-None then there are two effects.

First, if SettingsSchemaSource::lookup is called with the recursive flag set to true and the schema can not be found in the source, the lookup will recurse to the parent.

Second, any references to other schemas specified within this source (ie: child or extends) references may be resolved from the parent.

For this second reason, except in very unusual situations, the parent should probably be given as the default schema source, as returned by SettingsSchemaSource::get_default.

directory

the filename of a directory

parent

a SettingsSchemaSource, or None

trusted

true, if the directory is trusted

pub fn list_schemas(&self, recursive: bool) -> (Vec<GString>, Vec<GString>)[src]

Lists the schemas in a given source.

If recursive is true then include parent sources. If false then only include the schemas from one source (ie: one directory). You probably want true.

Non-relocatable schemas are those for which you can call Settings::new. Relocatable schemas are those for which you must use Settings::new_with_path.

Do not call this function from normal programs. This is designed for use by database editors, commandline tools, etc.

recursive

if we should recurse

non_relocatable

the list of non-relocatable schemas, in no defined order

relocatable

the list of relocatable schemas, in no defined order

pub fn lookup(&self, schema_id: &str, recursive: bool) -> Option<SettingsSchema>[src]

Looks up a schema with the identifier schema_id in self.

This function is not required for normal uses of Settings but it may be useful to authors of plugin management systems or to those who want to introspect the content of schemas.

If the schema isn't found directly in self and recursive is true then the parent sources will also be checked.

If the schema isn't found, None is returned.

schema_id

a schema ID

recursive

true if the lookup should be recursive

Returns

a new SettingsSchema

pub fn get_default() -> Option<SettingsSchemaSource>[src]

Gets the default system schema source.

This function is not required for normal uses of Settings but it may be useful to authors of plugin management systems or to those who want to introspect the content of schemas.

If no schemas are installed, None will be returned.

The returned source may actually consist of multiple schema sources from different directories, depending on which directories were given in XDG_DATA_DIRS and GSETTINGS_SCHEMA_DIR. For this reason, all lookups performed against the default source should probably be done recursively.

Returns

the default schema source

Trait Implementations

impl Clone for SettingsSchemaSource

impl Debug for SettingsSchemaSource[src]

impl Eq for SettingsSchemaSource[src]

impl Hash for SettingsSchemaSource[src]

impl Ord for SettingsSchemaSource[src]

impl PartialEq<SettingsSchemaSource> for SettingsSchemaSource[src]

impl PartialOrd<SettingsSchemaSource> for SettingsSchemaSource[src]

impl StaticType for SettingsSchemaSource

impl StructuralEq for SettingsSchemaSource[src]

impl StructuralPartialEq for SettingsSchemaSource[src]

Auto Trait Implementations

impl RefUnwindSafe for SettingsSchemaSource

impl !Send for SettingsSchemaSource

impl !Sync for SettingsSchemaSource

impl Unpin for SettingsSchemaSource

impl UnwindSafe for SettingsSchemaSource

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<'a, T> ToGlibContainerFromSlice<'a, *const GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 
[src]

impl<'a, T> ToGlibContainerFromSlice<'a, *const GPtrArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 
[src]

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 
[src]

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 
[src]

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GPtrArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToValue for T where
    T: SetValue + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.