summaryrefslogtreecommitdiffstats
path: root/build/linux/gsettings.h
blob: 1ea659849b5faf865913bf4c16e3bda3344139cb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef BUILD_LINUX_GSETTINGS_H_
#define BUILD_LINUX_GSETTINGS_H_

#include <gio/gio.h>

// The GSettings API was not part of GIO until GIO version 2.26,
// while Ubuntu 10.04 Lucid ships with version 2.24.
//
// To allow compiling on Lucid those forward declarations are provided.
//
// If compiling with GIO version 2.26, these won't conflict,
// because they're identical to the types defined.
//
// TODO(phajdan.jr): This will no longer be needed after switch to Precise,
// see http://crbug.com/158577 .
struct _GSettings;
typedef struct _GSettings GSettings;
GSettings* g_settings_new(const gchar* schema);
GSettings* g_settings_get_child(GSettings* settings, const gchar* name);
gboolean g_settings_get_boolean(GSettings* settings, const gchar* key);
gchar* g_settings_get_string(GSettings* settings, const gchar* key);
gint g_settings_get_int(GSettings* settings, const gchar* key);
gchar** g_settings_get_strv(GSettings* settings, const gchar* key);
const gchar* const* g_settings_list_schemas();

#endif  // BUILD_LINUX_GSETTINGS_H_