diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/plugins/alftranseffect/alftfxserverplugin/inc/alftfxsrvplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/plugins/alftranseffect/alftfxserverplugin/inc/alftfxsrvplugin.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,159 @@ +/* +* Copyright (c) 2008-2008 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: AlfTfxSrvPlugin Plugin implementation. Implements plugin for +* plugin interface under AknSkins. +* +*/ + + + + +#ifndef ALFTFXSRVPLUGIN_H +#define ALFTFXSRVPLUGIN_H + +#include +#include +#include +// From TFX Server +#include "alftransitionserver.h" +#include "alftransitionservercontroller.h" + +/** + * TfxSrvPlugin class + * + * Implements methods that are called by the ECOM to create + * instances of MTransitionServer & MTransitionServerController. + * This class is not meant to be instantiated. + * + * @lib TfxSrvPlugin.dll + * @since + */ +class TfxSrvPlugin + { + public: + + static MTransitionServer* CreateTransitionServerL(); + static MTransitionServerController* CreateTransitionServerControllerL( + TAny* aInitParams ); + + private: + // not meant to be instantiated + TfxSrvPlugin() {}; + }; + + +/** + * CSrvImpl, implementation of MTransitionServer + * + * Implements Tfx Server Plugin API interface, + * MTransitionServer part. Does not contain any other logic + * than mediate calls to concrete implementation of + * CAlfTransitionServerClient in TFXServer. + * + * @lib TfxSrvPlugin.dll + * @since + */ +class CSrvImpl : public CBase, public MTransitionServer + { + + public: // Constructor + + static CSrvImpl* NewL(); + + private: // From MTransitionServer + + /** + * For comments on methods, and how to use them, see + * transitionserver.h header from TFXServer + */ + TInt Connect(); + void Disconnect(); + TInt RegisterFullscreenKml(TUint aActionID, const TUid& aUid, const TDesC& aResourceDir, + const TDesC& aFilename); + TInt UnregisterFullscreenKml(TUint aActionID, const TUid& aUid); + TInt BlockFullScreenUid(const TUid& aUid, TBool aBlockFrom, TBool aBlockTo); + TInt RegisterControlKml(const TUid &aUid, const TDesC& aResourceDir, const TDesC& aFilename); + TInt RegisterControlKml(const TUid &aUid, const TDesC& aResourceDir, const TDesC& aFilename, + TInt aWantedTime, TInt aMinTime); + TInt UnregisterControlKml(const TUid &aUid); + TInt RegisterControlAction(const TUid& aUid, TUint aActionID, const TDesC& aActionString); + TInt UnregisterControlAction(const TUid& aUid, TUint aActionID); + TInt UnregisterAllKml(); + TInt SetWantedTime(TInt aTime); + TInt SetMinTime(TInt aTime); + TInt RegisterFullscreenKml(TUint aActionID, const TUid& aUid, const TDesC& aResourceDir, + const TDesC& aFilename, TInt aCachePriority, TInt aWantedTime, + TInt aMinTime); + + TInt RegisterListBoxKml(const TUid& aUid, const /*TListBoxType*/ TInt aListBoxType, + const TDesC& aResourceDir, + const TDesC& aBackgroundFilename, + const TDesC& aListItemFilename); + + + TInt UnregisterListBoxKml(const TUid& aUid, const /*TListBoxType*/ TInt aListBoxType); + + TInt SetListBoxFrameTime( const TInt aWantedTime ); + TInt SetListBoxMinFrameTime( const TInt aMinFrameTime ); + TInt SetControlFrameTime( const TInt aWantedTime ); + TInt SetControlMinFrameTime( const TInt aMinFrameTime ); + TBool IsConnected(); + + private: + + // to be deleted via MTransitionServer + ~CSrvImpl(); + void ConstructL(); + + private: // Data + + CAlfTransitionServerClient* iServer; + }; + + +/** + * CSrvCtrlImpl, implementation of MTransitionServerController + * + * Implements Tfx Server Plugin API interface, + * MTransitionServerController part. Does not contain any other logic + * than mediate calls to concrete implementation of + * CAlfTransitionServerController in TFXServer. + * + * @lib TfxSrvPlugin.dll + * @since + */ +class CSrvCtrlImpl : public CBase, public MTransitionServerController + { + public: // Constructor + + static CSrvCtrlImpl* NewL( RWsSession& aWsSession ); + + private: // From MTransitionServerController + + TInt StartTransitionServer(); + TInt StopTransitionServer(); + TBool ServerRunning(); + TInt StartTransitionServer(TInt32 aMaxBytesOngoing, TInt32 aMaxBytesBetween); + + private: + + // to be deleted via MTransitionServer + ~CSrvCtrlImpl(); + void ConstructL( RWsSession& aWsSession ); + + private: // Data + CAlfTransitionServerController* iController; + }; + +#endif // ALFTFXSRVPLUGIN_H