mirror of
https://github.com/pulb/mailnag.git
synced 2026-05-07 00:06:09 +02:00
use constants for DBUS busname and object path
This commit is contained in:
@@ -24,30 +24,33 @@
|
||||
import dbus
|
||||
import dbus.service
|
||||
|
||||
DBUS_BUS_NAME = 'mailnag.MailnagService'
|
||||
DBUS_OBJ_PATH = '/mailnag/MailnagService'
|
||||
|
||||
# DBUS server that exports mailnag signals end methods
|
||||
class DBUSService(dbus.service.Object):
|
||||
def __init__(self, shutdown_cb):
|
||||
self._mails = []
|
||||
self._shutdown_cb = shutdown_cb
|
||||
bus_name = dbus.service.BusName('mailnag.MailnagService', bus = dbus.SessionBus())
|
||||
dbus.service.Object.__init__(self, bus_name, '/mailnag/MailnagService')
|
||||
bus_name = dbus.service.BusName(DBUS_BUS_NAME, bus = dbus.SessionBus())
|
||||
dbus.service.Object.__init__(self, bus_name, DBUS_OBJ_PATH)
|
||||
|
||||
|
||||
def set_mails(self, mails):
|
||||
self._mails = mails
|
||||
|
||||
|
||||
@dbus.service.signal(dbus_interface = 'mailnag.MailnagService', signature = 'u')
|
||||
@dbus.service.signal(dbus_interface = DBUS_BUS_NAME, signature = 'u')
|
||||
def MailsAdded(self, new_count):
|
||||
pass
|
||||
|
||||
|
||||
@dbus.service.signal(dbus_interface = 'mailnag.MailnagService', signature = 'u')
|
||||
@dbus.service.signal(dbus_interface = DBUS_BUS_NAME, signature = 'u')
|
||||
def MailsRemoved(self, new_count):
|
||||
pass
|
||||
|
||||
|
||||
@dbus.service.method(dbus_interface = 'mailnag.MailnagService', out_signature = 'aa{sv}')
|
||||
@dbus.service.method(dbus_interface = DBUS_BUS_NAME, out_signature = 'aa{sv}')
|
||||
def GetMails(self):
|
||||
mails = []
|
||||
for m in self._mails:
|
||||
@@ -62,11 +65,11 @@ class DBUSService(dbus.service.Object):
|
||||
return mails
|
||||
|
||||
|
||||
@dbus.service.method(dbus_interface = 'mailnag.MailnagService', out_signature = 'u')
|
||||
@dbus.service.method(dbus_interface = DBUS_BUS_NAME, out_signature = 'u')
|
||||
def GetMailCount(self):
|
||||
return len(self._mails)
|
||||
|
||||
|
||||
@dbus.service.method(dbus_interface = 'mailnag.MailnagService')
|
||||
@dbus.service.method(dbus_interface = DBUS_BUS_NAME)
|
||||
def Shutdown(self):
|
||||
self._shutdown_cb()
|
||||
|
||||
@@ -36,7 +36,7 @@ from common.config import read_cfg, cfg_exists, cfg_folder
|
||||
from common.utils import set_procname, is_online
|
||||
from common.accountlist import AccountList
|
||||
from daemon.mailchecker import MailChecker
|
||||
from daemon.dbusservice import DBUSService
|
||||
from daemon.dbusservice import DBUSService, DBUS_BUS_NAME, DBUS_OBJ_PATH
|
||||
from daemon.idlers import Idlers
|
||||
|
||||
mainloop = None
|
||||
@@ -60,22 +60,19 @@ def wait_for_inet_connection():
|
||||
|
||||
|
||||
def shutdown_existing_instance():
|
||||
BUS_NAME = 'mailnag.MailnagService'
|
||||
OBJ_PATH = '/mailnag/MailnagService'
|
||||
|
||||
bus = dbus.SessionBus()
|
||||
|
||||
if bus.name_has_owner(BUS_NAME):
|
||||
if bus.name_has_owner(DBUS_BUS_NAME):
|
||||
sys.stdout.write('Shutting down existing Mailnag process...')
|
||||
sys.stdout.flush()
|
||||
|
||||
try:
|
||||
proxy = bus.get_object(BUS_NAME, OBJ_PATH)
|
||||
shutdown = proxy.get_dbus_method('Shutdown', BUS_NAME)
|
||||
proxy = bus.get_object(DBUS_BUS_NAME, DBUS_OBJ_PATH)
|
||||
shutdown = proxy.get_dbus_method('Shutdown', DBUS_BUS_NAME)
|
||||
|
||||
shutdown()
|
||||
|
||||
while bus.name_has_owner(BUS_NAME):
|
||||
while bus.name_has_owner(DBUS_BUS_NAME):
|
||||
time.sleep(2)
|
||||
|
||||
sys.stdout.write('OK\n')
|
||||
|
||||
Reference in New Issue
Block a user