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 |