//-----------------------------------------------------------------------------
//
// Copyright (C) Microsoft Corporation.  All Rights Reserved.
//
//-----------------------------------------------------------------------------
using System;
using System.IO;

namespace Microsoft.Cci.Pdb {
  internal class PdbReader {
    internal PdbReader(Stream reader, int pageSize) {
      this.pageSize = pageSize;
      this.reader = reader;
    }

    internal void Seek(int page, int offset) {
      reader.Seek(page * pageSize + offset, SeekOrigin.Begin);
    }

    internal void Read(byte[] bytes, int offset, int count) {
      reader.Read(bytes, offset, count);
    }

    internal int PagesFromSize(int size) {
      return (size + pageSize - 1) / (pageSize);
    }

    internal int PageSize {
      get { return pageSize; }
    }

    internal readonly int pageSize;
    internal readonly Stream reader;
  }
}