--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ncdengine/provider/deviceinteraction/inc/ncdactiveoperationobserver.h Tue Jan 26 12:06:03 2010 +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 <e32base.h>
+
+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