47 lines
1.2 KiB
Python
Executable File
47 lines
1.2 KiB
Python
Executable File
from abc import ABC, abstractmethod
|
|
|
|
from cli.tray import TaskbarPanel
|
|
from core.config import Config
|
|
|
|
|
|
class WSInterface(ABC):
|
|
############################
|
|
# ABSTRACT VARIABLES #
|
|
############################
|
|
is_auto_reconnecting: bool = False
|
|
|
|
@abstractmethod
|
|
def __init__(self, config: Config, is_login_phase=True):
|
|
"""This method must be implemented in subclasses."""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_total_timeout(self):
|
|
"""This method must be implemented in subclasses."""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def get_stats(self):
|
|
"""This method must be implemented in subclasses."""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def connect(self):
|
|
"""This method must be implemented in subclasses."""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def set_tray_ref(self, sys_tray: TaskbarPanel):
|
|
"""This method must be implemented in subclasses."""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def manual_reconnect(self):
|
|
"""This method must be implemented in subclasses."""
|
|
pass
|
|
|
|
@abstractmethod
|
|
def disconnect(self):
|
|
"""This method must be implemented in subclasses."""
|
|
pass
|