Commit 6d48832b authored by Devaev Maxim's avatar Devaev Maxim

Added signal for disk changed to disks_smart

parent cc3706c6
...@@ -19,7 +19,9 @@ SERVICE_NAME = "disks_smart" ...@@ -19,7 +19,9 @@ SERVICE_NAME = "disks_smart"
DISKS_SMART_SHARED_NAME = "disks_smart" DISKS_SMART_SHARED_NAME = "disks_smart"
SMART_METHODS_NAMESPACE = "disk.smart" DISKS_SMART_OBJECT_NAME = "disks_smart"
SMART_METHODS_NAMESPACE = "disks.smart"
##### Private classes ##### ##### Private classes #####
...@@ -87,11 +89,24 @@ class Disk(service.FunctionObject) : ...@@ -87,11 +89,24 @@ class Disk(service.FunctionObject) :
return disk_health_flag return disk_health_flag
class DisksSmart(service.FunctionObject) :
@service.functionSignal(SMART_METHODS_NAMESPACE)
def devicesChanged(self) :
pass
##### Public classes ##### ##### Public classes #####
class Service(service.Service) : class Service(service.Service) :
def initService(self) : def initService(self) :
shared.Functions.addShared(DISKS_SMART_SHARED_NAME) shared.Functions.addShared(DISKS_SMART_SHARED_NAME)
###
self.__disks_smart = DisksSmart(DISKS_SMART_SHARED_NAME, self)
shared.Functions.addSharedObject(DISKS_SMART_OBJECT_NAME, self.__disks_smart)
###
self.__udev_client = gudev.Client(["block"]) self.__udev_client = gudev.Client(["block"])
logger.verbose("{mod}: First devices request...") logger.verbose("{mod}: First devices request...")
...@@ -135,9 +150,12 @@ class Service(service.Service) : ...@@ -135,9 +150,12 @@ class Service(service.Service) :
if action == "add" and not device in registered_devices_list : if action == "add" and not device in registered_devices_list :
disks_smart_shared.addSharedObject(device_name, Disk(device_path, disks_smart_shared.addSharedObject(device_name, Disk(device_path,
dbus_tools.joinPath(DISKS_SMART_SHARED_NAME, device_name), self)) dbus_tools.joinPath(DISKS_SMART_SHARED_NAME, device_name), self))
self.__disks_smart.devicesChanged()
logger.debug("{mod}: Added SMART disk \"%s\"" % (device_path)) logger.debug("{mod}: Added SMART disk \"%s\"" % (device_path))
elif device.get_action() == "remove" and device_name in registered_devices_list : elif device.get_action() == "remove" and device_name in registered_devices_list :
disks_smart_shared.sharedObject(device_name).removeFromConnection() disks_smart_shared.sharedObject(device_name).removeFromConnection()
disks_smart_shared.removeSharedObject(device_name) disks_smart_shared.removeSharedObject(device_name)
self.__disks_smart.devicesChanged()
logger.debug("{mod}: Removed SMART disk \"%s\"" % (device_path)) logger.debug("{mod}: Removed SMART disk \"%s\"" % (device_path))
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment