def open_log(self, logger): """logger:object -> ... Begins logging activity with the logger object passed. """ self.log = ApiLogger(logger) self.log.buffer("created an api, `{:}'" .format(self.__class__.__name__), level.INFO)
class BaseApi(LoggerClient): """Base class which provides the necessary storage and initialization for derrived Api implementations """ # #The Api object requires references to CPU internals so that it #can change its state. # _register = None _memory = None _instruction_decoded = None def open_log(self, logger): """logger:object -> ... Begins logging activity with the logger object passed. """ self.log = ApiLogger(logger) self.log.buffer("created an api, `{:}'" .format(self.__class__.__name__), level.INFO) def get_api_reference(self, cpu): """cpu:object -> api:object Takes a reference to a Cpu object and links the CPU and API. Usage: api = Api.get_api_reference(cpu) (Usually within __init__ of the CPU.) """ self._register = cpu.get_registers() self._memory = cpu.get_memory() return self