Source code for ReFreSH.MobileSuit.Core.SuitContext
from ..RequestStatus import RequestStatus
from ...DependencyInjection import ServiceProvider
from typing import Optional, Any
[docs]
class SuitContext(object):
"""
Context through the lifetime of a SuitRequest(A Command)
"""
def __init__(self, sp: ServiceProvider):
self.Properties: dict[str, object] = {}
"""Properties of current request."""
self.RequestStatus: RequestStatus = RequestStatus.NoRequest
"""The execution status of current request."""
self.Exception: Optional[Exception] = None
"""The exception caught in the execution."""
self.Request: list[str] = []
"""A command from input stream"""
self.ServiceProvider = sp
"""The ServiceProvider who provides services through whole request."""
self.Response: Optional[str] = None
"""Output to the output stream"""
[docs]
def GetRequiredService(self, T) -> Any:
return self.ServiceProvider.GetRequiredService(T)
[docs]
def GetService(self, T) -> Optional[Any]:
return self.ServiceProvider.GetService(T)
[docs]
def Dispose(self):
self.ServiceProvider.Dispose()