123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- package libbox
- import (
- "sync"
- "github.com/sagernet/sing-box/experimental/deprecated"
- "github.com/sagernet/sing/common"
- )
- var _ deprecated.Manager = (*deprecatedManager)(nil)
- type deprecatedManager struct {
- access sync.Mutex
- notes []deprecated.Note
- }
- func (m *deprecatedManager) ReportDeprecated(feature deprecated.Note) {
- m.access.Lock()
- defer m.access.Unlock()
- m.notes = common.Uniq(append(m.notes, feature))
- }
- func (m *deprecatedManager) Get() []deprecated.Note {
- m.access.Lock()
- defer m.access.Unlock()
- notes := m.notes
- m.notes = nil
- return notes
- }
- var _ = deprecated.Note(DeprecatedNote{})
- type DeprecatedNote struct {
- Name string
- Description string
- DeprecatedVersion string
- ScheduledVersion string
- EnvName string
- MigrationLink string
- }
- func (n DeprecatedNote) Impending() bool {
- return deprecated.Note(n).Impending()
- }
- func (n DeprecatedNote) Message() string {
- return deprecated.Note(n).Message()
- }
- func (n DeprecatedNote) MessageWithLink() string {
- return deprecated.Note(n).MessageWithLink()
- }
- type DeprecatedNoteIterator interface {
- HasNext() bool
- Next() *DeprecatedNote
- }
|