class CCL::AsyncSequence

#include <asyncoperation.h>

class AsyncSequence: public CCL::AsyncCompletionHandler
{
public:
    // classes

    class CallItem;

    // methods

    PROPERTY_BOOL (cancelOnError, CancelOnError);
    void then (IAsyncCompletionHandler* handler);

    template  <typename T>
    int add (const T& lambda);

    template  <typename T>
    void then (const T& lambda);

    template  <typename T>
    void then (
        T* target,
        typename MemberFuncCompletionHandler <T>::MemberFunc memberFunc
    );

    Promise start ();
    bool isStarted () const;
    void resume ();
    void cancel ();
    bool isEmpty () const;
    int getCount () const;
    Variant getResult (int index) const;
    IAsyncOperation* getOperation (int index) const;
};

Inherited Members

public:
    // fields

     IAsyncCompletionHandler;

    // 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 void CCL_API onCompletion (IAsyncOperation& operation) = 0;
    virtual void CCL_API onCompletion (IAsyncOperation& operation);