diff -r 8e7494275d3a -r 4f0867e42d62 omads/omadsextensions/adapters/notes/inc/nsmlnotepadDatabase.h --- a/omads/omadsextensions/adapters/notes/inc/nsmlnotepadDatabase.h Tue Aug 31 15:05:37 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,224 +0,0 @@ -/* -* Copyright (c) 2003 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: calss which directly deal with notepad database. -* -*/ - - -#ifndef NSMLNOTEPADDATABASE_H -#define NSMLNOTEPADDATABASE_H - - -//INCLUDES -#include -#include - -//CLASS Forward declarations -class CNpdItem; -class CCalSession; -class CCalInstanceView; -class CCalEntryView; - -const TInt KMaxFileLength(255); - -//Class declarations - -// ------------------------------------------------------------------------------------------------ -// CNSmlNotepadDatabase -// ------------------------------------------------------------------------------------------------ - -class CNSmlNotepadDatabase : public CBase - { - public: - /** - * Creates new instance of CNpdSmlDbModel based class. - * @return CNpdSmlDbModel* Newly created instance. - */ - static CNSmlNotepadDatabase* NewL(); - - virtual ~CNSmlNotepadDatabase(); - - private: - // Constructor - CNSmlNotepadDatabase(); - - /** - * 2-phase constructor - */ - void ConstructL(); - - public: - - /** - * Opens notepad database file. If file does not exist, or is corrupted, - * a new, empty file is created. - * @param aStoreName, name of the notepad database file name - */ - void OpenL(const TDesC& aStoreName); - - /** - * Adds a note to the database. - * @param aNote the note to be added. - * @param aKey database index of the newly added note. - */ - void AddNoteL(CNpdItem& aNote, TInt &aKey); - - /** - * Deletes a note from the database. - * @param aKey database index of the note to be deleted. - */ - void DeleteNoteL(const TInt aKey); - - - /** - * Closes the database. - */ - void Close(); - - /** - * Reads a note from the database. - * @param aKey database index of the desired note. - * @param aNote reference to note object, used to return note data. - */ - void GetNoteL(const TInt aKey, CNpdItem& aNote); - - /** - * Updates a note in the database. - * @param aKey database index of the note to be updated. - * @param aItem note data. This data overrides existing note. - */ - void UpdateNoteL(const TInt aKey, CNpdItem& aItem); - - - /** - * Empties the database. All notes are deleted. - * @return KErrNone if successful, a system wide error code otherwise. - */ - TInt ResetL(); - - /** - * Checks if the database has been succesfully openend - * @return ETrue if database has been succesfully opened, EFalse otherwise - */ - TBool IsOpen(); - - - /** - * Fetch all the note items if aKey is not present. Else item with the aKey. - * @returns array of NpdItem. - */ - CArrayPtr* FetchItemsLC(TBool aIncludeText = EFalse, TInt* aKey = 0); - - /** - * Close all the CalSession related sessions - * viz., instance view, entry view and calsession itself - */ - void CloseAgendaSessions(); - - private: // Data - - // Flag for whether database has been opened - TBool iOpened; - CCalSession* iSession; - CCalInstanceView* iInstanceView; - CCalEntryView* iEntryView; - - enum TNotepadColumnType - { - ENotepadKey = 1, // this must be 1 (DBMS/SQL restriction) - ENotepadUpdateTime, - ENotepadMemo - }; - }; - -class CNpdItem : public CBase - { - public: - // Destructor - virtual ~CNpdItem(); - - /** - * Creates new instance of CNpdItem based class. - * @return CNpdItem* Newly created instance. - */ - static CNpdItem* NewLC(); - - /** - * Creates new instance of CNpdItem based class. - * @param aKey database index key - * @param aLastModified timestamp - * @param aContent content (text) of the note - * @return CNpdItem* Newly created instance. - */ - static CNpdItem* NewLC(TInt aKey, const TTime& aLastModified, HBufC* aContent); - - private: - // Constructor - CNpdItem(); - - //Overloaded Constructor - CNpdItem(TInt aKey, const TTime& aLastModified, HBufC *content); - - public: - /** - * Returns database key. - * @return key value. - */ - TInt Key() const; - - /** - * Returns the time stamp of the note. - * @return when note was last modified. - */ - TTime LastModified() const; - - /** - * Returns content of the note - * @return text of the note. - */ - HBufC* Content(); - - /** - * Set note data. - * @param aKey database index - * @param aModTime time note was last modified - * @param aContent content of the note - */ - void Set(TInt aKey, const TTime& aModTime, HBufC* aContent); - - /** - * Set key of the note - * @param aKey key of the note. - */ - void SetKey(TInt aKey); - - /** - * Set content of the note - * @param aContent text of the note. - */ - void SetContent(HBufC* aContent); - - /** - * Returns timestamp of the note - * @param aLastModified time note was last modified. - */ - void SetModified(const TTime& aLastModified); - - private: - TInt iKey; - TTime iLastModified; - HBufC* iContent; // owned - }; - -#endif // NSMLNOTEPADDATABASE_H