diff -r 491b3ed49290 -r 65326cf895ed deviceencryption/DevEncNotifPlugin/src/DevEncNotifPluginImp.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/deviceencryption/DevEncNotifPlugin/src/DevEncNotifPluginImp.cpp Wed Sep 01 12:31:07 2010 +0100 @@ -0,0 +1,117 @@ +/* +* Copyright (c) 2005 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: Printing Framework DM Adapter. +* +*/ + +// INCLUDE FILES + +#include +#include + +#include "DevEncUids.hrh" +#include "DevEncPasswdDlg.h" +#include "DevEncLog.h" + +// CONSTANTS + + + +// ================= EXPORTED FUNCTIONS ======================================= + +// ---------------------------------------------------------------------------- +// +// Instantiate notifiers +// +// ---------------------------------------------------------------------------- + +LOCAL_C void CreateNotifiersL( CArrayPtrFlat* aNotifiers ) + { + CDevEncPasswdDlg* passWdDlg = CDevEncPasswdDlg::NewLC(); + aNotifiers->AppendL( passWdDlg ); + CleanupStack::Pop( passWdDlg ); + } + +// ---------------------------------------------------------------------------- +// +// Lib main entry point: Creates a notifiers array. +// +// ---------------------------------------------------------------------------- + +EXPORT_C CArrayPtr* NotifierArray() + { + CArrayPtrFlat* notifiers = NULL; + + TRAPD( err, notifiers = new (ELeave)CArrayPtrFlat( 1 )); + + if ( err == KErrNone ) + { + if( notifiers ) + { + TRAPD( err, CreateNotifiersL( notifiers )); + if( err ) + { + TInt count = notifiers->Count(); + while(count--) + { + (*notifiers)[count]->Release(); + } + delete notifiers; + notifiers = NULL; + } + } + } + else + { + DFLOG( "NotifierArray: CArrayPtrFlat: error" ); + } + + return notifiers; + } + +// ---------------------------------------------------------------------------- +// +// DLL entry point +// +// ---------------------------------------------------------------------------- +#ifndef EKA2 +GLDEF_C TInt E32Dll( TDllReason /* aReason */) + { + return( KErrNone ); + } +#endif + +// ---------------------------------------------------------------------------- +// +// ECOM +// +// ---------------------------------------------------------------------------- + +const TImplementationProxy ImplementationTable[] = + { +#ifdef __EABI__ + {{KDevEncNotifPluginImplUid},(TFuncPtr)NotifierArray}, +#else + IMPLEMENTATION_PROXY_ENTRY( KDevEncNotifPluginImplUid, NotifierArray ), +#endif + }; + +EXPORT_C const TImplementationProxy* ImplementationGroupProxy( TInt& aTableCount ) + { + aTableCount = sizeof( ImplementationTable ) / sizeof( TImplementationProxy ); + return ImplementationTable; + } + +// End of file +