403Webshell
Server IP : 104.21.84.107  /  Your IP : 104.23.197.208
Web Server : Apache/2.4.63 (Ubuntu)
System : Linux adminpruebas-Virtual-Machine 6.14.0-37-generic #37-Ubuntu SMP PREEMPT_DYNAMIC Fri Nov 14 22:10:32 UTC 2025 x86_64
User : www-data ( 33)
PHP Version : 8.4.5
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/gnome-shell/extensions/[email protected]/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/gnome-shell/extensions/[email protected]/dbusProxy.js
import Gio from 'gi://Gio';
import GLib from 'gi://GLib';
import GObject from 'gi://GObject';

import {CancellableChild, Logger} from './util.js';

Gio._promisify(Gio.DBusProxy.prototype, 'init_async');

export const DBusProxy = GObject.registerClass({
    Signals: {'destroy': {}},
}, class DBusProxy extends Gio.DBusProxy {
    static get TUPLE_VARIANT_TYPE() {
        if (!this._tupleVariantType)
            this._tupleVariantType = new GLib.VariantType('(v)');

        return this._tupleVariantType;
    }

    static destroy() {
        delete this._tupleType;
    }

    _init(busName, objectPath, interfaceInfo, flags = Gio.DBusProxyFlags.NONE) {
        if (interfaceInfo.signals.length)
            Logger.warn('Avoid exposing signals to gjs!');

        super._init({
            gConnection: Gio.DBus.session,
            gInterfaceName: interfaceInfo.name,
            gInterfaceInfo: interfaceInfo,
            gName: busName,
            gObjectPath: objectPath,
            gFlags: flags,
        });

        this._signalIds = [];

        if (!(flags & Gio.DBusProxyFlags.DO_NOT_CONNECT_SIGNALS)) {
            this._signalIds.push(this.connect('g-signal',
                (_proxy, ...args) => this._onSignal(...args)));
        }

        this._signalIds.push(this.connect('notify::g-name-owner', () =>
            this._onNameOwnerChanged()));
    }

    async initAsync(cancellable) {
        cancellable = new CancellableChild(cancellable);
        await this.init_async(GLib.PRIORITY_DEFAULT, cancellable);
        this._cancellable = cancellable;

        this.gInterfaceInfo.methods.map(m => m.name).forEach(method =>
            this._ensureAsyncMethod(method));
    }

    destroy() {
        this.emit('destroy');

        this._signalIds.forEach(id => this.disconnect(id));

        if (this._cancellable)
            this._cancellable.cancel();
    }

    // This can be removed when we will have GNOME 43 as minimum version
    _ensureAsyncMethod(method) {
        if (this[`${method}Async`])
            return;

        if (!this[`${method}Remote`])
            throw new Error(`Missing remote method '${method}'`);

        this[`${method}Async`] = function (...args) {
            return new Promise((resolve, reject) => {
                this[`${method}Remote`](...args, (ret, e) => {
                    if (e)
                        reject(e);
                    else
                        resolve(ret);
                });
            });
        };
    }

    _onSignal() {
    }

    getProperty(propertyName, cancellable) {
        return this.gConnection.call(this.gName,
            this.gObjectPath, 'org.freedesktop.DBus.Properties', 'Get',
            GLib.Variant.new('(ss)', [this.gInterfaceName, propertyName]),
            DBusProxy.TUPLE_VARIANT_TYPE, Gio.DBusCallFlags.NONE, -1,
            cancellable);
    }

    getProperties(cancellable) {
        return this.gConnection.call(this.gName,
            this.gObjectPath, 'org.freedesktop.DBus.Properties', 'GetAll',
            GLib.Variant.new('(s)', [this.gInterfaceName]),
            GLib.VariantType.new('(a{sv})'), Gio.DBusCallFlags.NONE, -1,
            cancellable);
    }
});

Youez - 2016 - github.com/yon3zu
LinuXploit