1
0
mirror of https://github.com/home-assistant/supervisor.git synced 2025-12-26 21:47:15 +00:00
Files
supervisor/supervisor/dbus/interface.py
Pascal Vizeli fab6fcd5ac Check NetworkManager Version if it is supported (#2340)
Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
2020-12-04 12:38:12 +01:00

38 lines
878 B
Python

"""Interface class for D-Bus wrappers."""
from abc import ABC, abstractmethod
from typing import Any, Dict, Optional
from ..utils.gdbus import DBus
class DBusInterface(ABC):
"""Handle D-Bus interface for hostname/system."""
dbus: Optional[DBus] = None
name: Optional[str] = None
@property
def is_connected(self):
"""Return True, if they is connected to D-Bus."""
return self.dbus is not None
@abstractmethod
async def connect(self):
"""Connect to D-Bus."""
def disconnect(self):
"""Disconnect from D-Bus."""
self.dbus = None
class DBusInterfaceProxy(ABC):
"""Handle D-Bus interface proxy."""
dbus: Optional[DBus] = None
object_path: Optional[str] = None
properties: Optional[Dict[str, Any]] = None
@abstractmethod
async def connect(self):
"""Connect to D-Bus."""