1
0
mirror of https://github.com/binary-kitchen/doorlockd synced 2024-06-01 14:42:34 +02:00
doorlockd-mirror/pydoorlock/DoorlockBackend.py
Thomas Schmid 4aac66d8e0 Doorlock Backends: Add license header
Signed-off-by: Thomas Schmid <tom@lfence.de>
2022-11-17 18:58:57 +01:00

36 lines
913 B
Python

"""
Doorlockd -- Binary Kitchen's smart door opener
Copyright (c) Binary Kitchen e.V., 2022
Author:
Thomas Schmid <tom@binary-kitchen.de>
This work is licensed under the terms of the GNU GPL, version 2. See
the LICENSE file in the top-level directory.
This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
details.
"""
from abc import ABC, abstractmethod
class DoorlockBackend(ABC):
def __init__(self):
self.callbacks = list()
self.current_state = None
def update_state(self):
self.state_change_callback(self.current_state)
@abstractmethod
def set_state(self, state):
self.current_state = state
@abstractmethod
def get_state(self, state):
return self.current_state