方法

GioApplicationregister

自:2.28

声明 [src]

gboolean
g_application_register (
  GApplication* application,
  GCancellable* cancellable,
  GError** error
)

描述 [src]

尝试注册应用程序。

这是应用程序发现它是主实例还是仅仅作为已存在的初级实例的远程的方式。这是通过尝试使用GDBus在会话总线上以唯一总线名获取应用程序标识来实现的。

如果没有应用程序ID或者提供G_APPLICATION_NON_UNIQUE,那么这个过程将总是成为主实例。

由于GDBus的内部架构,方法调用可以在任何时候被调度(即使主循环没有运行)。因此,您必须确保在调用此函数之前进行注册的任何对象路径都已注册。

如果应用程序已经被注册,则返回TRUE,不执行任何操作。

如果注册成功并且application是主实例(包括非唯一情况),则发出GApplication::startup信号。

在出现错误(如cancellable被取消,或无法连接到会话总线)的情况下,返回FALSE并且error被适当地设置。

注意:此函数的返回值不是此实例是否为主应用程序实例的指标。有关详情,请参阅g_application_get_is_remote()

自:2.28

参数

可取消

类型: GCancellable

一个 GCancellableNULL

参数可以是 NULL
数据归方法调用者所有。
错误

类型: GError **

用于返回 可恢复错误的位置

参数可以是 NULL
如果返回位置不是 NULL,则必须将其初始化为 NULLGError*
如果没有错误,方法将保持参数初始化为 NULL
如果发生错误,参数将被设置为一个新的分配的 GError;调用者将负责数据的管理,包括释放它。

返回值

类型: gboolean

如果注册成功,则返回 TRUE