hx_swap_oob.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // package hx_swap_oob -- объект внеполосной подкачки.
  2. package hx_swap_oob
  3. import (
  4. "sync"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs"
  6. mWt "gitp78su.ipnodns.ru/svi/kern/v4/lev2/wui/wui_types"
  7. )
  8. // HxSwapOob -- объект внеполосной подкачки.
  9. type HxSwapOob struct {
  10. sync.RWMutex
  11. val defs.ATxt
  12. }
  13. // NewHxSwapOob -- возвращает новую внеполосную подкачку.
  14. func NewHxSwapOob() *HxSwapOob {
  15. sf := &HxSwapOob{}
  16. _ = mWt.IHxSwapOob(sf)
  17. return sf
  18. }
  19. // String -- возвращает строковое представление тэга.
  20. func (sf *HxSwapOob) String() string {
  21. sf.RLock()
  22. defer sf.RUnlock()
  23. return `hx-swap-oob="` + string(sf.val) + `"`
  24. }
  25. // Get -- возвращает хранимое значение внеполосной подкачки.
  26. func (sf *HxSwapOob) Get() defs.ATxt {
  27. sf.RLock()
  28. defer sf.RUnlock()
  29. return sf.val
  30. }
  31. // Set -- устанавливает значение внеполосной подкачки.
  32. func (sf *HxSwapOob) Set(val defs.ATxt) {
  33. sf.Lock()
  34. defer sf.Unlock()
  35. sf.val = val
  36. }