diff -r b5fbb9b25d57 -r 67369d1b217f ipsservices/ipssosplugin/src/ipsplgsosbaseplugin.cpp --- a/ipsservices/ipssosplugin/src/ipsplgsosbaseplugin.cpp Tue May 11 15:57:15 2010 +0300 +++ b/ipsservices/ipssosplugin/src/ipsplgsosbaseplugin.cpp Tue May 25 12:23:16 2010 +0300 @@ -2603,4 +2603,24 @@ } } } - +// --------------------------------------------------------------------------- +// finds and returns extension +// --------------------------------------------------------------------------- +// +CEmailExtension* CIpsPlgSosBasePlugin::ExtensionL( const TUid& aInterfaceUid ) + { + FUNC_LOG; + + // search for settings extension + CEmailExtension* extension = CExtendableEmail::ExtensionL( aInterfaceUid ); + + // if not found create settings extension + if ( extension == NULL && aInterfaceUid == KEmailSettingExtensionUid) + { + extension = new (ELeave) CEmailSettingsExtensionImpl(iSession); + CleanupStack::PushL( extension ); + iExtensions.AddL( extension ); + CleanupStack::Pop(); + } + return extension; + }