Beispiel #1
0
        public Task <Vpn[]> GetVpns()
        {
            var vpns         = new List <Vpn>();
            var profileFiles = Directory.GetFiles(PROFILES_PATH, "*.xml");

            foreach (var file in profileFiles)
            {
                var document   = XDocument.Load(file);
                var serverList = document.Root.Element(XName.Get("ServerList", XML_NAMESPACE));
                var hosts      = serverList.Elements(XName.Get("HostEntry", XML_NAMESPACE));
                foreach (var entry in hosts)
                {
                    var id = new VpnId
                    {
                        Name   = entry.Element(XName.Get("HostName", XML_NAMESPACE)).Value,
                        Server = entry.Element(XName.Get("HostAddress", XML_NAMESPACE)).Value
                    };
                    vpns.Add(new Vpn(id.ToString(), id.Name));
                }
            }
            return(Task.FromResult(vpns.ToArray()));
        }