import isystem.connect as ic
winidea_id = ''
def test_dynamicOption():
connMgr = ic.ConnectionMgr()
connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
ideCtrl = ic.CIDEController(connMgr)
url = "System.Debug.SoCs[0].DLFs_Program.File"
fullUrl = f"/IDE/{url}"
dlfile = ideCtrl.getOptionStr(url)
print(f"Creating 2 download files in dynamic options list: {fullUrl}")
ideCtrl.addDynamicOption(ic.ofDestIDE, "", url)
ideCtrl.addDynamicOptionUrl(fullUrl)
lastItemIndex = ideCtrl.addDynamicOption(fullUrl)
print(f"\tNumber of items: {ideCtrl.getDynamicOptionSize(fullUrl)}")
print(f"Modify the attribute of item at index: {lastItemIndex}...")
ideCtrl.setOption(f"{fullUrl}[{lastItemIndex}].Options.CodeOffset", "10")
print(f"Finding item index with value: '10'.")
index = ideCtrl.findDynamicOption(fullUrl, "Options.CodeOffset", "0xA")
print(f"\tIndex: {index}")
strVector = ic.StrVector()
ideCtrl.getDynamicOptions(fullUrl, "Options.CodeOffset", strVector)
print(f"Values of attributes: '{strVector}'")
print("Removing all items in affected dynamic list...")
ideCtrl.removeDynamicOption(fullUrl, lastItemIndex)
ideCtrl.removeDynamicOption(fullUrl, lastItemIndex - 1)
ideCtrl.removeDynamicOption(fullUrl, lastItemIndex - 2)
if __name__ == "__main__":
test_dynamicOption()