sl@0: // Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: Wserv client side local header file. sl@0: // sl@0: sl@0: sl@0: #if !defined(__RTFXEFFECTS_H__) sl@0: #define __RTFXEFFECTS_H__ sl@0: sl@0: #include sl@0: #include "../SERVER/w32cmd.h" sl@0: sl@0: /** sl@0: Class is used for passing data sent to TFX APIs RegisterEffect and OverrideEffect sl@0: from client to server of wserv. Another purpose of this class is to avoid code sl@0: duplication, when these APIs are called from RWsSession and RWindowBase. sl@0: */ sl@0: class RTFXEffect : public MWsClientClass sl@0: { sl@0: public: sl@0: /** sl@0: TFXEffect Enum is used to distinguish when OverrideEffect API is called from sl@0: Session class or Window class. sl@0: */ sl@0: enum TFXEffect sl@0: { sl@0: ENone, sl@0: /** sl@0: Used in OverrideTFXEffect() when called from RWsSession sl@0: */ sl@0: ETFXSession, sl@0: /** sl@0: Used in OverrideTFXEffect() when called from RWindowBase sl@0: */ sl@0: ETFXWindow sl@0: }; sl@0: RTFXEffect(TInt aHandle, RWsBuffer* aBuffer); sl@0: void CheckFileNameAndSetSizes(const TFileName& aResourceDir, const TFileName& aFilenameOutgoing, const TFileName& aFilenameIncoming); sl@0: void RegisterTFXEffect(TInt aAction, TInt aPurpose, const TFileName& aResourceDir, const TFileName& aFilenameOutgoing, const TFileName& aFilenameIncoming, TUint aAppUid=0, TBitFlags aFlags=0); sl@0: void OverrideTFXEffect(TFXEffect aCalledFrom, TInt aAction, TInt aPurpose, const TFileName& aResourceDir, const TFileName& aFilenameOutgoing, const TFileName& aFilenameIncoming, TBitFlags aFlags=0); sl@0: void AppendFileNameData(const TFileName& aResourceDir, const TFileName& aFilenameOutgoing, const TFileName& aFilenameIncoming); sl@0: void WriteDataUsingIPC(TWsClCmdRegisterEffect* aForRegister, TWsClCmdOverrideEffect* aForOverride, const TFileName& aResourceDir, const TFileName& aFilenameOutgoing, const TFileName& aFilenameIncoming, TFXEffect aCalledFrom); sl@0: TBool CheckCombinedSizeWithCurrentBuffer(TInt aSize) const; sl@0: sl@0: private: sl@0: TInt iDirPathSizePaded; sl@0: TInt iFileName1SizePaded; sl@0: TInt iFileName2SizePaded; sl@0: TInt iCombSizePaded; sl@0: }; sl@0: sl@0: #endif