package info import ( "git.5iot.com/iotlcm-public/iotlcm-upstream-proxy/internal/pub/xjpubmodel" "git.5iot.com/iotlcm-public/iotlcm-upstream-proxy/internal/pub/xjpubservice" ) type sInfo struct { Info xjpubmodel.InfoModel } func NewInfo() *sInfo { return &sInfo{ Info: xjpubmodel.InfoModel{}, } } func init() { xjpubservice.RegisterInfo(NewInfo()) } func (s *sInfo) GetInfo() *xjpubmodel.InfoModel { return &s.Info } func (s *sInfo) SetInfoName(Type, Name, Title, Description string) { if s.Info.Name == "" { s.Info.Type = Type s.Info.Name = Name s.Info.Title = Title s.Info.Description = Description } } func (s *sInfo) SetInfoBuild(buildVersion, buildTime, commitID string) { s.Info.Version = buildVersion s.Info.Build = buildTime s.Info.Commit = commitID } func (s *sInfo) SetInfoData(data map[string]interface{}) { s.Info.Data = data } func (s *sInfo) GetInfoData() map[string]interface{} { return s.Info.Data } func (s *sInfo) AddInfoData(key string, value interface{}) { if s.Info.Data == nil { s.Info.Data = make(map[string]interface{}) } s.Info.Data[key] = value } func (s *sInfo) DelInfoData(key string) { delete(s.Info.Data, key) } func (s *sInfo) GetInfoDataByKey(key string) interface{} { if s.Info.Data == nil { return nil } if _, ok := s.Info.Data[key]; !ok { return nil } return s.Info.Data[key] }