| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package topic
- import (
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
- "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
- )
- // ATopic -- имя топика в шине.
- type ATopic defs.ATxt
- // ITopicFix -- неизменяемое имя топика в шине.
- type ITopicFix interface {
- defs.IString
- // Get -- возвращает имя топика
- Get() ATopic
- }
- // 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 defs.TxtFix(sf.val).String()
- }
- // 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
- }
|