uiacceltk/hitchcock/plugins/alftranseffect/alftfxserverplugin/src/alftfxsrvplugin.cpp
changeset 0 15bf7259bb7c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uiacceltk/hitchcock/plugins/alftranseffect/alftfxserverplugin/src/alftfxsrvplugin.cpp	Tue Feb 02 07:56:43 2010 +0200
@@ -0,0 +1,249 @@
+/*
+* Copyright (c)  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 tfxsrvplugin
+*
+*/
+
+
+
+#include <ecom/implementationproxy.h>
+#include <TfxSrvEcomIds.h>
+#include <alflogger.h>
+#include "alftfxsrvplugin.h"
+#include "alftransitionserver.h"
+#include "alftransitionservercontroller.h"
+      
+      
+// Methods called by ECOM
+MTransitionServer* TfxSrvPlugin::CreateTransitionServerL()
+	{
+	__ALFFXLOGSTRING("TfxSrvPlugin::CreateTransitionServerL >>");
+	return CSrvImpl::NewL();
+	}
+
+MTransitionServerController* TfxSrvPlugin::CreateTransitionServerControllerL(
+TAny* aInitParams )
+	{
+	    
+	RWsSession* wsSession = (RWsSession*) aInitParams;
+	return CSrvCtrlImpl::NewL( *wsSession );
+	}  
+   
+// ======== ECOM INITIALIZATION ========
+
+// Map the interface UIDs to implementation factory functions
+const TImplementationProxy ImplementationTable[] =
+    {
+    IMPLEMENTATION_PROXY_ENTRY( KTfxSrvEcomImpl, TfxSrvPlugin::CreateTransitionServerL ),
+    IMPLEMENTATION_PROXY_ENTRY( KTfxSrvCtrlEcomImpl, TfxSrvPlugin::CreateTransitionServerControllerL ),
+    };
+
+// ---------------------------------------------------------
+// Exported proxy for instantiation method resolution
+// ---------------------------------------------------------
+//
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    return ImplementationTable;
+    }
+
+// CSrvImpl implementation 
+
+CSrvImpl* CSrvImpl::NewL()
+    {
+    __ALFFXLOGSTRING("CSrvImpl::NewL >>");
+    CSrvImpl* self = new (ELeave)CSrvImpl();
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(); //self;
+    __ALFFXLOGSTRING("CSrvImpl::NewL <<");
+    return self;
+    }
+    
+TInt CSrvImpl::Connect()
+    {
+    return iServer->Connect();
+    }
+
+void CSrvImpl::Disconnect()
+    {
+    iServer->Disconnect();
+    }
+
+TInt CSrvImpl::RegisterFullscreenKml(TUint aActionID, const TUid& aUid, const TDesC& aResourceDir, 
+								const TDesC& aFilename)
+    {
+    return iServer->RegisterFullscreenKml(aActionID, aUid, aResourceDir, aFilename);
+    }
+								
+TInt CSrvImpl::UnregisterFullscreenKml(TUint aActionID, const TUid& aUid)
+    {
+    return iServer->UnregisterFullscreenKml(aActionID, aUid);
+    }
+    
+TInt CSrvImpl::UnregisterAllKml()
+	{
+	return iServer->UnregisterAllKml();
+	}
+
+TInt CSrvImpl::BlockFullScreenUid(const TUid& aUid, TBool aBlockFrom, TBool aBlockTo)
+    {
+    return iServer->BlockFullScreenUid(aUid, aBlockFrom, aBlockTo);
+    }
+
+TInt CSrvImpl::RegisterControlKml(const TUid &aUid, const TDesC& aResourceDir, const TDesC& aFilename)
+    {
+    return iServer->RegisterControlKml(aUid, aResourceDir, aFilename);
+    }
+    
+TInt CSrvImpl::RegisterControlKml(const TUid &aUid, const TDesC& aResourceDir, const TDesC& aFilename, 
+								  TInt aWantedTime, TInt aMinTime)
+    {
+    return iServer->RegisterControlKml(aUid, aResourceDir, aFilename, aWantedTime, aMinTime);
+    }
+
+TInt CSrvImpl::UnregisterControlKml(const TUid &aUid)
+    {
+    return iServer->UnregisterControlKml(aUid);   
+    }
+
+TInt CSrvImpl::RegisterControlAction(const TUid& aUid, TUint aActionID, const TDesC& aActionString)
+    {
+    return iServer->RegisterControlAction(aUid, aActionID, aActionString);
+    }
+
+TInt CSrvImpl::UnregisterControlAction(const TUid& aUid, TUint aActionID)
+    {
+    return iServer->UnregisterControlAction(aUid, aActionID);
+    }
+
+TInt CSrvImpl::SetWantedTime(TInt aTime)
+    {
+    return iServer->SetWantedTime(aTime);
+    }
+
+TInt CSrvImpl::SetMinTime(TInt aTime)
+    {
+    return iServer->SetMinTime(aTime);
+    }
+
+TInt CSrvImpl::RegisterFullscreenKml(TUint aActionID, const TUid& aUid, const TDesC& aResourceDir, 
+								const TDesC& aFilename, TInt aCachePriority, TInt aWantedTime,
+								TInt aMinTime)
+    {
+    return iServer->RegisterFullscreenKml(aActionID, aUid, aResourceDir, 
+								aFilename, aCachePriority, aWantedTime,
+								aMinTime);
+    }
+
+TInt CSrvImpl::RegisterListBoxKml(const TUid& aUid, const /*TListBoxType*/ TInt aListBoxType, 
+                             const TDesC& aResourceDir, 
+							 const TDesC& aBackgroundFilename, 
+							 const TDesC& aListItemFilename)
+    {
+    return iServer->RegisterListBoxKml( aUid, 
+                                    (CAlfTransitionServerClient::TListBoxType)aListBoxType, 
+                                    aResourceDir, 
+                                    aBackgroundFilename,
+                                    aListItemFilename );
+                                                                   
+    }
+
+TInt CSrvImpl::UnregisterListBoxKml(const TUid& aUid, const /*TListBoxType*/ TInt aListBoxType)
+    {
+    return iServer->UnregisterListBoxKml( aUid, (CAlfTransitionServerClient::TListBoxType)aListBoxType );
+    }
+
+TInt CSrvImpl::SetListBoxFrameTime( const TInt aWantedTime ) 
+	{
+	return iServer->SetListBoxFrameTime(aWantedTime);
+	}
+
+TInt CSrvImpl::SetListBoxMinFrameTime( const TInt aMinFrameTime ) 
+	{
+	return iServer->SetListBoxMinFrameTime(aMinFrameTime);
+	}
+
+TInt CSrvImpl::SetControlFrameTime( const TInt aWantedTime ) 
+	{
+	return iServer->SetControlFrameTime(aWantedTime);
+	}
+
+TInt CSrvImpl::SetControlMinFrameTime( const TInt aMinFrameTime ) 
+	{
+	return iServer->SetControlMinFrameTime(aMinFrameTime);
+	}
+	
+TBool CSrvImpl::IsConnected()
+    {
+    return iServer->IsConnected();
+    }
+
+CSrvImpl::~CSrvImpl()
+    {
+    if ( iServer )
+        {
+        iServer->Disconnect();
+        }
+    delete iServer;    
+    }
+
+void CSrvImpl::ConstructL()
+    {
+    iServer = new( ELeave ) CAlfTransitionServerClient();
+    }
+
+
+// CSrvCtrlImpl implementation
+
+CSrvCtrlImpl* CSrvCtrlImpl::NewL( RWsSession& aWsSession )
+    {
+    CSrvCtrlImpl* self = new (ELeave)CSrvCtrlImpl();
+    CleanupStack::PushL(self);
+    self->ConstructL( aWsSession );
+    CleanupStack::Pop(); //self;
+    return self;
+    }
+
+TInt CSrvCtrlImpl::StartTransitionServer()
+    {
+    return iController->StartTransitionServer();
+    }
+
+TInt CSrvCtrlImpl::StopTransitionServer()
+    {
+    return iController->StopTransitionServer();
+    }
+
+TBool CSrvCtrlImpl::ServerRunning()
+    {
+    return iController->ServerRunning();
+    }
+
+TInt CSrvCtrlImpl::StartTransitionServer(TInt32 aMaxBytesOngoing, TInt32 aMaxBytesBetween)
+    {
+    return iController->StartTransitionServer(aMaxBytesOngoing, aMaxBytesBetween);
+    }
+
+CSrvCtrlImpl::~CSrvCtrlImpl()
+    {
+    delete iController;
+    }
+
+void CSrvCtrlImpl::ConstructL( RWsSession& aWsSession )
+    {
+    iController = CAlfTransitionServerController::NewL( aWsSession );
+    }
+