package repository import "joylink.club/rtsssimulation/repository/model/proto" // 身份信息 type Identity interface { Id() string Type() proto.DeviceType } // 身份信息 type identity struct { id string deviceType proto.DeviceType } func (m identity) Id() string { return m.id } func (m identity) Type() proto.DeviceType { return m.deviceType } // LinkPositionDevice 有link位置的设备 type LinkPositionDevice interface { Identity LinkPosition() LinkPosition bindLinkPosition(position LinkPosition) } //////////////////////////system中使用/////////////////////////////////// // IRelayCRole 获取继电器在具体电路中的角色(组合类型、功能名称) // 如信号机3XH-1电路中点灯继电器:组合类型-"3XH-1" 功能名称-"DDJ" // 对应设备电路中有继电器的设备模型须实现该接口 type IRelayCRole interface { //FindCircuitRoleById 根据继电器id获取在具体电路中的电路角色 //relayId-继电器id //relayGroup-继电器组合类型 //relayName-继电器在电路中的名称 //find-true找到,false未找到 FindCircuitRoleById(relayId string) (relayGroup string, relayName string, find bool) //FindRelayModelByCRole 根据继电器具体电路角色来获取继电器设备模型 //relayGroup-继电器组合类型 //relayName-继电器在电路中的名称 FindRelayModelByCRole(relayGroup string, relayName string) Identity } // IModelManager 模型管理接口 type IModelManager interface { //FindById 根据模型的复合id获取模型数据 FindById(id string) Identity } // IPsdModel 仿真底层屏蔽门模型 // 用户所有屏蔽门模型定义须实现该接口 type IPsdModel interface { //FindSPsdCells 获取车站上行侧所有屏蔽门子门 FindSPsdCells() []Identity //FindS4KmUpPsdCells 4编组运行方向为上行且在车站上行侧时,对应所有屏蔽门子门 FindS4KmUpPsdCells() []Identity //FindS8KmUpPsdCells 8编组运行方向为上行且在车站上行侧时,对应所有屏蔽门子门 FindS8KmUpPsdCells() []Identity //FindS4KmDownPsdCells 4编组运行方向为下行且在车站上行侧时,对应所有屏蔽门子门 FindS4KmDownPsdCells() []Identity //FindS8KmDownPsdCells 8编组运行方向为下行且在车站上行侧时,对应所有屏蔽门子门 FindS8KmDownPsdCells() []Identity //FindXPsdCells 获取车站上行侧所有屏蔽门子门 FindXPsdCells() []Identity //FindX4KmUpPsdCells 4编组运行方向为上行且在车站下行侧时,对应所有屏蔽门子门 FindX4KmUpPsdCells() []Identity //FindX8KmUpPsdCells 8编组运行方向为上行且在车站下行侧时,对应所有屏蔽门子门 FindX8KmUpPsdCells() []Identity //FindX4KmDownPsdCells 4编组运行方向为下行且在车站下行侧时,对应所有屏蔽门子门 FindX4KmDownPsdCells() []Identity //FindX8KmDownPsdCells 8编组运行方向为下行且在车站下行侧时,对应所有屏蔽门子门 FindX8KmDownPsdCells() []Identity }