diff -r 000000000000 -r ba25891c3a9e iaupdate/IAD/engine/controller/inc/iaupdatecontentoperation.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/iaupdate/IAD/engine/controller/inc/iaupdatecontentoperation.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,146 @@ +/* +* Copyright (c) 2007-2008 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: CIAUpdateContentOperation +* +*/ + + +#ifndef IA_UPDATE_CONTENT_OPERATION_H +#define IA_UPDATE_CONTENT_OPERATION_H + + +#include +#include "iaupdateoperation.h" + +class CIAUpdateBaseNode; +class MIAUpdateContentOperationObserver; + + +/** + * CIAUpdateContentOperation is an abstract base class + * for node content operations. + */ +class CIAUpdateContentOperation : public CBase, + public MIAUpdateOperation + { + +public: + + /** + * Destructor + */ + virtual ~CIAUpdateContentOperation(); + + +public: // MIAUpdateOperation + + /** + * @see MIAUpdateOperation::StartOperationL + * + * @note Notice, return value is always EFalse + * because this implementation does only checkings but + * does not start operation. Also, iInUse flag is left + * to EFalse. So, it is child classes resonsibility set the + * correct iInUse flag if operation is started. + * + * @return TBool EFalse always. + */ + virtual TBool StartOperationL(); + + /** + * @see MIAUpdateOperation::StartOperationL + */ + virtual void CancelOperation() = 0; + + +protected: + + /** + * Constructor + * + * @param aNode Node of this operation. + * @param aObserver The observer whose call back will be called + * when operation is finished. + */ + CIAUpdateContentOperation( CIAUpdateBaseNode& aNode, + MIAUpdateContentOperationObserver& aObserver ); + + /** + * 2nd. phase constructor + */ + virtual void ConstructL(); + + + /** + * Called when operation completes. + * + * @param aError Error code + */ + void OperationComplete( TInt aError ); + + + /** + * Called when operation progresses. + */ + void OperationProgress( TInt aProgress, TInt aMaxProgress ); + + + /** + * @return CIAUpdateBaseNode& Node whose operation is going on. + */ + CIAUpdateBaseNode& Node() const; + + + /** + * @return MIAUpdateContentOperationObserver& Operation observer. + */ + MIAUpdateContentOperationObserver& Observer() const; + + + /** + * @return TBool ETrue if the operation is going on. Else EFalse. + */ + TBool OperationInUse() const; + + + /** + * @param aInUse ETrue if the operation is going on. Else EFalse. + */ + void SetOperationInUse( TBool aInUse ); + + +private: + + // Prevent these if not implemented + CIAUpdateContentOperation( + const CIAUpdateContentOperation& aObject ); + CIAUpdateContentOperation& operator =( + const CIAUpdateContentOperation& aObject ); + + +private: // data + + // The node that is given when the operation is created. + CIAUpdateBaseNode& iNode; + + // The observer that is given when the operation is created. + MIAUpdateContentOperationObserver& iObserver; + + // This flag informs if the operation is going on. + TBool iInUse; + + }; + +#endif // IA_UPDATE_CONTENT_OPERATION_H +