--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uiservicetab/vimpstdetailsviewplugin/inc/cvimpstdetailsviewplugin.h Wed Sep 01 12:33:36 2010 +0100
@@ -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 <e32base.h>
+
+#include <ccappviewpluginbase.h>
+#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