using System;
using System.Collections.Generic;
using ThoughtWorks.CruiseControl.Remote.Security;
namespace ThoughtWorks.CruiseControl.Core.Security.Auditing{
/// <summary>
/// Provides an interface for reading audit events.
/// </summary>
/// <title>Security Audit Readers</title>
public interface IAuditReader
{
/// <summary>
/// Reads all the specified number of audit events.
/// </summary>
/// <param name="startPosition">The starting position.</param>
/// <param name="numberOfRecords">The number of records to read.</param>
/// <returns>A list of <see cref="AuditRecord"/>s containing the audit details.</returns>
List<AuditRecord> Read(int startPosition, int numberOfRecords);
/// <summary>
/// Reads all the specified number of filtered audit events.
/// </summary>
/// <param name="startPosition">The starting position.</param>
/// <param name="numberOfRecords">The number of records to read.</param>
/// <param name="filter">The filter to use.</param>
/// <returns>A list of <see cref="AuditRecord"/>s containing the audit details that match the filter.</returns>
List<AuditRecord> Read(int startPosition, int numberOfRecords, AuditFilterBase filter);
}
}
|