函数

GObjectsignal_newv

声明 [src]

guint
g_signal_newv (
  const gchar* signal_name,
  GType itype,
  GSignalFlags signal_flags,
  GClosure* class_closure,
  GSignalAccumulator accumulator,
  gpointer accu_data,
  GSignalCMarshaller c_marshaller,
  GType return_type,
  guint n_params,
  GType* param_types
)

描述 [src]

创建一个新的信号(这通常在类构造函数中完成)。

有关允许的信号名称的详细信息,请参见 g_signal_new()

如果 c_marshaller 为 NULLg_cclosure_marshal_generic() 将被用作此信号的封送器。

参数

signal_name

类型: const gchar*

信号的名称。

数据由函数的调用者所有。
值是以 NUL 结尾的 UTF-8 字符串。
itype

类型: GType

此信号所属的类型。它也属于从该类型派生的类型。

signal_flags

类型: GSignalFlags

GSignalFlags 的组合,用于指定何时调用默认处理程序。您至少应该指定 G_SIGNAL_RUN_FIRSTG_SIGNAL_RUN_LAST

class_closure

类型: GClosure

在发出信号时调用的闭包;可以为 NULL

参数可以为 NULL
数据由函数的调用者所有。
accumulator

类型: GSignalAccumulator

此信号的累加器;可以为 NULL

参数可以为 NULL
accu_data

类型: gpointer

accumulator 的用户数据。

参数可以为 NULL
数据由函数的调用者所有。
c_marshaller

类型: GSignalCMarshaller

将参数值数组转换为信号发射为 C 语言回调函数调用的函数,或 NULL

参数可以为 NULL
return_type

类型: GType

返回值类型,或对没有返回值的信号的 G_TYPE_NONE

n_params

类型: guint

param_types 的长度。

param_types

类型: GType 数组

一个类型数组,每个参数一个(如果 n_params 为 0,则可以为 NULL)。

参数可以为 NULL
数组长度在 n_params 参数中指定。
数据由函数的调用者所有。

返回值

类型: guint

信号标识符。