ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/RomCheater/trunk/RomCheater/Serialization/SearchResultReader.cs
(Generate patch)

Comparing trunk/RomCheater/Serialization/SearchResultReader.cs (file contents):
Revision 443 by william, Thu Jun 21 20:45:35 2012 UTC vs.
Revision 444 by william, Sun Jun 2 18:56:41 2013 UTC

# Line 14 | Line 14 | namespace RomCheater.Serialization
14      }
15      public class SearchResultReader : SerializationReader, ISearchResultReader
16      {
17 <        public SearchResultReader() : base() { ReadHeader(); }
17 >        //public SearchResultReader() : base() { ReadHeader(); }
18 >        public SearchResultReader(Guid guid) : base(guid) { ReadHeader(guid); }
19  
20 <        private void ReadHeader()
20 >        private void ReadHeader(Guid guid)
21          {
22              try
23              {
# Line 30 | Line 31 | namespace RomCheater.Serialization
31                  }
32                  // version (int)
33                  int version = binReader.ReadInt32();
34 <                if (version != 1)
34 >
35 >                if (version == 1)
36 >                {
37 >                    // do nothing
38 >                }
39 >                else if (version == 2)
40 >                {
41 >                    int guid_array_length = binReader.ReadInt32();
42 >                    byte[] guid_array = new byte[guid_array_length];
43 >                    binReader.Read(guid_array, 0, guid_array_length);
44 >                    Guid g = new Guid(guid_array);
45 >                    if (g != guid)
46 >                    {
47 >                        throw new InvalidOperationException(string.Format("Encountered wrong search results guid: read '{1}' excpected '{2}'", g.ToString(), guid.ToString()));
48 >                    }
49 >                }
50 >                else
51                  {
52 <                    throw new InvalidOperationException(string.Format("Encountered unexpected version: {0} expected: {1}", version, 1));
52 >                    throw new InvalidOperationException(string.Format("Encountered unexpected version: {0} expected: {1} or {2}", version, 1, 2));
53                  }
54                  // resultcount
55                  int resultcount = binReader.ReadInt32();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines