70#define CHECKABORT(abort) THROW_IF((abort) && (abort)->abortSignalled(), EDL_ERR_ABORTED);
157#define PROGRESSTICK(progressTick) { if (progressTick) (progressTick)->tick(); }
158#define PROGRESSTICKMAX(progressTick) { if (progressTick) (progressTick)->tickMax(); }
222 static EDL_API IProgressMonitorPtr
create (
const IProgressTickPtr &progressTick,
const IAbortPtr &abort);
231 static EDL_API IProgressMonitorPtr
create (
const IProgressTickPtr &progressTick);
A simple class to signal an abort in processing.
Definition iabort.h:39
static EDL_API IAbortPtr create()
Create an abort signal.
virtual bool abortSignalled()=0
Determine if the abort has been signalled.
virtual void signalAbort()=0
Signal that the output operation should be aborted.
virtual ~IAbort()
Definition iabort.h:41
virtual void resetSignal()=0
Reset the abort object to an unsignalled state.
An abstract class allowing a callback respond to events during the processing of a document....
Definition iabort.h:168
void(* ProgressEventHandlerCallbackFunc)(void *priv, Event evt)
A callback function type for receiving events.
Definition iabort.h:184
static EDL_API IProgressEventHandlerPtr create(ProgressEventHandlerCallbackFunc cbFunc, void *cbPriv)
Create the IProgressEventHandler object with a callback function.
virtual void handleEvent(Event evt)=0
Handles an event.
virtual ~IProgressEventHandler()
Definition iabort.h:179
Event
Definition iabort.h:171
@ eEvtNone
Definition iabort.h:172
@ eEvtPageWriteEnd
Definition iabort.h:174
@ eEvtNodeWriteEnd
Definition iabort.h:176
@ eEvtNodeWriteStart
Definition iabort.h:175
@ eEvtPageWriteStart
Definition iabort.h:173
An abstract class encapsulating both an IProgressTick and an IAbort so that the caller can monitor th...
Definition iabort.h:209
static EDL_API IProgressMonitorPtr create(const IProgressTickPtr &progressTick, const IAbortPtr &abort)
Create smart pointer to an IProgressMonitor object.
virtual ~IProgressMonitor()
Definition iabort.h:211
static EDL_API IProgressMonitorPtr create(const IAbortPtr &abort)
Create smart pointer to an IProgressMonitor object.
static EDL_API IProgressMonitorPtr create(const IProgressTickPtr &progressTick)
Create smart pointer to an IProgressMonitor object.
virtual void setProgressEventHandler(const IProgressEventHandlerPtr &progressEventHandler)=0
Set the IProgressEventHandler object for the progress monitor.
virtual void postEvent(IProgressEventHandler::Event evt)=0
Posts an event via the attached progress event handler for this monitor object.
virtual IAbortPtr getAbort() const =0
Return the smart pointer to an IAbort object.
virtual IProgressTickPtr getProgressTick() const =0
Return the IProgressTick object or NULL if there was no such object.
An abstract class allowing a callback to monitor the progress of a task. The callback can either pass...
Definition iabort.h:84
void(* FloatProgressCallbackFunc)(void *priv, float progress)
A callback type for receiving progress information from 0.0 (starting) through 1.0 (complete)
Definition iabort.h:90
virtual ~IProgressTick()
Definition iabort.h:98
static EDL_API IProgressTickPtr create(FloatProgressCallbackFunc cbFunc, void *cbPriv)
Create the IProgressTick object with an floating point callback function.
virtual void setCallback(FloatProgressCallbackFunc cbFunc, void *cbPriv)=0
Set the integer type callback function.
void(* IntProgressCallbackFunc)(void *priv, uint32 currentCount, uint32 maxCount)
A callback type for receiving progress information as an integer. The value of currentCount goes from...
Definition iabort.h:96
virtual void setTickMax(const uint32 tickMax)=0
Set the maximum counter value.
virtual void tickReset()=0
Reset the internal counter to 0.
static EDL_API IProgressTickPtr create(IntProgressCallbackFunc cbFunc, void *cbPriv)
Create the IProgressTick object with an integer callback function.
virtual void tickMax()=0
Set the tick counter to the maximum value and invoke the callback function.
virtual void setCallback(IntProgressCallbackFunc cbFunc, void *cbPriv)=0
Set the integer type callback function.
virtual void tick()=0
Increment the tick counter and optionally invoke the callback function.
Base class Interface for all Reference Counted objects.
Definition ircobject.h:35
#define _BEGIN_EDL_NAMESPACE
Definition edlnamespaces.h:75
#define _END_EDL_NAMESPACE
Definition edlnamespaces.h:76
unsigned int uint32
Definition edltypes.h:34
#define EDL_API
Definition edltypes.h:86
Interface for Reference Counted Object.
EDL smart pointers which, in conjunction with the IRCOject class, provide reference-counted and autom...
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211