///
///
/**
* 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
*
* The based EJS template file is used for the generated .d.ts file of each GIR module like Gtk-4.0, GObject-2.0, ...
*/
declare module 'gi://GUPnPIgd?version=1.6' {
// Module dependencies
import type GObject from 'gi://GObject?version=2.0';
import type GLib from 'gi://GLib?version=2.0';
export namespace GUPnPIgd {
/**
* GUPnPIgd-1.6
*/
/**
* Errors coming out of the GUPnPSimpleIGD object.
*/
/**
* Errors coming out of the GUPnPSimpleIGD object.
*/
export namespace SimpleIgdError {
export const $gtype: GObject.GType;
}
enum SimpleIgdError {
/**
* Error getting the external
* address of the router
*/
SIMPLE_IGD_ERROR_EXTERNAL_ADDRESS,
}
namespace SimpleIgd {
// Signal callback interfaces
interface ContextAvailable {
(context: GObject.Object): boolean;
}
interface ErrorMappingPort {
(
error: GLib.Error,
proto: string,
external_port: number,
local_ip: string,
local_port: number,
description: string,
): void;
}
interface MappedExternalPort {
(
proto: string,
external_ip: string,
replaces_external_ip: string,
external_port: number,
local_ip: string,
local_port: number,
description: string,
): void;
}
// Constructor properties interface
interface ConstructorProps extends GObject.Object.ConstructorProps {
main_context: any;
mainContext: any;
}
}
/**
* All members are private, access them using methods and properties
*/
class SimpleIgd extends GObject.Object {
static $gtype: GObject.GType;
// Properties
get main_context(): any;
get mainContext(): any;
// Constructors
constructor(properties?: Partial, ...args: any[]);
_init(...args: any[]): void;
static ['new'](): SimpleIgd;
// Signals
connect(id: string, callback: (...args: any[]) => any): number;
connect_after(id: string, callback: (...args: any[]) => any): number;
emit(id: string, ...args: any[]): void;
connect(signal: 'context-available', callback: (_source: this, context: GObject.Object) => boolean): number;
connect_after(
signal: 'context-available',
callback: (_source: this, context: GObject.Object) => boolean,
): number;
emit(signal: 'context-available', context: GObject.Object): void;
connect(
signal: 'error-mapping-port',
callback: (
_source: this,
error: GLib.Error,
proto: string,
external_port: number,
local_ip: string,
local_port: number,
description: string,
) => void,
): number;
connect_after(
signal: 'error-mapping-port',
callback: (
_source: this,
error: GLib.Error,
proto: string,
external_port: number,
local_ip: string,
local_port: number,
description: string,
) => void,
): number;
emit(
signal: 'error-mapping-port',
error: GLib.Error,
proto: string,
external_port: number,
local_ip: string,
local_port: number,
description: string,
): void;
connect(
signal: 'mapped-external-port',
callback: (
_source: this,
proto: string,
external_ip: string,
replaces_external_ip: string,
external_port: number,
local_ip: string,
local_port: number,
description: string,
) => void,
): number;
connect_after(
signal: 'mapped-external-port',
callback: (
_source: this,
proto: string,
external_ip: string,
replaces_external_ip: string,
external_port: number,
local_ip: string,
local_port: number,
description: string,
) => void,
): number;
emit(
signal: 'mapped-external-port',
proto: string,
external_ip: string,
replaces_external_ip: string,
external_port: number,
local_ip: string,
local_port: number,
description: string,
): void;
// Static methods
static error_quark(): GLib.Quark;
// Methods
/**
* This adds a port to the router's forwarding table. The mapping will
* be automatically refreshed by this object until it is either
* removed with gupnp_simple_igd_remove_port(),
* gupnp_simple_igd_remove_port_local() or the object disapears.
*
* If there is a problem, the #GUPnPSimpleIgd::error-mapping-port signal will
* be emitted. If a router is found and a port is mapped correctly,
* #GUPnPSimpleIgd::mapped-external-port will be emitted. These signals may
* be emitted multiple times if there are multiple routers present.
* @param protocol the protocol "UDP" or "TCP"
* @param external_port The port to try to open on the external device, 0 means to try a random port if the same port as the local port is already taken
* @param local_ip The IP address to forward packets to (most likely the local ip address)
* @param local_port The local port to forward packets to
* @param lease_duration The duration of the lease (it will be auto-renewed before it expires). This is in seconds.
* @param description The description that will appear in the router's table
*/
add_port(
protocol: string,
external_port: number,
local_ip: string,
local_port: number,
lease_duration: number,
description: string,
): void;
/**
* Removes all mappings and prevents other from being formed
* Should only be called by the dispose function of subclasses
* @returns %TRUE if the object can be disposed, %FALSE otherwise
*/
delete_all_mappings(): boolean;
/**
* This tries to remove a port entry from the routers that was previously added
* with gupnp_simple_igd_add_port(). There is no indicated of success or failure
* it is a best effort mechanism. If it fails, the bindings will disapears after
* the lease duration set when the port where added.
* @param protocol the protocol "UDP" or "TCP" as given to gupnp_simple_igd_add_port()
* @param external_port The port to try to open on the external device as given to gupnp_simple_igd_add_port()
*/
remove_port(protocol: string, external_port: number): void;
/**
* This tries to remove a port entry from the routers that was previously added
* with gupnp_simple_igd_add_port(). There is no indicated of success or failure
* it is a best effort mechanism. If it fails, the bindings will disapears after
* the lease duration set when the port where added.
* @param protocol the protocol "UDP" or "TCP" as given to gupnp_simple_igd_add_port()
* @param local_ip The local ip on the internal device as was to gupnp_simple_igd_add_port()
* @param local_port The port to try to open on the internal device as given to gupnp_simple_igd_add_port()
*/
remove_port_local(protocol: string, local_ip: string, local_port: number): void;
}
namespace SimpleIgdThread {
// Constructor properties interface
interface ConstructorProps extends SimpleIgd.ConstructorProps {}
}
/**
* All members are private, access them using methods and properties
*/
class SimpleIgdThread extends SimpleIgd {
static $gtype: GObject.GType;
// Constructors
constructor(properties?: Partial, ...args: any[]);
_init(...args: any[]): void;
static ['new'](): SimpleIgdThread;
}
type SimpleIgdClass = typeof SimpleIgd;
abstract class SimpleIgdPrivate {
static $gtype: GObject.GType;
// Constructors
_init(...args: any[]): void;
}
type SimpleIgdThreadClass = typeof SimpleIgdThread;
abstract class SimpleIgdThreadPrivate {
static $gtype: GObject.GType;
// Constructors
_init(...args: any[]): void;
}
/**
* Name of the imported GIR library
* `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L188
*/
const __name__: string;
/**
* Version of the imported GIR library
* `see` https://gitlab.gnome.org/GNOME/gjs/-/blob/master/gi/ns.cpp#L189
*/
const __version__: string;
}
export default GUPnPIgd;
}
declare module 'gi://GUPnPIgd' {
import GUPnPIgd16 from 'gi://GUPnPIgd?version=1.6';
export default GUPnPIgd16;
}
// END