rts-sim-module/repository/model.go
2023-09-25 15:39:03 +08:00

73 lines
2.8 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
}
//////////////////////////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
}