Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
 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())
Exemplo n.º 3
0
 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')
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
        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()
Exemplo n.º 6
0
#-*- 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