in idb/common/format.py [0:0]
def json_data_target_info(target: TargetDescription) -> Dict[str, Any]:
data: Dict[str, Any] = {
"name": target.name,
"udid": target.udid,
"state": target.state,
"type": target.target_type.value,
"os_version": target.os_version,
"architecture": target.architecture,
}
companion_info = target.companion_info
if companion_info is not None:
address = companion_info.address
if isinstance(address, TCPAddress):
data["host"] = address.host
data["port"] = address.port
data["is_local"] = companion_info.is_local
data["companion"] = f"{address.host}:{address.port}"
else:
data["path"] = address.path
data["is_local"] = True
data["companion"] = address.path
if target.device is not None:
data["device"] = target.device
return data