One Hat Cyber Team
Your IP :
216.73.216.115
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
virt-manager
/
virtManager
/
View File Name :
connmanager.py
# Copyright (C) 2018 Red Hat, Inc. # # This work is licensed under the GNU GPLv2 or later. # See the COPYING file in the top-level directory. from virtinst import log from .baseclass import vmmGObject from .connection import vmmConnection class vmmConnectionManager(vmmGObject): """ Tracks the list of connections, emits conn-added and conn-removed """ __gsignals__ = { "conn-added": (vmmGObject.RUN_FIRST, None, [object]), "conn-removed": (vmmGObject.RUN_FIRST, None, [str]), } @classmethod def get_instance(cls, *args, **kwargs): if not cls._instance: cls._instance = vmmConnectionManager(*args, **kwargs) return cls._instance def __init__(self): vmmGObject.__init__(self) self._conns = {} # Load URIs from gsettings for uri in self.config.get_conn_uris(): self.add_conn(uri) def _cleanup(self): for conn in self._conns.values(): uri = conn.get_uri() try: conn.close() self.emit("conn-removed", uri) conn.cleanup() except Exception: # pragma: no cover log.exception("Error cleaning up conn=%s", uri) self._conns = {} @property def conns(self): return self._conns.copy() def add_conn(self, uri): if uri in self._conns: return self._conns[uri] # pragma: no cover conn = vmmConnection(uri) self._conns[uri] = conn self.config.add_conn_uri(uri) self.emit("conn-added", conn) return conn def remove_conn(self, uri): if uri not in self._conns: return # pragma: no cover conn = self._conns.pop(uri) self.config.remove_conn_uri(uri) self.emit("conn-removed", uri) conn.cleanup()