--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/messagingappbase/smartmessaging/wmlbc/inc/WmlItemEngine.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2002 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:
+* Item Engine owns the setting items.
+*
+*/
+
+
+
+#ifndef CWMLITEMENGINE_H
+#define CWMLITEMENGINE_H
+
+// INCLUDES
+#include <e32base.h>
+
+// FORWARD DECLARATIONS
+class CParsedField;
+class CWmlSubItemBase;
+class CAknWaitDialog;
+class MProgressDialogCallback;
+
+// CLASS DECLARATION
+
+/**
+* CWmlItemEngine owns the individual setting items.
+* It provides methods for manipulating them.
+*/
+NONSHARABLE_CLASS( CWmlItemEngine )
+: public CBase
+ {
+ public: // construction / destruction
+
+ /**
+ * First stage constructor.
+ */
+ static CWmlItemEngine* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CWmlItemEngine();
+
+ public:
+
+ /**
+ * Create the item arrays.
+ * @param aParseFields reference to the parsedfields array.
+ */
+ void CreateItemArraysL( const CArrayPtrSeg<CParsedField>& aParsedFields );
+
+ public:
+
+
+ /**
+ * Get the bookmark count.
+ * @return Number of Bookmark setting items.
+ */
+ TInt BookmarkCount() const;
+
+ /**
+ * Get the Current item.
+ * @return reference to the current item.
+ */
+ CWmlSubItemBase& CurrentItem() const;
+
+ /**
+ * Set the current item.
+ * @param aIndex index of the current item.
+ */
+ void SetCurrentItem( const TInt aIndex );
+
+ void SaveCurrentItemL();
+
+ private:
+
+ /**
+ * The second phase constructor.
+ */
+ void ConstructL();
+
+ /**
+ * Checks the available disk space.
+ * If the current disk space is below critical level
+ * leaves with KErrDiskFull
+ */
+ void CheckDiskSpaceL();
+
+ private: // Data
+
+ /// Pointer to the current item
+ CWmlSubItemBase* iCurrentItem;
+
+ private:
+
+ /// This arrays own the objects.
+ CArrayPtrSeg<CWmlSubItemBase>* iBMArray;
+
+ // This indexes point to to corresponding array.
+ TInt iCurrentBMIndex;
+
+ /// Pointer to the itemarray.
+ CArrayPtrSeg<CWmlSubItemBase>* iItemArray;
+
+ /// Current operation state
+ TInt iOperationState;
+
+ /// Pointer to the wait dialog.
+ CAknWaitDialog* iWaitDialog;
+
+ /// Pointer to dialog callback object.
+ MProgressDialogCallback* iDialogCallback;
+ };
+
+#endif // CWMLITEMENGINE_H
+
+// End of file