using MediaBrowser.Model.FileOrganization;
using MediaBrowser.Model.Querying;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Controller.FileOrganization
{
public interface IFileOrganizationService
{
///
/// Processes the new files.
///
void BeginProcessNewFiles();
///
/// Deletes the original file.
///
/// The result identifier.
/// Task.
Task DeleteOriginalFile(string resultId);
///
/// Clears the log.
///
/// Task.
Task ClearLog();
///
/// Performs the organization.
///
/// The result identifier.
/// Task.
Task PerformOrganization(string resultId);
///
/// Performs the episode organization.
///
/// The request.
/// Task.
Task PerformEpisodeOrganization(EpisodeFileOrganizationRequest request);
///
/// Gets the results.
///
/// The query.
/// IEnumerable{FileOrganizationResult}.
QueryResult GetResults(FileOrganizationResultQuery query);
///
/// Gets the result.
///
/// The identifier.
/// FileOrganizationResult.
FileOrganizationResult GetResult(string id);
///
/// Gets the result by source path.
///
/// The path.
/// FileOrganizationResult.
FileOrganizationResult GetResultBySourcePath(string path);
///
/// Saves the result.
///
/// The result.
/// The cancellation token.
/// Task.
Task SaveResult(FileOrganizationResult result, CancellationToken cancellationToken);
}
}