8#include <imtbase/IReferenceCollection.h>
11#include <imthype/IJobQueueManager.h>
18class IJobTicket:
virtual public iser::ISerializable
31 typedef std::function<iprm::IParamsSetSharedPtr(
const QByteArray& contextId,
const QByteArray& typeId)> ParamsFactoryFunction;
33 virtual QByteArray GetTypeId()
const = 0;
34 virtual void SetTypeId(
const QByteArray& typeId) = 0;
36 virtual QByteArray GetUuid()
const = 0;
37 virtual void SetUuid(
const QByteArray& uuid) = 0;
39 virtual QString GetJobName()
const = 0;
40 virtual void SetJobName(
const QString& name) = 0;
42 virtual QByteArray GetContextId()
const = 0;
43 virtual void SetContextId(
const QByteArray& contextId) = 0;
45 virtual iprm::IParamsSetSharedPtr GetParams()
const = 0;
46 virtual iprm::IParamsSetSharedPtr CreateParams()
const = 0;
47 virtual void SetParams(
const iprm::IParamsSetSharedPtr& paramsPtr) = 0;
52 virtual double GetProgress()
const = 0;
53 virtual void SetProgress(
double progress) = 0;
55 virtual const IJobOutput* GetResults()
const = 0;
56 virtual void SetResults(
const IJobOutput& results) = 0;
62 virtual void SetParamsFactory(
const ParamsFactoryFunction& factory) = 0;
66typedef istd::TSharedInterfacePtr<IJobTicket> IJobTicketSharedPtr;