public IEnumerable<LapTimeEntry> GetEntries() {
var directory = new DirectoryInfo(Path.Combine(_sidekickDirectory, "personal_best"));
if (!directory.Exists) yield break;
foreach (var file in directory.GetFiles("*_pb.ini")) {
long time;
using (var stream = File.Open(file.FullName, FileMode.Open, FileAccess.Read, FileShare.Read))
using (var reader = new BinaryReader(stream)) {
if (!ReadPickle(reader, out time) || time == 0) continue;
}
string carId, trackLayoutId;
if (TryToGuessCarAndTrack(file.FullName, out carId, out trackLayoutId)) {
yield return new LapTimeEntry(SourceId, carId, trackLayoutId,
file.CreationTime, TimeSpan.FromMilliseconds(time));
}
}
}