using System;
using AmagnoVirtualPrinter.Agent.Core.Model;
using JetBrains.Annotations;
namespace AmagnoVirtualPrinter.Agent.Core.Interfaces
{
public interface IJobService
{
///
/// Starts the in a new Process.
///
///
/// Throws when the is null.
void Start([NotNull]IJob job);
///
/// Creates an new from the ini file and the raw path.
///
///
///
/// An new object.
/// Throws when the or the is null or empty.
[NotNull]
IJob CreateJob([NotNull]string iniPath, [NotNull]string rawPath);
///
/// Reads the from the
///
///
/// A
/// Throws when the is null or empty.
PrintStatus ReadStatus([NotNull]string iniPath);
///
/// Starts a new process to finish the .
///
///
void Finish([NotNull]IJob job);
///
/// Gets the from the ini file.
///
/// The path to the ini file
///
JobStatus ReadJobStatus(string iniPath);
///
/// Gets the
///
/// The path to the ini file
///
SessionInfo GetSessionInfo(string iniFile);
}
}