--- a/devsound/a3fdevsound/src/mmfaudioserver/mmfaudioserverinterface.cpp Tue Nov 02 12:13:59 2010 +0000
+++ b/devsound/a3fdevsound/src/mmfaudioserver/mmfaudioserverinterface.cpp Tue Nov 02 12:28:51 2010 +0000
@@ -29,14 +29,24 @@
//
EXPORT_C CAudioSvrLoader* CAudioSvrLoader::NewL()
{
- CAudioSvrLoaderImpl* self = new(ELeave) CAudioSvrLoaderImpl();
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
- return self;
+ return CAudioSvrLoader::NewL(EFalse);
}
// -----------------------------------------------------------------------------
+// CAudioSvrLoader::NewL
+// Two-phased constructor.
+// -----------------------------------------------------------------------------
+//
+EXPORT_C CAudioSvrLoader* CAudioSvrLoader::NewL(TBool aStayOpen)
+ {
+ CAudioSvrLoaderImpl* self = new(ELeave) CAudioSvrLoaderImpl();
+ CleanupStack::PushL(self);
+ self->ConstructL(aStayOpen);
+ CleanupStack::Pop(self);
+ return self;
+ }
+
+// -----------------------------------------------------------------------------
// CAudioSvrLoader::CAudioSvrLoader
// C++ default constructor can NOT contain any code, that
// might leave.
@@ -87,9 +97,9 @@
// (other items were commented in a header).
// -----------------------------------------------------------------------------
//
- void CAudioSvrLoaderImpl::ConstructL()
+ void CAudioSvrLoaderImpl::ConstructL(TBool aStayOpen)
{
- iServer = CMMFAudioServer::NewL();
+ iServer = CMMFAudioServer::NewL(aStayOpen);
}