类
GIRepositoryRepository
自:2.80
描述 [源]
final class GIRepository.Repository : GObject.Object
{
/* No available fields */
}
GIRepository
用于管理命名空间存储库。命名空间在磁盘上由类型库(.typelib
文件)表示。
类型库中的 API 的独立部分由 GIBaseInfo
的子类表示。可以通过如 gi_repository_find_by_name()
或 gi_repository_get_info()
这样的方法找到。
您负责确保 GIRepository
的生命周期超过任何 GIBaseInfo
。
类型库发现
GIRepository
通常会在编译 gobject-introspection 时使用的库目录下查找名为 girepository-1.0
的目录。在一个标准的 Linux 系统上这将是 /usr/lib/girepository-1.0
。
可以通过调用 gi_repository_prepend_search_path()
来程序化地控制搜索路径。也可以通过使用 GI_TYPELIB_PATH
环境变量来修改搜索路径。环境变量优先于默认搜索路径和 gi_repository_prepend_search_path()
调用。
命名空间排序
在可能按顺序搜索命名空间或以列表形式返回的场合,命名空间将按字典顺序返回,完全载入的命名空间将在懒惰载入的(带有 GI_REPOSITORY_LOAD_FLAG_LAZY
)之前返回。这允许得到确定性和可重复的结果。
同样,如果在加载的命名空间集中搜索符号(如 GType
或错误域),将按该顺序搜索命名空间。特别是,这意味着如果符号存在于两个命名空间中,它总是从字典序较高的命名空间返回。这仅在 Gio
和 GioUnix
/GioWin32
的情况下发生,它们都引用相同的 .so
文件并公开重叠的符号集。如果符号是平台相关的,则应始终将符号解决到 GioUnix
或 GioWin32
,而不是 Gio
本身。
自:2.80
实例方法
gi_repository_get_immediate_dependencies
返回与 namespace_
的直接版本化依赖项的数组。返回的字符串形式为 namespace-version
。
自:2.80
信号
从 GObject 继承的信号(1)
GObject::notify
当对象中的一个属性通过 g_object_set_property()、g_object_set() 等方式设置其值时,notify 信号将被触发。