diff --git a/sbapp/sideband/plugins.py b/sbapp/sideband/plugins.py new file mode 100644 index 0000000..6775bc6 --- /dev/null +++ b/sbapp/sideband/plugins.py @@ -0,0 +1,41 @@ +class SidebandPlugin(): + pass + +class SidebandCommandPlugin(SidebandPlugin): + def __init__(self, sideband_core): + self.__sideband = sideband_core + self.__started = False + self.command_name = type(self).command_name + + def start(self): + self.__started = True + + def stop(self): + self.__started = False + + def is_running(self): + return self.__started == True + + def get_sideband(self): + return self.__sideband + + def handle_command(self, arguments): + raise NotImplementedError + +class SidebandServicePlugin(SidebandPlugin): + def __init__(self, sideband_core): + self.__sideband = sideband_core + self.__started = False + self.service_name = type(self).service_name + + def start(self): + self.__started = True + + def stop(self): + self.__started = False + + def is_running(self): + return self.__started == True + + def get_sideband(self): + return self.__sideband