package topic import ( "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers" ) // ATopic -- имя топика в шине. type ATopic string // ITopicFix -- неизменяемое имя топика в шине. type ITopicFix interface { // Get -- возвращает имя топика Get() ATopic // String -- строковое представление топика String() string } // ITopicMut -- изменяемое имя топика в шине. type ITopicMut interface { ITopicFix // Set -- устанавливает имя топика Set(val ATopic) } // Topic -- имя топика в шине. type Topic struct { val ATopic } // NewTopic -- создает новый топик. func NewTopic(val ATopic) *Topic { helpers.Hassert(val != "", "NewTopic(): val is empty") sf := &Topic{ val: val, } _ = ITopicMut(sf) return sf } // String -- строковое представление топика. // func (sf *Topic) String() string { return string(sf.val) } // Get -- получить строковое представление топика. // func (sf *Topic) Get() ATopic { return sf.val } // Set -- установить строковое представление топика. // func (sf *Topic) Set(val ATopic) { helpers.Hassert(val != "", "Topic.Set(): val is empty") sf.val = val }