Changeset 2703


Ignore:
Timestamp:
05/25/12 04:35:53 (2 years ago)
Author:
lowjoel
Message:

Implemented storing the report ID information in Status.txt as well. This is an extension of the format and should not break old clients opening the file.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/eraser/Eraser.BlackBox/BlackBoxReport.cs

    r2697 r2703  
    184184 
    185185        /// <summary> 
    186         /// Gets or sets whether the given report has been uploaded to the server. 
     186        /// Gets whether the given report has been uploaded to the server. 
    187187        /// </summary> 
    188188        public bool Submitted 
     
    190190            get 
    191191            { 
    192                 return Status == 1; 
    193             } 
    194             set 
    195             { 
    196                 Status = Convert.ToByte(value); 
     192                return Status[0] == 1; 
     193            } 
     194            internal set 
     195            { 
     196                byte[] status = Status; 
     197                status[0] = Convert.ToByte(value); 
     198                Status = status; 
     199            } 
     200        } 
     201 
     202        /// <summary> 
     203        /// Gets the ID of the current report returned by the server during upload. 
     204        /// This will be 0 if <see cref="Submitted"/> is false. 
     205        /// </summary> 
     206        public int ID 
     207        { 
     208            get 
     209            { 
     210                return BitConverter.ToInt32(Status, 1); 
     211            } 
     212 
     213            internal set 
     214            { 
     215                byte[] bytes = BitConverter.GetBytes(value); 
     216                byte[] status = Status; 
     217                Buffer.BlockCopy(bytes, 0, status, 1, bytes.Length); 
     218                Status = status; 
    197219            } 
    198220        } 
     
    201223        /// Gets or sets the status of the report. 
    202224        /// </summary> 
    203         private byte Status 
    204         { 
    205             get 
    206             { 
    207                 byte[] buffer = new byte[1]; 
     225        private byte[] Status 
     226        { 
     227            get 
     228            { 
     229                byte[] buffer = new byte[5]; 
    208230                using (FileStream stream = new FileStream(System.IO.Path.Combine(Path, StatusFileName), 
    209231                    FileMode.OpenOrCreate, FileAccess.Read, FileShare.Read)) 
     
    212234                } 
    213235 
    214                 return buffer[0]; 
     236                return buffer; 
    215237            } 
    216238 
    217239            set 
    218240            { 
    219                 byte[] buffer = { value }; 
    220241                using (FileStream stream = new FileStream(System.IO.Path.Combine(Path, StatusFileName), 
    221242                    FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read)) 
    222243                { 
    223                     stream.Write(buffer, 0, buffer.Length); 
     244                    stream.Write(value, 0, Math.Min(value.Length, 5)); 
    224245                } 
    225246            } 
Note: See TracChangeset for help on using the changeset viewer.