方法
GLibVariantget_normal_form
自:2.24
声明 [src]
GVariant*
g_variant_get_normal_form (
GVariant* value
)
描述 [src]
获取一个与 value
具有相同值且被认为是处于正常形式的 GVariant
实例。
如果 value
已经被认为是处于正常形式,则返回 value
的新引用。
如果 value
未经信任,则对其进行扫描以检查它是否处于正常形式。如果发现处于正常形式,则将其标记为可信任,并返回对其的新引用。
如果发现value
不在正常形式中,则会创建一个新的可信的GVariant
,其值与value
相同。将value
的非正常部分将替换为默认值,这些值保证在正常形式中。
如果您已从不可信的来源接收到GVariant
数据,并且希望确保您序列化的输出肯定在正常形式中,调用此函数是有意义的。
如果value
已处于正常形式,则将返回一个新的引用(如果value
是浮动的,则将是悬挂的)。如果它不在正常形式中,将返回一个新创建的可信GVariant
,其中包含单个非浮动引用。通常,应该在返回值处调用g_variant_take_ref()
以确保对单个非浮动引用的所有权。
自版本2.24起可用
返回值
类型: GVariant
可信的GVariant
。
该方法调用者将拥有返回的数据,并负责释放它。 |