Example #1
0
        public static NFSClient Parse(string str)
        {
            var data = str.Split(new char[] { '(', ')' });

            var result = new NFSClient();

            result.Client = data[0];
            if (data.Length > 1)
            {
                data = data.Skip(1).ToArray();
                var args = data[0].Split(',');
                if (args.Contains("sync"))
                {
                    result.IOMode = NFSIOMode.Sync;
                }

                if (args.Contains("rw"))
                {
                    result.Permission = NFSPermission.ReadAndWrite;
                }

                if (args.Contains("no_root_squash"))
                {
                    result.Squash = NFSSquash.No;
                }
                else if (data.Contains("all_squash"))
                {
                    result.Squash = NFSSquash.All;
                }
            }

            return(result);
        }
Example #2
0
        public static NFSMount Parse(string str)
        {
            var reg  = new Regex(@"\s+");
            var data = reg.Split(str, 2);

            var result = new NFSMount();

            result.Path = data[0];
            if (data.Length > 1)
            {
                result.Clients.AddRange(
                    data[1].Split(new char[] { ')' }, StringSplitOptions.RemoveEmptyEntries)
                    .Select(x => x.Trim() + ")")
                    .Select(x => NFSClient.Parse(x))
                    );
            }

            return(result);
        }