--- a/camerauis/activepalette/Src/ActivePalette2Item.cpp Thu Aug 19 09:36:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,433 +0,0 @@
-/*
-* Copyright (c) 2007 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: Active Palette Items*
-*/
-
-
-/**
- * @file ActivePalette2Item.cpp
- * Active Palette Items
- */
-
-// DEFINITIONS
-#define ACTIVEPALETTE_SUPPORT_PLUGIN_CAM
-
-// INCLUDE FILES
-#include <activepalette2genericpluginint.h>
-
-#include "ActivePalette2Item.h"
-#include "ActivePalette2Model.h"
-#include "ActivePalette2Logger.h"
-#include "ActivePalette2Cfg.h"
-#include "ActivePalette2GenericPlugin.h"
-#include "CActivePalettePluginBase.h"
-
-#include <gulicon.h>
-#include <fbs.h>
-#include <bitstd.h>
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// -----------------------------------------------------------------------------
-// CActivePalette2IDHolder::CActivePalette2IDHolder()
-// -----------------------------------------------------------------------------
-//
-CActivePalette2IDHolder::CActivePalette2IDHolder()
- {
- // no implementation required
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2IDHolder::CActivePalette2IDHolder()
-// -----------------------------------------------------------------------------
-//
-CActivePalette2IDHolder::CActivePalette2IDHolder(TInt aItemId)
-: iItemId(aItemId)
- {
- // no implementation required
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2IDHolder::SetItemId()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2IDHolder::SetItemId(TInt aItemId)
- {
- iItemId = aItemId;
- }
-
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::NewLC()
-// -----------------------------------------------------------------------------
-//
-CActivePalette2Item * CActivePalette2Item::NewLC(TInt aItemId,
- const TUid& aPluginUid,
- CActivePalette2Model& aModel)
- {
- CActivePalette2Item * self = new (ELeave) CActivePalette2Item(
- aItemId, aPluginUid, aModel
- );
- CleanupStack::PushL(self);
- self->ConstructL();
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::CActivePalette2Item()
-// -----------------------------------------------------------------------------
-//
-CActivePalette2Item::CActivePalette2Item(
- TInt aItemId,
- const TUid& aPluginUid,
- CActivePalette2Model& aModel
-)
-: CActivePalette2IDHolder(aItemId),
- iPluginUid(aPluginUid),
- iModel(aModel)
- {
- LOGTEXT( _L( "CActivePalette2Item::CActivePalette2Item" ));
- }
-
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::ConstructL()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::ConstructL(void)
- {
- NActivePalettePluginFactory::TInstantiatePluginLFunc
- instantiatePluginL = FindPluginFactoryL(iPluginUid);
-
- // instantiate plugin
- CActivePalettePluginBase* pluginObj = instantiatePluginL(iPluginUid, GetPluginCreationParams());
- if (NULL == iPlugin || pluginObj != iPlugin)
- {
- // illegal plugin, plugin was supposed to callback via NotifyPluginCreated()
- User::Leave(KErrGeneral);
- }
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::~CActivePalette2Item()
-// -----------------------------------------------------------------------------
-//
-CActivePalette2Item::~CActivePalette2Item()
- {
- LOGTEXT1( _L( "CActivePalette2Item::~CActivePalette2Item entered, item ID : %d" ), ItemId());
-
- if (iPlugin)
- {
- LOGTEXT( _L( "... calling plugin's shutdown" ) );
- iPlugin->Shutdown();
- LOGTEXT( _L( "... plugin's shutdown returned" ) );
- }
- LOGTEXT( _L( "... deleting plugin's object" ) );
- CBase::Delete(iPlugin);
- LOGTEXT( _L( "... plugin's object deleted" ) );
- iPlugin = NULL;
-
- if (iOwnsIcon)
- {
- delete iIcon;
- }
- iIcon = NULL;
-
- delete iTooltip;
- iTooltip = NULL;
-
- iDLL.Close();
-
- LOGTEXT( _L( "CActivePalette2Item::~CActivePalette2Item left" ) );
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::FindPluginFactoryL()
-// -----------------------------------------------------------------------------
-//
-NActivePalettePluginFactory::TInstantiatePluginLFunc CActivePalette2Item::FindPluginFactoryL(const TUid aUid)
- {
- LOGTEXT1( _L( "CActivePalette2Item::FindPluginFactoryL entered, Uid : %d" ),
- aUid.iUid);
-
- NActivePalettePluginFactory::TInstantiatePluginLFunc factory = NULL;
-
- if (aUid == TUid::Uid(KActivePalette2GenericPluginUID))
- {
- factory = &InstantiateGenericPluginL;
- }
- else
- {
- // lookup DLL file name
- TFileName dllFileName;
- TBool dllNameAssigned = EFalse;
- // todo: implement lookup in plugin table
-
- if (TUid::Uid(KPrintPluginUid) == aUid)
- {
- dllFileName = KPrintPluginDLLName;
- dllNameAssigned = ETrue;
- }
- else if (TUid::Uid(KPrintIntentPluginUid) == aUid)
- {
- dllFileName = KPrintIntentPluginDLLName;
- dllNameAssigned = ETrue;
- }
- else if( TUid::Uid( KOnlineSharingPluginUid ) == aUid )
- {
- dllFileName = KOnlineSharingPluginDLLName;
- dllNameAssigned = ETrue;
- }
-#ifdef ACTIVEPALETTE_SUPPORT_PLUGIN_CAM
- else if (TUid::Uid( KCamAPPluginUid ) == aUid)
- {
- dllFileName = KCamAPluginDLLName;
- dllNameAssigned = ETrue;
- }
- else
- {
- // lint
- }
-#endif // ACTIVEPALETTE_SUPPORT_PLUGIN_CAM
-
- LOGTEXT1( _L( "... DLL file name found?: %d" ), dllNameAssigned);
- if (EFalse == dllNameAssigned)
- {
- User::Leave(KErrNotSupported);
- }
-
- // load plug-in DLL
- LOGTEXT( _L( "... loading DLL" ));
- User::LeaveIfError(iDLL.Load(dllFileName));
-
- // get factory function
- LOGTEXT( _L( "... factory entry point lookup" ));
- factory = (NActivePalettePluginFactory::TInstantiatePluginLFunc)
- iDLL.Lookup(NActivePalettePluginFactory::KFactoryEntryOrdinal);
-
- if(!factory)
- {
- User::Leave(KErrGeneral);
- }
- }
-
- LOGTEXT1( _L( "CActivePalette2Item::FindPluginFactoryL left, factory : %p" ),
- factory);
-
- return factory;
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::GetPluginCreationParams()
-// -----------------------------------------------------------------------------
-//
-NActivePalettePluginFactory::TPluginCreationParams CActivePalette2Item::GetPluginCreationParams(void)
- {
- return NActivePalettePluginFactory::TPluginCreationParams(
- *this,
- iModel.ItemSize());
- }
-
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::NotifyPluginCreated()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::NotifyPluginCreated(CActivePalettePluginBase* aPlugin)
- {
- iPlugin = aPlugin;
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::NotifyPluginDestroyed()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::NotifyPluginDestroyed(CActivePalettePluginBase* aPlugin)
- {
- if (iPlugin == aPlugin)
- {
- iPlugin = NULL;
- }
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::PluginUid()
-// -----------------------------------------------------------------------------
-//
-TUid CActivePalette2Item::PluginUid(void) const
- {
- return iPluginUid;
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::DoSetItemIcon()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::DoSetItemIcon(CGulIcon* aIcon, TBool aOnwershipTransfer)
- {
- if (iOwnsIcon)
- {
- delete iIcon;
- iIcon = NULL;
- }
-
- iIcon = aIcon;
- iOwnsIcon = aOnwershipTransfer;
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::SetItemIcon()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::SetItemIcon(CGulIcon* aIcon, TBool aOnwershipTransfer)
- {
- DoSetItemIcon(aIcon,aOnwershipTransfer);
- // notify UI
- iModel.NotifyGraphicsChanged(*this,ETrue,EFalse);
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::SetItemTooltipL()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::SetItemTooltipL(const TDesC& aTooltipText)
- {
- // delete old
- delete iTooltip;
- iTooltip = NULL;
-
- // copy text
- iTooltip = aTooltipText.AllocL();
- // notify UI
- iModel.NotifyGraphicsChanged(*this,EFalse,ETrue);
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::SetItemIconAndTooltipL()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::SetItemIconAndTooltipL(
- CGulIcon* aIcon,
- TBool aOnwershipTransfer,
- const TDesC & aTooltipText
-)
- {
- // delete old
- delete iTooltip;
- iTooltip = NULL;
-
- // copy icon and tooltip
- DoSetItemIcon(aIcon, aOnwershipTransfer);
- iTooltip = aTooltipText.AllocL();
-
-
- // notify UI
- iModel.NotifyGraphicsChanged(*this,ETrue,ETrue);
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::NotifyItemComplete()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::NotifyItemComplete(const TDesC8& aDataDes)
- {
- // notify model' user
- iModel.NotifyItemComplete(*this, KErrNone, aDataDes, KActivePaletteNoDataInt);
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::NotifyItemComplete()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::NotifyItemComplete(TInt aDataInt)
- {
- // notify model' user
- iModel.NotifyItemComplete(*this, KErrNone, KNullDesC8, aDataInt);
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::SendMessage()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::SendMessage(TInt aMessageID, const TDesC8& aDataDes)
- {
- // notify model' user
- iModel.NotifyMessage(*this, KErrNone, aMessageID, aDataDes, KActivePaletteNoDataInt);
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::SendMessage()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::SendMessage(TInt aMessageID, TInt aDataInt)
- {
- // notify model' user
- iModel.NotifyMessage(*this, KErrNone, aMessageID, KNullDesC8, aDataInt);
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::Icon()
-// -----------------------------------------------------------------------------
-//
-CFbsBitmap & CActivePalette2Item::Icon(void) const
- { // icon is always valid
- return *iIcon->Bitmap();
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::Mask()
-// -----------------------------------------------------------------------------
-//
-CFbsBitmap * CActivePalette2Item::Mask(void) const
- {
- return (NULL == iIcon) ? NULL : iIcon->Mask();
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::Tooltip()
-// -----------------------------------------------------------------------------
-//
-HBufC* CActivePalette2Item::Tooltip(void) const
- {
- return iTooltip;
- }
-
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::InitPluginL()
-// -----------------------------------------------------------------------------
-//
-void CActivePalette2Item::InitPluginL(const TDesC8& aCustomDataDes, TInt aCustomDataInt)
- {
- // do construct
- iPlugin->ConstructL(GetPluginCreationParams(),aCustomDataDes,aCustomDataInt);
- // validate icon
- if (NULL == iIcon || NULL == iIcon->Bitmap())
- {
- User::Leave(KErrGeneral); // plugin MUST produce an icon during its ConstructL()
- }
- }
-
-// -----------------------------------------------------------------------------
-// CActivePalette2Item::Plugin()
-// -----------------------------------------------------------------------------
-//
-CActivePalettePluginBase& CActivePalette2Item::Plugin(void) const
- {
- return *iPlugin;
- }
-
-
-// End of File