[fea]
[trajectory 变更]
This commit is contained in:
yangyakun
2025-05-12 15:19:58 +08:00
parent bbf278125b
commit 850d70a147
16 changed files with 127 additions and 49 deletions

View File

@@ -14,8 +14,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.ActivityUtils
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.och.bridge.autopilot.trajectory.ITrajectoryListListener
import com.mogo.och.bridge.autopilot.trajectory.TrajectoryManager
import com.mogo.och.bridge.trajectory.ITrajectoryListListener
import com.mogo.och.bridge.trajectory.TrajectoryManager
import com.mogo.och.common.module.biz.login.LoginStatusManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.utils.SoundPoolHelper

View File

@@ -10,6 +10,7 @@ import com.mogo.eagle.core.utilcode.util.CoordinateUtils
import com.mogo.och.bridge.autopilot.location.OchLocationManager
import com.mogo.och.bridge.distance.TrajectoryAndDistanceManager
import com.mogo.och.bridge.bridge.OchBridgeManager
import com.mogo.och.bridge.trajectory.TrajectoryManager
import com.mogo.och.common.module.biz.birdge.BridgeService
import com.mogo.och.common.module.biz.birdge.BridgeListener
import com.mogo.och.common.module.constant.OchCommonConst
@@ -29,6 +30,7 @@ class BridgeProvider : BridgeService, CallerBase<BridgeListener>() {
override fun init(context: Context?) {
this.context = context
OchBridgeManager.load()
TrajectoryManager.load()
}
override fun setDistanceStation(startLocation: MogoLocation?, endLocation: MogoLocation?, lineId: Long?) {
@@ -55,6 +57,11 @@ class BridgeProvider : BridgeService, CallerBase<BridgeListener>() {
removeListener(tag)
}
override fun doSomeAfterAddListener(tag: String, listener: BridgeListener) {
// 轨迹和距离回调
TrajectoryManager.doSomeAfterBridgeListener()
}
fun invokeTrajectoryHaveDataListener(haveTrajectoryInfos:Boolean){
M_LISTENERS.forEach{
it.value.onTrajectoryHaveData(haveTrajectoryInfos)
@@ -67,5 +74,17 @@ class BridgeProvider : BridgeService, CallerBase<BridgeListener>() {
}
}
fun invokeTrajectoryPoints(trajectoryList: MutableList<MogoLocation>){
M_LISTENERS.forEach {
it.value.onTrajectoryPointsListener(trajectoryList)
}
}
fun invokeTrajectoryDistance(distance:Double){
M_LISTENERS.forEach {
it.value.onTrajectoryDistanceListener(distance)
}
}
}

View File

@@ -2,6 +2,7 @@ package com.mogo.och.bridge
import android.annotation.SuppressLint
import com.alibaba.android.arouter.launcher.ARouter
import com.mogo.eagle.core.data.map.MogoLocation
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_OCHCOMMON
import com.mogo.och.common.module.constant.OchCommonConst
import com.mogo.och.common.module.manager.loop.BizLoopManager
@@ -60,4 +61,13 @@ object BridgeServiceManager {
fun invokePredictionHaveData(havePredictionInfos:Boolean){
this.havePredictionInfo = havePredictionInfos
}
fun invokeTrajectoryPoints(trajectoryList: MutableList<MogoLocation>){
this.bridgeService?.invokeTrajectoryPoints(trajectoryList)
}
fun invokeTrajectoryDistance(distance:Double){
this.bridgeService?.invokeTrajectoryDistance(distance)
}
}

View File

@@ -15,7 +15,7 @@ import com.mogo.eagle.core.utilcode.util.ToastUtils
import com.mogo.och.common.module.R
import com.mogo.och.bridge.autopilot.autopilot.bean.ArrivedStation
import com.mogo.och.bridge.autopilot.line.LineManager
import com.mogo.och.bridge.autopilot.trajectory.TrajectoryManager
import com.mogo.och.bridge.trajectory.TrajectoryManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.utils.CallerBase
import com.zhjt.mogo.adas.common.MessageType

View File

@@ -13,7 +13,7 @@ import com.mogo.eagle.core.utilcode.util.LocationUtils
import com.mogo.och.common.module.constant.OchCommonConst
import com.mogo.och.bridge.autopilot.autopilot.OchAutopilotAnalytics
import com.mogo.och.bridge.autopilot.location.OchLocationManager
import com.mogo.och.bridge.autopilot.trajectory.TrajectoryCache
import com.mogo.och.bridge.trajectory.TrajectoryCache
import com.mogo.och.common.module.manager.loop.BizLoopManager
import com.mogo.och.common.module.manager.loop.LoopInfo
import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil

View File

@@ -1,4 +1,4 @@
package com.mogo.och.bridge.autopilot.trajectory
package com.mogo.och.bridge.trajectory
import com.mogo.eagle.core.data.map.MogoLocation

View File

@@ -1,4 +1,4 @@
package com.mogo.och.bridge.autopilot.trajectory
package com.mogo.och.bridge.trajectory
import com.elegant.network.utils.GsonUtil
import com.mogo.commons.AbsMogoApplication

View File

@@ -1,4 +1,4 @@
package com.mogo.och.bridge.autopilot.trajectory
package com.mogo.och.bridge.trajectory
import com.mogo.commons.AbsMogoApplication
import com.mogo.eagle.core.data.map.MogoLocation
@@ -7,6 +7,7 @@ import com.mogo.eagle.core.function.call.autopilot.CallerPlanningRottingListener
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.CoordinateUtils
import com.mogo.och.bridge.BridgeServiceManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager.writeChainLog
import com.mogo.och.common.module.utils.CallerBase
@@ -14,7 +15,7 @@ import com.mogo.och.bridge.utils.CoordinateCalculateRouteUtil
import com.zhjt.mogo.adas.data.bean.MogoReport
import mogo.telematics.pad.MessagePad
object TrajectoryManager : CallerBase<ITrajectoryListListener>(),IMoGoPlanningRottingListener {
object TrajectoryManager : CallerBase<ITrajectoryListListener>(), IMoGoPlanningRottingListener {
const val TAG = "TrajectoryManager"
private val downLoadSuccessLineIds = mutableListOf<Long>()
@@ -41,7 +42,7 @@ object TrajectoryManager : CallerBase<ITrajectoryListListener>(),IMoGoPlanningR
CallerPlanningRottingListenerManager.addListener(TAG, this)
}
private var lineId:Long?=0
private var lineId: Long? = 0
override fun onAutopilotRotting(globalPathResp: MessagePad.GlobalPathResp?) {
CallerLogger.d(SceneConstant.M_OCHCOMMON + TAG, "onAutopilotRotting: 收到轨迹")
@@ -91,36 +92,62 @@ object TrajectoryManager : CallerBase<ITrajectoryListListener>(),IMoGoPlanningR
M_LISTENERS.forEach {
it.value.trajectoryDistanceCallback(maxDistanceAllPoint)
}
BridgeServiceManager.invokeTrajectoryPoints(mRoutePoints)
BridgeServiceManager.invokeTrajectoryDistance(maxDistanceAllPoint)
}
private fun addDownLoadSuccessLine(lineId:Long){
if(lineId>0){
OchChainLogManager.writeChainLog("轨迹监控", " 轨迹下载成功${lineId}", true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
override fun doSomeAfterAddListener(tag: String, listener: ITrajectoryListListener) {
if(mRoutePoints.isNotEmpty()) {
M_LISTENERS.forEach {
it.value.trajectoryCallback(mRoutePoints)
}
M_LISTENERS.forEach {
it.value.trajectoryDistanceCallback(maxDistanceAllPoint)
}
}
}
fun doSomeAfterBridgeListener(){
BridgeServiceManager.invokeTrajectoryPoints(mRoutePoints)
BridgeServiceManager.invokeTrajectoryDistance(maxDistanceAllPoint)
}
private fun addDownLoadSuccessLine(lineId: Long) {
if (lineId > 0) {
OchChainLogManager.writeChainLog(
"轨迹监控",
" 轨迹下载成功${lineId}",
true,
OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY
)
downLoadSuccessLineIds.add(lineId)
}
}
private fun removeDownLoadSuccessLine(lineId:Long){
if(lineId>0&& downLoadSuccessLineIds.contains(lineId)){
private fun removeDownLoadSuccessLine(lineId: Long) {
if (lineId > 0 && downLoadSuccessLineIds.contains(lineId)) {
downLoadSuccessLineIds.remove(lineId)
}
}
fun carDownLoadTrajectoryLog(code: String?, lineId: Long){
fun carDownLoadTrajectoryLog(code: String?, lineId: Long) {
when (code) {
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_START -> {
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_START -> {
writeTrajectoryLog("轨迹开始下载")
M_LISTENERS.forEach {
it.value.onDownLoadStart(lineId)
}
}
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_SUCCESS -> {
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_SUCCESS -> {
writeTrajectoryLog("轨迹下载成功")
addDownLoadSuccessLine(lineId)
M_LISTENERS.forEach {
it.value.onDownLoadSuccess(lineId)
}
}
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_FAILURE -> {
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_FAILURE -> {
writeTrajectoryLog("轨迹下载失败,本地无对应轨迹")
// 更新轨迹没有更新lineId 第二次下载失败 删除App成功缓存(概率很低)
removeDownLoadSuccessLine(lineId)
@@ -128,49 +155,60 @@ object TrajectoryManager : CallerBase<ITrajectoryListListener>(),IMoGoPlanningR
it.value.onDownLoadFail(lineId)
}
}
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_WARNING -> {
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_WARNING -> {
writeTrajectoryLog("轨迹下载失败,本地有对应轨迹,认为成功")
M_LISTENERS.forEach {
it.value.onDownLoadSuccess(lineId)
}
}
MogoReport.Code.Info.ISYS.INIT_TRAJECTORY_TIMEOUT -> {
writeTrajectoryLog("轨迹下载超时")
M_LISTENERS.forEach {
it.value.onDownLoadTimeout(lineId)
}
}
MogoReport.Code.Info.ISSM.FUNC_AUTO_PILOT_READY -> {
MogoReport.Code.Info.ISSM.FUNC_AUTO_PILOT_READY -> {
writeTrajectoryLog("再次发起下载、 ssm ready再次发起下载")
M_LISTENERS.forEach {
it.value.onDownLoadReady(lineId)
}
}
MogoReport.Code.Error.EMAP.TRA_LOAD_FAILED -> {
writeTrajectoryLog("onAutopilotGuardian() 加载轨迹文件失败")
M_LISTENERS.forEach {
it.value.onLoadFail(lineId)
}
}
MogoReport.Code.Error.EMAP.TRA_NOT_EXIST -> {
MogoReport.Code.Error.EMAP.TRA_NOT_EXIST -> {
writeTrajectoryLog("onAutopilotGuardian() 无法找到轨迹文件")
M_LISTENERS.forEach {
it.value.onTrajectoryNotExist(lineId)
}
}
MogoReport.Code.Error.EMAP.ATTITUDE_INIT_FAILED->{
MogoReport.Code.Error.EMAP.ATTITUDE_INIT_FAILED -> {
writeTrajectoryLog("onAutopilotGuardian() 当前位置距离轨迹距离大于15m")
M_LISTENERS.forEach {
it.value.onDistanceWithTrajectory(lineId)
}
}
else -> {}
}
}
private fun writeTrajectoryLog(message:String){
private fun writeTrajectoryLog(message: String) {
writeChainLog("轨迹监控", message, true, OchChainLogManager.EVENT_KEY_INFE_WITH_TRAJECTORY)
}
fun load() {
}
}

View File

@@ -1,11 +1,16 @@
package com.mogo.och.common.module.biz.birdge
import com.mogo.eagle.core.data.map.MogoLocation
interface BridgeListener {
/**
* 是否有引导线
*/
fun onTrajectoryHaveData(haveTrajectoryInfos: Boolean)
fun onTrajectoryHaveData(haveTrajectoryInfos: Boolean){}
fun onPredictionHavaData(havePredictionInfos: Boolean)
fun onPredictionHavaData(havePredictionInfos: Boolean){}
fun onTrajectoryPointsListener(trajectoryList: MutableList<MogoLocation>){}
fun onTrajectoryDistanceListener(distance: Double){}
}

View File

@@ -8,8 +8,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.och.bridge.autopilot.line.LineManager
import com.mogo.och.common.module.biz.login.LoginStatusManager.isLogin
import com.mogo.och.bridge.autopilot.trajectory.ITrajectoryListListener
import com.mogo.och.bridge.autopilot.trajectory.TrajectoryManager
import com.mogo.och.bridge.trajectory.ITrajectoryListListener
import com.mogo.och.bridge.trajectory.TrajectoryManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.offline.constant.BusConst
import com.mogo.och.offline.model.LineModel

View File

@@ -8,11 +8,10 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.och.bridge.autopilot.line.LineManager
import com.mogo.och.common.module.biz.login.LoginStatusManager.isLogin
import com.mogo.och.bridge.autopilot.trajectory.ITrajectoryListListener
import com.mogo.och.bridge.autopilot.trajectory.TrajectoryManager
import com.mogo.och.bridge.trajectory.ITrajectoryListListener
import com.mogo.och.bridge.trajectory.TrajectoryManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.weaknet.constant.BusConst
import com.mogo.och.weaknet.model.LineModel
import com.mogo.och.weaknet.model.LineModel.currentTask
import com.mogo.och.weaknet.model.LineModel.startStationIndex
import com.mogo.och.weaknet.model.OrderModel.isGoingToNextStation

View File

@@ -8,8 +8,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.e
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
import com.mogo.eagle.core.utilcode.util.GsonUtils
import com.mogo.och.bridge.autopilot.line.LineManager
import com.mogo.och.bridge.autopilot.trajectory.ITrajectoryListListener
import com.mogo.och.bridge.autopilot.trajectory.TrajectoryManager
import com.mogo.och.bridge.trajectory.ITrajectoryListListener
import com.mogo.och.bridge.trajectory.TrajectoryManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.unmanned.taxi.bean.TrajectoryListRespBean
import com.mogo.och.unmanned.taxi.constant.TaskStatusEnum

View File

@@ -14,6 +14,8 @@ import com.mogo.mgintelligent.speech.MGSpeech
import com.mogo.mgintelligent.speech.iflytek.WakeUpListener
import com.mogo.mgintelligent.speech.iflytek.WakeUpManager
import com.mogo.och.bridge.autopilot.location.OchLocationManager
import com.mogo.och.common.module.biz.birdge.BridgeListener
import com.mogo.och.common.module.biz.birdge.BridgeManager
import com.mogo.och.data.taxi.BaseOrderBean
import com.mogo.och.data.taxi.TaxiOrderStatusEnum
import com.mogo.och.unmanned.taxi.utils.order.OrderListener
@@ -27,7 +29,8 @@ import kotlinx.coroutines.flow.SharedFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch
class AIViewModel : ViewModel(), AIMessageManager.AIMessageListener, IWakeUpListener {
class AIViewModel : ViewModel(), AIMessageManager.AIMessageListener, IWakeUpListener,
BridgeListener {
private val msgList = mutableListOf<AIMessage>()
private var lastTimestamp = System.currentTimeMillis()
@@ -103,6 +106,8 @@ class AIViewModel : ViewModel(), AIMessageManager.AIMessageListener, IWakeUpList
mgSpeech.weakUpListener = this
mgSpeech.startWeakUp()
BridgeManager.addBridgeListener(TAG,this)
llmResultJob = viewModelScope.launch(Dispatchers.IO) {
V2XRepository.llmResultFlow.collect { result ->
Log.d(TAG, "llm result: $result")
@@ -329,6 +334,10 @@ class AIViewModel : ViewModel(), AIMessageManager.AIMessageListener, IWakeUpList
interface AiViewCallback {
}
override fun onTrajectoryPointsListener(trajectoryList: MutableList<MogoLocation>) {
}
}
sealed class AsrUIState {

View File

@@ -11,6 +11,7 @@
"eagle_dns_url": "",
"bind_driver_qr_url": "",
"chart_socket_url":"",
"nde_url":"",
"secure_active_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/active",
"secure_refresh_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/refresh",
"secure_auth_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/auth",
@@ -28,6 +29,7 @@
"eagle_dns_url": "",
"bind_driver_qr_url": "",
"chart_socket_url":"",
"nde_url":"",
"secure_active_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/active",
"secure_refresh_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/refresh",
"secure_auth_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/auth",
@@ -47,6 +49,7 @@
"eagle_dns_url": "http://eagle-dns-a.zhidaozhixing.com/",
"bind_driver_qr_url": "https://och-mini-eh.zhidaozhixing.com?pipe=ehsafety&sn=%1$s",
"chart_socket_url":"wss://acp-eh.zhidaozhixing.com/ws",
"nde_url":"",
"secure_active_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/active",
"secure_refresh_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/refresh",
"secure_auth_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/auth",
@@ -64,6 +67,7 @@
"eagle_dns_url": "https://och-hailing-eh.zhidaozhixing.com/",
"bind_driver_qr_url": "https://och-mini-eh.zhidaozhixing.com?pipe=ehsafety&sn=%1$s",
"chart_socket_url":"wss://acp-eh.zhidaozhixing.com/ws",
"nde_url":"",
"secure_active_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/active",
"secure_refresh_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/refresh",
"secure_auth_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/auth",
@@ -83,6 +87,7 @@
"eagle_dns_url": "http://eagle-dns-a.zhidaozhixing.com/",
"bind_driver_qr_url": "https://och-mini-yt.zhidaozhixing.com?pipe=ytsafety&sn=%1$s",
"chart_socket_url":"",
"nde_url":"",
"secure_active_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/active",
"secure_refresh_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/refresh",
"secure_auth_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/auth",
@@ -100,6 +105,7 @@
"eagle_dns_url": "https://och-hailing-yt.zhidaozhixing.com/",
"bind_driver_qr_url": "https://och-mini-yt.zhidaozhixing.com?pipe=ytsafety&sn=%1$s",
"chart_socket_url":"",
"nde_url":"",
"secure_active_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/active",
"secure_refresh_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/refresh",
"secure_auth_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/auth",
@@ -118,6 +124,7 @@
"eagle_dns_url": "https://mogogo-qa.zhidaozhixing.com/",
"bind_driver_qr_url": "https://och-mini-mogogo.zhidaozhixing.com?pipe=mogogosafety&sn=%1$s",
"chart_socket_url":"",
"nde_url":"https://nde-qa-city.zhidaozhixing.com",
"secure_active_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/active",
"secure_refresh_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/refresh",
"secure_auth_url":"http://gateway.ee-private-dev1.myghost.zhidaoauto.com/openapi/security/deviceCert/auth",
@@ -134,6 +141,7 @@
"eagle_dns_url": "https://mogogo.zhidaozhixing.com/",
"bind_driver_qr_url": "https://och-mini-mogogo.zhidaozhixing.com?pipe=mogogosafety&sn=%1$s",
"chart_socket_url":"",
"nde_url":"https://nde-qa-city.zhidaozhixing.com",
"secure_active_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/active",
"secure_refresh_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/refresh",
"secure_auth_url":"https://mygateway.zhidaozhixing.com/openapi/security/deviceCert/auth",

View File

@@ -23,6 +23,8 @@ data class UrlConfig(
val bindDriverQRUrl: String,
@SerializedName("chart_socket_url")
val chartSocketUrl: String,
@SerializedName("nde_url")
val ndeUrl: String,
@SerializedName("secure_active_url")
val secureActive: String,
@SerializedName("secure_refresh_url")
@@ -34,6 +36,5 @@ data class UrlConfig(
@SerializedName("secure_product_secret")
val secureProductSecret: String,
@SerializedName("heart_beat_interval")
val heartBeatInterval: Int
val heartBeatInterval: Int,
)

View File

@@ -49,23 +49,12 @@ public class HostConst {
public static String getNDEHost() {
if (unifiedNdeHost.isEmpty() || unifiedNdeHost == null) {
return getOldNDEHost();
return FunctionBuildConfig.urlJson.getNdeUrl();
} else {
return unifiedNdeHost;
}
}
private static String getOldNDEHost() {
String host = NED_RELEASE;
switch (DebugConfig.getNetMode()) {
case DebugConfig.NET_MODE_DEV:
case DebugConfig.NET_MODE_QA:
host = NED_QA;
break;
}
return host;
}
public static void updateNdeHost(String ndeHost, int srcType) {
sourceType = srcType;
unifiedNdeHost = ndeHost;