mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-25 23:16:14 +01:00
gsettings: add get/set_{,u}int64
https://bugzilla.gnome.org/show_bug.cgi?id=755898 Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
This commit is contained in:
parent
210a9796f7
commit
5cea1c861d
@ -2614,8 +2614,12 @@ g_settings_get_boolean
|
|||||||
g_settings_set_boolean
|
g_settings_set_boolean
|
||||||
g_settings_get_int
|
g_settings_get_int
|
||||||
g_settings_set_int
|
g_settings_set_int
|
||||||
|
g_settings_get_int64
|
||||||
|
g_settings_set_int64
|
||||||
g_settings_get_uint
|
g_settings_get_uint
|
||||||
g_settings_set_uint
|
g_settings_set_uint
|
||||||
|
g_settings_get_uint64
|
||||||
|
g_settings_set_uint64
|
||||||
g_settings_get_double
|
g_settings_get_double
|
||||||
g_settings_set_double
|
g_settings_set_double
|
||||||
g_settings_get_string
|
g_settings_get_string
|
||||||
|
114
gio/gsettings.c
114
gio/gsettings.c
@ -1873,6 +1873,62 @@ g_settings_set_int (GSettings *settings,
|
|||||||
return g_settings_set_value (settings, key, g_variant_new_int32 (value));
|
return g_settings_set_value (settings, key, g_variant_new_int32 (value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_settings_get_int64:
|
||||||
|
* @settings: a #GSettings object
|
||||||
|
* @key: the key to get the value for
|
||||||
|
*
|
||||||
|
* Gets the value that is stored at @key in @settings.
|
||||||
|
*
|
||||||
|
* A convenience variant of g_settings_get() for 64-bit integers.
|
||||||
|
*
|
||||||
|
* It is a programmer error to give a @key that isn't specified as
|
||||||
|
* having a int64 type in the schema for @settings.
|
||||||
|
*
|
||||||
|
* Returns: a 64-bit integer
|
||||||
|
*
|
||||||
|
* Since: 2.50
|
||||||
|
*/
|
||||||
|
gint64
|
||||||
|
g_settings_get_int64 (GSettings *settings,
|
||||||
|
const gchar *key)
|
||||||
|
{
|
||||||
|
GVariant *value;
|
||||||
|
gint64 result;
|
||||||
|
|
||||||
|
value = g_settings_get_value (settings, key);
|
||||||
|
result = g_variant_get_int64 (value);
|
||||||
|
g_variant_unref (value);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_settings_set_int64:
|
||||||
|
* @settings: a #GSettings object
|
||||||
|
* @key: the name of the key to set
|
||||||
|
* @value: the value to set it to
|
||||||
|
*
|
||||||
|
* Sets @key in @settings to @value.
|
||||||
|
*
|
||||||
|
* A convenience variant of g_settings_set() for 64-bit integers.
|
||||||
|
*
|
||||||
|
* It is a programmer error to give a @key that isn't specified as
|
||||||
|
* having a int64 type in the schema for @settings.
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if setting the key succeeded,
|
||||||
|
* %FALSE if the key was not writable
|
||||||
|
*
|
||||||
|
* Since: 2.50
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
g_settings_set_int64 (GSettings *settings,
|
||||||
|
const gchar *key,
|
||||||
|
gint64 value)
|
||||||
|
{
|
||||||
|
return g_settings_set_value (settings, key, g_variant_new_int64 (value));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* g_settings_get_uint:
|
* g_settings_get_uint:
|
||||||
* @settings: a #GSettings object
|
* @settings: a #GSettings object
|
||||||
@ -1931,6 +1987,64 @@ g_settings_set_uint (GSettings *settings,
|
|||||||
return g_settings_set_value (settings, key, g_variant_new_uint32 (value));
|
return g_settings_set_value (settings, key, g_variant_new_uint32 (value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_settings_get_uint64:
|
||||||
|
* @settings: a #GSettings object
|
||||||
|
* @key: the key to get the value for
|
||||||
|
*
|
||||||
|
* Gets the value that is stored at @key in @settings.
|
||||||
|
*
|
||||||
|
* A convenience variant of g_settings_get() for 64-bit unsigned
|
||||||
|
* integers.
|
||||||
|
*
|
||||||
|
* It is a programmer error to give a @key that isn't specified as
|
||||||
|
* having a uint64 type in the schema for @settings.
|
||||||
|
*
|
||||||
|
* Returns: a 64-bit unsigned integer
|
||||||
|
*
|
||||||
|
* Since: 2.50
|
||||||
|
*/
|
||||||
|
guint64
|
||||||
|
g_settings_get_uint64 (GSettings *settings,
|
||||||
|
const gchar *key)
|
||||||
|
{
|
||||||
|
GVariant *value;
|
||||||
|
guint64 result;
|
||||||
|
|
||||||
|
value = g_settings_get_value (settings, key);
|
||||||
|
result = g_variant_get_uint64 (value);
|
||||||
|
g_variant_unref (value);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_settings_set_uint64:
|
||||||
|
* @settings: a #GSettings object
|
||||||
|
* @key: the name of the key to set
|
||||||
|
* @value: the value to set it to
|
||||||
|
*
|
||||||
|
* Sets @key in @settings to @value.
|
||||||
|
*
|
||||||
|
* A convenience variant of g_settings_set() for 64-bit unsigned
|
||||||
|
* integers.
|
||||||
|
*
|
||||||
|
* It is a programmer error to give a @key that isn't specified as
|
||||||
|
* having a uint64 type in the schema for @settings.
|
||||||
|
*
|
||||||
|
* Returns: %TRUE if setting the key succeeded,
|
||||||
|
* %FALSE if the key was not writable
|
||||||
|
*
|
||||||
|
* Since: 2.50
|
||||||
|
*/
|
||||||
|
gboolean
|
||||||
|
g_settings_set_uint64 (GSettings *settings,
|
||||||
|
const gchar *key,
|
||||||
|
guint64 value)
|
||||||
|
{
|
||||||
|
return g_settings_set_value (settings, key, g_variant_new_uint64 (value));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* g_settings_get_double:
|
* g_settings_get_double:
|
||||||
* @settings: a #GSettings object
|
* @settings: a #GSettings object
|
||||||
|
@ -138,6 +138,13 @@ GLIB_AVAILABLE_IN_ALL
|
|||||||
gboolean g_settings_set_int (GSettings *settings,
|
gboolean g_settings_set_int (GSettings *settings,
|
||||||
const gchar *key,
|
const gchar *key,
|
||||||
gint value);
|
gint value);
|
||||||
|
GLIB_AVAILABLE_IN_2_50
|
||||||
|
gint64 g_settings_get_int64 (GSettings *settings,
|
||||||
|
const gchar *key);
|
||||||
|
GLIB_AVAILABLE_IN_2_50
|
||||||
|
gboolean g_settings_set_int64 (GSettings *settings,
|
||||||
|
const gchar *key,
|
||||||
|
gint64 value);
|
||||||
GLIB_AVAILABLE_IN_2_32
|
GLIB_AVAILABLE_IN_2_32
|
||||||
guint g_settings_get_uint (GSettings *settings,
|
guint g_settings_get_uint (GSettings *settings,
|
||||||
const gchar *key);
|
const gchar *key);
|
||||||
@ -145,6 +152,13 @@ GLIB_AVAILABLE_IN_2_32
|
|||||||
gboolean g_settings_set_uint (GSettings *settings,
|
gboolean g_settings_set_uint (GSettings *settings,
|
||||||
const gchar *key,
|
const gchar *key,
|
||||||
guint value);
|
guint value);
|
||||||
|
GLIB_AVAILABLE_IN_2_50
|
||||||
|
guint64 g_settings_get_uint64 (GSettings *settings,
|
||||||
|
const gchar *key);
|
||||||
|
GLIB_AVAILABLE_IN_2_50
|
||||||
|
gboolean g_settings_set_uint64 (GSettings *settings,
|
||||||
|
const gchar *key,
|
||||||
|
guint64 value);
|
||||||
GLIB_AVAILABLE_IN_ALL
|
GLIB_AVAILABLE_IN_ALL
|
||||||
gchar * g_settings_get_string (GSettings *settings,
|
gchar * g_settings_get_string (GSettings *settings,
|
||||||
const gchar *key);
|
const gchar *key);
|
||||||
|
@ -1180,6 +1180,16 @@ test_simple_binding (void)
|
|||||||
g_object_get (obj, "uint", &u, NULL);
|
g_object_get (obj, "uint", &u, NULL);
|
||||||
g_assert_cmpuint (u, ==, 54321);
|
g_assert_cmpuint (u, ==, 54321);
|
||||||
|
|
||||||
|
g_settings_bind (settings, "uint64", obj, "uint64", G_SETTINGS_BIND_DEFAULT);
|
||||||
|
|
||||||
|
g_object_set (obj, "uint64", 12345, NULL);
|
||||||
|
g_assert_cmpuint (g_settings_get_uint64 (settings, "uint64"), ==, 12345);
|
||||||
|
|
||||||
|
g_settings_set_uint64 (settings, "uint64", 54321);
|
||||||
|
u = 1111;
|
||||||
|
g_object_get (obj, "uint64", &u, NULL);
|
||||||
|
g_assert_cmpuint (u, ==, 54321);
|
||||||
|
|
||||||
g_settings_bind (settings, "int64", obj, "int64", G_SETTINGS_BIND_DEFAULT);
|
g_settings_bind (settings, "int64", obj, "int64", G_SETTINGS_BIND_DEFAULT);
|
||||||
|
|
||||||
g_object_set (obj, "int64", (gint64) G_MAXINT64, NULL);
|
g_object_set (obj, "int64", (gint64) G_MAXINT64, NULL);
|
||||||
|
Loading…
Reference in New Issue
Block a user