javaextensions/pim/framework/inc.s60/cpimtodoitem.h
branchRCL_3
changeset 14 04becd199f91
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javaextensions/pim/framework/inc.s60/cpimtodoitem.h	Tue Apr 27 16:30:29 2010 +0300
@@ -0,0 +1,179 @@
+/*
+* Copyright (c) 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:  PIM ToDo item specialization.
+ *
+*/
+
+
+#ifndef CPIMTODOITEM_H
+#define CPIMTODOITEM_H
+
+//  INCLUDES
+#include "cpimitem.h"
+#include "mpimtodoitem.h"
+
+#include "mpimtodoadaptermanager.h"
+#include "mpimtodolistadapter.h"
+
+// FORWARD DECLARATIONS
+class CPIMToDoValidator;
+
+// CLASS DECLARATION
+
+/**
+ *  PIM item to-do specialization.
+ */
+NONSHARABLE_CLASS(CPIMToDoItem): public CPIMItem,
+        public MPIMToDoItem
+{
+
+public: // Constructors and destructor
+
+    /**
+     * Two-phased constructor.
+     */
+    static CPIMToDoItem* NewL(
+        const CPIMToDoValidator& aValidator);
+
+    static CPIMToDoItem* NewLC(
+        const CPIMToDoValidator& aValidator);
+
+    /**
+     * Destructor.
+     */
+    virtual ~CPIMToDoItem();
+
+public: // New functions
+
+    /**
+     * Sets the associated to-do adapter manager and to-do list
+     * adapter.
+     *
+     * @param aToDoAdapterManager Adapter manager. Must not be NULL.
+     * @param aToDoListAdapter List adapter. May be NULL.
+     */
+    void SetToDoAdapterAssociation(
+        MPIMToDoAdapterManager* aToDoAdapterManager,
+        MPIMToDoListAdapter* aToDoListAdapter);
+
+    /**
+     * Removes the to-do adapter associations.
+     * Performs any housekeeping related to removing the adapter
+     * associations, if necessary.
+     */
+    void RemoveAdapterAssociation();
+
+public: // Functions from CPIMItem
+
+    TPIMListType ItemType() const;
+    void commit();
+    void ListClosed();
+    TBool IsReadOnly(const TPIMField& aField);
+
+    void AddIntL(
+        TPIMField aField,
+        TPIMAttribute aAttributes,
+        TInt aValue);
+
+    void SetIntL(
+        TPIMField aField,
+        TInt aIndex,
+        TPIMAttribute aAttributes,
+        TInt aValue);
+
+public: // Functions from MPIMToDoItem
+
+    /**
+     * Returns item data representation of this class
+     * There are non-const and const version of this
+     * method available
+     */
+    MPIMItemData& ItemData();
+    const MPIMItemData& ItemData() const;
+
+    /**
+     * Sets todo item id. This functions was introduces because
+     * todo item ids are handled as strings
+     *
+     * @param aToDoItemId New event item id. If one exists, it will
+     *        be overwriten
+     */
+    void SetToDoItemIdL(const TPIMItemID& aToDoItemId);
+
+    /**
+     * Returns the item id of this event item. This function was
+     * introduced because event todo ids are handled as strings
+     *
+     * @return Event item id
+     */
+    const TPIMItemID ToDoItemId() const;
+
+    /**
+     * Sets the last modified date/time of the item
+     * @param aLastModified Last modification date of this item
+     */
+    void SetLastModifiedL(TPIMDate aLastModified);
+
+    /**
+     * Resets the item's internal state and remove all data
+     * associated with this item. The item is ready for use
+     * after reset
+     */
+    void PrepareForLoadL();
+
+public: // functions from pimbaseitem
+
+    int getPreferredIndex(TPIMField aField) const;
+
+    int getRepeatHandle()
+    {
+        return 0;
+    }
+
+    bool isItemRepeating() const
+    {
+        return false;
+    }
+
+    void setItemRepeating(jboolean /*aSetRepeating*/) {}
+
+protected: // New functions
+
+    /**
+     * Simplifies given priority between 0 and 9 (inclusive)
+     * to 1 (High), 4 (Medium) or 7 (Low).
+     *
+     * @return Simplified priority. If the given value is out
+     *         of the [0,9] range, the value is returned as such.
+     */
+    TInt SimplifyPriority(TInt aPriority);
+
+protected: // Constructors
+
+    /**
+     * C++ constructor.
+     */
+    CPIMToDoItem(const CPIMToDoValidator& aValidator);
+
+private: // Data
+
+    /** Associated to-do adapter manager. Not owned. May be NULL. */
+    MPIMToDoAdapterManager* iToDoAdapterManager;
+
+    /** Associated to-do list adapter. Not owned. May be NULL. */
+    MPIMToDoListAdapter* iToDoListAdapter;
+};
+
+#endif // CPIMTODOITEM_H
+// End of File