winIDEA SDK
winidea_instance_enumeration.py
1# This script is licensed under BSD License, see file LICENSE.txt.
2#
3# (c) TASKING Germany GmbH, 2023
4
5import time
6import sys
7import isystem.connect as ic
8
9
10# It is not required to connect to winIDEA for enumeration, so
11# ConnectionMgr() object is all we need.
12connectionMgr = ic.ConnectionMgr()
13
14connectionConfig = ic.CConnectionConfig()
15
16winIDEAInstances = ic.VectorWinIDEAInstanceInfo()
17
18hostAddress = '' # enumerate instances on local host. You may also specify remote host
19 # here, for example as IP address: '10.1.2.91'
20connectionMgr.enumerateWinIDEAInstances(hostAddress, connectionConfig, winIDEAInstances)
21
22for instance in winIDEAInstances:
23 print('Workspace: ', instance.getWorkspace())
24 print('Inst. Id : ', instance.getInstanceId())
25 print('TCP port : ', instance.getTcpPort(), '\n')
26
27# Now we'll connect to each of found winIDEA instances, and do
28# some visible actions!
29for instance in winIDEAInstances:
30 instanceCMgr = ic.ConnectionMgr()
31 instanceCMgr.connect(ic.CConnectionConfig().host(hostAddress).udpDiscoveryPort(instance.getTcpPort()))
32 ideCtrl = ic.CIDEController(instanceCMgr)
33 ideCtrl.minimize()
34 time.sleep(1)
35 ideCtrl.maximize()
36 time.sleep(1)
37 ideCtrl.restore()
38 instanceCMgr.disconnect_close(bSaveAll=False)
39 print('Finished for port: ', instance.getTcpPort())