about summary refs log tree commit diff
path: root/IrcStates/ISupport.cs
diff options
context:
space:
mode:
Diffstat (limited to 'IrcStates/ISupport.cs')
-rw-r--r--IrcStates/ISupport.cs114
1 files changed, 0 insertions, 114 deletions
diff --git a/IrcStates/ISupport.cs b/IrcStates/ISupport.cs
deleted file mode 100644
index f481f5f..0000000
--- a/IrcStates/ISupport.cs
+++ /dev/null
@@ -1,114 +0,0 @@
-// ReSharper disable InconsistentNaming
-
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Linq;
-
-namespace IrcStates
-{
-    public class ISupport
-    {
-        public ISupport()
-        {
-            Raw         = new Dictionary<string, string>();
-            Modes       = 3;
-            CaseMapping = Casemap.CaseMapping.Rfc1459;
-            Prefix      = new ISupportPrefix("(ov)@+");
-            ChanModes   = new ISupportChanModes("b,k,l,imnpst");
-            ChanTypes   = new List<string> {"#"};
-            StatusMsg   = new List<string>();
-            Whox        = false;
-        }
-
-        public Dictionary<string, string> Raw { get; set; }
-        public string Network { get; set; }
-        public ISupportChanModes ChanModes { get; set; }
-        public ISupportPrefix Prefix { get; set; }
-        public int? Modes { get; set; }
-        public Casemap.CaseMapping CaseMapping { get; set; }
-        public List<string> ChanTypes { get; set; }
-        public List<string> StatusMsg { get; set; }
-        public string CallerId { get; set; }
-        public string Excepts { get; set; }
-        public string Invex { get; set; }
-        public int? Monitor { get; set; }
-        public int? Watch { get; set; }
-        public bool Whox { get; set; }
-
-        public void Parse(IEnumerable<string> tokens)
-        {
-            if (tokens == null) return;
-
-            // remove first and last
-            tokens = tokens.Skip(1).SkipLast(1);
-
-            foreach (var token in tokens)
-            {
-                var split = token.Split('=', 2);
-                var key   = split[0];
-
-                var value = string.Empty;
-                if (split.Length > 1)
-                {
-                    value = split[1];
-                    Raw[key] = value;
-                }
-                
-                switch (split[0])
-                {
-                    case "NETWORK":
-                        Network = value;
-                        break;
-                    case "CHANMODES":
-                        ChanModes = new ISupportChanModes(value);
-                        break;
-                    case "PREFIX":
-                        Prefix = new ISupportPrefix(value);
-                        break;
-                    case "STATUSMSG":
-                        StatusMsg = new List<string>();
-                        StatusMsg.AddRange(value.Select(c => c.ToString(CultureInfo.InvariantCulture)));
-                        break;
-                    case "MODES":
-                        if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var modes))
-                            Modes = modes;
-                        else
-                            Modes = -1;
-                        break;
-                    case "MONITOR":
-                        if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var monitor))
-                            Monitor = monitor;
-                        else
-                            Monitor = -1;
-                        break;
-                    case "WATCH":
-                        if (int.TryParse(value, NumberStyles.Integer, CultureInfo.InvariantCulture, out var watch))
-                            Watch = watch;
-                        else
-                            Watch = -1;
-                        break;
-                    case "CASEMAPPING":
-                        if (Enum.TryParse(value, true, out Casemap.CaseMapping caseMapping)) CaseMapping = caseMapping;
-                        break;
-                    case "CHANTYPES":
-                        ChanTypes = new List<string>();
-                        ChanTypes.AddRange(value.Select(c => c.ToString(CultureInfo.InvariantCulture)));
-                        break;
-                    case "CALLERID":
-                        CallerId = string.IsNullOrEmpty(value) ? "g" : value;
-                        break;
-                    case "EXCEPTS":
-                        Excepts = string.IsNullOrEmpty(value) ? "e" : value;
-                        break;
-                    case "INVEX":
-                        Invex = string.IsNullOrEmpty(value) ? "I" : value;
-                        break;
-                    case "WHOX":
-                        Whox = true;
-                        break;
-                }
-            }
-        }
-    }
-}