uiacceltk/hitchcock/plugins/alftranseffect/alftfxserverplugin/src/alftfxsrvplugin.cpp
changeset 0 15bf7259bb7c
equal deleted inserted replaced
-1:000000000000 0:15bf7259bb7c
       
     1 /*
       
     2 * Copyright (c)  Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:   Implementation of tfxsrvplugin
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 #include <ecom/implementationproxy.h>
       
    21 #include <TfxSrvEcomIds.h>
       
    22 #include <alflogger.h>
       
    23 #include "alftfxsrvplugin.h"
       
    24 #include "alftransitionserver.h"
       
    25 #include "alftransitionservercontroller.h"
       
    26       
       
    27       
       
    28 // Methods called by ECOM
       
    29 MTransitionServer* TfxSrvPlugin::CreateTransitionServerL()
       
    30 	{
       
    31 	__ALFFXLOGSTRING("TfxSrvPlugin::CreateTransitionServerL >>");
       
    32 	return CSrvImpl::NewL();
       
    33 	}
       
    34 
       
    35 MTransitionServerController* TfxSrvPlugin::CreateTransitionServerControllerL(
       
    36 TAny* aInitParams )
       
    37 	{
       
    38 	    
       
    39 	RWsSession* wsSession = (RWsSession*) aInitParams;
       
    40 	return CSrvCtrlImpl::NewL( *wsSession );
       
    41 	}  
       
    42    
       
    43 // ======== ECOM INITIALIZATION ========
       
    44 
       
    45 // Map the interface UIDs to implementation factory functions
       
    46 const TImplementationProxy ImplementationTable[] =
       
    47     {
       
    48     IMPLEMENTATION_PROXY_ENTRY( KTfxSrvEcomImpl, TfxSrvPlugin::CreateTransitionServerL ),
       
    49     IMPLEMENTATION_PROXY_ENTRY( KTfxSrvCtrlEcomImpl, TfxSrvPlugin::CreateTransitionServerControllerL ),
       
    50     };
       
    51 
       
    52 // ---------------------------------------------------------
       
    53 // Exported proxy for instantiation method resolution
       
    54 // ---------------------------------------------------------
       
    55 //
       
    56 EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
       
    57     {
       
    58     aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
       
    59     return ImplementationTable;
       
    60     }
       
    61 
       
    62 // CSrvImpl implementation 
       
    63 
       
    64 CSrvImpl* CSrvImpl::NewL()
       
    65     {
       
    66     __ALFFXLOGSTRING("CSrvImpl::NewL >>");
       
    67     CSrvImpl* self = new (ELeave)CSrvImpl();
       
    68     CleanupStack::PushL(self);
       
    69     self->ConstructL();
       
    70     CleanupStack::Pop(); //self;
       
    71     __ALFFXLOGSTRING("CSrvImpl::NewL <<");
       
    72     return self;
       
    73     }
       
    74     
       
    75 TInt CSrvImpl::Connect()
       
    76     {
       
    77     return iServer->Connect();
       
    78     }
       
    79 
       
    80 void CSrvImpl::Disconnect()
       
    81     {
       
    82     iServer->Disconnect();
       
    83     }
       
    84 
       
    85 TInt CSrvImpl::RegisterFullscreenKml(TUint aActionID, const TUid& aUid, const TDesC& aResourceDir, 
       
    86 								const TDesC& aFilename)
       
    87     {
       
    88     return iServer->RegisterFullscreenKml(aActionID, aUid, aResourceDir, aFilename);
       
    89     }
       
    90 								
       
    91 TInt CSrvImpl::UnregisterFullscreenKml(TUint aActionID, const TUid& aUid)
       
    92     {
       
    93     return iServer->UnregisterFullscreenKml(aActionID, aUid);
       
    94     }
       
    95     
       
    96 TInt CSrvImpl::UnregisterAllKml()
       
    97 	{
       
    98 	return iServer->UnregisterAllKml();
       
    99 	}
       
   100 
       
   101 TInt CSrvImpl::BlockFullScreenUid(const TUid& aUid, TBool aBlockFrom, TBool aBlockTo)
       
   102     {
       
   103     return iServer->BlockFullScreenUid(aUid, aBlockFrom, aBlockTo);
       
   104     }
       
   105 
       
   106 TInt CSrvImpl::RegisterControlKml(const TUid &aUid, const TDesC& aResourceDir, const TDesC& aFilename)
       
   107     {
       
   108     return iServer->RegisterControlKml(aUid, aResourceDir, aFilename);
       
   109     }
       
   110     
       
   111 TInt CSrvImpl::RegisterControlKml(const TUid &aUid, const TDesC& aResourceDir, const TDesC& aFilename, 
       
   112 								  TInt aWantedTime, TInt aMinTime)
       
   113     {
       
   114     return iServer->RegisterControlKml(aUid, aResourceDir, aFilename, aWantedTime, aMinTime);
       
   115     }
       
   116 
       
   117 TInt CSrvImpl::UnregisterControlKml(const TUid &aUid)
       
   118     {
       
   119     return iServer->UnregisterControlKml(aUid);   
       
   120     }
       
   121 
       
   122 TInt CSrvImpl::RegisterControlAction(const TUid& aUid, TUint aActionID, const TDesC& aActionString)
       
   123     {
       
   124     return iServer->RegisterControlAction(aUid, aActionID, aActionString);
       
   125     }
       
   126 
       
   127 TInt CSrvImpl::UnregisterControlAction(const TUid& aUid, TUint aActionID)
       
   128     {
       
   129     return iServer->UnregisterControlAction(aUid, aActionID);
       
   130     }
       
   131 
       
   132 TInt CSrvImpl::SetWantedTime(TInt aTime)
       
   133     {
       
   134     return iServer->SetWantedTime(aTime);
       
   135     }
       
   136 
       
   137 TInt CSrvImpl::SetMinTime(TInt aTime)
       
   138     {
       
   139     return iServer->SetMinTime(aTime);
       
   140     }
       
   141 
       
   142 TInt CSrvImpl::RegisterFullscreenKml(TUint aActionID, const TUid& aUid, const TDesC& aResourceDir, 
       
   143 								const TDesC& aFilename, TInt aCachePriority, TInt aWantedTime,
       
   144 								TInt aMinTime)
       
   145     {
       
   146     return iServer->RegisterFullscreenKml(aActionID, aUid, aResourceDir, 
       
   147 								aFilename, aCachePriority, aWantedTime,
       
   148 								aMinTime);
       
   149     }
       
   150 
       
   151 TInt CSrvImpl::RegisterListBoxKml(const TUid& aUid, const /*TListBoxType*/ TInt aListBoxType, 
       
   152                              const TDesC& aResourceDir, 
       
   153 							 const TDesC& aBackgroundFilename, 
       
   154 							 const TDesC& aListItemFilename)
       
   155     {
       
   156     return iServer->RegisterListBoxKml( aUid, 
       
   157                                     (CAlfTransitionServerClient::TListBoxType)aListBoxType, 
       
   158                                     aResourceDir, 
       
   159                                     aBackgroundFilename,
       
   160                                     aListItemFilename );
       
   161                                                                    
       
   162     }
       
   163 
       
   164 TInt CSrvImpl::UnregisterListBoxKml(const TUid& aUid, const /*TListBoxType*/ TInt aListBoxType)
       
   165     {
       
   166     return iServer->UnregisterListBoxKml( aUid, (CAlfTransitionServerClient::TListBoxType)aListBoxType );
       
   167     }
       
   168 
       
   169 TInt CSrvImpl::SetListBoxFrameTime( const TInt aWantedTime ) 
       
   170 	{
       
   171 	return iServer->SetListBoxFrameTime(aWantedTime);
       
   172 	}
       
   173 
       
   174 TInt CSrvImpl::SetListBoxMinFrameTime( const TInt aMinFrameTime ) 
       
   175 	{
       
   176 	return iServer->SetListBoxMinFrameTime(aMinFrameTime);
       
   177 	}
       
   178 
       
   179 TInt CSrvImpl::SetControlFrameTime( const TInt aWantedTime ) 
       
   180 	{
       
   181 	return iServer->SetControlFrameTime(aWantedTime);
       
   182 	}
       
   183 
       
   184 TInt CSrvImpl::SetControlMinFrameTime( const TInt aMinFrameTime ) 
       
   185 	{
       
   186 	return iServer->SetControlMinFrameTime(aMinFrameTime);
       
   187 	}
       
   188 	
       
   189 TBool CSrvImpl::IsConnected()
       
   190     {
       
   191     return iServer->IsConnected();
       
   192     }
       
   193 
       
   194 CSrvImpl::~CSrvImpl()
       
   195     {
       
   196     if ( iServer )
       
   197         {
       
   198         iServer->Disconnect();
       
   199         }
       
   200     delete iServer;    
       
   201     }
       
   202 
       
   203 void CSrvImpl::ConstructL()
       
   204     {
       
   205     iServer = new( ELeave ) CAlfTransitionServerClient();
       
   206     }
       
   207 
       
   208 
       
   209 // CSrvCtrlImpl implementation
       
   210 
       
   211 CSrvCtrlImpl* CSrvCtrlImpl::NewL( RWsSession& aWsSession )
       
   212     {
       
   213     CSrvCtrlImpl* self = new (ELeave)CSrvCtrlImpl();
       
   214     CleanupStack::PushL(self);
       
   215     self->ConstructL( aWsSession );
       
   216     CleanupStack::Pop(); //self;
       
   217     return self;
       
   218     }
       
   219 
       
   220 TInt CSrvCtrlImpl::StartTransitionServer()
       
   221     {
       
   222     return iController->StartTransitionServer();
       
   223     }
       
   224 
       
   225 TInt CSrvCtrlImpl::StopTransitionServer()
       
   226     {
       
   227     return iController->StopTransitionServer();
       
   228     }
       
   229 
       
   230 TBool CSrvCtrlImpl::ServerRunning()
       
   231     {
       
   232     return iController->ServerRunning();
       
   233     }
       
   234 
       
   235 TInt CSrvCtrlImpl::StartTransitionServer(TInt32 aMaxBytesOngoing, TInt32 aMaxBytesBetween)
       
   236     {
       
   237     return iController->StartTransitionServer(aMaxBytesOngoing, aMaxBytesBetween);
       
   238     }
       
   239 
       
   240 CSrvCtrlImpl::~CSrvCtrlImpl()
       
   241     {
       
   242     delete iController;
       
   243     }
       
   244 
       
   245 void CSrvCtrlImpl::ConstructL( RWsSession& aWsSession )
       
   246     {
       
   247     iController = CAlfTransitionServerController::NewL( aWsSession );
       
   248     }
       
   249