winIDEA SDK
Loading...
Searching...
No Matches
winidea_instance_enumeration.py
# This script is licensed under BSD License, see file LICENSE.txt, or search for `License` in the SDK online help.
#
# (c) TASKING Germany GmbH, 2023
import time
import isystem.connect as ic
def main():
# It is not required to connect to winIDEA for enumeration, so
# ConnectionMgr() object is all we need.
connectionMgr = ic.ConnectionMgr()
connectionConfig = ic.CConnectionConfig()
winIDEAInstances = ic.VectorWinIDEAInstanceInfo()
hostAddress = '' # enumerate instances on local host. You may also specify remote host
# here, for example as IP address: '10.1.2.91'
connectionMgr.enumerateWinIDEAInstances(hostAddress, connectionConfig, winIDEAInstances)
for instance in winIDEAInstances:
print('Workspace: ', instance.getWorkspace())
print('Inst. Id : ', instance.getInstanceId())
print('TCP port : ', instance.getTcpPort(), '\n')
# Now we'll connect to each of found winIDEA instances, and do
# some visible actions!
for instance in winIDEAInstances:
instanceCMgr = ic.ConnectionMgr()
instanceCMgr.connect(ic.CConnectionConfig().host(hostAddress).udpDiscoveryPort(instance.getTcpPort()))
ideCtrl = ic.CIDEController(instanceCMgr)
ideCtrl.minimize()
time.sleep(1)
ideCtrl.maximize()
time.sleep(1)
ideCtrl.restore()
instanceCMgr.disconnect_close(bSaveAll=False)
print('Finished for port: ', instance.getTcpPort())
if __name__ == "__main__":
main()