diff -r 000000000000 -r ccd0fd43f247 harvesterplugins/notes/inc/notesplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/harvesterplugins/notes/inc/notesplugin.h Mon Apr 19 14:40:05 2010 +0300 @@ -0,0 +1,137 @@ +/* +* Copyright (c) 2010 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: + * +*/ + + +#ifndef CNOTESPLUGIN_H +#define CNOTESPLUGIN_H + +#include +#include +#include +#include // TCalLocalUid + +#include +#include "delayedcallback.h" + +// FORWARD DECLARATIONS +class CCalSession; +class CCalEntryView; +class CCPixIndexer; +class CCalInstanceView; +class CCalInstance; + +#define KNotesDllUid 0x2001A9D8 + +class CNotesPlugin : public CIndexingPlugin, public MDelayedCallbackObserver, public MCalChangeCallBack2 +{ +public: // Constructors and destructor + /* + * NewL + * @return instance of Notes plugin + */ + static CNotesPlugin* NewL(); + /* + * NewLC + * @return instance of Notes plugin + */ + static CNotesPlugin* NewLC(); + /* + * Destructor + */ + virtual ~CNotesPlugin(); + +public: // From CIndexingPlugin + void StartPluginL(); + void StartHarvestingL(const TDesC& aQualifiedBaseAppClass); + +public: // From MCalChangeCallBack2 + + void CalChangeNotification( RArray< TCalChangeEntry >& aChangeItems ); + +public: // From MDelayedCallbackObserver + + void DelayedCallbackL(TInt aCode); + void DelayedError(TInt aError); + +private: + /* + * @description Prepares the CPix action to be done. + * @param TCalChangeEntry changedEntry details of the modified calendar entry + * Leaves in case of errors. + */ + void HandleNoteChangedEntryL(const TCalChangeEntry& changedEntry); + + /* + * @description Prepares the search document and update the CPix engine + * according to the passed aActionType. + * @param TCalLocalUid aLocalUid uid of the cal entry + * @param TCPixActionType aActionType Add/update/remove option + * Leaves in case of errors. + */ + void CreateNoteEntryL( const TCalLocalUid& aLocalUid, TCPixActionType aActionType ); + /* + * @description Reads the default start and end times from the config file. + * @param TTime& aStartTime Start time for creating calendar views + * @param TTime& aEndTime End time for creating calendar views + * Leaves in case of errors. + */ + void InitTimeValuesL( TTime& aStartTime, TTime& aEndTime ); + +private: // Constructors + + /** + * Default C++ constructor. + */ + CNotesPlugin(); + + /** + * Symbian 2nd phase constructor. + */ + void ConstructL(); + +private: + + // The asynchronizer .owned + CDelayedCallback* iAsynchronizer; + + // CPix database .owned + CCPixIndexer* iIndexer; + + // Calendar session .owned + CCalSession* iSession; + + // Calendar entry view to fetch the details of Note entry for given LocalUid .owned + CCalEntryView* iEntryView; + + //Calinstance view to retrive notes .owned + CCalInstanceView* iNotesInstanceView; + + //Array of calinstances of Notes .owned + RPointerArray iNotesInstanceArray; + + //Notes count + TInt iNoteCount; + +#ifdef __PERFORMANCE_DATA + TTime iStartTime; + TTime iCompleteTime; + void UpdatePerformaceDataL(); +#endif + +}; + +#endif // CNOTESPLUGIN_H