diff options
Diffstat (limited to 'ui/tunnelconfigdialog.go')
-rw-r--r-- | ui/tunnelconfigdialog.go | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/ui/tunnelconfigdialog.go b/ui/tunnelconfigdialog.go index 0a7432ac..e937455d 100644 --- a/ui/tunnelconfigdialog.go +++ b/ui/tunnelconfigdialog.go @@ -321,83 +321,3 @@ func (dlg *TunnelConfigDialog) onSaveButtonClicked() { dlg.Accept() } - -type orderedStringSet struct { - items []string - item2index map[string]int -} - -func orderedStringSetFromSlice(items []string) *orderedStringSet { - oss := newOrderedStringSet() - oss.AddMany(items) - return oss -} - -func newOrderedStringSet() *orderedStringSet { - return &orderedStringSet{item2index: make(map[string]int)} -} - -func (oss *orderedStringSet) Add(item string) bool { - if _, ok := oss.item2index[item]; ok { - return false - } - - oss.item2index[item] = len(oss.items) - oss.items = append(oss.items, item) - return true -} - -func (oss *orderedStringSet) AddMany(items []string) { - for _, item := range items { - oss.Add(item) - } -} - -func (oss *orderedStringSet) UniteWith(other *orderedStringSet) { - if other == oss { - return - } - - oss.AddMany(other.items) -} - -func (oss *orderedStringSet) Remove(item string) bool { - if i, ok := oss.item2index[item]; ok { - oss.items = append(oss.items[:i], oss.items[i+1:]...) - delete(oss.item2index, item) - return true - } - - return false -} - -func (oss *orderedStringSet) Len() int { - return len(oss.items) -} - -func (oss *orderedStringSet) ToSlice() []string { - return append(([]string)(nil), oss.items...) -} - -func (oss *orderedStringSet) Contains(item string) bool { - _, ok := oss.item2index[item] - return ok -} - -func (oss *orderedStringSet) IsSupersetOf(other *orderedStringSet) bool { - if oss.Len() < other.Len() { - return false - } - - for _, item := range other.items { - if !oss.Contains(item) { - return false - } - } - - return true -} - -func (oss *orderedStringSet) String() string { - return fmt.Sprintf("%v", oss.items) -} |