class CCL::BatchOperation::Task

Overview

#include <batchoperation.h>

class Task: public CCL::Object
{
public:
    // enums

    enum States;

    // fields

     destPath;
    DestPath Title userData;

    // methods

    DECLARE_CLASS_ABSTRACT (Task, Object);
    PROPERTY_OBJECT (Url, sourcePath, SourcePath);
    DestPath PROPERTY_VARIABLE (int, state, State);
    DestPath Title PROPERTY_STRING (errorText, ErrorText);
    bool hasProgressInfo () const;
    void hasProgressInfo (bool state);
    bool succeeded () const;
    bool failed () const;
    bool isDisabled () const;
    void disable ();
    virtual String getProgressText ();
    virtual bool prepare ();
    virtual bool perform (IProgressNotify* progress);
    virtual IAsyncOperation* performAsync ();
    virtual void abort ();
    virtual void onFinished ();
    virtual void onCanceled ();
};

Inherited Members

public:
    // typedefs

    typedef CStringRef MemberID;

    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;
    Unknown& operator = (const Unknown&);
    unsigned int getRetainCount () const;
    virtual Object*CCL_API revealObject (const void* moduleAddress) = 0;
    virtual void CCL_API addObserver (IObserver* observer) = 0;
    virtual void CCL_API removeObserver (IObserver* observer) = 0;
    virtual void CCL_API signal (MessageRef msg) = 0;
    virtual void CCL_API deferSignal (IMessage* msg) = 0;
    static ISubject void addObserver (IUnknown* unknown, IObserver* observer);
    static void removeObserver (IUnknown* unknown, IObserver* observer);
    virtual void CCL_API notify (ISubject* subject, MessageRef msg) = 0;

    static IObserver void notify (
        IUnknown* unknown,
        ISubject* subject,
        MessageRef msg
    );

    virtual const ITypeInfo&CCL_API getTypeInfo () const = 0;
    virtual tbool CCL_API getProperty (Variant& var, MemberID propertyId) const = 0;
    virtual tbool CCL_API setProperty (MemberID propertyId, const Variant& var) = 0;
    virtual tbool CCL_API getPropertyNames (IPropertyCollector& collector) const = 0;
    virtual tbool CCL_API invokeMethod (Variant& returnValue, MessageRef msg) = 0;
    DECLARE_BASE_CLASS (Object);
    virtual void CCL_API removeObserver (IObserver* observer);
    virtual void CCL_API signal (MessageRef msg);
    virtual void CCL_API deferSignal (IMessage* msg);
    virtual void deferChanged ();
    virtual void CCL_API notify (ISubject* subject, MessageRef msg);
    virtual bool equals (const Object& obj) const;
    virtual int compare (const Object& obj) const;
    virtual bool load (const Storage& storage);
    virtual bool save (const Storage& storage) const;
    virtual bool save (const OutputStorage& storage) const;
    virtual bool toString (String& string, int flags = 0) const;
    virtual int getHashCode (int size) const;
    IUnknown* asUnknown ();
    static void addGarbageCollected (Object* obj, bool globalScope = true);
    static void deferDestruction (Object* obj);
    static const void* getModuleAddress ();

Detailed Documentation

Methods

DestPath Title PROPERTY_STRING (errorText, ErrorText)

< task title in “TaskList” dialog

void disable ()

task will be skipped, even prepare will not be called

virtual String getProgressText ()

progress text for the whole task

virtual bool prepare ()

called before performing, returns true if it should be performed.

virtual bool perform (IProgressNotify* progress)

perform the actual work

virtual IAsyncOperation* performAsync ()

perform asynchronously

virtual void abort ()

called immediately when user hits cancel button

virtual void onFinished ()

notification after all task are finished.

virtual void onCanceled ()

notification when user has canceled.