方法

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

该方法调用者将拥有返回的数据,并负责释放它。