mirror of
https://github.com/Theaninova/TheaninovOS.git
synced 2025-12-17 22:16:25 +00:00
195 lines
7.0 KiB
TypeScript
195 lines
7.0 KiB
TypeScript
|
|
/*
|
|
* Type Definitions for Gjs (https://gjs.guide/)
|
|
*
|
|
* These type definitions are automatically generated, do not edit them by hand.
|
|
* If you found a bug fix it in `ts-for-gir` or create a bug report on https://github.com/gjsify/ts-for-gir
|
|
*/
|
|
|
|
import './gmodule-2.0-ambient.d.ts';
|
|
import './gmodule-2.0-import.d.ts';
|
|
/**
|
|
* GModule-2.0
|
|
*/
|
|
|
|
import type GLib from '@girs/glib-2.0';
|
|
import type GObject from '@girs/gobject-2.0';
|
|
|
|
/**
|
|
* Errors returned by g_module_open_full().
|
|
*/
|
|
export enum ModuleError {
|
|
/**
|
|
* there was an error loading or opening a module file
|
|
*/
|
|
FAILED,
|
|
/**
|
|
* a module returned an error from its `g_module_check_init()` function
|
|
*/
|
|
CHECK_FAILED,
|
|
}
|
|
/**
|
|
* Flags passed to g_module_open().
|
|
* Note that these flags are not supported on all platforms.
|
|
* @bitfield
|
|
*/
|
|
export enum ModuleFlags {
|
|
/**
|
|
* specifies that symbols are only resolved when
|
|
* needed. The default action is to bind all symbols when the module
|
|
* is loaded.
|
|
*/
|
|
LAZY,
|
|
/**
|
|
* specifies that symbols in the module should
|
|
* not be added to the global name space. The default action on most
|
|
* platforms is to place symbols in the module in the global name space,
|
|
* which may cause conflicts with existing symbols.
|
|
*/
|
|
LOCAL,
|
|
/**
|
|
* mask for all flags.
|
|
*/
|
|
MASK,
|
|
}
|
|
/**
|
|
* A portable way to build the filename of a module. The platform-specific
|
|
* prefix and suffix are added to the filename, if needed, and the result
|
|
* is added to the directory, using the correct separator character.
|
|
*
|
|
* The directory should specify the directory where the module can be found.
|
|
* It can be %NULL or an empty string to indicate that the module is in a
|
|
* standard platform-specific directory, though this is not recommended
|
|
* since the wrong module may be found.
|
|
*
|
|
* For example, calling g_module_build_path() on a Linux system with a
|
|
* `directory` of `/lib` and a `module_name` of "mylibrary" will return
|
|
* `/lib/libmylibrary.so`. On a Windows system, using `\Windows` as the
|
|
* directory it will return `\Windows\mylibrary.dll`.
|
|
* @param directory the directory where the module is. This can be %NULL or the empty string to indicate that the standard platform-specific directories will be used, though that is not recommended
|
|
* @param module_name the name of the module
|
|
* @returns the complete path of the module, including the standard library prefix and suffix. This should be freed when no longer needed
|
|
*/
|
|
export function module_build_path(directory: string | null, module_name: string | null): string | null
|
|
/**
|
|
* Gets a string describing the last module error.
|
|
* @returns a string describing the last module error
|
|
*/
|
|
export function module_error(): string | null
|
|
export function module_error_quark(): GLib.Quark
|
|
/**
|
|
* Checks if modules are supported on the current platform.
|
|
* @returns %TRUE if modules are supported
|
|
*/
|
|
export function module_supported(): boolean
|
|
/**
|
|
* Specifies the type of the module initialization function.
|
|
* If a module contains a function named g_module_check_init() it is called
|
|
* automatically when the module is loaded. It is passed the #GModule structure
|
|
* and should return %NULL on success or a string describing the initialization
|
|
* error.
|
|
* @callback
|
|
* @param module the #GModule corresponding to the module which has just been loaded
|
|
* @returns %NULL on success, or a string describing the initialization error
|
|
*/
|
|
export interface ModuleCheckInit {
|
|
(module: Module): string | null
|
|
}
|
|
/**
|
|
* Specifies the type of the module function called when it is unloaded.
|
|
* If a module contains a function named g_module_unload() it is called
|
|
* automatically when the module is unloaded.
|
|
* It is passed the #GModule structure.
|
|
* @callback
|
|
* @param module the #GModule about to be unloaded
|
|
*/
|
|
export interface ModuleUnload {
|
|
(module: Module): void
|
|
}
|
|
export interface Module {
|
|
|
|
// Owm methods of GModule-2.0.GModule.Module
|
|
|
|
/**
|
|
* Closes a module.
|
|
* @returns %TRUE on success
|
|
*/
|
|
close(): boolean
|
|
/**
|
|
* Ensures that a module will never be unloaded.
|
|
* Any future g_module_close() calls on the module will be ignored.
|
|
*/
|
|
make_resident(): void
|
|
/**
|
|
* Returns the filename that the module was opened with.
|
|
*
|
|
* If `module` refers to the application itself, "main" is returned.
|
|
* @returns the filename of the module
|
|
*/
|
|
name(): string | null
|
|
/**
|
|
* Gets a symbol pointer from a module, such as one exported
|
|
* by %G_MODULE_EXPORT. Note that a valid symbol can be %NULL.
|
|
* @param symbol_name the name of the symbol to find
|
|
* @returns %TRUE on success
|
|
*/
|
|
symbol(symbol_name: string | null): [ /* returnType */ boolean, /* symbol */ any | null ]
|
|
}
|
|
|
|
/**
|
|
* The #GModule struct is an opaque data structure to represent a
|
|
* [dynamically-loaded module][glib-Dynamic-Loading-of-Modules].
|
|
* It should only be accessed via the following functions.
|
|
* @record
|
|
*/
|
|
export class Module {
|
|
|
|
// Own properties of GModule-2.0.GModule.Module
|
|
|
|
static name: string
|
|
|
|
// Constructors of GModule-2.0.GModule.Module
|
|
|
|
/**
|
|
* A portable way to build the filename of a module. The platform-specific
|
|
* prefix and suffix are added to the filename, if needed, and the result
|
|
* is added to the directory, using the correct separator character.
|
|
*
|
|
* The directory should specify the directory where the module can be found.
|
|
* It can be %NULL or an empty string to indicate that the module is in a
|
|
* standard platform-specific directory, though this is not recommended
|
|
* since the wrong module may be found.
|
|
*
|
|
* For example, calling g_module_build_path() on a Linux system with a
|
|
* `directory` of `/lib` and a `module_name` of "mylibrary" will return
|
|
* `/lib/libmylibrary.so`. On a Windows system, using `\Windows` as the
|
|
* directory it will return `\Windows\mylibrary.dll`.
|
|
* @param directory the directory where the module is. This can be %NULL or the empty string to indicate that the standard platform-specific directories will be used, though that is not recommended
|
|
* @param module_name the name of the module
|
|
* @returns the complete path of the module, including the standard library prefix and suffix. This should be freed when no longer needed
|
|
*/
|
|
static build_path(directory: string | null, module_name: string | null): string | null
|
|
/**
|
|
* Gets a string describing the last module error.
|
|
* @returns a string describing the last module error
|
|
*/
|
|
static error(): string | null
|
|
static error_quark(): GLib.Quark
|
|
/**
|
|
* Checks if modules are supported on the current platform.
|
|
* @returns %TRUE if modules are supported
|
|
*/
|
|
static supported(): boolean
|
|
}
|
|
|
|
/**
|
|
* Name of the imported GIR library
|
|
* @see https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188
|
|
*/
|
|
export const __name__: string
|
|
/**
|
|
* Version of the imported GIR library
|
|
* @see https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189
|
|
*/
|
|
export const __version__: string
|
|
// END
|