sl@0: // Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: //
sl@0: 
sl@0: #include "EComEntry.h"
sl@0: 
sl@0: /**
sl@0: @fn				CEComEntry()
sl@0: Intended Usage	: Standardized default c'tor
sl@0: 
sl@0: @param aSecondUid: Identifies type of the Interface Implementation Collection. (collection or collection3)
sl@0: 			   	   It will be used by CLoadManager to decide how to initialise a plugin.	
sl@0: @param  aThirdUid: Identifies a component uniquely. 	
sl@0: Error Condition	: None	
sl@0: **/
sl@0: CEComEntry::CEComEntry(const TUid& aSecondUid,const TUid& aThirdUid):iSecondUid(aSecondUid),iThirdUid(aThirdUid) 
sl@0: {
sl@0: }
sl@0: 
sl@0: 
sl@0: /**
sl@0: @fn				NewL(const TEntry& aEntry)
sl@0: Intended Usage	: Standardized safe construction which leaves nothing 
sl@0: 				on the cleanup stack.	
sl@0: Error Condition	: Cannot fully construct because of memory limitations.	
sl@0: @param aSecondUid: Identifies type of the Interface Implementation Collection. (collection or collection3)
sl@0: 			   	   It will be used by CLoadManager to decide how to initialise a plugin.	
sl@0: @param aThirdUid: Identifies a component uniquely. 	
sl@0: @return			A pointer to the new class
sl@0: @post			CEComEntry is fully constructed, 
sl@0: 				and initialized.
sl@0: **/
sl@0: CEComEntry* CEComEntry::NewL(const TDesC& aDllName,const TUid& aSecondUid, const TUid& aThirdUid)
sl@0: {
sl@0: 	CEComEntry* self = new(ELeave) CEComEntry(aSecondUid, aThirdUid);
sl@0: 	CleanupStack::PushL(self);
sl@0: 	self->ConstructL(aDllName);
sl@0: 	CleanupStack::Pop(self);
sl@0: 	return self;
sl@0: }
sl@0: 
sl@0: 
sl@0: /**
sl@0: @fn				void ConstructL()
sl@0: Intended Usage	: Standardised 2nd, (Initialisation) phase of two phase construction.
sl@0: Error Condition	: None
sl@0: 
sl@0: @pre 			CEComEntry is fully constructed.
sl@0: @post			CEComEntry is fully initialised.
sl@0: */
sl@0: void CEComEntry::ConstructL(const TDesC& aDllName)
sl@0: {
sl@0: 	iName = aDllName.AllocL();	
sl@0: }
sl@0: 
sl@0: 
sl@0: /**
sl@0: @fn				~CEComEntry()
sl@0: Intended Usage	: Standard default d'tor	
sl@0: Error Condition	: None	
sl@0:  */
sl@0: CEComEntry::~CEComEntry()
sl@0: {
sl@0: 	 delete iName;
sl@0: }
sl@0: 
sl@0: