Beispiel #1
0
        public void ReadRevision(out string revision)
        {
            revision = default(string);
            var offset = 0;

            offset += VersionParserUtility.AssertChar(Contents, _index + offset, ' ');
            offset += VersionParserUtility.AssertChar(Contents, _index + offset, 'r');

            var offsetParenthesis = VersionParserUtility.TryAssertChar(Contents, _index + offset, '(');

            if (offsetParenthesis > 0)
            {
                offset += offsetParenthesis;

                string revisionFlag;
                offset += VersionParserUtility.ReadWord(Contents, _index + offset, out revisionFlag);

                if (revisionFlag != "Unknown")
                {
                    throw new VersionFormatException("Expected flag for unknown revision but found '" + revisionFlag + "'");
                }

                offset += VersionParserUtility.AssertChar(Contents, _index + offset, ')');
            }
            else
            {
                int revisionNumber;
                offset  += VersionParserUtility.ReadPositiveInteger(Contents, _index + offset, out revisionNumber);
                revision = "r" + revisionNumber;
                //string revisionData;
                //offset += VersionParserUtility.ReadWord(Contents, _index + offset, out revisionData);
                //revision = "r" + revisionData;
            }
            _index += offset;
        }
Beispiel #2
0
        public void ReadBuildType(out VersionBuildType buildType, out int buildNumber)
        {
            buildType   = default(VersionBuildType);
            buildNumber = default(int);
            var offset = 0;

            offset += VersionParserUtility.AssertChar(Contents, _index + offset, '-');

            string buildTypeString;

            offset += VersionParserUtility.ReadWord(Contents, _index + offset, out buildTypeString);

            switch (buildTypeString)
            {
            case "beta":
                buildType = VersionBuildType.Beta;
                break;

            case "custom":
                buildType = VersionBuildType.Custom;
                break;

            default:
                throw new VersionFormatException("Unknown build type: " + buildTypeString);
            }

            offset += VersionParserUtility.ReadPositiveInteger(Contents, _index + offset, out buildNumber);

            _index += offset;
        }
Beispiel #3
0
        public void ReadVersionUpdate(out int update)
        {
            var offset = 0;

            offset += VersionParserUtility.AssertChar(Contents, _index + offset, '.');
            offset += VersionParserUtility.ReadPositiveInteger(Contents, _index + offset, out update);
            _index += offset;
        }
Beispiel #4
0
        public void ReadVersionHotfix(out int hotfix)
        {
            var offset = 0;

            offset += VersionParserUtility.AssertChar(Contents, _index + offset, '.');
            offset += VersionParserUtility.ReadPositiveInteger(Contents, _index + offset, out hotfix);
            _index += offset;
        }
Beispiel #5
0
        public void ReadDate(out DateTime date, char separator)
        {
            var offset = 0;
            int year, month, day;

            offset += VersionParserUtility.AssertChar(Contents, _index + offset, separator);
            offset += VersionParserUtility.AssertChar(Contents, _index + offset, '(');
            offset += VersionParserUtility.ReadPositiveInteger(Contents, _index + offset, out year);
            offset += VersionParserUtility.AssertChar(Contents, _index + offset, '-');
            offset += VersionParserUtility.ReadPositiveInteger(Contents, _index + offset, out month);
            offset += VersionParserUtility.AssertChar(Contents, _index + offset, '-');
            offset += VersionParserUtility.ReadPositiveInteger(Contents, _index + offset, out day);
            offset += VersionParserUtility.AssertChar(Contents, _index + offset, ')');

            date    = new DateTime(year, month, day);
            _index += offset;
        }
Beispiel #6
0
        public void ReadVersionMajor(out int major)
        {
            var offset = VersionParserUtility.ReadPositiveInteger(Contents, _index, out major);

            _index += offset;
        }