emailservices/emailframework/inc/CFSMailPluginManager.h
changeset 72 64e38f08e49c
parent 18 578830873419
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".
    48 NONSHARABLE_CLASS ( CFSMailPluginManager ) : public CFSMailRequestHandler
    48 NONSHARABLE_CLASS ( CFSMailPluginManager ) : public CFSMailRequestHandler
    49 	{
    49 	{
    50 
    50 
    51 public:
    51 public:
    52 
    52 
    53   
    53 
    54     /**
    54     /**
    55      * destructor
    55      * destructor
    56      */  
    56      */
    57   	 ~CFSMailPluginManager();
    57   	 ~CFSMailPluginManager();
    58 
    58 
    59     /**
    59     /**
    60      * two based constructor
    60      * two based constructor
    61      */
    61      */
    62   	 static CFSMailPluginManager* NewL(TInt aConfiguration);
    62   	 static CFSMailPluginManager* NewL(TInt aConfiguration);
    63   	
    63 
    64     /**
    64     /**
    65      * two based constructor
    65      * two based constructor
    66      */
    66      */
    67   	 static CFSMailPluginManager* NewLC(TInt aConfiguration);
    67   	 static CFSMailPluginManager* NewLC(TInt aConfiguration);
    68 
    68 
    69     /**
    69     /**
    70      * adds new plugin to plugin list
       
    71      *
       
    72      */  
       
    73 	 void AppendPluginL(CFSMailPlugin* aPlugin,CImplementationInformation* aPluginInfo);
       
    74 
       
    75     /**
       
    76      * returns plugin pointer by plugin table index
    70      * returns plugin pointer by plugin table index
    77      *
    71      *
    78      * @return plugin pointer
    72      * @return plugin pointer
    79      */  
    73      */
    80 	 CFSMailPlugin* GetPluginByIndex(TUint aIndex);
    74 	 CFSMailPlugin* GetPluginByIndex(TUint aIndex);
    81 
    75 
    82     /**
    76     /**
    83      * get plugin id by plugin table index
       
    84      *
       
    85      */  
       
    86 	 TUid GetPluginIdByIndex(TUint aIndex);
       
    87 	 	 
       
    88     /**
       
    89      * returns count of existing plugins
    77      * returns count of existing plugins
    90      *
    78      *
    91      */  
    79      */
    92 	 TUint GetPluginCount( );
    80 	 TUint GetPluginCount();
    93 	 
       
    94     /**
       
    95      * loads plugin identified by plugin id
       
    96      *
       
    97      */  
       
    98 	 void LoadPluginL(TUid aPluginId);
       
    99 
    81 
   100     /**
       
   101      * list ids of existing plugins
       
   102      *
       
   103      */  
       
   104 	 void ListPlugins( RArray<TUid>& aPluginList );
       
   105 	 
       
   106     /**
    82     /**
   107      * lists plugin pointers & plugin info
    83      * lists plugin pointers & plugin info
   108      *
    84      *
   109      */  
    85      */
   110 	 void ListImplementationsL( RPointerArray<CFSMailPlugin>& aImplementations,
    86 	 void ListImplementationsL( RPointerArray<CFSMailPlugin>& aImplementations,
   111 	                            RPointerArray<CImplementationInformation>& aInfo );
    87 	                            RPointerArray<CImplementationInformation>& aInfo );
   112 									 
    88 
   113 protected:
    89 protected:
   114 
    90 
   115     /**
    91     /**
   116      * C++ default constructor.
    92      * C++ default constructor.
   117      *
    93      *
   118      */
    94      */
   119  
    95 
   120   	 CFSMailPluginManager();
    96   	 CFSMailPluginManager();
   121 
    97 
   122     /**
    98     /**
   123      * ConstructL
    99      * ConstructL
   124      */
   100      */
   125 	void ConstructL(TInt aConfiguration);
   101 	void ConstructL(TInt aConfiguration);
   126 	
   102 
   127 private: // data
   103 private: // data
   128 
   104 
   129     /** plugin information table */  
   105     /** plugin information table */
   130 	 RPointerArray<CImplementationInformation> 	iPluginInfo;
   106 	 RPointerArray<CImplementationInformation> 	iPluginInfo;
   131 	 
   107 
   132     };
   108     };
   133     
   109 
   134 
   110 
   135 #endif  // CFSMAILPLUGINMANAGER_H
   111 #endif  // CFSMAILPLUGINMANAGER_H
   136 
   112 
   137 // End of File
   113 // End of File