diff -r 000000000000 -r ba25891c3a9e ncdengine/provider/deviceinteraction/inc/ncdactiveoperationobserver.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ncdengine/provider/deviceinteraction/inc/ncdactiveoperationobserver.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,124 @@ +/* +* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: CNcdActiveOperationObserver +* +*/ + + +#ifndef NCD_ACTIVE_OPERATION_OBSERVER_H +#define NCD_ACTIVE_OPERATION_OBSERVER_H + + +#include + +class MNcdAsyncOperationObserver; + + +/** + * CNcdActiveOperationObserver + * + * This is a simple CActive class that observes when another + * operation has finished. When this observer is informed + * about the completion of another operation + * this class object informs the MNcdAsyncOperationObserver + * about the completion. + * + * @see MNcdAsyncOperationObserver + */ +class CNcdActiveOperationObserver : public CActive +{ + +public: + + /** + * @param MNcdAsyncOperationObserver& The information about the completion of + * an operation is forwarded to this observer by calling its callback + * function. + * @return CNcdActiveOperationObserver* Newly created object. + */ + static CNcdActiveOperationObserver* NewL( MNcdAsyncOperationObserver& aObserver ); + + /** + * @see NewL + */ + static CNcdActiveOperationObserver* NewLC( MNcdAsyncOperationObserver& aObserver ); + + + /** + * Destructor + */ + virtual ~CNcdActiveOperationObserver(); + + + /** + * Sets this object active for observing. + * + * @note iStatus has to be set to value KRequestPending + * by some other object before calling this function. + */ + void StartToObserve(); + + +protected: // CActive + + /** + * @see CActive::DoCancel + */ + virtual void DoCancel(); + + /** + * @see CActive::RunL + */ + virtual void RunL(); + + +protected: + + /** + * @see NewL + */ + CNcdActiveOperationObserver( MNcdAsyncOperationObserver& aObserver ); + + /** + * @see NewL + */ + virtual void ConstructL(); + + + /** + * @return MNcdAsyncOperationObserver& The information + * about the completion of an operation is forwarded to + * this observer by calling its callback function. + * Ownership is not transferred. + */ + MNcdAsyncOperationObserver& AsyncObserver() const; + + +private: + + // Prevent these if not implemented + CNcdActiveOperationObserver( const CNcdActiveOperationObserver& aObject ); + CNcdActiveOperationObserver& operator =( const CNcdActiveOperationObserver& aObject ); + + +private: // data + + // The information about the completion of + // an operation is forwarded to this observer + // by calling its callback function. + MNcdAsyncOperationObserver& iObserver; + +}; + +#endif // NCD_ACTIVE_OPERATION_OBSERVER_H