from functools import partial as _partial
from ittapi.native import Event as _Event
from .region import _CallSite, _NamedRegion
class Event(_NamedRegion):
def __init__(self, region=None):
self._event = None
super().__init__(region, _partial(Event.__deferred_event_creation, self))
def __deferred_event_creation(self, name) -> None:
self._event = _Event(name)
def begin(self) -> None:
self._event.begin()
def end(self) -> None:
self._event.end()
def event(region=None) -> Event:
region = _CallSite(_CallSite.CallerFrame) if region is None else region
return Event(region)