Source code for platypush.message.event.zeroconf

import enum
from typing import Optional

from platypush.message.event import Event


[docs]class ZeroconfEventType(enum.Enum): ADD = 'add' UPDATE = 'update' REMOVE = 'remove'
[docs]class ZeroconfEvent(Event):
[docs] def __init__(self, service_event: ZeroconfEventType, service_type: str, service_name: str, service_info: Optional[dict] = None, *args, **kwargs): super().__init__(*args, service_event=service_event.value, service_type=service_type, service_name=service_name, service_info=service_info, **kwargs) self.service_type = service_type self.service_name = service_name self.service_info = service_info
[docs]class ZeroconfServiceAddedEvent(ZeroconfEvent): """ Event triggered when a service is added or discovered. """
[docs] def __init__(self, *args, **kwargs): kwargs['service_event'] = ZeroconfEventType.ADD super().__init__(*args, **kwargs)
[docs]class ZeroconfServiceUpdatedEvent(ZeroconfEvent): """ Event triggered when a service is updated. """
[docs] def __init__(self, *args, **kwargs): kwargs['service_event'] = ZeroconfEventType.UPDATE super().__init__(*args, **kwargs)
[docs]class ZeroconfServiceRemovedEvent(ZeroconfEvent): """ Event triggered when a service is removed. """
[docs] def __init__(self, *args, **kwargs): kwargs['service_event'] = ZeroconfEventType.REMOVE super().__init__(*args, **kwargs)
# vim:sw=4:ts=4:et: