emailservices/emailframework/src/CFSMailPluginManager.cpp
changeset 72 64e38f08e49c
parent 30 759dc5235cdb
equal deleted inserted replaced
65:478bc57ad291 72:64e38f08e49c
     1 /*
     1 /*
     2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
     2 * Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
     3 * All rights reserved.
     3 * All rights reserved.
     4 * This component and the accompanying materials are made available
     4 * This component and the accompanying materials are made available
     5 * under the terms of "Eclipse Public License v1.0"
     5 * under the terms of "Eclipse Public License v1.0"
     6 * which accompanies this distribution, and is available
     6 * which accompanies this distribution, and is available
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
    37 // CFSMailPluginManager::~CFSMailPluginManager
    37 // CFSMailPluginManager::~CFSMailPluginManager
    38 // -----------------------------------------------------------------------------
    38 // -----------------------------------------------------------------------------
    39 CFSMailPluginManager::~CFSMailPluginManager()
    39 CFSMailPluginManager::~CFSMailPluginManager()
    40 {
    40 {
    41     NM_FUNCTION;
    41     NM_FUNCTION;
    42     
    42 
    43 	iPluginInfo.ResetAndDestroy();
    43 	iPluginInfo.ResetAndDestroy();
    44 }
    44 }
    45 
    45 
    46 
    46 
    47 // -----------------------------------------------------------------------------
    47 // -----------------------------------------------------------------------------
    48 // CFSMailPluginManager::NewLC
    48 // CFSMailPluginManager::NewLC
    49 // -----------------------------------------------------------------------------
    49 // -----------------------------------------------------------------------------
    50 CFSMailPluginManager* CFSMailPluginManager::NewLC(TInt aConfiguration)
    50 CFSMailPluginManager* CFSMailPluginManager::NewLC(TInt aConfiguration)
    51 {
    51 {
    52     NM_FUNCTION;
    52     NM_FUNCTION;
    53     
    53 
    54     CFSMailPluginManager* pluginManager = new (ELeave) CFSMailPluginManager();
    54     CFSMailPluginManager* pluginManager = new (ELeave) CFSMailPluginManager();
    55     CleanupStack:: PushL(pluginManager);
    55     CleanupStack:: PushL(pluginManager);
    56     pluginManager->ConstructL(aConfiguration);
    56     pluginManager->ConstructL(aConfiguration);
    57     return pluginManager;
    57     return pluginManager;
    58 } 
    58 }
    59 
    59 
    60 // -----------------------------------------------------------------------------
    60 // -----------------------------------------------------------------------------
    61 // CFSMailPluginManager::NewL
    61 // CFSMailPluginManager::NewL
    62 // -----------------------------------------------------------------------------
    62 // -----------------------------------------------------------------------------
    63 CFSMailPluginManager* CFSMailPluginManager::NewL(TInt aConfiguration)
    63 CFSMailPluginManager* CFSMailPluginManager::NewL(TInt aConfiguration)
    64 {
    64 {
    65     NM_FUNCTION;
    65     NM_FUNCTION;
    66     
    66 
    67     CFSMailPluginManager* pluginManager =  CFSMailPluginManager::NewLC(aConfiguration);
    67     CFSMailPluginManager* pluginManager =  CFSMailPluginManager::NewLC(aConfiguration);
    68     CleanupStack:: Pop(pluginManager);
    68     CleanupStack:: Pop(pluginManager);
    69     return pluginManager;
    69     return pluginManager;
    70 }
    70 }
    71 
    71 
    79 	// list plugin implementations
    79 	// list plugin implementations
    80 
    80 
    81 	iPluginInfo.Reset();
    81 	iPluginInfo.Reset();
    82 	CFSMailPlugin::ListImplementationsL(iPluginInfo);
    82 	CFSMailPlugin::ListImplementationsL(iPluginInfo);
    83 	CFSMailPlugin::Close();
    83 	CFSMailPlugin::Close();
    84 	
    84 
    85 	// load plugins
    85 	// load plugins
    86 	CFSMailPlugin* plugin = NULL;
    86 	CFSMailPlugin* plugin = NULL;
    87     // <cmail>  	
    87     // <cmail>
    88 	TInt tempCount = iPluginInfo.Count();
    88 	TInt tempCount = iPluginInfo.Count();
    89 	for(TInt i=0;i<tempCount;i++)
    89 	for(TInt i=0;i<tempCount;i++)
    90 	// </cmail> 	    
    90 	// </cmail>
    91 	{
    91 	{
    92 		TUid id = iPluginInfo[i]->ImplementationUid();
    92 		TUid id = iPluginInfo[i]->ImplementationUid();
    93 		if(aConfiguration == EFSLoadPlugins)
    93 		if(aConfiguration == EFSLoadPlugins)
    94 		{
    94 		{
    95 			TRAPD(err,plugin = CFSMailPlugin::NewL( id ));
    95 			TRAPD(err,plugin = CFSMailPlugin::NewL( id ));
    96 			CFSMailPlugin::Close();		
    96 			CFSMailPlugin::Close();		
    97 			if(err == KErrNone && plugin != NULL)
    97 			if(err == KErrNone && plugin)
    98 			{
    98 			{
    99 				AddPluginL(id,plugin);
    99 				AddPluginL(id,plugin);
   100 			}
   100 			}
   101 		}	
   101 		}
   102 // <cmail>
   102 // <cmail>
   103 		else
   103 		else
   104 		    {		    
   104 		    {
   105 		    }
   105 		    }
   106 // </cmail>      		
   106 // </cmail>
   107 	}
   107 	}
   108 
   108 
   109 }
   109 }
   110 
   110 
   111 // -----------------------------------------------------------------------------
       
   112 // CFSMailPluginManager::LoadPluginL
       
   113 // -----------------------------------------------------------------------------
       
   114 void CFSMailPluginManager::LoadPluginL( TUid /*aPlugin*/ )
       
   115 {
       
   116     NM_FUNCTION;
       
   117 }
       
   118 	
       
   119 // -----------------------------------------------------------------------------
   111 // -----------------------------------------------------------------------------
   120 // CFSMailPluginManager::GetPluginByIndex
   112 // CFSMailPluginManager::GetPluginByIndex
   121 // -----------------------------------------------------------------------------
   113 // -----------------------------------------------------------------------------
   122 CFSMailPlugin* CFSMailPluginManager::GetPluginByIndex(TUint aIndex)
   114 CFSMailPlugin* CFSMailPluginManager::GetPluginByIndex(TUint aIndex)
   123 	{
   115 	{
   124     NM_FUNCTION;
   116     NM_FUNCTION;
   125     
   117 
   126 	return iPluginList[aIndex]->iPlugin;
   118 	return iPluginList[aIndex]->iPlugin;
   127 	}
       
   128 
       
   129 // -----------------------------------------------------------------------------
       
   130 // CFSMailPluginManager::GetPluginIdByIndex
       
   131 // -----------------------------------------------------------------------------
       
   132 TUid CFSMailPluginManager::GetPluginIdByIndex(TUint aIndex)
       
   133 	{
       
   134     NM_FUNCTION;
       
   135     
       
   136 	return iPluginList[aIndex]->iPluginId;
       
   137 	}
   119 	}
   138 
   120 
   139 // -----------------------------------------------------------------------------
   121 // -----------------------------------------------------------------------------
   140 // CFSMailPluginManager::GetPluginCount
   122 // CFSMailPluginManager::GetPluginCount
   141 // -----------------------------------------------------------------------------
   123 // -----------------------------------------------------------------------------
   142 TUint CFSMailPluginManager::GetPluginCount( )
   124 TUint CFSMailPluginManager::GetPluginCount( )
   143 	{
   125 	{
   144     NM_FUNCTION;
   126     NM_FUNCTION;
   145     
   127 
   146 	return iPluginList.Count();
   128 	return iPluginList.Count();
   147 	}
   129 	}
   148 	
       
   149 
   130 
   150 
   131 
       
   132