diff -r 000000000000 -r 5e5d6b214f4f uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsviewplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsviewplugin.h Tue Feb 02 10:12:18 2010 +0200 @@ -0,0 +1,275 @@ +/* +* 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: View plugin base class of ECE's CCA-application + * +*/ + + +#ifndef CVIMPSTDETAILSVIEWPLUGIN_H +#define CVIMPSTDETAILSVIEWPLUGIN_H + +#include + +#include +#include "mvimpstdetailsviewcontactobserver.h" +#include "mvimpstdetailspresencehandler.h" + +// Forward declaration +class CVIMPSTDetailsViewMenuHandler; +class CVIMPSTDetailsViewBrandHandler; +class MVIMPSTDetailsPresenceObserver; +class MVIMPSTDetailsViewContactObserver; +class MVIMPSTDetailsPresenceHandler; +class CVIMPSTDetailsContactHandler; + +class MVPbkStoreContact; +class MCCAParameter; +class CAknIcon; + + +/** + * Class implementing CCCAppViewPluginBase interface. This is + * the main class and controlling the other classes of the plugin. + * + * @lib vimpstdetailsviewplugin.dll + * @since S60 v5.0 + */ + +class CVIMPSTDetailsViewPlugin : public CCCAppViewPluginBase, + public MVIMPSTDetailsPresenceObserver, + public MVIMPSTDetailsViewContactObserver + { + public: + + /** + * Two-phased constructor. + */ + static CVIMPSTDetailsViewPlugin* NewL(TInt aServiceId); + + /** + * Destructor. + */ + ~CVIMPSTDetailsViewPlugin(); + + private: + + // from base class CCCAppViewPluginBase + + /** + * From CCCAppViewPluginBase + * (see details from header) + * @param aPluginParameter, reference to plugin parameter + * @since S60 v5.0 + */ + void PreparePluginViewL(MCCAppPluginParameter& aPluginParameter); + + /** + * From CCCAppViewPluginBase + * (see details from header) + * + * Note: This will be removed. + * @since S60 v5.0 + */ + TUid ImplementationUid(); + + /** + * From CCCAppViewPluginBase + * (see details from header) + * @param aIconType, reference to icon type + * @param aBitmap, reference to bitmap pointer + * @param aBitmapMask, reference to mask pointer + * @since S60 v5.0 + */ + void ProvideBitmapLC(TCCAppIconType aIconType, CFbsBitmap*& aBitmap, + CFbsBitmap*& aBitmapMask); + + /** + * From CCCAppViewPluginBase + * NEW API + * @param aIconType, reference to icon type + * @param aIcon, reference to icon + */ + void ProvideBitmapL(TCCAppIconType aIconType, CAknIcon& aIcon); + + /** + * From CCCAppViewPluginBase + * (see details from header) + * create the container class + * @since S60 v5.0 + */ + void NewContainerL(); + + /** + * From CCCAppViewPluginBase + * (see details from header) + * @param aResourceId, a resource id + * @param aMenuPane, reference to menu pane + * @since S60 v5.0 + */ + void DynInitMenuPaneL(TInt aResourceId, CEikMenuPane* aMenuPane); + + /** + * From CCCAppViewPluginBase + * (see details from header) + * @param aCommand, a command id to handle + * @since S60 v5.0 + */ + void HandleCommandL(TInt aCommand); + + /** + * From CCCAppViewPluginBase + * (see details from header) + * @return the plugin uid + * @since S60 v5.0 + */ + TUid Id() const; + + /** + * From CCCAppViewPluginBase + * @param aPrevViewId, previous view id + * @param aCustomMessageId, a custom message id + * @param aCustomMessage, a custom message + */ + void DoActivateL( const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + /** + * From CCCAppViewPluginBase + */ + void DoDeactivate(); + + public: // new + + /** + * Helper function for get the reference + * to container data. + * + * @since S60 v5.0 + * return container + */ + inline const CCCAppViewPluginAknContainer& GetContainer() + { + return *iContainer; + } + /** + * Helper function for get contact handler + * + * @since S60 v5.0 + * return iContactHandler + */ + CVIMPSTDetailsContactHandler* GetContactHandler(); + + public : // from MVIMPSTDetailsPresenceObserver + + /** from MVIMPSTDetailsPresenceObserver + * notification call back from presence handler about presence change + * @since s60 v5.0 + */ + void HandlePresenceChangedL() ; + + public : // MVIMPSTDetailsViewContactObserver + + /** + * From MVIMPSTDetailsViewContactObserver + * call back from contact manager + * @param aContact, a contact fetched from store + */ + void HandleContactReadyL( MVPbkStoreContact& aContact ) ; + + /** + * From MVIMPSTDetailsViewContactObserver + * call back from contact manager + * @param aContact, a contact fetched from store + */ + void HandleContactUnavailableL() ; + + private: // new + + /** + * Helper function for reading and + * loading resources needed by plugin. + * + * @since S60 v5.0 + */ + void PrepareViewResourcesL(); + + /** + * default constructor + * @since S60 v5.0 + */ + CVIMPSTDetailsViewPlugin(TInt aServiceId); + + /** + * providing the two phase construction + * @since S60 v5.0 + */ + void ConstructL(); + + /** + * Helper function for reading + * contact data from passed link . + * @since S60 v5.0 + */ + void GetContactDataL(); + + + /** + * set title text + * @since S60 v5.0 + */ + void SetTitleL(); + + + private: // data + + /** + * owns : pointer to commlauncher's menuhandler + */ + CVIMPSTDetailsViewMenuHandler* iMenuHandler; + + /** + * not Owns : Pointer to launch parameter + */ + MCCAParameter* iLaunchParameter; + + /** + * Owns : focus field index in the display list + */ + TInt iFocusedListIndex; + + /** + * Owns : service id to use + */ + TInt iServiceId; + /** + * Owns : pointer to brand data handler + */ + CVIMPSTDetailsViewBrandHandler* iBrandHandler; + + /** + * owned : pointer to presence handler + */ + MVIMPSTDetailsPresenceHandler* iPresenceHandler; + + /** + * Owns : pointer to contact handling from virtual phonebook + */ + CVIMPSTDetailsContactHandler* iContactHandler; + + }; + +#endif // CVIMPSTDETAILSVIEWPLUGIN_H + +// End of File