# Path: dyndnsc/detector/base.py
# LOG = logging.getLogger(__name__)
# class IPDetector(Subject, DynamicCliMixin):
#     def __init__(self, *args, **kwargs):
#     def can_detect_offline(self):
#     def af(self):
#     def get_old_value(self):
#     def set_old_value(self, value):
#     def get_current_value(self, default=None):
#     def set_current_value(self, value):
#     def has_changed(self):
#     def configuration_key_prefix():
# 
# Path: dyndnsc/common/six.py
# def ipaddress(addr):
#     """Return an ipaddress.ip_address object from the given string IP."""
#     return _ipaddress.ip_address(addr)
# 
# def ipnetwork(addr):
#     """Return an ipaddress.ip_network object from the given string IP."""
#     return _ipaddress.ip_network(addr)


import logging
import netifaces
    import platform
from .base import IPDetector, AF_INET6
from ..common.six import ipaddress, ipnetwork
# -*- coding: utf-8 -*-

"""Module providing IP detection functionality based on netifaces."""




LOG = logging.getLogger(__name__)


def _default_interface():
    """Return the default interface name for common operating systems."""
    system = platform.system()
    if system == "Linux":
        return "eth0"
    elif system == "Darwin":
        return "en0"
    return None



# Path: dyndnsc/detector/base.py
# LOG = logging.getLogger(__name__)
# class IPDetector(Subject, DynamicCliMixin):
#     def __init__(self, *args, **kwargs):
#     def can_detect_offline(self):
#     def af(self):
#     def get_old_value(self):
#     def set_old_value(self, value):
#     def get_current_value(self, default=None):
#     def set_current_value(self, value):
#     def has_changed(self):
#     def configuration_key_prefix():
# 
# Path: dyndnsc/common/six.py
# def ipaddress(addr):
#     """Return an ipaddress.ip_address object from the given string IP."""
#     return _ipaddress.ip_address(addr)
# 
# def ipnetwork(addr):
#     """Return an ipaddress.ip_network object from the given string IP."""
#     return _ipaddress.ip_network(addr)


# Path: dyndnsc/detector/iface.py
import logging
import netifaces
    import platform
from .base import IPDetector, AF_INET6
from ..common.six import ipaddress, ipnetwork

# -*- coding: utf-8 -*-

"""Module providing IP detection functionality based on netifaces."""




LOG = logging.getLogger(__name__)


def _default_interface():
    """Return the default interface name for common operating systems."""
    system = platform.system()
    if system == "Linux":
        return "eth0"
    elif system == "Darwin":
        return "en0"
    return None



class IPDetector_Iface(IPDetector):