mirror of
https://github.com/frida/frida-python
synced 2026-06-08 14:16:17 +00:00
extension: Support marshaling double to/from GVariant
Co-authored-by: Håvard Sørbø <havard@hsorbo.no>
This commit is contained in:
@@ -1606,6 +1606,8 @@ PyGObject_marshal_variant (GVariant * variant)
|
||||
return PyGObject_marshal_string (g_variant_get_string (variant, NULL));
|
||||
case G_VARIANT_CLASS_INT64:
|
||||
return PyLong_FromLongLong (g_variant_get_int64 (variant));
|
||||
case G_VARIANT_CLASS_DOUBLE:
|
||||
return PyFloat_FromDouble (g_variant_get_double (variant));
|
||||
case G_VARIANT_CLASS_BOOLEAN:
|
||||
return PyBool_FromLong (g_variant_get_boolean (variant));
|
||||
case G_VARIANT_CLASS_ARRAY:
|
||||
@@ -1716,6 +1718,13 @@ PyGObject_unmarshal_variant (PyObject * value, GVariant ** variant)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (PyFloat_Check (value))
|
||||
{
|
||||
*variant = g_variant_new_double (PyFloat_AsDouble (value));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if (PyBool_Check (value))
|
||||
{
|
||||
*variant = g_variant_new_boolean (value == Py_True);
|
||||
|
||||
Reference in New Issue
Block a user