import isystem.connect as ic
winidea_id = ''
def test_getCPUStatus():
connMgr = ic.ConnectionMgr()
connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
execCtrl = ic.CExecutionController(connMgr)
execCtrl.run()
execCtrl.stop()
cpuStatus = execCtrl.getCPUStatus(True)
print("Current CPU status:")
print(f"\tIs in 'STOP' state:", cpuStatus.isStopped())
print(f"\tStop reason:")
print(f"\t\tBy explicit action:", cpuStatus.isStopReasonExplicit())
print(f"\t\tBy BP:", cpuStatus.isStopReasonBP())
print(f"\t\tBy HW BP:", cpuStatus.isStopReasonHW())
print(f"\t\tBy `step` action:", cpuStatus.isStopReasonStep())
print(f"\tIn `ATTACH` state:", cpuStatus.isAttach())
print(f"\tIn `HALTED` state:", cpuStatus.isHalted())
print(f"\tIn `IDLE` state:", cpuStatus.isIdle())
print(f"\tIn `MUST_INIT` state:", cpuStatus.isMustInit())
print(f"\tIn `RESET` state:", cpuStatus.isReset())
print(f"\tIn `RUNNING` state:", cpuStatus.isRunning())
print(f"\tIn `WAITING` state:", cpuStatus.isWaiting())
print(f"\tExecution area:", cpuStatus.getExecutionArea())
print(f"\tExecution point address:", hex(cpuStatus.getExecutionPoint()))
smid = ic.SMSID()
cpuStatus.getMSID(smid)
print("\tCurrent application status:")
print("\t\tIs valid info:", smid.m_bValid)
print("\t\tIs in secure memory space:", smid.m_bSecure)
print("\t\tConsider VMID in identifying the app:", smid.m_bVMID)
print("\t\tConsider AppID in identifying the app:", smid.m_bAppID)
if __name__ == "__main__":
test_getCPUStatus()