def __init__(self, argv, application_id=None): QApplication.__init__(self, argv) self.socket_filename = unicode( os.path.expanduser("~/.ipc_%s" % self.generate_ipc_id())) self.shared_mem = QSharedMemory() self.shared_mem.setKey(self.socket_filename) if self.shared_mem.attach(): self.is_running = True return self.is_running = False if not self.shared_mem.create(1): print >> sys.stderr, "Unable to create single instance" return # start local server self.server = QLocalServer(self) # connect signal for incoming connections self.connect(self.server, SIGNAL("newConnection()"), self.receive_message) # if socket file exists, delete it if os.path.exists(self.socket_filename): os.remove(self.socket_filename) # listen self.server.listen(self.socket_filename)
def __init__(self, *args): QApplication.__init__(self, *args) self._memory = QSharedMemory(self) self._memory.setKey("d2mp") if self._memory.attach(): self._running = True else: self._running = False if not self._memory.create(1): raise RuntimeError(self._memory.errorString().toLocal8Bit().data())
def accept(self): logging.debug('connection accepted') conn = self.server.nextPendingConnection() conn.waitForReadyRead() key = str(conn.read(36)) memory = QSharedMemory() memory.setKey(key) memory.attach() logging.debug('attached to memory %s with size %s'%(key, memory.size())) atexit.register(memory.detach) self.conns.append(conn) self.shared_mems.append(memory) conn.readyRead.connect(lambda: self.read_from(conn, memory)) conn.disconnected.connect(memory.detach) conn.write('ok')
def __init__(self, timeout=2000, size=2**20): self.app = QCoreApplication.instance() if self.app is None: self.app = QCoreApplication([]) self.sock = QLocalSocket() self.sock.connectToServer("LivePlot") if not self.sock.waitForConnected(): raise EnvironmentError("Couldn't find LivePlotter instance") self.sock.disconnected.connect(self.disconnect_received) key = str(uuid.uuid4()) self.shared_mem = QSharedMemory(key) if not self.shared_mem.create(size): raise Exception("Couldn't create shared memory %s" % self.shared_mem.errorString()) logging.debug('Memory created with key %s and size %s' % (key, self.shared_mem.size())) self.sock.write(key) self.sock.waitForBytesWritten() self.is_connected = True self.timeout = timeout atexit.register(self.close)
self.setWindowIcon(QIcon(":/logo/data/logo.png")) self.systemTray = SystemTray(self) self.systemTray.show() def closeEvent(self, event): event.ignore() self.hide() if __name__ == "__main__": app = QApplication(sys.argv) app.setQuitOnLastWindowClosed(False) app.setApplicationName("Virux") app.setApplicationVersion("0.5") sharedMemory = QSharedMemory("f33a4b06-72f5-4b72-90f4-90d606cdf98c") if sharedMemory.create(512, QSharedMemory.ReadWrite) == False: sys.exit() if sys.platform == "win32": setting = QSettings("Virux.conf", QSettings.IniFormat) else: setting = QSettings("Virux", "Virux") if not os.path.isfile(setting.fileName()): setting.setValue("ContextMenu/AcilistaBaslat", False) setting.setValue("ContextMenu/Koru", True) setting.setValue("DialogOpen/MinimumSure", 1000 * 7200) setting.setValue("DialogOpen/MaksimumSure", 1000 * 36000) gui = HideWidget() #gui.show()
#-*- coding: utf-8 -*- from __future__ import absolute_import import socket from PyQt4.QtCore import QThread from PyQt4.QtCore import QSettings from PyQt4.QtCore import QSharedMemory from PyQt4.QtCore import SIGNAL sharedMemory = QSharedMemory('shared_ninja') file_delimiter = '<-nf>' project_delimiter = '<-np>' class SessionListener(QThread): ############################################################################### # SessionListener SIGNALS ############################################################################### """ fileOpenRequested(QString) projectOpenRequested(QString) """ ############################################################################### def __init__(self): QThread.__init__(self) self.s_listener = socket.socket() self.port = 9990