50 lines
1.5 KiB
Go
50 lines
1.5 KiB
Go
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
|
||
//FindByType 获取某类型设备的所有模型数据
|
||
FindByType(deviceType proto.DeviceType) []Identity
|
||
}
|