Example #1
0
 public ServerMetaData(string name,
                       ServerAddress address,
                       string root,
                       DateTime date,
                       string dateTimeOffset,
                       int uptime,
                       ServerVersion version,
                       ServerLicense license,
                       string licenseIp,
                       bool caseSensitive,
                       bool unicodeEnabled,
                       bool moveEnabled
                       )
 {
     Name           = name;
     Address        = address;
     Root           = root;
     Date           = date;
     DateTimeOffset = dateTimeOffset;
     Uptime         = uptime;
     Version        = version;
     License        = license;
     LicenseIp      = licenseIp;
     CaseSensitive  = caseSensitive;
     UnicodeEnabled = unicodeEnabled;
     MoveEnabled    = moveEnabled;
 }
Example #2
0
        /// <summary>
        /// Read the fields from the tagged output of an info command
        /// </summary>
        /// <param name="objectInfo">Tagged output from the 'info' command</param>
        public void FromGetServerMetaDataCmdTaggedOutput(TaggedObject objectInfo)
        {
            RawData = objectInfo;

            if (objectInfo.ContainsKey("serverName"))
            {
                Name = objectInfo["serverName"];
            }

            if (objectInfo.ContainsKey("serverAddress"))
            {
                Address = new ServerAddress(objectInfo["serverAddress"]);
            }

            if (objectInfo.ContainsKey("serverRoot"))
            {
                Root = objectInfo["serverRoot"];
            }

            if (objectInfo.ContainsKey("serverDate"))
            {
                string   dateTimeString = objectInfo["serverDate"];
                string[] dateTimeArray  = dateTimeString.Split(' ');
                DateTime v;
                DateTime.TryParse(dateTimeArray[0] + " " + dateTimeArray[1], out v);
                Date = v;
                for (int idx = 2; idx < dateTimeArray.Count(); idx++)
                {
                    DateTimeOffset += dateTimeArray[idx] + " ";
                }
                DateTimeOffset = DateTimeOffset.Trim();
            }

            if (objectInfo.ContainsKey("serverUptime"))
            {
                int v;
                int.TryParse(objectInfo["serverUptime"], out v);
                Uptime = v;
            }


            if (objectInfo.ContainsKey("serverVersion"))
            {
                string   serverVersion = objectInfo["serverVersion"];
                string[] info          = serverVersion.Split('/', ' ');
                string   product       = info[0];
                string   platform      = info[1];
                string   major         = info[2];
                string   minor         = info[3];
                char[]   trimChars     = { '(', ')' };
                string   dateString    = info[4] + "-" + info[5] + "-" + info[6];
                dateString = dateString.Trim(trimChars);
                DateTime date = new DateTime(1, 1, 1);
                DateTime.TryParse(dateString, out date);
                Version = new ServerVersion(product, platform, major, minor, date);
            }



            if (objectInfo.ContainsKey("serverLicence"))
            {
                string   lic  = objectInfo["serverLicence"];
                string[] info = lic.Split(' ');
                int      users;
                int.TryParse(info[0], out users);
                DateTime expires;
                DateTime.TryParse(info[2], out expires);
                License = new ServerLicense(users, expires);
            }

            if (objectInfo.ContainsKey("serverLicenceIp"))
            {
                LicenseIp = objectInfo["serverLicenceIp"];
            }

            if (objectInfo.ContainsKey("caseHandling"))
            {
                if (objectInfo["caseHandling"] == "sensitive")
                {
                    CaseSensitive = true;
                }
            }


            if (objectInfo.ContainsKey("unicode"))
            {
                if (objectInfo["unicode"] == "enabled")
                {
                    UnicodeEnabled = true;
                }
            }

            if (objectInfo.ContainsKey("move"))
            {
                if (objectInfo["move"] == "disabled")
                {
                    MoveEnabled = false;
                }
            }
            else
            {
                MoveEnabled = true;;
            }
        }