方法

GObject对象dup_data

自:2.34

声明 [源码]

gpointer
g_object_dup_data (
  GObject* object,
  const gchar* key,
  GDuplicateFunc dup_func,
  gpointer user_data
)

描述 [源码]

这是 g_object_get_data() 的一个变体,它返回值的‘副本’。在此上下文中,dup_func 定义了‘副本’的含义,例如,它可以对一个引用计数对象进行引用。

如果对象上没有设置 key,则 dup_func 将以一个 NULL 参数调用。

请注意,当对 object 的用户数据锁定时,将调用 dup_func

此函数可以用来避免当多个线程在相同对象上同一关键值使用的对象数据时发生竞争条件。

自:2.34

此方法不直接对语言绑定可用。

参数

类型: `const gchar*`

一个字符串,命名用户数据指针。

数据由方法调用者拥有。
值是一个以NUL终止的UTF-8字符串。
dup_func

类型: GDuplicateFunc

用于复制值的函数。

参数可以是NULL
user_data

类型: gpointer

作为user_data传递给dup_func

参数可以是NULL
数据由方法调用者拥有。

返回值

类型: gpointer

调用与objectkey关联的值上的dup_func的结果,如果没有设置则返回NULL。如果dup_funcNULL,则返回未修改的值。

返回的数据由实例拥有。
返回值可以是NULL