Go to the documentation of this file. 1 #ifndef __IBITTYBUZZVM_H_
2 #define __IBITTYBUZZVM_H_
21 virtual bool init(
const std::reference_wrapper<IBittyBuzzLib>* bbzLibs,
22 uint32_t bbzLibsLength) = 0;
25 virtual bool start() = 0;
28 virtual void stop() = 0;
43 virtual bbzvm_state
getState()
const = 0;
46 virtual bbzvm_error
getError()
const = 0;
52 #endif // __IBITTYBUZZVM_H_
BBVMRet
Definition: IBittyBuzzVm.h:10
virtual void stop()=0
Stops the vm, can be called in another thread or in an interrupt.
virtual bbzvm_error getError() const =0
Get the error state of the VM.
LogLevel
The log level used for the logger.
Definition: ILogger.h:9
virtual BBVMRet step()=0
Does one execution step in the virtual machine. Thus execute the buzz code in the step function.
Manages BittyBuzz virtual machine.
Definition: IBittyBuzzVm.h:14
virtual bool init(const std::reference_wrapper< IBittyBuzzLib > *bbzLibs, uint32_t bbzLibsLength)=0
Init the virtual machine.
virtual void logDump(LogLevel logLevel)=0
Logs the virtual machine state, stack, heap and table segments.
virtual bbzvm_instr getInstruction() const =0
Get the current instruction of the VM.
virtual void terminate()=0
Terminate the virtual machine and removes all messages that were supposed to be processed.
virtual ~IBittyBuzzVm()=default
virtual bbzvm_state getState() const =0
Get the state of the vm.
virtual bool start()=0
Starts the vm.