mmfenh/enhancedmediaclient/Client/src/Components/EffectBase/EffectControlBase.cpp
changeset 0 71ca22bcf22a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mmfenh/enhancedmediaclient/Client/src/Components/EffectBase/EffectControlBase.cpp	Tue Feb 02 01:08:46 2010 +0200
@@ -0,0 +1,258 @@
+/*
+* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  Implementation of EffectControlBase class.
+*
+*/
+
+
+#include "EffectControlBase.h"
+#include "EffectControlBaseImpl.h"
+
+using namespace multimedia;
+
+CEffectControlBase::CEffectControlBase()
+    {
+    // No Impl
+    }
+
+CEffectControlBase::~CEffectControlBase()
+    {
+    delete iCEffectControlBaseImpl;
+    }
+
+void CEffectControlBase::ConstructL( TUid aCIUid )
+    {
+    iCEffectControlBaseImpl = CEffectControlBaseImpl::NewL( *this, aCIUid );
+    }
+
+TBool CEffectControlBase::IsConnected()
+    {
+    TBool status(EFalse);
+    if ( iCEffectControlBaseImpl )
+        {
+        status = iCEffectControlBaseImpl->IsConnected();
+        }
+    return status;
+    }
+
+TInt CEffectControlBase::Connect()
+    {
+    TInt status(KErrNotReady);
+    if ( iCEffectControlBaseImpl )
+        {
+        status = iCEffectControlBaseImpl->Connect();
+        }
+    return status;
+    }
+
+TInt CEffectControlBase::Disconnect()
+    {
+    TInt status(KErrNotReady);
+    if ( iCEffectControlBaseImpl )
+        {
+        status = iCEffectControlBaseImpl->Disconnect();
+        }
+    return status;
+    }
+
+TInt CEffectControlBase::CustomCommandSync( TInt aFunction,
+                                           const TDesC8& aDataTo1,
+                                           const TDesC8& aDataTo2,
+                                           TDes8& aDataFrom )
+    {
+    TInt status(KErrNotReady);
+    if ( iCEffectControlBaseImpl )
+        {
+        status = iCEffectControlBaseImpl->CustomCommandSync( aFunction, aDataTo1, aDataTo2, aDataFrom );
+        }
+    return status;
+    }
+
+TInt CEffectControlBase::CustomCommandSync(TInt aFunction,
+                       const TDesC8& aDataTo1,
+                       const TDesC8& aDataTo2)
+    {
+    TInt status(KErrNotReady);
+    if ( iCEffectControlBaseImpl )
+        {
+        status = iCEffectControlBaseImpl->CustomCommandSync( aFunction, aDataTo1, aDataTo2 );
+        }
+    return status;
+    }
+
+void CEffectControlBase::CustomCommandAsync(TInt aFunction,
+                        const TDesC8& aDataTo1,
+                        const TDesC8& aDataTo2,
+                        TDes8& aDataFrom,
+                        TRequestStatus& aStatus)
+    {
+    if ( iCEffectControlBaseImpl )
+        {
+        iCEffectControlBaseImpl->CustomCommandAsync( aFunction, aDataTo1, aDataTo2, aDataFrom, aStatus );
+        }
+    else
+        {
+        TRequestStatus* status = &aStatus;
+		User::RequestComplete(status, KErrNotReady);
+        }
+    }
+
+void CEffectControlBase::CustomCommandAsync(TInt aFunction,
+                        const TDesC8& aDataTo1,
+                        const TDesC8& aDataTo2,
+                        TRequestStatus& aStatus)
+    {
+    if ( iCEffectControlBaseImpl )
+        {
+        iCEffectControlBaseImpl->CustomCommandAsync( aFunction, aDataTo1, aDataTo2, aStatus );
+        }
+    else
+        {
+        TRequestStatus* status = &aStatus;
+		User::RequestComplete(status, KErrNotReady);
+        }
+    }
+
+TInt CEffectControlBase::CustomCommandSync( const TMMFMessageDestinationPckg& aDestination,
+                                            TInt aFunction,
+                                            const TDesC8& aDataTo1,
+                                            const TDesC8& aDataTo2,
+                                            TDes8& aDataFrom )
+    {
+    TInt status(KErrNotReady);
+    if ( iCEffectControlBaseImpl )
+        {
+        status = iCEffectControlBaseImpl->CustomCommandSync( aDestination, aFunction, aDataTo1, aDataTo2, aDataFrom );
+        }
+    return status;
+    }
+
+TInt CEffectControlBase::CustomCommandSync( const TMMFMessageDestinationPckg& aDestination,
+                                            TInt aFunction,
+                                            const TDesC8& aDataTo1,
+                                            const TDesC8& aDataTo2 )
+    {
+    TInt status(KErrNotReady);
+    if ( iCEffectControlBaseImpl )
+        {
+        status = iCEffectControlBaseImpl->CustomCommandSync( aDestination, aFunction, aDataTo1, aDataTo2 );
+        }
+    return status;
+    }
+
+void CEffectControlBase::CustomCommandAsync( const TMMFMessageDestinationPckg& aDestination,
+                                             TInt aFunction,
+                                             const TDesC8& aDataTo1,
+                                             const TDesC8& aDataTo2,
+                                             TDes8& aDataFrom,
+                                             TRequestStatus& aStatus )
+    {
+    if ( iCEffectControlBaseImpl )
+        {
+        iCEffectControlBaseImpl->CustomCommandAsync( aDestination, aFunction, aDataTo1, aDataTo2, aDataFrom, aStatus );
+        }
+    else
+        {
+        TRequestStatus* status = &aStatus;
+		User::RequestComplete(status, KErrNotReady);
+        }
+    }
+
+void CEffectControlBase::CustomCommandAsync( const TMMFMessageDestinationPckg& aDestination,
+                                             TInt aFunction,
+                                             const TDesC8& aDataTo1,
+                                             const TDesC8& aDataTo2,
+                                             TRequestStatus& aStatus )
+    {
+    if ( iCEffectControlBaseImpl )
+        {
+        iCEffectControlBaseImpl->CustomCommandAsync( aDestination, aFunction, aDataTo1, aDataTo2, aStatus );
+        }
+    else
+        {
+        TRequestStatus* status = &aStatus;
+		User::RequestComplete(status, KErrNotReady);
+        }
+    }
+
+TInt CEffectControlBase::GetMessageHandle(TMMFMessageDestinationPckg &aPckg)
+	{
+    TInt status(KErrNotReady);
+    if ( iCEffectControlBaseImpl )
+        {
+        status = iCEffectControlBaseImpl->GetMessageHandle(aPckg);
+        }
+    return status;		
+	}
+
+MCustomCommand* CEffectControlBase::GetCustomCommand()
+	{
+    if ( iCEffectControlBaseImpl )
+        {
+        return iCEffectControlBaseImpl->GetCustomCommand();
+        }
+	else
+		{
+		return NULL;	
+		}
+	}
+
+
+TInt CEffectControlBase::GetControlObserver( MControlObserver*& aObserver )
+    {
+    TInt status(KErrNotReady);
+    if ( iCEffectControlBaseImpl )
+        {
+        aObserver = (MControlObserver*)iCEffectControlBaseImpl;
+        status = KErrNone;
+        }
+    return status;
+    }
+
+TInt CEffectControlBase::AddedToStreamControl( MStreamControl& aStreamControl,
+                                               MCustomCommand& aCustomCommand,
+                                               MEffectControl& aEffect )
+    {
+    TInt status(KErrNotReady);
+    if ( iCEffectControlBaseImpl )
+        {
+        status = iCEffectControlBaseImpl->AddedToStreamControl( aStreamControl, aCustomCommand, aEffect );
+        }
+    return status;
+    }
+
+TInt CEffectControlBase::RemovedFromStreamControl( MStreamControl& aStreamControl )
+    {
+    TInt status(KErrNotReady);
+    if ( iCEffectControlBaseImpl )
+        {
+        status = iCEffectControlBaseImpl->RemovedFromStreamControl( aStreamControl );
+        }
+    return status;
+    }
+
+void CEffectControlBase::StreamControlDeleted( MStreamControl& aStreamControl )
+    {
+    if ( iCEffectControlBaseImpl )
+        {
+        iCEffectControlBaseImpl->StreamControlDeleted( aStreamControl );
+        }
+    }
+
+void CEffectControlBase::Event( TEffectControlEvent /*aEvent*/ )
+    {
+    // No Impl
+    }
+
+// End of file