AnP/Python/Interfaces/Managers/WebSocketServersManagerInterface.py

43 lines
1.3 KiB
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from typing import Any, Self, Optional, Sequence
from abc import ABC, abstractmethod
from Interfaces.Abstracts.WebSocketServersAbstractInterface import WebSocketServersAbstractInterface
from Application.Event import Event
class WebSocketServersManagerInterface(ABC):
def __init__(self:Self, anp:Any, inputs:Optional[dict[str, Any|None]|Sequence[Any|None]] = None) -> None:
self.on_new_client:Event = None
self.on_message:Event = None
self.on_close:Event = None
self.on_error:Event = None
@abstractmethod
def update(self:Self) -> None:pass
@abstractmethod
def reset(self:Self) -> None:pass
@abstractmethod
def close(self:Self) -> None:pass
@abstractmethod
def add(self:Self, inputs:Any|None, overwrite:bool = False) -> None:pass
@abstractmethod
def remove(self:Self, names:str|Sequence[str]) -> None:pass
@abstractmethod
def get(self:Self, name:str) -> WebSocketServersAbstractInterface|None:pass
@abstractmethod
def send(self:Self,
name:str,
controller:str,
method:str,
data:Optional[Any] = None,
clients:Optional[int|Sequence[int]] = None,
code:int = 200
) -> None:pass